"Компютърно зрение"

Превод на фотореалистични изображения с висока разделителна способност в реално време

Приложете всеки стил към вашето 4K изображение в реално време, като използвате този нов подход, базиран на машинно обучение!

Първоначално публикувано в louisbouchard.ai, прочетете го 2 дни преди това в my blog!

Всички сте виждали такива снимки, където лицето на човек е „тоонизирано“ в аниме герой.

Много от вас сигурно са виждали други видове трансформации на изображения като тази, при които изображението се променя, за да следва стила на определен художник.

Тук още по-предизвикателна задача може да бъде нещо подобно, където изображение се трансформира в друг сезон или време от деня.

Това, което все още не сте видели, е времето, необходимо за получаване на тези резултати и действителните разделителни способности на произведените снимки. Този нов документ е напълно прозрачен по отношение на това, тъй като атакува точно този проблем. Наистина, в сравнение с повечето подходи, те превеждат 4K изображения с висока разделителна способност и това се прави в реално време. В тази работа те показаха своите резултати при превод на сезони, нощни и дневни преводи и ретуширане на снимки, които разгледахте малко по-горе. Тази задача е известна още като „превод от изображение към изображение“ и всички резултати, които виждате тук, са произведени в 4K. Разбира се, изображенията тук са взети от тяхната хартия, така че може да не изглежда толкова високо качество тук. Моля, погледнете техния документ или опитайте техния код, ако не сте убедени!

Това са най-невероятните резултати от тази статия:

Тук можете да видите тяхната техника по-долу, наречена LPTN, което означава Laplacian Pyramid Translation Network. Вижте колко по-малко време е отнело на LPTN да произведе преводи на изображения, където повечето подходи дори не могат да го направят, тъй като това количество дефиниция е твърде изискващо изчисления. И да, това е за секунди. Те можеха да превеждат 4K изображения дори за една десета от секундата, използвайки един обикновен GPU. Той е по-бърз от всички тези подходи при преводи на 480p изображения! И да, не е осем пъти по-бързо, а средно 80 пъти по-бързо! Но как е възможно това? Как могат да бъдат толкова по-ефективни и въпреки това да дават невероятни и висококачествени резултати?

Това се постига чрез оптимизиране на факта, че осветяването и манипулирането на цветовете, което е свързано със стила на изображението, се съдържа в нискочестотния компонент на изображението.

Докато детайлите на съдържанието, които искаме да запазим, когато превеждаме изображение в друг стил, могат да бъдат адаптивно прецизирани върху високочестотни компоненти. Тук става интересно. Тези два компонента могат да бъдат разделени на две задачи, които могат да се изпълняват едновременно от GPU. Наистина, те разделят изображението на компоненти с ниска разделителна способност и компоненти с висока разделителна способност, използват мрежа, за да обработят информацията за ниската честота или стила на изображението и изобразяват крайно изображение, обединяващо този обработен стил с пречистената високочестотна компонент, който е детайлите на изображението, но адаптиран от по-малка подмрежа, за да пасне на новия стил. По този начин се избягва неизбежната тежка консумация на изчисления при обработка на компонентите с висока разделителна способност в цялата мрежа. Това е отдавна проучвана област, постигната с популярна техника, наречена пирамида на Лаплас. Основната идея на този метод на Лапласианската пирамида е да се разложи изображението на високо- и нискочестотни сегменти и след това да се реконструира.

Първо, ние създаваме средна стойност на първоначалното изображение, като го правим размазано и премахваме високочестотните компоненти.

Това се прави с помощта на ядро, което преминава през цялото изображение, за да заобли партиди от пиксели заедно. Например, ако вземат ядро ​​3 на 3, то ще премине през цялото изображение, средно 3 на 3 кръпки, премахвайки всички уникални стойности. Те основно замъгляват изображението чрез омекотяване на краищата.

След това разликата между това размазано изображение и първоначалното изображение се запазва, за да се използва в края на алгоритъма за повторно въвеждане на детайлите, които са високочестотните компоненти. Това се повтаря три пъти с все по-големи и по-големи осредняващи ядра, произвеждащи по-малки и по-малки нискочестотни версии на изображението, имащи все по-малко и по-малко високочестотни детайли.

Ако си спомняте, тези нискочестотни версии на изображението съдържат информация за цветовете в изображението и осветеността. Всъщност те са просто размазана нискокачествена версия на нашето изображение, поради което моделът е много по-ефективен. Това е удобно, тъй като те са по-малки версии на изображението и това е точната информация, която се опитваме да променим, когато превеждаме изображението в друг стил.

Това означава, че използването на тези нискочестотни версии е много по-ефективно от изчислителна гледна точка, отколкото директното използване на цялото изображение, но те също са фокусирани върху информацията, която искаме да променим в изображението, поради което резултатите са толкова страхотни.

Тази версия на изображението с по-ниско качество може лесно да бъде преведена с помощта на енкодер-декодер, точно както всяка друга техника за превод на изображения, която споменахме по-рано, но тъй като се прави на изображение с много по-ниско качество и много по-малко изображение, е експоненциално по-бързо за обработка. Най-хубавото е, че качеството на резултатите зависи само от първоначално запазените високочестотни версии на изображението, изпратено като вход, което не се обработва в цялата мрежа. Тази високочестотна информация просто се обединява в края на обработката с нискочестотното изображение, за да се подобрят детайлите. По принцип е много по-бързо, защото изследователите разделят информацията на изображението на две: обща информация с ниска честота и подробна информация с висока честота. След това те изпращат само удобната за изчисления част от изображението, което е точно това, което искаме да трансформираме, размазаният, нискокачествен общ стил на изображението, или с други думи: нискочестотната информация. След това се извършват само бързи и ясни трансформации върху високочестотните части на изображението, за да се преоразмерят и слеят с размазаното новостилизирано изображение, подобрявайки резултатите чрез добавяне на детайли по всички краища на картината.

И готово! Имате своите резултати с част от необходимото време и изчислителна мощност. Това е брилянтно и кодът е публично достъпен, ако искате да го изпробвате, което винаги е страхотно!

Благодаря ви, че прочетохте!

Гледай видеото

Елате да разговаряте с нас в нашата Общност на Discord: Научете AI заедно и споделете вашите проекти, документи, най-добри курсове, намерете съотборници в Kaggle и много повече!

Ако харесвате работата ми и искате да сте в течение с AI, определено трябва да ме следвате в другите ми акаунти в социалните медии (LinkedIn, Twitter) и да се абонирате за моя седмичен бюлетин за AI силно>!

За да ме подкрепите:

  • Най-добрият начин да ме подкрепите е като станете член на този уебсайтили се абонирате за моя каналв YouTubeако ви харесва видеоформата .
  • Подкрепете финансово работата ми в Patreon.
  • Следвайте ме тук на среда.

Препратки