Reklame
Neurale netværk kan gøre en masse ting. De kan fortolke billeder, forstå vores stemmer 6 Google Nu-funktioner, der ændrer, hvordan du søger Du bruger muligvis allerede Google Now på din Android-enhed, men får du alt hvad du kan ud af det? At vide om disse små funktioner kan gøre en stor forskel. Læs mere , og oversæt samtaler Sådan fungerer Skypes Star Trek TranslatorSkypes nye oversætningsfunktion tilbyder noget, der har drømt om siden Star Trek - en ubesværet måde at kommunikere på tværs af sprog. Læs mere . Men vidste du, at de også kan male?
Et nyligt forskningsdokument (med titlen "En neural algoritme af kunstnerisk stil“) Har skudt ud af en flust af online diskussion med nogle slående visuelle eksempler. I det væsentlige diskuterer papiret en teknik til at træne en dybt neuralt netværk Microsoft vs Google - Hvem fører det kunstige intelligens race?Kunstige intelligensforskere gør konkrete fremskridt, og folk begynder at tale alvorligt om AI igen. De to titaner, der fører det race af kunstig intelligens, er Google og Microsoft. Læs mere
at adskille kunstnerisk stil fra billedstruktur og kombinere stilen for et billede med strukturen i et andet. Resultatet af alt dette er, at du kan træne et enormt neuralt netværk til at gøre fotografier til “neurale malerier ”der ser ud til at være malet af berømte kunstnere -“ digitale forfalskninger ”, så også tale.Her er nogle eksempler fra artiklen. Det første billede er originalen. De senere billeder er de genererede resultater med maleriet, hvorfra stilen blev samplet, vist i miniature.

De originale forskere har desværre ikke frigivet deres kode. Imidlertid har nogle uærlige programmerere replikeret deres resultater i de sidste par dage, og deres kode er tilgængelig, open source på Internettet. Alt hvad du behøver for at køre det er en linux-maskine og lidt tålmodighed.
I dag vil jeg lede dig gennem, hvordan du gør det og vise dig nogle af mine egne resultater. Du kan tænke på dette som en løs efterfølger til vores DeepDream-tutorial Opret dine egne kunstige feberdrømme med Googles "DeepDream"Har du set de trippy-billeder komme ud af DeepDream? Vil du lave dine egne? Stop med at lede! Læs mere . Det er lidt kompliceret, men enhver med en Linux-maskine kan følge med - ingen kodningsoplevelse nødvendig.
Jeg gjorde et Picasso-lysmaleri til et Picasso-stilmaleri med #DeepStyle! pic.twitter.com/cjkEoIhVcF
- James Blaha (@jamesblaha) 5. september 2015
Opsætning af softwaren
For det første, hvis du ikke har det meget travlt eller ikke har en Linux-maskine, kan du stadig lege med DeepStyle ved hjælp af DeepForger Twitter-bot (send det et billede og en stil, og det svarer til sidst med de ønskede resultater). Hvis du vil behandle flere billeder hurtigt (og med mere kontrol over resultaterne), skal du læse videre til tutorial.
Først skal du sikre dig, at du har en ajourført kopi af Ubuntu (14.04 er det, jeg brugte). Du skal have mindst et par ekstra spillepladser på harddisken. For mere information, se vores tutorial om dobbeltopstart af Ubuntu sammen med Windows Træt af Windows 8? Sådan startes Windows og Ubuntu dobbeltHvis du opdager, at Windows 8 ikke helt er din kop te, og du ikke har nogen gennemførlig sti til nedjustering, kan det være en god ide at dobbelt starte med Linux for at have et alternativ ... Læs mere . Du har også brug for rodprivilegier, så sørg for at gøre det, før du fortsætter.
Grundlæggende værktøjer
Højre til flagermus, dette er et open source-projekt, så vi vil gerne have det git installeret. Git er den guldstandard til versionskontrol-software Hvad er git og hvorfor skal du bruge versionskontrol, hvis du er en udviklerSom webudviklere er vi meget tilbøjelige til at arbejde på lokale udviklingswebsteder, så uploader vi bare alt, når vi er færdige. Dette er fint, når det bare er dig, og ændringerne er små, ... Læs mere . Stort set hvert open source-projekt, der er værd at vide om, er vært på Github.
For at downloade og installere Git skal du bare åbne en terminal og skrive “sudo apt-get install git
”Og accepterer installatørens krav.
Næste: vi skal til opsæt nogle grundlæggende værktøjer nødvendigt for at få softwaren til at fungere.
Installer først Lua. Dette er det sprog, som værktøjet er skrevet på. Det er temmelig enkelt. Skriv bare “sudo apt-get install lua5.2
”Og følg installationsprocessen.
For det andet får vi det Luarocks. Dette er det værktøj, der gør det lettere at installere andre værktøjer (elsker du ikke Linux?). For denne skal du skrive “sudo apt-get install luarocks
”Og følg installationstrinnene.
For det tredje vil vi installere Luajit. Dette er en just-in-time compiler til Lua, der vil gøre vores liv lidt enklere. Skriv bare “sudo apt-get install luajit
.”
Så langt så godt.
Jeg er en bot, der skaber forfalskninger fra dine fotos i stil med berømte malere. Klik for instruktioner nedenfor! pic.twitter.com/3MpThDNwRE
- The Deep Forger (@DeepForger) 5. september 2015
rammer
Herefter skal vi installere Fakkel, en videnskabelig computer- og maskinlæringsramme, der udgør rygraden i applikationen. Desværre kan denne ikke installeres ved hjælp af apt-get (standard Ubuntu-pakkehåndteringen).
Heldigvis har de et installationsprogram, der bruger en kommandolinjemagie. Vend tilbage til din terminal og indtast “krølle -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | bash
“.
Når du er færdig, skal du skrive "luajit -ltorch
“. Dette bringer fakkelgrænsefladen op og kontrollerer, at alt var installeret korrekt.
Gå ud af det.
Nu skal vi installere loadcaffe - en specifik neurale netværkspakke. Installer dets eneste afhængighed ved at skrive “sudo apt-get install libprotobuf-dev protobuf-compiler
“. Derefter kan du installere selve pakken vha. “sudo luarocks installerer loadcaffe "
.
@Johnicholas Din forfalskningsfordeling, avec-stil af School of Rembrandt van Rijn. #Digital kunst#StyleNetpic.twitter.com/pf0sZxWkaT
- The Deep Forger (@DeepForger) 7. september 2015
Dobbeltkontrol af afhængigheder
Endelig vil vi forudgående opdatere nogle ting bare for at sikre, at alt går gnidningsløst.
Skriv “sudo luarocks installerer billede
”For at sikre dig, at din billedpakke er opdateret. Indtast derefter “luarocks installerer nn
”Som gør det samme for din‘ nn ’-pakke.
Installation af Deep Style
I orden! På dette tidspunkt er vi klar til at installere selve softwaren. Opret en ny mappe i dit hjemmekatalog (‘mkdir DeepStyle’) for renligheds skyld. Indtast det derefter med "cd Deepstyle
“. Skriv nu “sudo git klon https://github.com/jcjohnson/neural-style.git".
Herefter skal vi downloade modellen. Lav en kop kaffe eller noget, dette vil tage et stykke tid. Tilbage til terminalen, og skriv “sudo sh modeller / download_models.sh
“. Det starter en lang, detaljeret downloadproces. Hvis det mislykkes på grund af tilladelsesfejl, kan du prøve at give dig selv læse-skrive tilladelser på de relevante mapper ved hjælp af chmod.
@ 44thats44oars bestilt dette #ProceduralArt#NeuralArt. pic.twitter.com/tbMH7gsvc8
- The Deep Forger (@DeepForger) 6. september 2015
Brug af Deep Style
Okay, vi er gode til at gå. Brug af softwaren er ret enkel.
Sørg for, at du er i DeepStyle / neural-stil katalog i terminalen. Nu har du brug for nogle billeder at arbejde på. Download dem fra Internettet (eller hvad som helst), og kopier dem derefter til DeepStyle / neural-stil mappe ved hjælp af filbrowser.
Nu kan du bruge kommandolinjen til at behandle individuelle billeder. Formatet er ret ligetil:
th neural_style.lua -style_image YOURPAINTINGHERE.jpg - content_image YOURPHOTOHERE.jpg -gpu -1
(Det er klart, at du bliver nødt til at erstatte bidderne i ALLE CAPS med navnene på dine filer).
Det får det neurale netværk i gang. Det kører i cirka en time og spytter nye delvist konvergerede billeder ud med nogle få minutter, indtil de er færdige. Det -gpu -1
flag forhindrer det i at prøve at få adgang til din GPU.
Efter flere timers forsøg (og murning af operativsystemet flere gange) kunne jeg ikke få Ubuntu og CUDA til at lege godt med min GPU (en NVIDIA GTX 970). Hvis du har mere held med det, vil du installere CUDA og cudann.torch (se github repo for mere information). Hvis ikke, er det fint - det fungerer stadig ved hjælp af din CPU; det vil bare være lidt langsommere.
Hvis du har problemer med, at alt dette fungerer, skal du bare spørge mig i kommentarerne, så gør jeg mit bedste for at hjælpe dig.
Resultater
Her er nogle billeder, jeg har genereret i de sidste par dage. Resultaterne er blandede, men mange af dem er ret imponerende.

Klik her for fuld opløsning.
Denne er af min ven Zack på en vandretur til Yellowstone. Stilen kommer fra et abstrakt maleri, skabt af Theresa Paden. Jeg var nysgerrig efter at se, hvordan systemet ville gøre det ved hjælp af et billede uden absolut ingen struktur. Resultaterne er temmelig pæne, og du kan helt sikkert se lighederne med stilbilledet.

Klik her for fuld opløsning.
Denne kommer med tilladelse fra en af mine yndlingsartister, Charles Demuth (se: Røgelse af en ny kirke, og Figur 5 i guld). Interessant er, at Demuth er en af de primære visuelle inspirationer til kunsten Team Fortress 2 Team Fortress 2: Det gratis spil Steam-spil, du skal spilleEr Team Fortress 2 bare et hurtigt spil til at teste grafik og ydeevne, eller er det et spil værd at spille gentagne gange? Læs mere , som du kan se fra stilbilledet.
Jeg fodrede det med et billede af Jersey City, som jeg fandt på Wikimedia. Resultaterne er... temmelig gode. Det fandt ikke vinkelret på Demuths stil, men det tog bestemt det bløde, strukturerede look og farvepalet.

Klik her for fuld opløsning.
Denne er et forsøg på at generere en syntetisk O’Keeffe ved hjælp af et temmelig jordisk billede af nogle blomster, jeg fandt. Resultaterne er helt ærligt spektakulære. Æstetisk er dette et af mine yndlingsresultater. Rigdom på O’Keeffes farver og former kommer tydeligt igennem. De lagdelte kanter af blomsterblade bliver kanten af bladene i baggrunden. Selve blomsterne opløses i farver og bliver næsten abstrakte.
Det ville være et godt maleri, hvis et menneske gjorde det. Jeg er meget fristet til at bruge et par dage på at gengive en version med højere opløsning af denne og få den indrammet.

Klik her for fuld opløsning.
Her er min ven Shannon i hendes Halloween-kostume ved hjælp af et Picasso-tryk. Interessant nok valgte enheden at male den nederste del af hendes ansigt hvidt (svarende til farvelayoutet på Picasso-stykket). Jeg er ikke sikker på, om dette var tilfældigt eller ej, men resultaterne er slående. Det ser ud til at have korrekt identificeret Shannons hår på venstre side og tegnet det igen ved hjælp af farve og linjearbejde fra håret i stilbilledet. Ditto for sin hat.
Dette er en af brikkerne, hvor begrænsningerne i teknikken begynder at blive tydelige. Hvis Picasso faktisk malede Shannon, ville han have kastet strukturen i hendes ansigt og skæve funktionerne for at opnå den effekt, han ville have. Dette system forstår ikke disse slags koncepter på højt niveau og er i stand til kun at efterligne overfladiske aspekter af stilen, som de mørke, kantede linjer og farvepalet.

Klik her for fuld opløsning.
Temmelig ligetil: et billede af Eiffeltårnet og Van Goghs Andet Stjerneklar nat. Det gør et godt stykke arbejde ved at gengive skyen i en Van Gogh-ey-stil til trods for fraværet af skyer i det originale billede. Det gør også et godt stykke arbejde med at oversætte scenen fra dag til nat.
Jeg var ikke sikker på, hvorfor det besluttede at gøre spidsen af Fiffeltårnet som en søjle af ild. Det ser fedt ud, men det er ikke rigtig forsvarligt ud fra inputdataene. Derefter indså jeg, at stilbilledet har tretten lange, lodrette gule strimler i sig, i form af refleksioner i vandet. Det er en temmelig massiv klynge, givet så lidt træningsdata. Den dårlige ting har sandsynligvis lært, at enhver lodret kant med høj kontrast skal være en af disse reflektioner. Du kan se flere fremmede lodrette striber svagt i skyerne.
Klik her for fuld opløsning.
Samme Van Gogh-maleri, men denne gang gav jeg det nogle faktiske stjerner at male. I dette tilfælde søjlens del af Eagle-tågen. Jeg kan godt lide resultaterne - selvom du endnu en gang kan se dens besættelse af gule striber. Hver lodrette del af søjlen bliver en lys, wobbly gul linje. Det er også klart forstyrret af det grønne, som ikke forekom i træningsdataene, og gør sit bedste for at slippe af med det til fordel for blå og sort.
Teknologi
Nogle resultater heraf er ekstremt overbevisende, selvom teknikken har klare begrænsninger. Nogle billeder har elendig sammensætning, og systemet har svært ved mere abstrakte kunstnere som Picasso - som berømt kunne lide at fordreje sit emne og sprede dets funktioner. Algoritmen henter sine vinkellinjer og sammenstødde farver, men er stadig en slave for billedets pixelværdier. Det har ikke den forståelse, du har brug for for at afvige for langt fra kildematerialet.
Det, der begejstrer mig for alt dette, er, at jeg ikke synes, at disse begrænsninger er grundlæggende.
Den tilgang, der bruges her - træne et netværk på et billede og bruge det til at konstruere et andet - er grundlæggende slags et hack. Det giver netværket meget lidt data at arbejde med. En mere avanceret version af denne applikation ville bruge et netværk, der har oplysninger om mange malerier og måske endda rigtige billeder for at give det masser af kontekst om det billede, det prøver på "maling."
Et dybt greb om stil kan kun eksistere i en bredere kontekst. Du kan ikke udlede det fra et enkelt billede. At designe en arkitektur, der giver systemet adgang til bredere data, kan muligvis udlede et mere ”Menneskelignende” forståelse af billedet, og hvordan kunstnere repræsenterer forskellige elementer i det virkelige verden. Et sådant netværk kan muligvis producere billeder, der er mere abstrakte og har en bedre komposition. Sådanne algoritmer ville ophøre med at være et cool legetøj (som dette) og blive en måde at fremstille faktisk, original kunst.
Hvilket er en meget ejendommelig tanke på nogle måder.
Oprettelse af dine egne billeder
Hvis du får et skuffende resultat, kan du lege lidt med indstillingerne for at prøve at få mere overbevisende resultater. Den fulde liste er på Github. De vigtige er
- -indhold_vægt-værdi Hvor meget der skal vægtes indholdsgenopbygningsterm Standard er 5e0.
- -stil_vægt -værdi: Hvor meget vægt der skal gives til stilbilledet. Standard er 1e2.
- -style_scale - værdi: Hvor stort billedeopdateringer skal systemet analysere (Større bliver mere abstrakte). Standard er 1,0.
Når du har fået alt tilfredsstillende, skal du skrive dine mest interessante billeder i kommentarerne. Jeg er virkelig interesseret i at se, hvad I fyrer op med.
Billedkreditter: menneskelig hjerne maler via Shutterstock
Andre er en forfatter og journalist med base i det sydvestlige USA, og det garanteres at forblive funktionelt op til 50 grader Celcius og er vandtæt til en dybde på 12 meter.