Publicitate

Rețelele neuronale pot face o mulțime de lucruri. Ei pot interpreta imagini, înțelege vocile noastre 6 funcții Google Now care vor schimba modul în care căutați Este posibil să utilizați deja Google Now pe dispozitivul dvs. Android, dar primiți tot ce puteți ieși din el? Cunoașterea acestor mici caracteristici poate face o mare diferență. Citeste mai mult , și traduceți conversațiile Cum funcționează traducătorul Star Trek al SkypeNoua caracteristică de traducere a Skype oferă ceva visat de la Star Trek - o modalitate fără efort de a comunica între limbi. Citeste mai mult . Dar știai că pot picta și ei?

Un articol de cercetare recent (intitulat „Un algoritm neural al stilului artistic„) A dat startul unei discuții online cu câteva exemple vizuale izbitoare. În esență, lucrarea discută despre o tehnică de instruire a rețea neuronală profundă Microsoft vs Google - Cine conduce cursa de inteligență artificială?Cercetătorii de informații artificiale fac progrese tangibile, iar oamenii încep din nou să vorbească serios despre AI. Cei doi titani care conduc cursa de inteligență artificială sunt Google și Microsoft.

instagram viewer
Citeste mai mult pentru a separa stilul artistic de structura imaginii și a combina stilul unei imagini cu structura alteia. Acest lucru este că puteți antrena o imensă rețea neuronală pentru a transforma fotografiile în „neuronale tablouri ”care par a fi pictate de artiști celebri -„ falsuri digitale ”, așa vorbi.

Iată câteva exemple din articol. Prima imagine este originalul. Imaginile ulterioare sunt rezultatele generate, cu tabloul din care a fost eșantionat stilul prezentat în miniatură.

PaperImages

Din păcate, cercetătorii originali nu și-au lansat codul. Cu toate acestea, unii programatori intrigi au reprodus rezultatele în ultimele zile, iar codul lor este disponibil, sursa deschisă pe Internet. Tot ce trebuie să-l rulați este o mașină linux și un pic de răbdare.

Astăzi, vă voi prezenta cum să faceți asta și vă voi arăta câteva dintre propriile mele rezultate. Vă puteți gândi la acest lucru ca la o continuare liberă a noastră Tutorial DeepDream Creați-vă propriile vise artificiale de febră cu „DeepDream” GoogleAți văzut imaginile trippy care ies din DeepDream? Vrei să-ți faci singur? Nu mai căuta! Citeste mai mult . Este un pic complicat, dar oricine are o mașină Linux poate urmări, fără experiență de codificare.

Am transformat o pictură ușoară Picasso într-o pictură în stil Picasso cu #DeepStyle! pic.twitter.com/cjkEoIhVcF

- James Blaha (@jamesblaha) 5 septembrie 2015

Configurarea software-ului

În primul rând, dacă nu te grăbești sau nu ai o mașină Linux, poți să te joci cu DeepStyle folosind funcția Botul DeepForger Twitter (trimiteți-i o imagine și un stil și, în cele din urmă, va răspunde cu rezultatele dorite). Dacă doriți să procesați mai multe imagini rapid (ș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ă ai cel puțin câteva concerte suplimentare de spațiu pe hard disk. Pentru mai multe informații, consultați tutorialul nostru la Ubuntu dual-booting alături de Windows Obosit de Windows 8? Cum să porniți Windows și UbuntuDacă descoperiți că Windows 8 nu este chiar ceașca dvs. de ceai și nu aveți nicio cale fezabilă către downgrade, poate fi o idee bună să porniți dual cu Linux pentru a avea o alternativă ... Citeste mai mult . De asemenea, veți avea nevoie de privilegii root, așa că asigurați-vă că o faceți înainte de a continua.

Instrumente de bază

Drept bâtă, acesta este un proiect open-source, așa că vom dori să avem git instalat. Git este standard de aur pentru software de control al versiunilor Ce este Git și de ce ar trebui să utilizați controlul versiunii dacă sunteți dezvoltatorÎn calitate de dezvoltatori web, de multe ori avem tendința de a lucra pe site-uri de dezvoltare locală, atunci doar încărcăm totul când am terminat. Este în regulă când ești doar tu, iar modificările sunt mici, ... Citeste mai mult . Github este găzduit de aproape fiecare proiect open source despre care merită cunoscut.

Pentru a descărca și instala Git, trebuie doar să deschideți un terminal și să tastați „sudo apt-get install git”Și sunt de acord cu cerințele instalatorului.

Următorul: vom merge configurați câteva instrumente de bază necesare pentru ca software-ul să funcționeze.

Mai întâi, instalați Lua. Acesta este limbajul în care instrumentul este scris. Este destul de simplu. Introduceți doar „sudo apt-get install lua5.2”Și urmați procesul de instalare.

În al doilea rând, vom primi Luarocks. Acesta este instrumentul care facilitează instalarea altor instrumente (nu vă place Linux?). Pentru aceasta, tastați „sudo apt-get install luarocks”Și urmați pașii instalațiilor.

În al treilea rând, vom instala Luajit. Acesta este un compilator la timp pentru Lua, care ne va face viața un pic mai simplă. Introduceți doar „sudo apt-get install luajit.”

Până acum, bine.

Sunt un bot care creează falsuri din fotografiile tale în stilul pictorilor celebri. Faceți clic pentru instrucțiuni de mai jos! pic.twitter.com/3MpThDNwRE

- The Deep Forger (@DeepForger) 5 septembrie 2015

Cadrele

În continuare, vom instala lanternă, un cadru științific de calcul și de învățare automată care constituie coloana vertebrală a aplicației. Din păcate, acesta nu poate fi instalat folosind apt-get (managerul de pachete Ubuntu standard).

Din fericire, au un instalator de o singură linie care folosește ceva magic de linie de comandă. Reveniți la terminalul dvs. și introduceți „curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | bash“.

După ce ați terminat, tastați „luajit -ltorch“. Acest lucru va aduce interfața torței și va verifica dacă totul a fost instalat corect.

Ieșiți din asta.

Acum vom instala loadcaffe - un pachet specific rețelei neuronale. Instalați singura sa dependență tastând „sudo apt-get install libprotobuf-dev protobuf-compilator“. Apoi, puteți instala pachetul în sine folosind „sudo luarocks instalează loadcaffe ".

@Johnicholas Defalcarea ta falsificată, cu stil de School of Rembrandt van Rijn. #Arta digitala#StyleNetpic.twitter.com/pf0sZxWkaT

- The Deep Forger (@DeepForger) 7 septembrie 2015

Verificare dublu a dependențelor

În cele din urmă, vom actualiza în prealabil unele lucruri doar pentru a ne asigura că totul merge bine.

Tip "sudo luarocks instalează imaginea”Pentru a vă asigura că pachetul dvs. de imagini este actualizat. Apoi, introduceți „luarocks instalează nn”, Care va face același lucru pentru pachetul„ nn ”.

Instalarea Deep Style

În regulă! În acest moment, suntem gata să instalăm efectiv software-ul în sine. Din motive de curățenie, creați un director nou în directorul de acasă („mkdir DeepStyle”). Apoi, introduceți-l, folosind „cd Deepstyle“. Acum tastați „clona sudo git https://github.com/jcjohnson/neural-style.git".

În continuare, trebuie să descărcăm modelul. Faceți o ceașcă de cafea sau ceva de genul, asta va dura ceva. Înapoi la terminal și tastați „modele sudo sh / download_models.sh“. Va începe un proces lung și elaborat de descărcare. Dacă nu reușește din cauza erorilor de permisiune, încercați să vă dați permisiuni de citire a scrierii pe folderele relevante, folosind chmod.

@ 44thats44oars a comandat acest lucru #ProceduralArt#NeuralArt. pic.twitter.com/tbMH7gsvc8

- The Deep Forger (@DeepForger) 6 septembrie 2015

Folosind Deep Style

Bine, suntem bine să mergem. Utilizarea software-ului este destul de simplă.

Asigurați-vă că vă aflați Directorul DeepStyle / în stil neural în terminal. Acum, va trebui să aveți câteva imagini pentru a lucra. Descărcați-le de pe Internet (sau orice altceva), apoi copiați-le în Folderul DeepStyle / în stil neural folosind browserul de fișiere.

Acum puteți utiliza linia de comandă pentru a procesa imagini individuale. Formatul este destul de simplu:

th neural_style.lua -style_image YOURPAINTINGHERE.jpg - content_image YOURPHOTOHERE.jpg -gpu -1

(Evident, va trebui să înlocuiți bucățile din TOATE CAPS cu numele fișierelor dvs.).

Asta va începe rețeaua neuronală. Va fi difuzat aproximativ o oră, scuipând noi imagini parțial convergente la fiecare câteva minute până se termină. -gpu -1 flag îl oprește să încerce să acceseze GPU.

După câteva ore de încercare (și înfrângerea sistemului de operare de mai multe ori) nu am reușit să fac ca Ubuntu și CUDA să se joace 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 (a se vedea github repo pentru mai multe informatii). Dacă nu, este în regulă - va funcționa în continuare utilizând procesorul dvs.; va fi puțin mai lent.

Dacă aveți probleme pentru ca toate acestea să funcționeze, cereți-mi comentariile și voi face tot posibilul să vă ajut.

Rezultate

Iată câteva imagini pe care le-am creat în ultimele două zile. Rezultatele sunt mixte, dar multe dintre ele sunt destul de impresionante.

zack-Paden-compozit

Faceți clic aici pentru rezoluție completă.

Acesta este al prietenului meu Zack într-o excursie de drumeție în Yellowstone. Stilul provine dintr-un tablou abstract, creat de Theresa Paden. Am fost curios să văd cum va face sistemul folosind o imagine fără absolut nicio structură. Rezultatele sunt destul de îngrijite și cu siguranță puteți vedea asemănările cu imaginea de stil.

-Demuth-Jersey City compozit

Faceți clic aici pentru rezoluție completă.

Acesta vine prin amabilitatea unuia dintre artiștii mei preferați, Charles Demuth (vezi: Tămâia unei biserici noi, și Figura 5 în aur). Interesant este că Demuth este una dintre inspirațiile vizuale primare pentru arta Team Fortress 2 Team Fortress 2: Jocul Steam Free-to-Play pe care trebuie să îl jociTeam Fortress 2 este doar un joc rapid pentru a testa grafica și performanța, sau merită jucat în mod repetat? Citeste mai mult , după cum puteți vedea din imaginea de stil.

I-am alimentat o imagine a Jersey City pe care am găsit-o pe Wikimedia. Rezultatele sunt... destul de bune. Nu a ales aspectul unghiular al stilului lui Demuth, dar a luat cu siguranță aspectul moale, texturat și paleta de culori.

flori-okeefe-compozit

Faceți clic aici pentru rezoluție completă.

Aceasta este o încercare de a genera o OKeeffe sintetică, folosind o imagine destul de banală a unor flori pe care le-am găsit. Rezultatele sunt, sincer, spectaculoase. Estetic, acesta este unul dintre rezultatele mele preferate. Bogăția culorilor și formelor O’Keeffe trece clar. Marginile stratificate ale petalelor de flori devin marginile frunzelor în fundal. Florile în sine se dizolvă în culori, devenind aproape abstracte.

Ar fi o pictură bună dacă ar face un om. Sunt foarte tentat să petrec câteva zile pentru a reda o versiune de rezoluție mai mare a acestei versiuni și l-am încadrat.

shannon-picasso-compozit

Faceți clic aici pentru rezoluție completă.

Iată prietena mea Shannon în costumul ei de Halloween, printr-un imprimeu Picasso. Interesant este faptul că dispozitivul a ales să picteze porțiunea inferioară a feței ei în alb (similar cu aspectul culorilor piesei Picasso). Nu sunt sigur dacă a fost o coincidență sau nu, dar rezultatele sunt izbitoare. De asemenea, se pare că a identificat corect părul lui Shannon din partea stângă și l-a desenat 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 l-ar fi pictat de fapt pe Shannon, ar fi aruncat structura feței și ar fi trasat trăsăturile pentru a obține efectul pe care și l-a dorit. Acest sistem nu înțelege acele tipuri de concepte la nivel înalt și este capabil să imite doar aspectele superficiale ale stilului, cum ar fi liniile întunecate, unghiulare și paleta de culori.

eiffel-VanGogh-compozit

Faceți clic aici pentru rezoluție completă.

Destul de simplu: o imagine a Turnului Eiffel și a lui Van Gogh alte Noaptea înstelată. Face o treabă bună, redând norul într-un stil Van Gogh-ey, în ciuda absenței de nori în imaginea originală. De asemenea, face o treabă bună de a traduce scena din zi în noapte.

Nu eram sigur de ce a decis să redea vârful turnului Fiffel ca un stâlp de foc. Arată mișto, dar nu se justifică cu adevărat din datele de intrare. Apoi mi-am dat seama că imaginea de stil are treisprezece benzi lungi, verticale de culoare galbenă în ea, sub forma reflexiilor din apă. Acesta este un grup destul de masiv, având în vedere atât de puține date de instruire. Lucrul sărac a învățat probabil că orice margine verticală cu contrast ridicat trebuie să fie una dintre acele reflexe. Puteți vedea mai multe dungi verticale străine în mod slab în nori.

nebula-VanGogh-compozit

Faceți clic aici pentru rezoluție completă.

Aceeași pictură Van Gogh, dar de data aceasta i-am oferit câteva stele reale pentru a picta. În acest caz, porțiunea stâlpilor din nebuloasa Vulturului. Îmi plac rezultatele - deși, din nou, puteți vedea obsesia sa cu dungi galbene. Fiecare porțiune verticală a stâlpului devine o linie strălucitoare, galbenă. De asemenea, este clar supărat de verde, care nu a apărut în datele de pregătire și face tot posibilul să scape de el în favoarea albastruului și negrului.

Tehnologie

Unele rezultate sunt extrem de convingătoare, deși tehnica are limitări clare. Unele imagini au o compoziție amețitoare, iar sistemul are dificultăți cu artiști mai abstracti, cum ar fi Picasso - cărora le-a plăcut faimos să-și denatureze subiectul, împrăștindu-i trăsăturile. Algoritmul își ridică liniile unghiulare și ciocnesc culorile, dar este totuși un sclav al valorilor de pixeli ale imaginii. Nu are înțelegerea necesară pentru a vă abate prea mult de la materialul sursă.

Ceea ce mă emoționează în legătură cu toate acestea este că nu cred că aceste limitări sunt fundamentale.

Abordarea folosită aici - instruiți o rețea pe o imagine și folosiți-o pentru a construi alta - este în mod fundamental un tip de hack. Oferă rețelei foarte puține date cu care să funcționeze. O versiune mai avansată a acestei aplicații ar utiliza o rețea care are informații despre multe picturi și, poate, chiar imagini reale, pentru a-i oferi un context suficient despre imaginea pe care încearcă "a picta."

O abordare profundă a stilului poate exista doar într-un context mai larg. Nu o puteți obține dintr-o singură imagine. Proiectarea unei arhitecturi care să ofere sistemului acces la date mai largi ar putea permite să obțină mai mult Înțelegerea „imaginii” umane a imaginii și modul în care artiștii reprezintă diferite elemente ale realului lume. O astfel de rețea ar putea să poată produce imagini mai abstracte și care să aibă o compoziție mai bună. Astfel de algoritmi ar înceta să mai fie o jucărie mișto (ca aceasta) și să devină o modalitate de a produce artă reală, originală.

Ceea ce este, într-un fel, un gând foarte particular.

Realizarea propriilor imagini

Dacă obții un rezultat dezamăgitor, poți să te joci puțin cu opțiunile pentru a încerca să obții rezultate mai convingătoare. Lista completă este pe Github. Cele importante sunt

  • -content_weight -value Cât de ponderat termenul de reconstrucție a conținutului. Implicit este 5e0.
  • -style_weight -valor: Câtă greutate să dai imaginii de stil. Implicit este 1e2.
  • -style_scale - valoare: Cât de mare de patch-uri de imagine ar trebui să analizeze sistemul (Larger devine mai abstract). Implicit este 1.0.

După ce obțineți totul pentru satisfacția dvs., vă rugăm să postați cele mai interesante imagini în comentarii. Sunt foarte interesat să văd cu ce vă confruntați.

Credite imagine: pictorul creierului uman prin Shutterstock

Un scriitor și jurnalist cu sediul în sud-vestul, Andre este garantat să rămână funcțional până la 50 de grade Celcius și este rezistent la apă până la adâncimea de 12 metri.