Категория > Новости > Сделай мне красиво! Изобретаем персональный нейросетевой фотоувеличитель - «Новости»

Сделай мне красиво! Изобретаем персональный нейросетевой фотоувеличитель - «Новости»


25-10-2023, 08:07. Автор: Альбина
Real-ESRGAN

GFPGAN

За­меча­тель­ная осо­бен­ность этих прог­рам­мных про­дук­тов в том, что для получе­ния резуль­тата дос­таточ­но пре­дос­тавить исходный матери­ал, запус­тить про­цесс и нем­ного подож­дать. Никаких допол­нитель­ных ука­заний отно­ситель­но спо­собов получе­ния резуль­тата не тре­бует­ся, все дей­стви­тель­но про­исхо­дит «по щучь­ему велению, по моему хотению». А сам резуль­тат луч­ше уви­деть на кон­крет­ном при­мере. Для испы­тания я взял фотог­рафию Сти­ва Джоб­са и Джо­на Скал­ли из статьи Деборы Уайз «Взлет, падение и сно­ва взлет ком­пании Apple», опуб­ликован­ной в информа­цион­ном бук­лете ле­ген­дарной выс­тавки «Информа­тика в жиз­ни США», про­ходив­шей в 1988–1989 годах в круп­ных городах СССР.


Читайте также - Видео строительной компании СНиП Строй с YouTube канала - фундамент ижевск по доступным ценам.

Сделай мне красиво! Изобретаем персональный нейросетевой фотоувеличитель - «Новости»
Фо­тог­рафия в ска­не информа­цион­ного бук­лета — исходный матери­ал для обра­бот­ки

Пе­ред началом работы приш­лось обре­зать фотог­рафию и при­дать ей более естес­твен­ную ори­ента­цию путем, повер­нув по часовой стрел­ке в обыч­ном гра­фичес­ком редак­торе. Пос­ле это­го мож­но прис­тупать к магичес­ким прев­ращени­ям. Прев­ращение пер­вое — четырех­крат­ное уве­личе­ние с помощью Real-ESRGAN. Резуль­тат я умень­шил в четыре раза и помес­тил рядом с ори­гина­лом, что­бы мож­но было срав­нить на глаз. Тебе не кажет­ся, что ней­рон­ная сеть еще и выс­тирала и выг­ладила этим пар­ням их рубаш­ки и брю­ки?


Ори­гинал фотог­рафии (сле­ва) и резуль­тат обра­бот­ки инс­тру­мен­том Real-ESRGAN (спра­ва)

Вро­де бы прог­ресс уже дос­тигнут. Но на фотог­рафи­ях людей основное вни­мание при­тяги­вают лица, и, сог­ласись, было бы неп­лохо деталь­нее про­рабо­тать волосы, бро­ви, гла­за, губы... Веро­ятно, в этом смог бы помочь какой‑нибудь худож­ник. Но вмес­то это­го мы вос­поль­зуем­ся вто­рым про­дук­том — GFPGAN, который уме­ет дей­ство­вать в одной связ­ке с Real-ESRGAN. Итак, вто­рое прев­ращение — про­работ­ка лиц на фотог­рафии.


Ли­ца пос­ле прос­того уве­личе­ния (ввер­ху) и пос­ле про­работ­ки инс­тру­мен­том GFPGAN (вни­зу)

По‑моему, это пол­ный успех! Скри­пач худож­ник не нужен!


 

Необходимое оборудование


Ре­зуль­тат хорош, слов нет, но какой ценой его мож­но дос­тичь? Ты, веро­ятно, в кур­се, что для про­мыш­ленно­го исполь­зования ней­рон­ных сетей необ­ходимы серь­езные вычис­литель­ные мощ­ности — клас­терные плат­формы с боль­шими хра­нили­щами дан­ных и мощ­ными гра­фичес­кими про­цес­сорами. Подой­дет, нап­ример, май­нин­говая фер­ма вре­мен «бит­коино­вой лихорад­ки». Но если ты не замахи­ваешь­ся на самос­тоятель­ное обу­чение ней­рон­ных сетей, а прос­то жела­ешь под­готовить к печати нес­коль­ко фотос­нимков, то воз­можны вари­анты. Нап­ример, вос­поль­зовать­ся одним из мно­жес­тва появив­шихся в интерне­те сер­висов, пред­лага­ющих заг­рузить фотог­рафию и через 10–20 секунд получить ее улуч­шенную вер­сию.


Не­кото­рые сер­висы пре­дос­тавля­ют такие услу­ги даже бес­плат­но, но надо пом­нить, что «если вы за это не пла­тите, то вы не пот­ребитель, вы — про­дава­емый про­дукт». В любом слу­чае в этой статье мы не будем обсуждать такой незатей­ливый спо­соб, а погово­рим луч­ше о том, как выпол­нить ана­логич­ную обра­бот­ку на тво­ем пер­сональ­ном компь­юте­ре или ноут­буке.


Но­вые вер­сии Real-ESRGAN и GFPGAN не предъ­явля­ют спе­циаль­ных тре­бова­ний к виде­оадап­теру (хотя под­дер­жка Nvidia CUDA при­ветс­тву­ется) и могут работать на доволь­но зауряд­ном обо­рудо­вании. Что­бы обра­ботать фотог­рафии эти­ми инс­тру­мен­тами, твой компь­ютер дол­жен обла­дать сле­дующи­ми харак­терис­тиками:



  • на нем дол­жна быть уста­нов­лена 64-раз­рядная вер­сия Linux не стар­ше, чем Ubuntu 16.04;

  • дол­жно быть не мень­ше 768 Мбайт по‑нас­тояще­му сво­бод­ной опе­ратив­ной памяти, которая не исполь­зует­ся ни виде­оадап­тером, ни опе­раци­онной сис­темой;

  • дол­жно быть не менее 15 Гбайт сво­бод­ного дис­кового прос­транс­тва.


 

Операционная система


У тебя 32-раз­рядная Windows? Ничего, без­выход­ных ситу­аций не быва­ет! Кто ска­зал, что компь­ютер не может быть вир­туаль­ным? Уста­нав­ливай пос­корее гипер­визор VirtualBox, соз­давай в нем вир­туаль­ную машину и не забудь ука­зать в ее нас­трой­ках сле­дующие парамет­ры:



  • опе­раци­онная сис­тема: Linux/Ubuntu (64 bit);

  • ос­новная память: 1024 Мбайт (как минимум, боль­ше — луч­ше);

  • жес­ткий диск: 20 Гбайт;

  • се­тевой адап­тер: NAT (с выходом в интернет).


www


По этой ссыл­ке мож­но ска­чать пос­леднюю вер­сию VirtualBox для 32-раз­рядных Windows.



Имей в виду, что для уста­нов­ки 64-раз­рядной гос­тевой опе­раци­онной сис­темы про­цес­сор на тво­ем компь­юте­ре дол­жен быть 64-раз­рядным и под­держи­вать аппа­рат­ную вир­туали­зацию Intel VT-x или AMD-V.


Для вир­туаль­ной машины с доволь­но скром­ными парамет­рами подой­дет далеко не вся­кий дис­три­бутив Linux. Сов­ремен­ная вер­сия Ubuntu на 1 Гбайт ОЗУ не смо­жет даже запус­тить инстал­лятор, о чем я рас­ска­зывал в од­ной из пре­дыду­щих ста­тей. Кро­ме того, мы не можем раз­бра­сывать­ся опе­ратив­ной памятью на укра­шатель­ства рабоче­го сто­ла, каж­дый ее мегабайт пот­ребу­ется для решения основной задачи. Мне боль­ше все­го пон­равилась работа Bodhi Linux 4.5 — дис­три­бути­ва, осно­ван­ного на Ubuntu 16.04, с лег­ковес­ным рабочим сто­лом Moksha. Но у него есть спе­цифи­чес­кие нюан­сы уста­нов­ки и нас­трой­ки, поэто­му тебе, навер­ное, будет про­ще вос­поль­зовать­ся Lubuntu 16.04 — вари­антом Ubuntu с рабочим сто­лом LXDE. Его я тоже про­верил, он впол­не при­годен для наших целей.



www


По этой ссыл­ке мож­но ска­чать образ дис­три­бутив­ного дис­ка 64-раз­рядной Lubuntu 16.04.



С уста­нов­кой, уве­рен, ты спра­вишь­ся сам. Пос­ле уста­нов­ки обя­затель­но обно­ви информа­цию о содер­жимом репози­тори­ев:


sudo apt update

Ес­ли пла­ниру­ешь исполь­зовать машину не толь­ко в качес­тве фото­уве­личи­теля, можешь акту­али­зиро­вать уста­нов­ленное прог­рам­мное обес­печение:


sudo apt upgrade

Но для наших целей этот шаг не обя­зате­лен.


Итак, теперь у тебя точ­но есть 64-раз­рядная опе­раци­онная сис­тема Linux. Прис­тупим к осна­щению ее прик­ладны­ми прог­рамма­ми. Что­бы тебе было про­ще ори­енти­ровать­ся в даль­нейших рекомен­даци­ях, я схе­матич­но наб­росал то, что в ито­ге дол­жно получить­ся.


Ос­новные эле­мен­ты фай­ловой струк­туры «фото­уве­личи­теля»

На рисун­ке чер­ным цве­том обоз­начены катало­ги, зеленым — основные исполня­емые фай­лы и сце­нарии, голубым — сим­воличес­кие ссыл­ки, а синим — фай­лы с дан­ными. Серым цве­том выделе­ны рабочие катало­ги, которые, вооб­ще говоря, ты можешь соз­давать по сво­ему пред­почте­нию. Обра­ти вни­мание, что вся фай­ловая струк­тура находит­ся в катало­ге поль­зовате­ля, поэто­му для ее соз­дания осо­бые при­виле­гии не нуж­ны.


 

Среда исполнения


Для работы Real-ESRGAN и GFPGAN тре­бует­ся Python вер­сии не стар­ше 3.7. Если на тво­ем компь­юте­ре это тре­бова­ние выпол­няет­ся, можешь про­пус­тить этот раз­дел. Но если ты хочешь соб­рать весь набор прог­рам­мно­го обес­печения для «пер­сональ­ного ней­росете­вого фото­уве­личи­теля», что­бы потом быс­тро раз­вернуть этот набор на осно­ве раз­нооб­разных дис­три­бути­вов Linux, то советую не отвле­кать­ся и про­делать опи­сан­ные здесь шаги.


Нап­ример, Ubuntu 16.04 пос­тавля­ется с Python 3.5, который доволь­но силь­но интегри­рован с опе­раци­онной сис­темой, и замена вер­сии может при­вес­ти к неп­ред­ска­зуемым пос­ледс­тви­ям. Поэто­му давай соберем Python 3.8 и уста­новим его в качес­тве допол­нитель­ного поль­зователь­ско­го интер­пре­тато­ра, не зат­рагивая сис­темный.



Перейти обратно к новости