Re: [创作] 用深度学习帮分类&整理CG

楼主: zmcx16 (zmcx16)   2021-12-12 04:20:05
没想到真的有人用我写的这个工具, 先放上我最后整理的某绘师结果:
https://i.imgur.com/xMufj3f.png
2W多张的CG, 已分类好的CG总数为13939张, 想要的分类共有179类+Others共180类,
其中Others占4007张(归类为不在乎的CG), 剩下的7000多张CG暂时没有继续分类的打算,
因为喜欢的角色作品都分得差不多了, 剩下的7000多张是还未分类的作品, 打算有闲想开
拓新作品才会继续分类。
P.S. 档案会这么小是因为分类结果我是直接生成symbolic link, 硬盘空间吃紧QQ
在更新一下心得:
1. 前期准备训练资料是很痛苦的, 所以我不会要求自己一步做到底, 我第一次只手动
准备好100多张, 大概20类的CG。 所以一开始分类的结果很糟是预期的, 重点是在于让
大量相似的图片从一堆资料夹中解放到数个资料夹, 之后再针对张数特别多的角色做手
动分类, 第一次的预测分类与其说是在分类, 不如说是在帮助你快速建立适合手动分类
的准备。 我第一次分类结果跑完, 手动整理程式的分类结果大概也只扩展到50类, 可是
已分类的CG数就直接扩充到2000张, 目的就是用容易分类的图片来帮我建立下一次的训练
资料集。 然后分类重点在于, 不要想一次把某类的CG全部分类完, 这样用程式帮你分类
就没有意义了, 前期的重点在于准备一定数量的训练资料, 让程式在下次能帮你分类这
些CG。
举例来说, 假设某角色A的CG总共有1000张, 你手动分类好20张, 下次程式就能用这20张
帮你正确分类大概200张, 你在手动确认后把这200张丢到分类好的资料夹, 那下下一次程
式就能用这200张帮你分类好800张, 重点在于反复进行多次准备资料->预测->确认结果,
尽量让人工处理的CG数越少越好。
2. 在人工确认分类结果的时候, 记得把大量不感兴趣的图片先丢到特定资料夹
(Others), 然后程式分类出Others的结果可以每次都稍微看看就好, 那些大杂烩建议最后
在处理, 不然到时候要从里面挑后来又想要的图片会很痛苦。
3. 因为动漫画角色太多太多, 绘师风格也落差极大, 然后现在机器学习图片分类的最大
难关是, 只能分类有训练资料的东西, 并且只能在这些认识的训练资料中选出一个可能性
最大的值, 举例来说, 我想分类天空飞的是鸟还是飞机, 即便我的训练资料在完善, 模型
在强大, 给模型看树叶的图, 模型还是只会把树叶的图当成鸟或是飞机, 他没办法告诉你
这张图不是鸟也不是飞机, 所以要做一个万用型的分类器是不可能的, 真的要分类CG, 必
需决定好你的资料源以及分类的目的, 例如想从一堆绘师的作品只找出re zero的CG, 或
是只从某绘师的作品分类多个作品的CG, 千万不要把多个绘师的CG混在一起做分类多个作
品的CG这样的事, 这样做的话还不如单纯用人工分类搞不好还比较有效率。
4. 这个工具并不适合做专职分类图片这个主题, 因为图片的主题不只一种, 就跟CG网站
对每一张CG会上一堆tag一样, 真的要做分类图片这件事, 最适合的方法还是用数据库针
对每一张CG的tag分类做储存, 这样分类的结果才有价值以及能再利用, 也可以快速针对
不同的主题找图。所以这工具的主要目的并不是整理资料, 而是以鉴赏为目的帮图片做分
类, 千万不要以整理资料的目的用这个工具, 而是要先看你的需求是不是只要把图片分类
成单一主题就可以满足需求。
举例来说, 我做这个分类主要是这绘师的HCG主题太多, 不同角色混在一起根本不能用,
鉴赏观感也大打折扣, 可是针对角色去分类资料夹的话, 对我来说就变成极度实用了, 如
果是为整理图片资料为目的, 这工具只能做单一主题的分类, 真的要整理图片还是建议用
数据库系统比较适合。
如果有其他问题或建议, 欢迎寄信给我或直接部落格留言~ 原本这工具我就是以我个人需
求设计实作的, 看到有人用真的蛮开心的XD
※ 引述《bulico (abcd)》之铭言:
: ※ 引述《zmcx16 (zmcx16)》之铭言:
: : 注: 这个程式因为根据显卡不同要安装的函式库也不相同, 所以并没有编成可执行档提供
: : 使用, 需要会架设python环境才有办法使用这工具。
: : Github:
: : https://github.com/zmcx16/ReclassifyAnimeCG
: : 部落格文章(文长):
: : https://blog.zmcx16.moe/2021/10/reclassifyanimecg-cg.html
: : 会想写这个工具的主要原因是, 我有追踪一些绘师并且用下载器去追踪下载那些绘师的作
: : 品, 不过基本上绘师画的图通常就是几天放个一张, 或是一次推出的CG图库都是复合的动
: : 漫画主题, 然后下载器下载又不可能自动帮我分类这些图片, 导致这些图片就越来越杂
: : 乱, 每个资料夹都混杂复数个主题&角色, 每个资料夹的名称又没有特定的主题性, 让我
: : 自己事后很难找图不说, 连看都懒得看了...。 后来就想到现在深度学习分类图片已经很
: : 强了, 那我干脆来写个工具辅助我整理图库吧!!
: : 这个工具目前没有特别为动漫CG分类做特别设计, 目前功能就是单纯套用目前流行的影像
: : 分类模型, 然后整合一些档案比对跟复制的功能, 方便用来整理CG, 使用的方法如下:
: 玩了近一个月,很理想也很方便的工具!
: 不过在使用阶段遇到很多挫折...
: 因为对python不熟,光是建置环境/函示库/到可以运行就花了两天时间,
: 好不容易开始跑问题又来了,我没有分类好的图库,
: 估狗看有没有善心人士整理,结论是天下没有白痴的午餐。
: 最后没办法只好求助 rule○○
: 克服万难后开始训练
: 我的电脑1w多张图大概要训练2天半
: 反正上班没事就放著让它跑,回家再试看看模型的成果
: 结果玛修、浜风和妖梦都混在一起
: fate的saber脸系列也是
: 更麻烦的是绘师的原创角色
: 像龙胆的退魔师和对魔忍,混在一起就很难分辨
: 目测分类准确率约3成
: 可能是分类不够多,训练资料也不够,要人力介入的部分还很多
: https://i.imgur.com/JWEIu2N.png
: 现在是蒐集训练用资料的部分最头痛
: 如果有更有效率的做法,再恳请分享,感谢!
作者: thelittleone (thelittleone)   2021-12-12 04:25:00
欸不是 不要假日半夜发U质技术文 容易错过耶
作者: a2364983 (小可怜)   2021-12-12 04:36:00
太强了==
作者: rickphyman42 (neutrino)   2021-12-12 04:58:00
有神快拜
作者: arrenwu (键盘的战鬼)   2021-12-12 05:42:00
人工智能需要工人智慧啊 是说你们没考虑找其他人一起帮忙label ?
作者: HAmakers (罽赭麌碯)   2021-12-12 06:05:00
因为TF2.0很难用吧 而且1.0转2.0很麻烦 我看网络上一堆原本用TF的open source都直接该pytorch
作者: nightcrow (叶子曰)   2021-12-12 06:18:00
太强了,自己要用的工具自己做
作者: cool9203 (看我翘翘的)   2021-12-12 06:29:00
虽然麻烦了些,但我个人认为在图片给分类模型前可以多用yolo去做脸部的寻找,然后切割出来当input。虽然整体会因为要多跑yolo导致训练与推理时间变长,但这应该可以有效解决背景或整体风格问题,来提升分类的正确率
作者: ILYY (毅力)   2021-12-12 07:08:00
PyTorch把很多东西都包好了 写model像叠乐高一样很快就可以组成多个或更改model来train
作者: inte629l   2021-12-12 09:14:00
作者: mictoaety (drops)   2021-12-12 09:24:00
先推 最近也在研究
作者: mom213 (mom213)   2021-12-12 09:51:00
Pytorch 对新手来说很友善 资源教程也多 大学专题等级
作者: e5a1t20 (吃饭)   2021-12-12 09:56:00
推 同作者画风一致应该比较好分
作者: newwu (frankwu)   2021-12-12 10:45:00
pytorch比较好用吧 很直觉
作者: joewang85 (天才大人)   2021-12-12 12:20:00
作者: bulico (abcd)   2021-12-12 14:34:00
疴阿,我就是试图分类多个绘师兼多个作品不过分类效果还不算太差,就继续用下去了刚开始甚至还把真人照放在一起train

Links booklink

Contact Us: admin [ a t ] ucptt.com