AI 自动生成二次元妹子?或将替代插画师部分工作

2024-01-27 03:20

本文主要是介绍AI 自动生成二次元妹子?或将替代插画师部分工作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

雷锋网AI科技评论按:最近二次元爱好者们可能会感觉到了一阵兴奋流遍全身。来自复旦大学、同济大学、卡内基梅隆大学和石溪大学共6位学生(其实本科都在复旦)搭建了一个利用人工智能自动生成精美动漫角色的网站MakeGirls.moe。

AI 自动生成二次元妹子?或将替代插画师部分工作对于用户来说操作非常简单,只需要选择自己喜爱的头发、眼睛、微笑、张嘴等等特征,然后点击“genrate”就可以通过训练出的AI模型来生成一个动漫人物。该网站上线后数天,访问量便增加到10k+每小时。其repo在github trending上也一度排到第四位。该网站所使用的技术在其论文《Create Anime Characters with A.I. !》中进行了详细说明。

AI 自动生成二次元妹子?或将替代插画师部分工作

其实这并不是第一个将AI应用到动漫当中的模型。2015年Soumith Chintala等人开发DCGAN后不久,就有人将DCGAN应用到了生成动漫角色当中,出现了ChainerDCGAN、IllustrationGAN和AnimeGAN等,三者分别使用了Chainer、TensorFlow和PyTorch的框架,它们本质上都是DCGAN,只是实现方式不同。但这些模型的效果并不是很好,尤其是会出现面部头像模糊和扭曲的问题。在MakeGirls.moe的模型中,作者针对这些问题做出了两方面的改进。

一、使用更高质量的图像库

之前几家,他们训练模型所使用的数据集大多数是使用爬虫从网络上爬下来的,这类图片在质量和画风上参差不齐,甚至还有一些背景。训练数据集质量的低下会给训练造成很大的影响。本文的作者则通过从日本的游戏贩卖商Getchu购买了高质量的图像,这些图像基本出于专业画师之手,同时背景统一。

AI 自动生成二次元妹子?或将替代插画师部分工作

除了高质量的图像外为了训练网络模型,作者使用了一种基于CNN的图像分析工具Illustration2Vec,对图像中动漫人物的属性,如头发颜色、眼睛颜色、发型和表情等做标记。

此外,在训练的过程中他们还发现发布时间越晚的图片,训练出的模型效果越好。这不难理解,随着游戏角色制作和CG技术的发展,越是现代的图片,细节越丰富,如阴影和头发。所以作者舍弃了2005年之前的全部数据,并过滤掉分辨率低于128*128的图像,用剩下的31255张高质量图像进行训练。

AI 自动生成二次元妹子?或将替代插画师部分工作

二、模型结构

作者采用了今年5月份发表的DRAGAN模型(https://arxiv.org/pdf/1705.07215.pdf),这种模型所使用的计算量相对较少,收敛较快而且能够产生更稳定的结果。而在优化生成器的过程中,受ACGAN的启发,不仅向生成器提供了标签数据,连“噪声”数据也一并提供,之后再为判别器增加多标签分类功能。

下面展示一下效果——

AI 自动生成二次元妹子?或将替代插画师部分工作

AI 自动生成二次元妹子?或将替代插画师部分工作

虽然训练出的模型大多数时候都比较好,但该模型仍然存在一些缺点。问题仍出在数据集中,由于训练数据中各个属性(发色、发型、眼镜、帽子等)的数量分布不均匀,某些属性的生成并不理想(例如眼镜和帽子常常不能生成) ,如果将某些罕见的属性组合,生成的图片甚至会崩溃(例如帽子+眼镜)。也许当增加数据集的数量,训练出的模型生成图片质量可以进一步提高。雷锋网(公众号:雷锋网)认为,按照此趋势AI或许在不久将替代掉插画师的一部分工作。

本文作者:Camel

本文转自雷锋网禁止二次转载,原文链接

这篇关于AI 自动生成二次元妹子?或将替代插画师部分工作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648914

相关文章

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码