1.一种获取目标检测数据集的通用方法,其特征在于,步骤如下:
步骤1、获取纸质的样本数据集并采集到计算机中;采用统一规格的附带辅助书写规范标记的A4打印纸,通过激光扫描仪采集到计算机中,确保每张A4纸中数字的类别一致;
步骤2、对采集到的手写体数字图像进行预处理并生成原始数据集;
所述的预处理包括图像校正、灰度化数字图像、图像去噪、数字归一化处理,再利用辅助书写规范标记对每张A4打印纸扫描得到的图像进行切割,使切割后的每张图像中仅包含一个手写体数字,按照从左到右,从上到下的顺序依次生成原始数据集;
步骤3、创建对应类别标签;由于目标检测中涉及到分类问题,按照每张A4打印纸扫描得到的图像中数字的排列顺序创建数字类别标签并存储为一维向量;所述的数字排列顺序与步骤2中原始数据集的生成顺序一致;
步骤4、划分数据集;若手写数字体之间存在相关因子,则将相关因子考虑在划分训练集和验证集中,确保训练集和验证集之间差异尽可能小;
步骤5、生成目标检测数据集;
设置单个手写体数字的参数如尺度,旋转角度,并添加手写体数字间的距离约束和生成的单个图像中手写体数字的数量约束,用于增加数据集的鲁棒性和有效性;
步骤6、构建Faster R-CNN神经网络并测试数据集的有效性;
Faster R-CNN神经网络是一种全卷积神经网络(FCN),输出的是检测到的物体的类别和空间信息,可以完成目标检测的相关任务;通过构建Faster R-CNN神经网络拟合数据集,并使用mAP(Mean Average Precision)指标评估该网络性能间接检测目标检测数据集的有效性。
2.根据权利要求1所述的一种获取目标检测数据集的通用方法,其特征在于,步骤1获取纸质的样本数据集并采集到计算机中,具体操作如下:采用统一规格的附带辅助书写规范标记的A4打印纸;所述的辅助书写规范标记为A4打印纸为带有方格的纸张,以便于计算机分割和采集;通过激光扫描仪采集样本数据集;收集到共3000个手写体数字,分别由5个人平均书写完成,每人书写600个,其中每个数字类别占比相同,采用的书写纸张容纳数字个数为10*15。
3.根据权利要求2所述的一种获取目标检测数据集的通用方法,其特征在于,步骤2对采集到的手写体数字图像进行预处理,具体操作如下:(a).灰度化图像;根据人眼对颜色的感知程度不同,生成的灰度图像素值计算公式为:
Gray(i,j)=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j) (1)其中Gray为目标灰色图像矩阵,R、G、B分别对应输入手写体数字图像的三个通道矩阵;
i、j分别对应目标灰色图像矩阵的行和列;
(b).图像去噪;利用图像滤波技术对灰度化后的手写体数字图像进行去噪;
(c).反转图像;将手写体数字图像反转,计算公式为:
Neg(i,j)=255-Gray(i,j) (2)
其中Neg为反转后得到的图像矩阵;
(d).统一图像的大小;采用的书写纸张容纳数字个数为20*15,单个数字大小设置为
28*28,得到图像统一大小为560*420像素;
(e).对上述处理后的手写体数字图像进行图像切割,使输出的每张图像中仅包含一个手写体数字;但考虑到存在辅助书写标记,即数字间的间隔线,在提取出的28*28像素中把最外的若干圈像素值置零,具体圈数可以根据实际情况手动选择;参考范围是1到3圈像素,计算公式为:其中Cropped是剪切后的单个手写体数字图像,i={0,1,…,27},j={0,1,…,27},分别表示行和列,k为取值为2;在利用辅助书写规范标记在每张A4打印纸扫描得到图像中,按照从左到右,从上到下的顺序依次生成原始数据集。
4.根据权利要求3所述的一种获取目标检测数据集的通用方法,其特征在于,步骤3创建对应类别标签,具体操作如下:由于目标检测中涉及到分类问题,按照每张A4打印纸扫描得到图像中数字的排列顺序创建数字类别标签并存储为一维向量;类别标签即为手写体数字本身对应的数字;此排列顺序与步骤2中原始数据集的生成顺序一致;类别标签需要经过One-Hot编码,这样做解决了分类器不好处理属性数据的问题,同时在某种程度上起到扩充特征的作用。
5.根据权利要求4所述的一种获取目标检测数据集的通用方法,其特征在于,步骤4划分数据集具体操作如下:根据手写数字体之间的相关因子,划分训练集和验证集,确保两者之间差异尽可能小;
相关因子可以被认为是手写体数字的风格,不同的人之间手写习惯不同会导致手写数字的风格不同,同一个人不同时期手写数字的风格也可能不同;3000个手写体数字,分别由5个人平均书写完成,故考虑有5种不同风格的手写数字;因此在划分原始数据集中时,确保在得到的训练集和验证集中不同类别标签和不同风格的数量一致;训练集和验证集比例为9比1,训练集包含2700个手写体数字样本,每个类别有270个,每种风格有540个;验证集同理,在300个验证集样本中,每个类别有30个,每种风格有60个。
6.根据权利要求5所述的一种获取目标检测数据集的通用方法,其特征在于,步骤5生成目标检测数据集,具体方法如下:首先确定目标检测数据集的参数;所述参数包括:生成目标检测数据集样本的大小和总数量,每个样本中手写体数字的缩放比例范围、旋转角度变化范围、数量范围、手写数字的最小间距;
通过2700个原始训练集样本生成3000个200*200像素值的训练集样本,同理通过300个原始验证集样本生成1000个验证集样本;每个样本中:数量范围为(4,6),旋转角度变化范围为(-15°,15°),手写体数字的缩放比例范围为(1.5,3),中心点的最小间距为36像素;
以下为单个目标检测训练集样本和ground truth机器学习监督数据的生成;
(a).生成样本中的手写数字;从确立的数量范围(4,6)内随机生成样本内手写体数字的个数N,并于2700个原始训练集样本中随机抽取N个手写数字X={X1,...Xn,...,XN},其中xn∈R28*28,以及对应的类别标签L={L1,...Ln,...,LN},其中Ln∈R10;然后从确立的范围中为每个手写数字随机生成缩放比例、旋转角度;先对手写数字进行旋转,然后进行缩放;旋转中心为原始样本中心,缩放计算公式为:row=m1*28,col=m2*28.row,col分别为缩放后手写数字的行和列,m1,m2为缩放系数,按长宽等比例缩放需满足 m1,2∈(1.5,3);
记X经过旋转和缩放后的结果为Y={Y1,,...Yn,...,YN},其中Yn∈Rrow*col;
(b).计算包围手写数字的矩形框在Yn中的坐标;对于一个Yn,手写数字并没有在其row*col像素样本即旋转缩放后的原始训练样本中占到很大范围,矩形框的大小不能直接设置为row*col,需要额外计算,去除手写数字背景的影响;包围手写数字的矩形框在Yn中左上角和右下角的坐标计算公式如下:xln=minx[argwhere(Yn,t)]-g (4)
xrn=maxx[argwhere(Yn,t)]+g (5)
yln=miny[argwhere(Yn,t)]-g (6)
yrn=maxy[argwhere(Yn,t)]+g (7)
其中(xln,yln),(xrn,yrn)分别为包围手写数字的矩形框在Yn中左上角坐标与右下角坐标,argwhere(Yn,t)为提取Yn像素值大于阈值t的坐标,minx,maxx,miny,maxy分别表示取x或y方向上坐标的最小或最大值;同时,为了使包围手写数字的矩形框与手写数字之间有一定空隙,在公式中设置一个常数项g;
(c).生成手写数字在样本中的坐标;样本的大小为200*200,包围手写数字的矩形框的宽度和长度分别为BWn=xrn-xln,BLn=yrn-yln,每个手写数字左上角的坐标(x,y)={(x1,y1),...(xn,yn),...,(xN,yN)},其中xn∈(0,200-BWn),yn∈(0,200-BLn).手写数字的最小间距至少要为36像素,所述的间距为欧式距离,参考点是手写数字的中心点;计算(x,y)的操作如下:(xn,yn)是(x,y)的第n个坐标,先从其取值范围内随机采样,并判断下式真假:
为计算 与
的欧式距离;若公式结果为假,则重新从其取值范围内随机采样并再次判
断式(8);若公式结果为真,则用同样的方法采样并判断下一个坐标(xn+1,yn+1),直到生成全部坐标;防止意外情况发生可以设置最大迭代次数;
(d).生成目标检测数据集的样本;首先生成200*200像素值为零的背景P,将坐标(x,y)作为手写数字Y的左上角,逐像素相加;具体操作为:对于单个手写数字Yn,将背景P在坐标(xn,yn)到(xn+BWn,yn+BLn)之间的像素和Yn对应像素相加;N个手写数字操作完成后得到的记为D∈R200*200,即目标检测数据集的样本;
(e).生成目标检测数据集的ground truth即机器学习监督数据;ground truth由手写数字类别标签L和包围样本中所有手写数字的矩形框组成;记一个样本中所有矩形框B={B1,...Bn,...,BN},其中Bn=(xn+xln,yn+yln,xn+xrn,yn+yrn);Bn包含矩形框在样本中左上角坐标(xn+xln,yn+yln)和右下角的坐标(xn+xrn,yn+yrn).记整合的ground truth为LB={L,B};代码输出的每行数据代表一个样本的ground truth,依次为样本的文件名,矩形框左上角和右下角坐标,手写数字类别;
至此生成了一个目标检测数据集的样本D及其对应的ground truth LB.重复此步骤的以上操作直到生成3000个训练集样本及其对应的ground truth;验证集的生成仅需将操作(a)中X和L的抽取改成在300个原始验证集样本中,重复剩余操作直到生成1000个验证集样本及其对应的ground truth。
7.根据权利要求6所述的一种获取目标检测数据集的通用方法,其特征在于,步骤6、构建Faster R-CNN神经网络并测试数据集的有效性,具体操作如下;
所述的Faster R-CNN神经网络是一种全卷积神经网络,输出的是检测到的物体的类别和空间信息,可以完成目标检测的相关任务;通过构建Faster R-CNN神经网络拟合数据集,并使用mAP(Mean Average Precision)指标评估该网络性能间接检测目标检测数据集的有效性;
网络部分参数设置:epoches为20,学习率0.0001。