Creați propriile picturi neuronale cu DeepStyle & Ubuntu
Rețelele neuronale pot face multe lucruri. Ei pot interpreta imagini, înțeleg vocile noastre 6 Funcțiile Google Now care vor schimba modul în care căutați 6 funcții Google Now care vor schimba modul de căutare Puteți utiliza deja Google Now pe dispozitivul dvs. Android, dar primiți tot ce puteți aceasta? Știind despre aceste caracteristici mici poate face o mare diferență. Citiți mai multe și traduceți conversații Cum funcționează Skype Star Trek Traducătorul Traducătorul Star Trek al Skype Funcționează noul traducător al Skype care oferă ceva visat de la Star Trek - un mod de a comunica fără efort între limbi. Citeste mai mult . Dar știi că pot picta și ele?
O lucrare recentă de cercetare (intitulată “Un algoritm neural al stilului artistic“) a dat startul unei discuții online cu câteva exemple vizuale vizibile. În esență, lucrarea discută despre o tehnică de instruire a unei rețele neuronale profunde Microsoft vs. Google - care conduce rasa inteligentă artificială? Microsoft vs Google - Cine conduce rasa inteligenta artificiala? Cercetătorii privind inteligența artificială fac progrese tangibile, iar oamenii încep să vorbească serios despre AI din nou. Cei doi titani care conduc cursa inteligenței artificiale sunt Google și Microsoft. Citește mai mult pentru a separa stilul artistic de structura imaginii și pentru a combina stilul unei imagini cu structura celeilalte. Rezultatul a toate acestea este că puteți pregăti o rețea neuronală imensă pentru a transforma fotografiile în “picturi neuronale” care par a fi pictate de artiști celebri - “falsuri digitale,” ca sa zicem asa.
Iată câteva exemple din articol. Prima imagine este originală. Imaginile ulterioare sunt rezultatul generat, cu pictura din care a fost selectat stilul prezentat în miniatură.
Cercetătorii originali nu și-au lansat codul, din păcate. Cu toate acestea, unii programatori intrepid au replicat rezultatele lor in ultimele zile, iar codul lor este disponibil, open source pe Internet. Tot ce trebuie să rulați este o mașină linux și un pic de răbdare.
Astăzi, vă voi ajuta să faceți acest lucru și vă voi arăta câteva dintre propriile mele rezultate. Vă puteți gândi la acest lucru ca pe o continuare continuă a tutorialului nostru DeepDream Creați-vă propria febră artificială Visele cu Google "DeepDream" Creați-vă propria febră artificială Fever cu Google "DeepDream" Ați văzut imaginile trippy care ies din DeepDream? Vrei sa-ti faci propriul? Nu mai căuta! Citeste mai mult . Este un pic cam complicat, dar oricine are o mașină Linux poate urma - nu este nevoie de experiență de codificare.
Am transformat o pictura de pictura Picasso într-o pictura de stil Picasso cu #DeepStyle! pic.twitter.com/cjkEoIhVcF
- James Blaha (@ jamesblaha) 5 septembrie 2015
Configurarea software-ului
În primul rând, dacă nu vă grăbiți prea mult sau nu aveți o mașină Linux, puteți juca în continuare cu DeepStyle utilizând botul DeepForger Twitter (trimiteți-i o imagine și un stil și în cele din urmă va răspunde cu rezultatele pe care le vrei). Dacă doriți să procesați mai repede mai multe imagini (și cu mai mult control asupra rezultatelor), citiți mai departe pentru tutorial.
În primul rând, asigurați-vă că aveți o copie actualizată Ubuntu (14.04 este ceea ce am folosit). Ar trebui să aveți cel puțin câteva cântece suplimentare de spațiu pe hard disk. Pentru mai multe informații, consultați tutorialul nostru despre dual-booting Ubuntu alături de Windows Obosit de Windows 8? Cum Pentru a boot dual Windows și Ubuntu Obosit de Windows 8? Cum de a Încărca Dual Windows și Ubuntu Dacă descoperiți că Windows 8 nu este chiar dvs. ceasca de ceai, și nu aveți nici o cale fezabilă de a downgrade, ar putea fi o idee bună să boot dual cu Linux pentru a avea o alternativă ... Read More. De asemenea, veți avea nevoie de privilegii de root, deci asigurați-vă că faceți acest lucru înainte de a continua.
Instrumente de bază
Dreptul bâtului, acesta este un proiect cu sursă deschisă, așa că vom dori să avem git instalat. Git este standardul de aur pentru software-ul de control al versiunilor Ce este Git și de ce ar trebui să utilizați controlul versiunii Dacă sunteți dezvoltator Ce este Git și de ce ar trebui să utilizați controlul versiunii Dacă sunteți dezvoltator Ca dezvoltatori web, o mare parte din timp avem tendința de a lucra pe site-urile de dezvoltare locală, apoi încărcați totul când suntem gata. Acest lucru este bine când este doar tine și schimbările sunt mici, ... Citește mai mult. Destul de mult fiecare proiect open source care merită știut este găzduit de Github.
Pentru a descărca și a instala Git, trebuie doar să deschideți un terminal și să tastați “sudo apt-get instalați git
” și sunt de acord cu cerințele instalatorului.
Înainte: o să mergem configurați câteva instrumente de bază necesare pentru a face munca software-ului.
Mai întâi, instalați Lua. Acesta este limbajul în care este scris instrumentul. Este destul de simplu. Doar tastați “sudo apt-get instala lua5.2
” și urmați procesul de instalare.
În al doilea rând, o să luăm pe Luarock. Acesta este instrumentul care facilitează instalarea altor instrumente (nu vă place Linux?). Pentru aceasta, tastați “sudo apt-get instalați luarocks
” și urmați pașii de instalare.
În al treilea rând, vom instala Luajit. Acesta este un compilator just-in-time pentru Lua, care ne va face viața un pic mai simplă. Doar tastați “sudo apt-get instalați luajit
.”
Până acum, bine.
Sunt un bot care creează falsuri din fotografiile tale în stilul pictorilor renumiți. Faceți clic pentru instrucțiunile de mai jos! pic.twitter.com/3MpThDNwRE
- Deep Forger (@ DeepForger) 5 septembrie 2015
Cadrele
În continuare, vom instala Torch, un cadru științific de calcul și de învățare în mașină, care constituie coloana vertebrală a aplicației. Din păcate, acesta nu poate fi instalat utilizând apt-get (managerul standard de pachete Ubuntu).
Din fericire, ei au un program de instalare cu o singură linie care utilizează magia unei linii de comandă. Reveniți la terminalul dvs. și introduceți-l “curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | bash
“.
Când ați terminat, tastați “luajit-ltorch
“. Aceasta va deschide interfața torței și va verifica dacă totul a fost instalat corect.
Ieșiți din asta.
Acum o să instalăm loadcaffe - un pachet specific rețelei neuronale. Instalați singura dependență prin tastarea “sudo apt-get instala instalarea libprotobuf-dev protobuf-compiler
“. Apoi puteți instala singur pachetul folosind “sudo luarocks instala loadcaffe "
.
@Johnicholas Defalcarea ta de fals, cu stilul școlii lui Rembrandt van Rijn. #DigitalArt #StyleNet pic.twitter.com/pf0sZxWkaT
- Deep Forger (@ DeepForger) 7 septembrie 2015
Verificați dependențele dublu
În cele din urmă, vom actualiza în mod preemptiv unele lucruri doar pentru a ne asigura că totul merge bine.
Tip “sudo luarocks instala imaginea
” pentru a vă asigura că pachetul de imagini este actualizat. Apoi, introduceți “luarocks instalează nn
” care va face același lucru pentru pachetul dvs. "nn".
Instalarea stilului profund
În regulă! În acest moment, suntem gata să instalăm software-ul propriu-zis. Pentru curățenie, creați un director nou în directorul de acasă ("mkdir DeepStyle"). Apoi, introduceți-l utilizând “cd Deepstyle
“. Acum tastați “sudo git clone https://github.com/jcjohnson/neural-style.git ".
În continuare, trebuie să descărcați modelul. Faceți o ceașcă de cafea sau ceva, acest lucru va dura ceva timp. Înapoi la terminal și tastați “modele sudo sh / download_models.sh
“. Acesta va începe un proces de descărcare lung și elaborat. Dacă nu reușește din cauza erorilor de permisiune, încercați să vă acordați permisiuni de citire și scriere pentru folderele relevante, utilizând chmod.
@ 44thats44oars a comandat acest #ProceduralArt #NeuralArt. pic.twitter.com/tbMH7gsvc8
- Deep Forger (@ DeepForger) 6 septembrie 2015
Folosind stilul profund
Bine, suntem bine să plecăm. Utilizarea software-ului este destul de simplă.
Asigurați-vă că sunteți în DeepStyle / director de stil neural în terminal. Acum vei avea nevoie de câteva imagini pentru a lucra. Descărcați-le de pe Internet (sau orice altceva), apoi copiați-le în DeepStyle / folder neural utilizând browserul de fișiere.
Acum puteți utiliza linia de comandă pentru a procesa imagini individuale. Formatul este destul de simplu:
te neural_style.lua -style_image YOURPAINTINGHERE.jpg - content_image YOURPHOTOHERE.jpg -gpu -1
(Evident, va trebui să înlocuiți bucățile în TOATE CAPS-urile cu numele fișierelor dvs.).
Asta va începe rețeaua neuronală. Se va executa aproximativ o oră, scuipând imagini noi parțial convergente la fiecare câteva minute până la terminarea lor. -gpu-1
flag-ul îl oprește din încercarea de a accesa GPU-ul.
Dupa cateva ore de incercare (si caramelizarea sistemului de operare de cateva ori) nu am reusit sa obtin Ubuntu si CUDA sa mearga frumos cu GPU-ul meu (un NVIDIA GTX 970). Dacă aveți mai mult noroc cu asta, veți dori să instalați CUDA și cudann.torch (vedeți github repo pentru mai multe informații). Dacă nu, este bine - va funcționa în continuare utilizând procesorul dvs.; va fi putin mai lent.
Dacă aveți probleme în legătură cu acest lucru, întrebați-mă în comentariile dvs. și voi face tot posibilul pentru a vă ajuta.
Rezultate
Iată câteva imagini pe care le-am generat în ultimele zile. Rezultatele sunt amestecate, dar multe dintre ele sunt destul de impresionante.
Click aici pentru rezoluție completă.
Asta e al prietenului meu, Zack, într-o excursie de drumeție la Yellowstone. Stilul vine dintr-o pictura abstracta, creata de Theresa Paden. Am fost curios să văd cum ar face sistemul folosind o imagine fără nici o structură. Rezultatele sunt destul de clare, și puteți vedea cu siguranță asemănările cu imaginea de stil.
Click aici pentru rezoluție completă.
Aceasta vine prin amabilitatea unuia dintre artiștii mei preferați, Charles Demuth (vezi: Tămâie a unei Biserici noi și Figura 5 în aur). Interesant este că Demuth este una dintre principalele inspirații vizuale pentru arta echipei Fortress 2 Team Fortress 2: jocul cu abur gratuit pentru a juca trebuie să jucați Fortăreața echipei 2: jocul cu abur gratuit ce trebuie să jucați este Fortul echipei 2 doar un joc rapid pentru a testa grafica si performanta, sau este un joc care merita jucat in mod repetat? Citiți mai multe, după cum puteți vedea din imaginea de stil.
Am hrănit-o cu o imagine a orașului Jersey, pe care am găsit-o pe Wikimedia. Rezultatele sunt ... destul de bune. Nu a luat amploarea stilului lui Demuth, dar cu siguranță a preluat aspectul moale, texturat și paleta de culori.
Click aici pentru rezoluție completă.
Aceasta este o încercare de a genera un O'Keeffe sintetic, folosind o imagine destul de luminoasă a unor flori pe care le-am găsit. Rezultatele sunt, sincer, spectaculoase. Din punct de vedere estetic, acesta este unul dintre rezultatele mele preferate. Bogăția culorilor și a formelor lui O'Keeffe vine în mod clar. Marginile stratificate ale petalelor de flori devin marginile frunzelor din fundal. Florile se dizolvă în culori, devenind aproape abstracte.
Ar fi un tablou bun dacă un om a făcut-o. Sunt foarte tentat să petrec câteva zile făcând o versiune de rezoluție mai mare a acestei și să o încadreze.
Click aici pentru rezoluție completă.
Iată prietenul meu Shannon în costumul ei de Halloween, printr-o imprimare Picasso. Interesant, dispozitivul a ales să picteze porțiunea inferioară a feței sale albă (similară aspectului color al piesei Picasso). Nu sunt sigur dacă a fost o coincidență sau nu, dar rezultatele sunt izbitoare. De asemenea, pare să fi identificat corect părul lui Shannon pe partea stângă și să-l redacteze folosind culoarea și linia din păr în imaginea stilului. Ditto pentru pălăria ei.
Aceasta este una dintre piesele în care limitele tehnicii încep să devină clare. Dacă Picasso ar fi de fapt să picteze Shannon, ar fi aruncat structura feței și ar fi înclinat trăsăturile pentru a obține efectul dorit. Acest sistem nu înțelege acele tipuri de concepte de nivel înalt și poate imita doar aspecte superficiale ale stilului, cum ar fi liniile întunecate, unghiulare și paleta de culori.
Click aici pentru rezoluție completă.
Destul de simplu: o imagine a Turnului Eiffel și a lui Van Gogh alte O noapte grozavă. Ea face o treabă bună punând norul într-un stil Van Gogh-ey, în ciuda absenței nori în imaginea originală. De asemenea, face o treabă bună de a traduce scena de la zi la noapte.
Nu eram sigur de ce a decis să facă vârful turnului Fiffel ca un stâlp de foc. Arată grozav, dar nu este într-adevăr justificat din datele de intrare. Apoi mi-am dat seama că imaginea de stil are în ea 13 benzi lungi, verticale, galbene, sub forma reflexiilor din apă. Acesta este un grup destul de masiv, dat fiind atât de puține date de antrenament. Lucrul sărman a învățat probabil că orice margine verticală cu contrast ridicat trebuie să fie una dintre aceste reflecții. Puteți vedea mai multe dungi verticale străine slab în nori.
Click aici pentru rezoluție completă.
Pictura aceluiași Van Gogh, dar de data asta i-am dat niște stele actuale de vopsea. În acest caz, partea pilonilor nebuloasei vulturului. Îmi plac rezultatele - deși, din nou, puteți vedea obsesia ei cu dungi galbene. Fiecare porțiune verticală a stâlpului devine o linie luminată și galbenă. Este, de asemenea, în mod clar supărat de verde, care nu a apărut în datele de antrenament și face tot posibilul pentru a scăpa de ea în favoarea albastru și negru.
Tehnologie
Unele rezultate din aceasta sunt extrem de convingătoare, deși tehnica are limite clare. Unele imagini au o compoziție proastă, iar sistemul are dificultăți cu mai mulți artiști abstracți cum ar fi Picasso - care îi plăcea să distorsioneze subiectul său, împrăștiind caracteristicile sale. Algoritmul își preia liniile unghiulare și coliziunea culorilor, dar este încă un sclav al valorilor pixelilor imaginii. Nu are înțelegerea de care ai nevoie să devii prea departe de materialul sursă.
Ceea ce mă excită în legătură cu toate acestea este că nu cred că aceste limitări sunt fundamentale.
Abordarea utilizată aici - formarea unei rețele pe o singură imagine și folosirea acesteia pentru a construi o altă imagine - este fundamental un fel de hack. Oferă rețelei foarte puține date cu care să lucrați. O versiune mai avansată a acestei aplicații ar folosi o rețea care are informații despre multe picturi, și poate chiar imagini reale, pentru a da o mulțime de context despre imaginea pe care încearcă să o “a picta.”
O înțelegere profundă a stilului poate exista doar într-un context mai larg. Nu puteți să le deduceți dintr-o singură imagine. Proiectarea unei arhitecturi care să permită accesul sistemului la date mai ample le-ar permite să obțină mai mult “human-like” înțelegerea imaginii și modul în care artiștii reprezintă diferite elemente ale lumii reale. O astfel de rețea ar putea să producă imagini mai abstracte și cu o compoziție mai bună. Astfel de algoritmi ar înceta să fie o jucărie rece (ca aceasta) și vor deveni o modalitate de a produce o artă reală, reală.
Care este un gând foarte ciudat, în anumite privințe.
Efectuarea propriilor imagini
Dacă obțineți un rezultat dezamăgitor, puteți juca cu opțiunile puțin pentru a încerca să obțineți rezultate mai convingătoare. Lista completă se află pe Github. Cele mai importante sunt
- -content_weight -value Cât de mult pentru a ponderi termenul de reconstrucție a conținutului. Implicit este 5e0.
- -style_weight -value: Cât de multă greutate trebuie acordată imaginii de stil. Implicit este 1e2.
- -style_scale - valoare: Cât de mare ar trebui să analizeze sistemul (mai mare devine mai abstract). Implicit este 1.0.
Odată ce ați rezolvat toate problemele, vă rugăm să postați cele mai interesante imagini în comentarii. Sunt cu adevărat interesat să văd ce vă propun.
Creditele de imagine: pictorul creierului uman prin Shutterstock
Explorați mai multe despre: Inteligență artificială, Artă digitală, Geeky Science, Linux Desktop Environment, Science Fiction.