{"id":575,"date":"2018-01-26T10:09:01","date_gmt":"2018-01-26T10:09:01","guid":{"rendered":"http:\/\/liipetti.net\/erratic\/?p=575"},"modified":"2018-05-07T11:34:54","modified_gmt":"2018-05-07T11:34:54","slug":"art-printmaking-but-neurally","status":"publish","type":"post","link":"http:\/\/liipetti.net\/erratic\/2018\/01\/26\/art-printmaking-but-neurally\/","title":{"rendered":"Art printmaking, but neurally?"},"content":{"rendered":"<p>As my postings in this blog show, I got interested in image processing by neural networks through style transfer, two and half years ago. Style transfer takes two images, a content image and another image to act as a style model, and then recreates the content image using color and texture from the style model. During the last year or so, however, I have mainly experimented with methods in which a neural network creates or transform an image, based on what it has learned in general, without a specific style image. A classic example of this approach is <a href=\"https:\/\/github.com\/phillipi\/pix2pix\" target=\"_blank\">pix2pix<\/a>\u00a0which is trained using image pairs.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-145 aligncenter\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/h2p2e-20019-300x150.jpg\" alt=\"h2p2e-20019\" width=\"364\" height=\"182\" \/><\/p>\n<p>In my experiments, I tend to use my own photo archive. One particular techinique is based on transforming the images into contours, and then training a model to recreate the image from the mere contours. My\u00a0goal is not, however, to recreate an exact copy of the original photo, but rather to find artistically meaningful image transforms. Using contours as an intermediate step, somehow resembling the printmaker&#8217;s plate, I have been getting results that often remind me of art printmaking.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-148\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/Kuva287_fake_B-300x300.png\" alt=\"Kuva287_fake_B\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-149\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/st2007-141_fake_B-300x300.png\" alt=\"st2007-141_fake_B\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-150\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/epoch119_fake_B_random-300x300.jpg\" alt=\"epoch119_fake_B_random\" width=\"300\" height=\"300\" \/>\u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-146\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/20170529_092931_fake_B-300x300.png\" alt=\"20170529_092931_fake_B\" width=\"300\" height=\"300\" \/><\/p>\n<p>Initially, the contour plates are directly derived from the photos. Later on, the contours plates can be edited, by deleting or replicated parts of the image, or combining contours from several images, resulting in a collage technique. As the collage is created on the contour level, with the details added by the neural model, the final image usually appears quite seamless.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-156 alignnone\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/full-20170605-155405-favela-bestversion-300x300.png\" alt=\"full-20170605-155405 favela bestversion\" width=\"435\" height=\"435\" \/><\/p>\n<p>Extending the process to video, creating a moving art print, is also worth experimenting with.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/ABS-WPdu7hM?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>Adding a random factor into the process can be used to emulate how a real printmaking process results in somewhat different copies of the image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-157\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample16-300x300.jpg\" alt=\"input image009_random sample16\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-158\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample09-300x300.jpg\" alt=\"input image009_random sample09\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-159\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample07-300x300.jpg\" alt=\"input image009_random sample07\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-160\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample05-300x300.jpg\" alt=\"input image009_random sample05\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-161\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample01-300x300.jpg\" alt=\"input image009_random sample01\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-162\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image009_random-sample11-300x300.jpg\" alt=\"input image009_random sample11\" width=\"300\" height=\"300\" \/><\/p>\n<p>Variations in the process can also produce different styles, also quite painting-like, without any explicit style model. So far, however, this process is difficult to control, requiring much experimentation when looking for a specific visual effect.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-164\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/epoch133_fake_B_encoded-300x300.jpg\" alt=\"epoch133_fake_B_encoded\" width=\"300\" height=\"300\" \/>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-173\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image3853_encoded-300x300.jpg\" alt=\"input image3853_encoded\" width=\"300\" height=\"300\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-166\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/epoch037_fake_B-300x300.png\" alt=\"epoch037_fake_B\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-167\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image046_random-sample03-300x300.jpg\" alt=\"input image046_random sample03\" width=\"300\" height=\"300\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-169\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image881_encoded-300x300.jpg\" alt=\"input image881_encoded\" width=\"300\" height=\"300\" \/>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-175\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/epoch056_fake_B_random-300x300.jpg\" alt=\"epoch056_fake_B_random\" width=\"300\" height=\"300\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-170\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image1201_random-sample10-300x300.jpg\" alt=\"input image1201_random sample10\" width=\"300\" height=\"300\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-171\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/input-image1540_encoded-300x300.jpg\" alt=\"input image1540_encoded\" width=\"300\" height=\"300\" \/><\/p>\n<p>I am working further on this, trying different solutions and training materials. My latest\u00a0experiment used image pairs like this, with a contour print plate and a processed copy of a photo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-177\" src=\"http:\/\/liipetti.net\/retkia\/wp-content\/uploads\/2018\/01\/h2pct2-20010-300x150.jpg\" alt=\"h2pct2-20010\" width=\"604\" height=\"302\" \/><\/p>\n<p>Typically for these experiments, this approach gave good\u00a0results with only a smaller part\u00a0of the photo material. For me, that is not a problem, I am not trying to develop a machine which will make anything look great, but, step by step,\u00a0getting a grip on the process so that I can create some pictures that express my own creative needs. The following examples from the latest run are not yet my own works, though, just materials on the way further. Anyhow, I have given them names so as to assign some meaning to each of them.<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26907944_10156259820213729_6470481618914041774_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-578\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26907944_10156259820213729_6470481618914041774_n.jpg\" alt=\"26907944_10156259820213729_6470481618914041774_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26907944_10156259820213729_6470481618914041774_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26907944_10156259820213729_6470481618914041774_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26907944_10156259820213729_6470481618914041774_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;The Rift&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814934_10156259825043729_739020940439853257_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-579\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814934_10156259825043729_739020940439853257_n.jpg\" alt=\"26814934_10156259825043729_739020940439853257_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814934_10156259825043729_739020940439853257_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814934_10156259825043729_739020940439853257_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814934_10156259825043729_739020940439853257_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;Waiting&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26993320_10156259826573729_3960645220815004528_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-580\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26993320_10156259826573729_3960645220815004528_n.jpg\" alt=\"26993320_10156259826573729_3960645220815004528_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26993320_10156259826573729_3960645220815004528_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26993320_10156259826573729_3960645220815004528_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26993320_10156259826573729_3960645220815004528_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;Writing on the wall&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26805004_10156259829133729_8182031891246894170_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-581\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26805004_10156259829133729_8182031891246894170_n.jpg\" alt=\"26805004_10156259829133729_8182031891246894170_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26805004_10156259829133729_8182031891246894170_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26805004_10156259829133729_8182031891246894170_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26805004_10156259829133729_8182031891246894170_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;Who are we listening to?&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26804716_10156259831468729_7629135191296780071_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-582\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26804716_10156259831468729_7629135191296780071_n.jpg\" alt=\"26804716_10156259831468729_7629135191296780071_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26804716_10156259831468729_7629135191296780071_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26804716_10156259831468729_7629135191296780071_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26804716_10156259831468729_7629135191296780071_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;What happens out there?&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26906989_10156259821173729_2436966194933345877_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-583\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26906989_10156259821173729_2436966194933345877_n.jpg\" alt=\"26906989_10156259821173729_2436966194933345877_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26906989_10156259821173729_2436966194933345877_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26906989_10156259821173729_2436966194933345877_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26906989_10156259821173729_2436966194933345877_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;On the beach&#8221;<\/p>\n<p><a href=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814873_10156259824323729_5530145398422566686_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-584\" src=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814873_10156259824323729_5530145398422566686_n.jpg\" alt=\"26814873_10156259824323729_5530145398422566686_n\" width=\"512\" height=\"512\" srcset=\"http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814873_10156259824323729_5530145398422566686_n.jpg 512w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814873_10156259824323729_5530145398422566686_n-150x150.jpg 150w, http:\/\/liipetti.net\/erratic\/wp-content\/uploads\/2018\/01\/26814873_10156259824323729_5530145398422566686_n-300x300.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/p>\n<p>&#8220;Relaxing after work&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As my postings in this blog show, I got interested in image processing by neural networks through style transfer, two and half years ago. Style transfer takes two images, a content image and another image to act as a style model, and then recreates the content image using color and \u2026<\/p>\n<p class=\"continue-reading-button\"> <a class=\"continue-reading-link\" href=\"http:\/\/liipetti.net\/erratic\/2018\/01\/26\/art-printmaking-but-neurally\/\">Continue reading<i class=\"crycon-right-dir\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":578,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3,9],"tags":[],"class_list":["post-575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-art","category-neural-networks","category-video"],"_links":{"self":[{"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/posts\/575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/comments?post=575"}],"version-history":[{"count":8,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/posts\/575\/revisions"}],"predecessor-version":[{"id":603,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/posts\/575\/revisions\/603"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/media\/578"}],"wp:attachment":[{"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/media?parent=575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/categories?post=575"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/liipetti.net\/erratic\/wp-json\/wp\/v2\/tags?post=575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}