卡通人物数据集
训练自己的模型时需要用到大量的数据集,课题需要用自己的数据集,本打算将五十集《小猪佩奇》动画一帧一帧截取成图片,自己使用labellmg工具进行目标的标注,但一个5分视频的视频帧率按25帧/s计算,图片会很多标注的工作量很大,为减少工作量,试图寻找由他人标注好的数据集
一、卡通人脸识别基准数据集iCartoonFace
该数据集是目前最大的手动标注卡通人脸检测数据集和最大的手动标注卡通人脸识别数据集。也是目前第一个大规模、高质量的卡通识别数据集和检测数据集。
下载地址:
2020爱奇艺iCartoonFace挑战赛.
其中有四个数据集,分别对应识别训练集、检测训练集、检测测试集、识别测试集,使用时根据自己需要下载,也可参考比赛的TaskA和TaskB内容判断适合自己的数据集。
二、数据集(以目标检测数据集为例)
数据集的读入
目标检测的训练集中,给定了一个名为"icartoonface_dettrain.csv"的文件,里面内容是图片中各人物的人脸位置,四个参数分别为xmin,ymin,xmax,ymax
可进行可视化操作
代码如下(这里从csv文件中随意挑了一张图片):
import cv2
import matplotlib.pyplot as plt # plt 用于显示图片
import matplotlib.image as mpimg # mpimg 用于读取图片
import numpy as np
image = cv2.imread('personai_icartoonface_dettrain_02560.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.rectangle(image, (464, 69), (691, 272), (0, 255, 0), 2)
cv2.rectangle(image, (242, 279), (351, 379), (0, 255, 0), 2)
plt.imshow(image) # 显示图片
#plt.axis('off') # 不显示坐标轴
plt.show()
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.imwrite('2.jpg', image)
结果:
使用cv2读取RGB图片的一些问题
有时读取原图时,不论原图背景是什么,背景读入后总为蓝色。这是因为读进来是BGR格式,不是我们想显示的RGB格式,所以蓝色居多。
转换代码如下(示例):
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
此处参考:
使用cv2读取图片时,不要忘了转换颜色模式.
三、数据集中获取想要数据
数据集中给定的动画和漫画人物较杂,如果只想用其中的小猪佩奇不太方便,原数据集借助半自动标记算法,研究者为动漫媒体提供了两种类型的注释,即面部识别和面部检测。
论文地址:https://arxiv.org/pdf/1907.13394.pdf
近期打算简单学习一下其标记的过程,看是否能用于自己想要产生的数据集上。