{"id":47,"date":"2020-01-17T10:20:00","date_gmt":"2020-01-17T09:20:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/generative-ai-creating-objects-with-machine-learning\/"},"modified":"2021-12-23T12:59:08","modified_gmt":"2021-12-23T11:59:08","slug":"generative-ai-creating-objects-with-machine-learning","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/","title":{"rendered":"Generative AI: creating objects with machine learning"},"content":{"rendered":"\n<p>Recent advances in <b>artificial intelligence<\/b> (<span id=\"urn:enhancement-59e741\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>) and <b><span id=\"urn:enhancement-38525361\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/machine_learning\">machine learning<\/span><\/b> (ML) have allowed many companies to develop algorithms and tools to automatically generate artificial (but realistic) 3D or 2D images. Such algorithms are part of a research area known as <b>generative <span id=\"urn:enhancement-530b5b80\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span><\/b> and have shown incredibly powerful <span id=\"urn:enhancement-9bc134f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/feature_machine_learning\">features<\/span>. In this article, we will understand how such algorithms are usually designed, which kind of applications and business can benefit from this tools and <b>how future products design can benefit from generative <span id=\"urn:enhancement-89936d9b\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span><\/b>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Generative AI?<\/h2>\n\n\n\n<p>During the last edition of <b>Codemotion Rome 2019<\/b>, <b>Martin Musiol<\/b> (Senior Data Scientist at <span id=\"urn:enhancement-3899f55a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/ibm\">IBM<\/span>) delivered a speech aimed at clarifying some of the key concepts of generative <span id=\"urn:enhancement-abe04609\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>. The best way to understand what we are talking about is by starting with some examples. The first one is by <b>nVidia<\/b>, who developed a <span id=\"urn:enhancement-29ac76ee\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/docker_software\">software<\/span> that can <b>generate new photorealistic faces<\/b> starting from few pictures of real people:<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"A Style Based Generator Architecture for Generative Adversarial Networks\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/o46fcRl2yxE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Another interesting example has been developed by a <span id=\"urn:enhancement-c7e4b09b\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/team\">team<\/span> from the University of Berkeley. They implemented a <span id=\"urn:enhancement-11f58da5\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/docker_software\">software<\/span> that can <b>transfer video-recorded movements<\/b> of a <span id=\"urn:enhancement-72a3f382\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> (eg. a skilled professional dancer) to the movements of another <span id=\"urn:enhancement-af0532a0\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> (eg. a totally unskilled dancer). The following video is quite impressive:<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Everybody Dance Now\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/PCBTZh41Ris?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>While this second example is probably more sophisticated than the previous one, the basic concepts are the same, as well as the mathematical tools and the algorithm behind this \u201cmagic\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generative AI VS Discriminative AI<\/h2>\n\n\n\n<p>After looking at the previous videos, it should be easier to understand which are the main goals of generative <span id=\"urn:enhancement-7f35f7bc\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>: using <span id=\"urn:enhancement-de86de77\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> to train <b>algorithms that are able to create<\/b> things such as images or videos. This is substantially different from <b><span id=\"urn:enhancement-a6a96bdb\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/discriminative_model\">discriminative<\/span> <span id=\"urn:enhancement-95553346\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span><\/b>, which usually is aimed at classifying <span id=\"urn:enhancement-7eb5a0b4\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> or to distinguish things.<\/p>\n\n\n\n<p>This fundamental difference between these two classes of <span id=\"urn:enhancement-d3d86114\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> algorithms has direct implications in the mathematical tools used. Discriminative <span id=\"urn:enhancement-379f0cef\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> are usually based on <b>neural networks<\/b> (NNs), <b>support vector machines<\/b> (SVMs) and many other tools that allow us to <span id=\"urn:enhancement-2d32b307\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/statistical_classification\">classify<\/span> <span id=\"urn:enhancement-cde9eecf\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>. Generative <span id=\"urn:enhancement-5d1c5736\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> also uses neural networks, but in a substantially different way: by exploiting the so-called <b>generative adversarial networks<\/b> (GANs).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How GANs work<\/h2>\n\n\n\n<p>It is interesting to understand what GANs are and how they work. If you ask a machine learning expert such a question, he or she will probably reply that it is not that simple to explain. Luckily, during his talk at <span id=\"urn:enhancement-aba7c56f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/codemotion_2\">Codemotion<\/span>, Martin Musiol provided a very useful and simple overview, that we will summarise. Let\u2019s start with the following diagram:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/01.jpg\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>A GAN is basically a <b>combination of two neural networks<\/b>. The first one acts as a <b>generator<\/b> (e.g. of an image), which is then provided as an input of the second network. The latter acts as a <b>discriminator<\/b>, being able to distinguish between a real image and an artificial one. The output of such a discriminator network can be seen as an error value, representing how much the image produced by the generator network looks artificial. Many GANs implementations also use the error value produced by the discriminator network as an additional backpropagation connection, which allows the generator to reduce the error in the next iteration.<\/p>\n\n\n\n<p>As an additional detail, Musiol explained that generator networks are usually implemented as <b>deep convolutional neural networks<\/b> (CNNs), while the discriminator network acts as a deconvolutional NN.<\/p>\n\n\n\n<p>While this is just a very basic overview of GANs, it represents a great starting point for any <span id=\"urn:enhancement-ee8231c6\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/software_developer\">developer<\/span> who would like to start working in this field, probably one of the most promising in the context of machine learning and <span id=\"urn:enhancement-d77b59f8\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s around the corner?<\/h2>\n\n\n\n<p>Now that we have some (basic) knowledge about GANs, it is useful to understand why such tools are important nowadays. Reporting some of the examples mentioned by Musiol is useful in this direction.<\/p>\n\n\n\n<p>In fact, it is quite evident how generative <span id=\"urn:enhancement-f25b4931\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> may impact our traditional way to produce new content. To better understand this, have a look at the following video of an <b>interactive image generator<\/b> developed by nVidia:<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"GauGAN: Changing Sketches into Photorealistic Masterpieces\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/p5U4NgVGAwg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>There will be no need to struggle in finding the right background, with objects, mountains and stuff like that in the right positions, since we will just sketch them in the place they need to be. Moreover, any kind of <b>copyright infringement<\/b> will be solved by the possibility of creating new images instead of reusing them.<\/p>\n\n\n\n<p>Other <span id=\"urn:enhancement-a1916fe5\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">applications<\/span> also involve <b>privacy concerns<\/b> and might affect the area of medical imaging and health-related <span id=\"urn:enhancement-22afd433\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">applications<\/span>. This is the case of some new inspiring <span id=\"urn:enhancement-7c2ce56\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">applications<\/span> of <span id=\"urn:enhancement-81d48000\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span> augmentation, where GANs are used to provide artificial images starting from a x-ray image. This can be done to compute an estimation of the same image from different angles (avoiding additional exposure to rays), or to visualize possible expansion of a tumor.<\/p>\n\n\n\n<p>Furthermore, these artificial images may also be used for didactic purposes, instead of using real images &#8211; thus removing any possible privacy concern for patients.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/brain_images.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Last but not least, an additional <span id=\"urn:enhancement-dd7a5ecd\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span> of generative <span id=\"urn:enhancement-46302a00\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> is in <b>product design<\/b>. Musiol mentioned a specific class of GANs very appropriate in this context: the <b>volumetric convolutional networks<\/b>. They allow us to generate 3D objects and eventually to <span id=\"urn:enhancement-2d2aae74\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/interpolation\">interpolate<\/span> between the 3D representations of two different products, although the current implementations are still at a very early stage. However, with the current <span id=\"urn:enhancement-f20edc07\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/state_of_the_art\">state-of-the-art<\/span> technologies, <span id=\"urn:enhancement-7297517a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/designer\">designers<\/span> may decide to use the artificially-produced 3D models as a starting point to refine and improve in order to <b>design and build new prototypes<\/b> or products.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/3DGAN.png\" alt=\"\"\/><\/figure><\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Recent advances in artificial intelligence (AI) and machine learning (ML) have allowed many companies to develop algorithms and tools to automatically generate artificial (but realistic) 3D or 2D images. Such algorithms are part of a research area known as generative AI and have shown incredibly powerful features. In this article, we will understand how such algorithms are usually designed, which kind of applications and business can benefit from this tools and how future products design can benefit from generative AI.<\/p>\n","protected":false},"author":3,"featured_media":48,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":4,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[35],"tags":[4],"collections":[],"class_list":{"0":"post-47","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-machine-learning","8":"tag-codemotion-rome","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Generative AI: creating objects with machine learning - Codemotion<\/title>\n<meta name=\"description\" content=\"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we&#039;ll learn more about it and its applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generative AI: creating objects with machine learning\" \/>\n<meta property=\"og:description\" content=\"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we&#039;ll learn more about it and its applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-17T09:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-23T11:59:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png\" \/>\n\t<meta property=\"og:image:width\" content=\"696\" \/>\n\t<meta property=\"og:image:height\" content=\"427\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vito Gentile\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ViGentile\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vito Gentile\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\"},\"author\":{\"name\":\"Vito Gentile\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313\"},\"headline\":\"Generative AI: creating objects with machine learning\",\"datePublished\":\"2020-01-17T09:20:00+00:00\",\"dateModified\":\"2021-12-23T11:59:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\"},\"wordCount\":942,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png\",\"keywords\":[\"Codemotion Rome\"],\"articleSection\":[\"Machine Learning\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\",\"name\":\"Generative AI: creating objects with machine learning - Codemotion\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png\",\"datePublished\":\"2020-01-17T09:20:00+00:00\",\"dateModified\":\"2021-12-23T11:59:08+00:00\",\"description\":\"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we'll learn more about it and its applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png\",\"width\":696,\"height\":427},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI\/ML\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Machine Learning\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Generative AI: creating objects with machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313\",\"name\":\"Vito Gentile\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g\",\"caption\":\"Vito Gentile\"},\"description\":\"I\u2019m a data scientist, tech writer, software developer with experience in mobile, web (full-stack) and Python programming, and former researcher with interests in human-computer interaction. I thus have a multi-faceted experience in the area of software development, and that\u2019s why I love my job(s)!\",\"sameAs\":[\"https:\/\/vitogentile.it\",\"https:\/\/www.linkedin.com\/in\/vitogentile\/en\",\"https:\/\/x.com\/ViGentile\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Generative AI: creating objects with machine learning - Codemotion","description":"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we'll learn more about it and its applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/","og_locale":"en_US","og_type":"article","og_title":"Generative AI: creating objects with machine learning","og_description":"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we'll learn more about it and its applications.","og_url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2020-01-17T09:20:00+00:00","article_modified_time":"2021-12-23T11:59:08+00:00","og_image":[{"width":696,"height":427,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png","type":"image\/png"}],"author":"Vito Gentile","twitter_card":"summary_large_image","twitter_creator":"@ViGentile","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Vito Gentile","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/"},"author":{"name":"Vito Gentile","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313"},"headline":"Generative AI: creating objects with machine learning","datePublished":"2020-01-17T09:20:00+00:00","dateModified":"2021-12-23T11:59:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/"},"wordCount":942,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png","keywords":["Codemotion Rome"],"articleSection":["Machine Learning"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/","url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/","name":"Generative AI: creating objects with machine learning - Codemotion","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png","datePublished":"2020-01-17T09:20:00+00:00","dateModified":"2021-12-23T11:59:08+00:00","description":"Generative AI consists in algorithms for generating artificial (but realistic) images. In this article, we'll learn more about it and its applications.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png","width":696,"height":427},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/generative-ai-creating-objects-with-machine-learning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"AI\/ML","item":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/"},{"@type":"ListItem","position":3,"name":"Machine Learning","item":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/"},{"@type":"ListItem","position":4,"name":"Generative AI: creating objects with machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313","name":"Vito Gentile","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g","caption":"Vito Gentile"},"description":"I\u2019m a data scientist, tech writer, software developer with experience in mobile, web (full-stack) and Python programming, and former researcher with interests in human-computer interaction. I thus have a multi-faceted experience in the area of software development, and that\u2019s why I love my job(s)!","sameAs":["https:\/\/vitogentile.it","https:\/\/www.linkedin.com\/in\/vitogentile\/en","https:\/\/x.com\/ViGentile"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-600x427.png","author_info":{"display_name":"Vito Gentile","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-300x184.png",300,184,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",100,61,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782.png",696,427,false],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Generative-adversarial-networks-GAN-min-389357362-1527503338782-600x427.png",600,427,true]},"uagb_author_info":{"display_name":"Vito Gentile","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"},"uagb_comment_info":0,"uagb_excerpt":"Recent advances in artificial intelligence (AI) and machine learning (ML) have allowed many companies to develop algorithms and tools to automatically generate artificial (but realistic) 3D or 2D images. Such algorithms are part of a research area known as generative AI and have shown incredibly powerful features. In this article, we will understand how such&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":2659,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/47\/revisions\/2659"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/48"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=47"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}