{"id":164,"date":"2022-01-22T21:45:43","date_gmt":"2022-01-23T02:45:43","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/?p=164"},"modified":"2022-01-24T09:01:39","modified_gmt":"2022-01-24T14:01:39","slug":"cyberfish-lookingoutwards01","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/koke_cacao\/01\/22\/cyberfish-lookingoutwards01\/","title":{"rendered":"Koke_Cacao \u2013 LookingOutwards01"},"content":{"rendered":"<div id=\"markdown-page\" class=\"container markdown-page\">\n<h1 align=\"center\">2022-01-22<\/h1>\n<p>(for a better experience, visit\u00a0<a href=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/2022-01-22.md\">https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/2022-01-22.md<\/a> to read the article)<\/p>\n<p><a href=\"https:\/\/mp.weixin.qq.com\/s\/6nSl07Xi2sxGB-wrstBFBg\">&#8220;Cyber Fish&#8221;<\/a> is a project done by a Chinese artist who goes by the name &#8220;Contra.&#8221; It is a collection of AI-generated cyberpunk fish.<br \/>\n<img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-22-25.png\" alt=\"Evolution of Cyber Fish\" data-zoom-image=\"\" \/><br \/>\nThis <a href=\"https:\/\/mp.weixin.qq.com\/s\/6rbQAD-D8RAvzLploWDF1Q\">Blog<\/a> is an explanation on how the images are generated, but it is very hard to understand if the reader does not have AI-background. It uses analogy of cooking fish to explain data processing.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-35-55.png\" alt=\"Raw data from biodiversitylibrary.org\" data-zoom-image=\"\" \/><figcaption>Raw data from biodiversitylibrary.org<\/figcaption><\/figure>\n<p>After downloading data from biodiversitylibrary.org, the artist first use image processing techniques to clean up the background.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-37-10.png\" alt=\"After cleaning up background\" data-zoom-image=\"\" \/><figcaption>After cleaning up background<\/figcaption><\/figure>\n<p>Here is a <a href=\"http:\/\/mpvideo.qpic.cn\/0bf2f4aasaaaqyaidr2mgfqval6dbexqacia.f10003.mp4?dis_k=fb40d40c6607a20605b49a9aec4e9383&amp;dis_t=1642898056&amp;vid=wxv_2060466869634990082&amp;format_id=10003&amp;support_redirect=0&amp;mmversion=false\">video output<\/a>.<\/p>\n<p>It is unclear to me how the video was generated. I guess he first trained a GAN generating fish from latent space. And then do a walk on latent space using genetic algorithm based on pixel-wise error.<\/p>\n<p>But <a href=\"http:\/\/mpvideo.qpic.cn\/0bf244abwaaad4adkidijvqvbz6ddptqagya.f10003.mp4?dis_k=853455f9a9f93edf853da1dfe7511b2c&amp;dis_t=1642898040&amp;vid=wxv_2090868089956466689&amp;format_id=10003&amp;support_redirect=0&amp;mmversion=false\">this video<\/a> made me rethink my original guess.<\/p>\n<p>The artist then applied the same algorithm on many different dataset, got different results. But he didn&#8217;t cite where the data was coming from.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-48-38.png\" alt=\"Submarine dataset from unknown source\" data-zoom-image=\"\" \/><figcaption>Submarine dataset from unknown source<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-50-19.png\" alt=\"Cyberpunk dataset from unknown source\" data-zoom-image=\"\" \/><figcaption>Cyberpunk dataset from unknown source<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-51-39.png\" alt=\"Squid dataset from unknown source\" data-zoom-image=\"\" \/><figcaption>Squid dataset from unknown source<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-51-56.png\" alt=\"Steampunk dataset from unknown source\" data-zoom-image=\"\" \/><figcaption>Steampunk dataset from unknown source<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-52-25.png\" alt=\"Guns dataset from unknown source\" data-zoom-image=\"\" \/><figcaption>Guns dataset from unknown source<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-53-07.png\" alt=\"And I found an image that I don't know whether it is the original dataset or from the artist\" data-zoom-image=\"\" \/><figcaption>And I found an image that I don&#8217;t know whether it is the original dataset or from the artist<\/figcaption><\/figure>\n<p>It looks like after genetic algorithm, the artist tried style transform to get the following results: But it is unclear which algorithm are used.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-57-11.png\" alt=\"Cyberpunk dataset style transform\" data-zoom-image=\"\" \/><figcaption>Cyberpunk dataset style transform<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-46-34.png\" alt=\"The artist had many tries on the algorithm\" data-zoom-image=\"\" \/><figcaption>The artist had many tries on the algorithm<\/figcaption><\/figure>\n<p>From the images themself, I can tell that they are generated by CNNs due to some texture quality. This seems to be resolved with higher processing power from the graphics card with the later generations of the fish. This let me think instead of end-to-end generation, would it be better to have the network generate the model and render it though traditional computer graphics. This way, pixel quality could be ensured.<\/p>\n<p>From those artwork and failures, I see a general theme and interest from the artist. The game <code>cyberpunk 2077<\/code> and the collection <code>Bored Ape Yacht Club<\/code> was mentioned in his documentation. And therefore I suspect those influence this collection.<\/p>\n<p>Documentations From Artist:<\/p>\n<ul>\n<li>https:\/\/mp.weixin.qq.com\/s\/DAY7H0D9iToYN7Jc0nPB3w<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/6rbQAD-D8RAvzLploWDF1Q<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/xNSzv7NuJJnsp69HDpb2qg<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/2jut4J7_H0l9jFnGlqgnzQ<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/_6czZD0LDXe3a1j50KqaXw<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/pBxyywg8PY87YEKq5fa-sg<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/Vk5PXTu78NIMXMiP9hDiAA<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/ZLYNJe32imCYrz3NG2KlIw<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/Haz3T2dlj-Cj_rdfGhlU1Q<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/gPnDAy-E9hIIy9wvluWlVw<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/Nds0Wbxu_XVLE8w3iHisxQ<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/e2NBMx0oyasNevad5OEg8w<\/li>\n<li>https:\/\/mp.weixin.qq.com\/s\/6nSl07Xi2sxGB-wrstBFBg<\/li>\n<\/ul>\n<p>The artist also tried to sell those artwork on Opensea.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/imgs\/2022-01-22-19-58-14.png\" alt=\"CyberFish on Opensea\" data-zoom-image=\"\" \/><figcaption>CyberFish on Opensea<\/figcaption><\/figure>\n<div id=\"toc\">\n<p>Table of Content<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>2022-01-22 (for a better experience, visit\u00a0https:\/\/kokecacao.me\/page\/Course\/S22\/60-212\/report\/2022-01-22.md to read the article) &#8220;Cyber Fish&#8221; is a project done by a Chinese artist who goes by the name &#8220;Contra.&#8221; It is a collection of AI-generated cyberpunk fish. This Blog is an explanation on how the images are generated, but it is very hard to understand if the reader &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/koke_cacao\/01\/22\/cyberfish-lookingoutwards01\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Koke_Cacao \u2013 LookingOutwards01&#8221;<\/span><\/a><\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/posts\/164"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":3,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":231,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/posts\/164\/revisions\/231"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}