CN110765844B - 一种基于对抗学习的非感应式餐盘图像数据自动标注方法 - Google Patents
一种基于对抗学习的非感应式餐盘图像数据自动标注方法 Download PDFInfo
- Publication number
- CN110765844B CN110765844B CN201910828167.XA CN201910828167A CN110765844B CN 110765844 B CN110765844 B CN 110765844B CN 201910828167 A CN201910828167 A CN 201910828167A CN 110765844 B CN110765844 B CN 110765844B
- Authority
- CN
- China
- Prior art keywords
- conv
- network
- output
- frame
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 44
- 235000003166 Opuntia robusta Nutrition 0.000 title claims abstract description 24
- 244000218514 Opuntia robusta Species 0.000 title claims abstract description 24
- 230000006698 induction Effects 0.000 title claims abstract description 7
- 230000006870 function Effects 0.000 claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 39
- 238000012216 screening Methods 0.000 claims abstract description 32
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 22
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 230000001939 inductive effect Effects 0.000 claims description 7
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000000877 morphologic effect Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 235000011888 snacks Nutrition 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20152—Watershed segmentation
Abstract
本发明公开了一种基于对抗学习的非感应式餐盘图像数据自动标注方法,包括以下步骤:S1、输入原始的无标注数据图像样本,自动获取初步的标注标签;S2、从S1得到的标注标签里面自动筛选真实标签,构成待标注数据集;S3、构建卷积神经网络,定义对应的损失函数;所述卷积神经网络主要由目标检测网络和判别器网络构成;S4、对卷积神经网络进行半监督训练,并设计候选框选策略;S5、将完全无标注的数据输入到训练好的卷积神经网络,自动获得标签。本发明以对抗学习的方式利用少量的标注数据进行训练,充分利用已标记样本和未标记样本之间的联系构造标注模型,大大减少了人工标注的巨大工作量和人力成本。
Description
技术领域
本发明属于半监督学习与人工智能技术领域,特别涉及一种基于对抗学习的非感应式餐盘图像数据自动标注方法。
背景技术
上世纪80年代,食堂承包及快餐开始在我国兴起并蓬勃发展至今,快餐和食堂占具有相当大的市场占有率。他们凭借快速用餐的优势获得众多消费者的青睐,但是,随着我国餐饮业进入万亿时代,大众消费力增速迅猛,就餐压力日渐凸显,快餐及食堂领域百弊丛生。餐饮行业迫切需要提高餐饮业整体的服务质量和效率,降低人力成本。
近年来,提高餐饮行业近年来社会上出现了大量的自助式餐厅,特别是在学校、医院等就餐人数较多的单位,自助式取餐受到了越来越多的欢迎。自助式餐厅的结算系统至关重要,其性能、效率等将直接影响顾客的满意度,进而影响到餐厅的客流量。
自助式餐厅结算系统使用的主流技术主要分为传统的基于RFID的餐盘识别技术方案和基于深度学习的图像识别技术方案,传统的基于RFID的餐盘识别技术通过对餐具底部RFID射频芯片进行读写操作,借助于计算机及其通讯技术,实现对餐具底部RFID射频芯片的通信和管理,从而实现快速结算的功能。但由于餐具内部需要封装RFID芯片,餐厅失去了自由选购权,其使用寿命及更换频率均将依赖于指定制造商,耗材成本大幅度上升。此外,批量识别存在误差、技术标准尚未统一、读写次数受限的尴尬特性意味着RFID技术注定无法成为解决传统餐饮结算方式的最佳选择。基于深度学习的图像识别技术是近年来兴起的主流识别方案,通过对神经网络模型的训练,让其具备分类和识别不同菜品的能力,具有硬件成本低,效率高,灵活性大,容易升级和部署,干净环保等优点,但是也存在不稳定,识别率低,数据依赖性强的缺点。识别率和鲁棒性需要严重依赖于标注数据集的规模,严重限制了这项技术在自助餐饮结算领域的应用。
要解决基于深度学习的图像识别技术方案存在的不稳定和识别率低的问题,需要提供大量的优质标注数据,然而手工标注数据的方式不仅工作量大,人力成本高,还存在标注速度慢和标注质量参差不齐的问题。
发明内容
本发明的目的是解决上述存在的人工标注工作量大,人力成本高,标注速度慢和标注不精确的问题,提供了一种以半监督训练的方法,利用少量有标注数据训练一个快速自动标注模型的方法,该方法充分利用已标记样本和未标记样本之间的联系构造标注模型,并基于对抗训练的方式提高标注模型的性能,从而大幅降低人工标注的工作量和人力成本,提高标注质量,使得训练识别率高、鲁棒性强的基于深度学习模型的自助餐饮结算系统成为可能。
本发明至少通过如下技术方案之一实现。
一种基于对抗学习的非感应式餐盘图像数据自动标注方法,包括以下步骤:
S1、输入原始的无标注数据图像样本,对数据进行预处理,自动获取初步的标注标签;
S2、从步骤S1得到的标注标签中自动筛选真实标签,筛选出的真实标签和输入的所有无标注数据图像构成待标注数据集;
S3、构建卷积神经网络,定义对应的损失函数;所述卷积神经网络主要由目标检测网络和判别器网络构成;
S4、将步骤S2得到的待标注数据集输入步骤S3所述的卷积神经网络,对卷积神经网络进行半监督训练,并设计候选框选策略;
S5、将完全无标注的数据输入到训练好的卷积神经网络,自动获得标签。
进一步的,步骤S1所述的获取初步的标注标签包括以下步骤:
S11、将原始的无标注数据图像样本转换成灰度图,并利用OTSU算法得到二值图;
S12、对步骤S11得到的二值图进行进一步的处理,具体的,先对步骤S11得到的二值图进行形态学闭运算消除小块噪声区域;然后用opencv(开源计算机视觉库)的轮廓提取算法提取餐盘的轮廓,参数设置为只提取餐盘的最外层轮廓,参数中轮廓的参数使用CHAIN_APPROX_SIMPLE用于压缩轮廓水平方向、垂直方向、对角线方向的元素即餐盘,只保留这些方向的终点坐标;遍历得到的所有轮廓,将轮廓面积大于100的内区域置为1,其余置0,得到消除噪声的二值图;
S13、对步骤S12得到的二值图进行连续的膨胀化操作得到黑色的背景区域图,再对步骤S12得到的二值图进行距离变换,将距离大于0.35倍最大距离的区域填充成白色,得到餐盘区域为白色区域的白色餐具图;
S14、对黑色的背景区域图和白色餐具图进行异或操作得到黑白组合图,白色区域主要为未知的边缘区域,对白色餐具图的图像进行连通区域分析处理,给不连通的白色区域即不同的餐盘中心位置分配不同的标签,将黑白组合图中的白色区域作为边缘区域,采用分水岭算法对原图像进行分割处理,得到含有标注的初步分割图像。
进一步的,步骤S2筛选真实标签包括以下步骤:
S21、首先从步骤S1得到的标注标签中提取分割图像所有属于前景区域的不同标签的餐具,获取其边缘轮廓;
S22、获取每个轮廓的中心坐标(Xcenter,Ycenter),计算轮廓上每个点到中心坐标的距离L,得到每个轮廓点到中心点的最小距离Lmin,最大距离Lmax,并计算所有距离的均值μ和方差σ构成一个四维特征向量h=(Lmin,Lmax,μ,σ),h表征轮廓的主要显示特征;
S23、根据欧氏距离获取所有轮廓两两之间的相似度,并排列成一个相似度矩阵S,由于分割错误的轮廓是随机的,与其它轮廓之间的相似度较低,因此分割正确的轮廓会重复出现,使得若干的轮廓和它的相似度较高,基于这个前提,通过遍历相似度矩阵的每一行,如果超过设定阈值数量的元素小于指定值,则把这些元素对应的轮廓保留下来并获取其最小包围矩形框作为标注框,作为真实标签;否则将这个轮廓去掉;
计算获取最小包围框具体如下:记轮廓上最左,最右,最上和最下的点为(x1,y1),(x2,y2),(x3,y3),(x4,y4),最小矩形包围框中心坐标为((x1+x2)/2,(y3+y4)/2),宽高为(x2-x1,y4-y3)。
进一步的,步骤S3的目标检测网络以YOLO-V3网络为主干网络的半监督网络,目标检测网络的构建包括以下步骤:
S31、重构YOLO_V3网络是在原来YOLO-V3网络的基础上去掉类别分类部分的输出,重构的YOLO_V3网络只预测目标框和对应的置信度;
S32、向重构的YOLO_V3网络输入一张图片I,假设其中已经有m个餐具被标注,记作G={g1,...,gm},gm表示第m个的餐具,该网络得到三种不同维度大小的输出,分别是O1,O2和O3,此时网络不同尺寸的输出为GridSize×GridSize×3×(4+1),每个输出的前两个维度表示网格尺寸GridSize,第三个维度对应不同大小的预定义矩形框(anchor),预定义矩形框总共e种,每种输出d种不同大小的矩形框尺寸,最后一个维度表示预测的四个坐标和对应置信度;
S33、定义边框回归损失函数,包括以下过程:
对于输出O1,首先将原图均匀划分成a×a个与O1的第一维度和第二维度上的位置一一对应的网格,如果有步骤S23得到标注框的中心坐标落入某个网格,则O1上对应的位置就负责预测该标注框;假设第i个标注框gi中心坐标落入网格的第r行第c列,并且与第k个预定义矩形框的IOU(Intersection over Union,重叠度)值最大,则选取O1上对应的预测值:
其中,表示第i个标注框中心坐标所在网格对应的左上角坐标,σ(·)函数定义/> 分别表示处理后的预测框中心坐标、宽和高,pw,ph表示第i个预定义矩形框Anchori的宽和高,这里不直接回归标注框的宽和高,而是做一个对数变换的原因是宽和高为非负数,如果直接回归,会导致因为数值问题无法用随机梯度下降算法对网络进行训练;为便于训练,对标注框的宽高也做对应的变换:
总的边框回归损失函数如下:
S34、置信度部分损失函数计算如下:
O1的第四维度最后一个通道负责预测置信度,去掉其它通道,只考虑预测置信度的输出部分Conf1∈[0,1]a×a×d,/>表示目标预测网络输出O1的置信度输出值,[0,1]a×a×d表示取值范围为[0,1]区间上的维度为a×a×d的多维数组,Conf1的最后一个维度分别对应于d种不同大小的矩形框;采用集合定义并按以下规则将Conf1的元素分为以下三类:
(1)Sobj={p|p∈Conf1且有标注框中心坐标落入该位置对应的网格以及该标注框与该通道对应Anchor的IOU值最大};
置信度部分损失函数计算如下:
其中λ1=1,λ2=100;
重构的YOLO_V3网络对输出O1损失函数如下:
进一步的,重构的YOLO_V3网络结构如下:
Input_images(H*W)->Conv(k_m*m,c_n1)->Conv(k_m*m,_n2)->ResConv_1->Conv(k_m*m,c_n3)->ResConv_2->Conv(k_m*m,c_n4)->ResConv_3->Conv(k_m*m,c_n5)->ResConv_4->Conv(k_m*m,c_n6)->ResConv_5
重构的YOLO_V3网络输出O1的过程为:
Output[ResConv_5]->ConvSet_1->Conv(k_m*m,_n6)->Conv2d(k_1*1,c_15)->O1
重构的YOLO_V3网络输出O2获取过程:
Output[ConvSet_1]->Conv(Conv(k_1*1,c_32)->UpSampling->Concatenate(Output[ResConv_4])->ConvSet_2->Conv(k_m*m,c_n5)->Conv2d(k_1*1,c_15)->O2;
重构的YOLO_V3网络输出O3获取过程:
Output[ConvSet_2]->Conv(Conv(k_1*1,c_32)->UpSampling->
Concatenate(Output[ResConv_4])->ConvSet_3->Conv(k_m*m,c_n3)->Conv2d(k_1*1,c_15)->O3;
其中,Input_images(H*W)表示输入高为H宽为W的图片;Conv(k_m*m,c_n)表示卷积核大小为m*m,输出通道为n的卷积层,n∈{n1,n2,n3,n4,n5,n6};卷积层包含串联的BatchNorm(批量正则化层)层和ReLU层(修正线性激活函数层);Output[]表示获取某一层的输出结果;UpSampling表示上采样操作,ResConv_1~ResConv_5分别为一系列卷积操作的集合:
ResConv_1:
input_1->Conv(k_1*1,c_n1)->Conv(k_m*m,c_n2)
Output[ResConv_1]=input_1+output[Conv(k_m*m,c_n2)];
ResConv_2:
input_2->Conv(k_1*1,c_n2)->Conv(k_m*m,c_n3)
Output[ResConv_2]=input_2+output[Conv(k_m*m,c_n3)];
ResConv_3:
input_3->Conv(k_1*1,c_n3)->Conv(k_m*m,c_n4)
Output[ResConv_3]=input_3+output[Conv(k_m*m,c_n4)];
ResConv_4:
input_4->Conv(k_1*1,c_n4)->Conv(k_m*m,c_n5)
Output[ResConv_4]=input_4+output[Conv(k_m*m,c_n5)]
ResConv_5:
input_5->Conv(k_1*1,c_n5)->Conv(k_m*m,c_n6)
Output[ResConv_5]=input_5+output[Conv(k_m*m,c_n6)];
ConvSet_1表示一系列的串联卷积层集合:
Conv(k_1*1,c_n5)->Conv(k_3*3,c_n6)->Conv(k_1*1,c_n5)->Conv(k_3*3,c_n6)->Conv(k_1*1,c_n5);
ConvSet_2表示一系列的串联卷积层集合:
Conv(k_1*1,c_n4)->Conv(k_3*3,c_n5)->Conv(k_1*1,c_n4)->Conv(k_3*3,c_n5)->Conv(k_1*1,c_n4);
ConvSet_3表示一系列的串联卷积层集合:
Conv(k_1*1,c_n3)->Conv(k_3*3,c_n4)->Conv(k_1*1,c_n3)->Conv(k_3*3,c_n4)->Conv(k_1*1,c_n3)。
进一步的,步骤S3的判别器网络包括七层的全卷积层,前六个卷积层后面都级联BatchNorm(批量正则化层)层和ReLU层(修正线性激活函数层),最后一层卷积层直接用Sigmoid函数(S型函数)作为激活层函数,输出预测概率;
判别器网络结构如下,各层之间直接串联:
Input_images(H*W)->Conv(k_h*h,c_n1)->Conv(k_h*h,c_n2)->Conv(k_h*h,c_n3)->Conv(k_h*h,c_n4)->Conv(k_h*h,c_n7)>Conv(k_h*h,c_nn7)->Conv2d(k_3*3,c_1)->Sigmoid()
输出:Output[Sigmoid()]
Input_images(H*W)表示高为H,宽为W的输入图片;Conv2d(k_h*h,c1)表示卷积核为h*h,输出通道为1的卷积过程,不包括BatchNorm层和ReLU层;Output[]表示获取某一层的输出结果;
判别器损失函数计算过程如下:
判别器网络以二分类交叉熵损失函数作为损失函数,输入图片数据后输出是一个预测值zi,zi∈[0,1];判别器损失函数如下:
LD=-∑iqi log(zi)+(1-qi)log(1-zi)
其中,qi表示标签样本,正样本取值为1,负样本取值为0。
进一步的,所述步骤S4将数据集输入网络,对网络进行半监督训练,并设计候选框的筛选策略,包括以下步骤:
S41、首先以批量训练的方式训练步骤S3所述的目标预测网络,使用随机梯度下降(Adam)的策略训练,前两次迭代只训练重构的YOLO-V3网络部分;
S42、同步训练判别器,包括以下步骤:
S421、从第三次迭代开始训练判别器,按批将一组图片输入目标预测网络,得到总的预测输出O,计算对应的损失并使用随机梯度下降(Adam)算法更新目标预测网络的参数;
S422、假设输入的这组图片总共包含k个最初标注的框(即步骤S2得到的标注框),先从目标预测网络输出的所有预测框里面剔除掉和步骤S2中已经标注好的标注框IOU值大于0.5的那些预测框,然后再剔除掉超出边界或者置信度大于0.8以上的预测框,从剩下的预测框里面随机筛选出k个框作为负样本,最先标注的k个标注框作为正样本,不包含后来网络自动筛选后加入的预测框,截取对应的图像区域,并将图像其它区域置零;
S423、将这组总共2k张图像输入判别器网络,负样本的标签为0,正样本的标签为1,利用判别器损失函数计算对应损失,并更新判别器网络的参数;
S43、从第四次迭代开始,筛选优质的候选框作为标签,参与下一轮的训练,优质的候选框筛选标准和筛选过程如下:
S431、去掉最初标注框IOU值大于0.5的预测框,去掉置信度小于0.8的预测框,再用最大阀值抑制算法(NMS)从剩下的预测框中筛选优质的候选框,NMS算法描述:
1)、先将所有的预测框按置信度大小进行排序,选出置信度最大的预测框A加入候选框集合B;
2)、计算剩下的预测框和A的IOU值,如果IOU值大于0.5,则将对应的预测框丢掉;
3)、对剩余的预测框重复步骤1和步骤2,直到只剩最后一格预测框,将其加入候选框集合B;
S432、截取候选框集合B中对应的图像区域,并将其它区域置零,得到一组图片,将这组图片输入判别器网络,将判别器网络预测值大于0.9的图像对应的候选框作为优质预测框加入标签集;
S44、按照上述步骤训练n次迭代次数,未被标注的目标将被目标检测网络预测并且添加到标签集里面,保存训练好的目标预测网络和判别器网络。
进一步的,所述步骤S5包括以下步骤:
S51、将图像数据输入训练好的目标预测网络,按照步骤S431初步筛选预测框B1;
S52、按照步骤S432所述步骤截取B1对应的候选区域并将其它区域置零,将得到的图片输入训练好的判别器网络,将预测值大于0.9的图像对应的候选框作为正确预测框并标注标签。
与现有技术相比,本发明具有以下优势:
(1)实现了数据集的初始标注自动获取,实现了标注模型训练的全自动化。
(2)采用半监督学习的方式训练标注模型,降低人力成本和工作量,能快速自动地获取大量的优质标注数据。
(3)结合对抗训练的优点,同步地训练目标检测网络和判别器,同时提高了两个网络的性能,使得自动标注模型鲁棒性更强。
附图说明
图1为本实施例的一种基于对抗学习的非感应式餐盘图像数据自动标注方法的流程图;
图2a为本实施例的将原图转换成灰度图的效果图;
图2b为本实施例利用OTSU算法得到的二值图;
图2c为本实施例噪声消除的二值图;
图2d为本实施例通过连续的膨胀化操作得到的背景区域效果图;
图2e为本实施例对二值图进行距离变换得到的白色餐具效果图;
图2f为本实施例对图像进行异或操作得到效果图;
图2g为本实施例采用分水岭算法得到含有标注的初步的分割图像;
图3为本实施例目标预测网络结构图;
图4为本实施例判别器网络结构图;
其中:1-餐盘区域,2-餐具,3-食物。
具体实施方式
下面结合实例和附图对本发明做进一步的说明。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
如图1所示的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,包括以下步骤:
S1、数据预处理,输入原始的无标注数据图像样本,自动获取初步的标注标签;具体的步骤S1包括以下步骤:
S11、对于原始的无标注数据样本,首先将原图转换成灰度图,如图2a所示,图中包括餐盘区域1、餐具2和食物3,并利用OTSU算法得到二值图,如图2b所示;
S12、对步骤S11得到的二值图进行进一步的处理,具体的,先对步骤S11得到的二值图进行形态学闭运算消除小块噪声区域;然后用opencv(开源计算机视觉库)的轮廓提取算法提取餐盘的轮廓,参数设置为只提取最外层轮廓,参数中轮廓近似方法参数使用CHAIN_APPROX_SIMPLE即压缩水平方向、垂直方向、对角线方向的元素,只保留该方向的终点坐标;遍历得到的所有轮廓,将轮廓面积大于100的内区域置为1,其余置0,得到噪声(由于菜品的影响产生)消除的二值图,如图2c所示;
S13、对步骤S12得到的二值图进行连续的膨胀化操作得到黑色的背景区域图,如图2d所示,对步骤S12得到的二值图进行距离变换,将距离大于0.35倍最大距离的区域填充成白色,得到餐盘区域为白色区域的白色餐具图,如图2e所示;
S15、对黑色的背景区域图和白色餐具图进行异或操作得到黑白组合图,如图2f所示,白色区域主要为未知的边缘区域,对白色餐具图的图像进行连通区域分析处理,给不连通的白色区域即不同的餐盘中心位置分配不同的标签,将黑白组合图中的白色区域作为边缘区域,采用分水岭算法对原图像进行分割处理,得到含有标注的初步的分割图像,如图2g所示。
S2、从步骤S1得到的标注标签里面自动筛选真实标签,由这些少量的真实标签和所有图像数据构成待标注数据集,具体的步骤S2包括以下步骤:
S21、首先提取数据集中分割图像所有属于前景区域的不同标签的餐具,获取其边缘轮廓;
S22、计算每个轮廓的中心坐标(Xcenter,Ycenter),计算轮廓上每个点到中心坐标的距离L,得到每个轮廓点到中心点的最小距离Lmin,最大距离Lmax,并计算所有距离的均值μ和方差σ构成一个四维特征向量h=(Lmin,Lmax,μ,σ),h表征轮廓的主要显示特征;
S23、计算所有轮廓两两之间的相似度即轮廓特征之间的欧氏距离,并排列成一个相似度矩阵S,由于分割错误的轮廓是随机的,与其它轮廓之间的相似度较低,而分割正确的轮廓会重复出现,使得若干的轮廓和它的相似度较高,基于这个前提,通过遍历相似度矩阵的每一行,如果超过设定阈值数量的元素小于指定值,则把这些元素对应的轮廓保留下来并计算它们的最小包围矩形框作为标注框,作为真实标签;否则将这个轮廓去掉;
步骤S23所述的计算最小包围框,其步骤如下:记轮廓上最左,最右,最上和最下的点为(x1,y1),(x2,y2),(x3,y3),(x4,y4),最小矩形包围框中心坐标为((x1+x2)/2,(y3+y4)/2),宽高为(x2-x1,y4-y3)。
S3、构建卷积神经网络,定义对应的损失函数;所述卷积神经网络主要由目标检测网络和判别器网络构成;步骤S3的目标检测网络以YOLO-V3网络为主干网络的半监督网络,目标检测网络的构建包括以下步骤:
S31、重构YOLO_V3网络,在原来YOLO-V3网络的基础上去掉类别分类部分的输出,只预测目标框和对应的置信度,此时网络不同尺寸的输出是GridSize×GridSize×3×(4+1)(GridSize为网格尺寸),重构的YOLO_V3网络只预测边框的坐标和对应的置信度;
S311、如图3所示,重构如下的YOLO_V3网络结构:
Input_images(H*W)->Conv(k_3*3,c_32)->Conv(k_3*3,c_64)->ResConv_1->Conv(k_3*3,c_128)->ResConv_2->Conv(k_3*3,c_256)->ResConv_3->Conv(k_3*3,c_512)->ResConv_4->Conv(k_3*3,c_1024)->ResConv_5
输出O1获取过程:
Output[ResConv_5]->ConvSet_1->Conv(k_3*3,c_1024)->Conv2d(k_1*1,c_15)->O1
输出O2获取过程:
Output[ConvSet_1]->Conv(Conv(k_1*1,c_32)->UpSampling->Concatenate(Output[ResConv_4])->ConvSet_2->Conv(k_3*3,c_512)->Conv2d(k_1*1,c_15)->O2;
输出O3获取过程:
Output[ConvSet_2]->Conv(Conv(k_1*1,c_32)->UpSampling->Concatenate(Output[ResConv_4])->ConvSet_3->Conv(k_3*3,c_128)->Conv2d(k_1*1,c_15)->O3;
其中,Input_images(H*W)表示输入高为H宽为W的图片;Conv(k_3*3,cn)表示卷积核大小为3*3,输出通道为n的卷积层,n∈{n1,n2,n3,n4,n5,n6},n1=32,n2=64,n3=128,n4=256,n5=512,n6=1024},对应图3滤波器一栏,每一层卷积核大小如图3所示;卷积层包含串联的BatchNorm(批量正则化层)层和ReLU层(修正线性激活函数层);Output[]表示获取某一层的输出结果;UpSampling表示上采样操作,ResConv_1~ResConv_5分别为一系列卷积操作的集合(即图3中的残差层)的集合:
ResConv_1:
input_1->Conv(k_1*1,c_32)->Conv(k_3*3,c_64)
Output[ResConv_1]=input_1+output[Conv(k_3*3,c_64)];
ResConv_2:
input_2->Conv(k_1*1,c_64)->Conv(k_3*3,c_128)
Output[ResConv_2]=input_2+output[Conv(k_3*3,c_128)];
ResConv_3:
input_3->Conv(k_1*1,c_128)->Conv(k_3*3,c_256)
Output[ResConv_3]=input_3+output[Conv(k_3*3,c_256)];
ResConv_4:
input_4->Conv(k_1*1,c_256)->Conv(k_3*3,c_512)
Output[ResConv_4]=input_4+output[Conv(k_3*3,c_512)]
ResConv_5:
input_5->Conv(k_1*1,c_512)->Conv(k_3*3,c_1024)
Output[ResConv_5]=input_5+output[Conv(k_3*3,c_1024)]。
ConvSet_1表示一系列的串联卷积层集合:
Conv(k_1*1,c_512)->Conv(k_3*3,c_1024)->Conv(k_1*1,c_512)->Conv(k_3*3,c_1024)->Conv(k_1*1,c_512);
ConvSet_2表示一系列的串联卷积层集合:
Conv(k_1*1,c_256)->Conv(k_3*3,c_512)->Conv(k_1*1,c_256)->Conv(k_3*3,c_512)->Conv(k_1*1,c_256);
ConvSet_3表示一系列的串联卷积层集合:
Conv(k_1*1,c_128)->Conv(k_3*3,c_256)->Conv(k_1*1,c_128)->Conv(k_3*3,c_256)->Conv(k_1*1,c_128);
S312、向重构的YOLO_V3网络输入一张大小为416×416×3的图片I,目标预测网络每一层输出的长和宽如图3的输出,假设其中已经有m个餐具被标注,记作G={g1,...,gm},网络得到三种不同大小的输出分别是O1∈R13×13×3×5,O2∈R26×26×3×5,O3∈R52×52×3×5;R13 ×13×3×5表示取值范围为实数区间R上的维度为13×13×3的多维数组(另外两个定义一致),每个输出的前两个维度表示网格尺寸GridSize;第三个维度对应不同大小的预定义矩形框(anchor),预定义矩形框总共9种,目标预测网络输出大小分别为尺寸1、尺寸2和尺寸3,每种尺寸对应三种面积相同,长宽比例不同的预定义矩形框;最后一个维度表示预测的四个坐标和对应置信度。
S313、边框回归损失函数的定义如下:
便于理解,只描述对O1的计算过程,对另外两个输出的处理过程完全一致。
首先将原图均匀划分成13×13个与O1的第一维度和第二维度上的位置一一对应的网格,如果有步骤S23得到标注框的中心坐标落入某个网格,则O1上对应的位置就负责预测这个框;假设标注框gi中心坐标落入第r行第c列网格,并且与第k个预定义矩形框(的IOU(Intersection over Union,重叠度)值最大,则选取O1上对应的预测值:
为使网络训练过程更快收敛,对其进一步处理得:
其中,表示第i个标注框中心坐标所在网格对应的左上角坐标,σ(·)函数定义/> 表示分别表示规范后的预测框中心坐标和宽高,pw,ph表示Anchori的宽和高,这里不直接回归标注框的宽和高,而是做一个对数变换的原因是宽和高为非负数,如果直接回归,会导致因为数值问题无法用随机梯度下降算法对网络进行训练;为便于训练,对标注框的宽高也做对应的变换:
总的边框回归损失函数如下:
S314、置信度部分损失函数计算方法:
O1的第四维度最后一个通道负责预测置信度,去掉其它通道,只考虑预测置信度的输出部分Conf1∈[0,1]13×13×3,/>表示目标预测网络输出O1的置信度输出值,[0,1]13×13×3表示取值范围为[0,1]区间上的维度为13×13×3的多维数组
,Conf1的最后一个维度分别对应于三种不同大小的矩形框;采用集合定义并按以下规则将Conf1的元素分为以下三类:
(1)Sobj={p|p∈Conf1且有标注框中心坐标落入该位置对应的网格以及该标注框与该通道对应Anchor的IOU值最大};
置信度部分损失函数计算如下:
其中,λ1=1,λ2=100。
重构的YOLO_V3网络对输出O1损失函数如下:
如图4所示,判别器网络是一个7层的全卷积网络,前面每个卷积层后面都级联batchNorm层和ReLu层,最后一层卷积层直接用Sigmoid函数(S型函数)作为激活层函数,输出预测概率;
判别器网络模型结构如下,各层之间直接串联:
Input_images(H*W)->Conv(k_5*5,c_32)->Conv(k_5*5,c_64)->Conv(k_5*5,c_128)->Conv(k_5*5,c_256)->Conv(k_5*5,c_128)->Conv(k_5*5,c_128)->Conv2d(k_3*3,c_1)->Sigmoid()
输出:Output[Sigmoid()]
Input_images(H*W)表示高为H,宽为W的输入图片;Conv(k_5*5,c_l)表示包含卷积和批量正则化层以及修正线性激活函数的串联操作集合,见图4所示,k_5*5表示卷积核大小为、c_l表示滤波器数量为l,l∈{32,64,128,256};Conv2d(k_3*3,c_1)表示卷积核为3*3,输出通道为1的卷积过程,每一层具体的输出大小尺寸和卷积核大小以及卷积步长如图4所示,不包括BatchNorm(批量正则化层)层和ReLU(修正线性激活函数层)层;Output[]表示获取某一层的输出结果;
S321、判别器损失函数计算过程如下:
判别器网络以二分类交叉熵损失函数作为损失函数,输入是大小为416×416×3的图片数据,输出是一个预测值p∈[0,1];判别器损失函数如下:
LD=-Σiqi log(pi)+(1-qi)log(1-pi)
其中,qi表示标签,正样本取值为1,负样本取值为0。
S4、将步骤S2得到的数据集输入步骤S3所述的卷积神经网络,对卷积神经网络进行半监督训练,并设计候选框选策略;所述步骤S4将数据集输入网络,对网络进行半监督训练,并设计预测框的筛选策略,包括以下步骤:
S41、首先以批量训练的方式训练步骤S3所述的目标预测网络,使用随机梯度下降(Adam)的策略训练,前两次迭代只训练重构的YOLO-V3网络部分;
S42、同步训练判别器,包括以下步骤:
S421、从第三次迭代开始训练判别器,按批将一组图片输入目标预测网络,得到总的预测输出O,计算对应的损失并使用随机梯度下降(Adam)算法更新目标预测网络的参数。
S422、假设输入的这组图片总共包含k个最初标注的框即步骤S2得到的标注框,先从目标预测网络输出的所有预测框里面剔除掉和步骤S2中已经标注好的标注框IOU值大于0.5的那些预测框,然后再剔除掉超出边界或者置信度大于0.8以上的预测框,从剩下的预测框里面随机筛选出k个框作为负样本,最先标注的k个标注框(不包含后来网络自动筛选后加入的预测框)作为正样本,截取对应的图像区域,并将图像其它区域置零;
S423、将这组总共2k张图像输入判别器网络,负样本的标签为0,正样本的标签为1,按照步骤S321计算对应损失,并更新判别器网络的参数;
S43、从第四次迭代开始,筛选优质的候选框作为标签,参与下一轮的训练,优质的候选框筛选标准和筛选过程如下:
S431、去掉和最初标注框IOU值大于0.5的预测框,去掉置信度小于0.8的预测框,再用最大阀值抑制算法(NMS)从剩下的预测框中筛选优质的候选框,NMS算法描述:
1)、先将所有的预测框按置信度大小进行排序,选出置信度最大的预测框A加入候选框集合B;
2)、计算剩下的预测框和A的IOU值,如果IOU值大于0.5,则将对应的预测框丢掉;
3)、对剩余的预测框重复步骤1和步骤2,直到只剩最后一格预测框,将其加入候选框集合B;
S432、截取候选框集合B中对应的图像区域,并将其它区域置零,得到一组图片,将这组图片输入判别器网络,将判别器网络预测值大于0.9的图像对应的候选框作为优质预测框加入标签集。
S44、按照上述步骤训练n次迭代次数,未被标注的目标将被目标检测网络预测并且添加到标签集里面,保存训练好的目标预测网络和判别器网络。
S5、将完全无标注的数据输入到训练好的卷积神经网络,自动获得标签,具体包括以下步骤:
S51、将图像数据输入训练好的目标预测网络,按照步骤S431初步筛选预测框B1;
S52、按照步骤S432所述步骤截取B1对应的候选区域并将其它区域置零,将得到的图片输入训练好的判别器网络,将预测值大于0.9的图像对应的候选框作为正确预测框(作为图像标注标签)。
本发明的实施方式并不受上述实施例的限制,其他任何未背离发明精神实质与原理下所做的改变,修饰,替代,组合,简化均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,包括以下步骤:
S1、输入原始的无标注数据图像样本,对数据进行预处理,自动获取初步的标注标签;
S2、从步骤S1得到的标注标签中自动筛选真实标签,筛选出的真实标签和输入的所有无标注数据图像构成待标注数据集;
S3、构建卷积神经网络,定义对应的损失函数;所述卷积神经网络主要由目标检测网络和判别器网络构成;目标检测网络以YOLO-V3网络为主干网络的半监督网络,目标检测网络的构建包括以下步骤:
S31、重构YOLO_3网络是在原来YOLO-V3网络的基础上去掉类别分类部分的输出,重构的YOLO_3网络只预测目标框和对应的置信度;
S32、向重构的YOLO_3网络输入一张图片I,假设其中已经有m个餐具被标注,记作G={g1,…,m},gm表示第m个的餐具,该网络得到三种不同维度大小的输出,分别是O1,O2和O3,此时网络不同尺寸的输出为GridSize×GridSize×3×(4+1),每个输出的前两个维度表示网格尺寸GridSize,第三个维度对应不同大小的预定义矩形框(anchor),预定义矩形框总共e种,每种输出d种不同大小的矩形框尺寸,最后一个维度表示预测的四个坐标和对应置信度;
S33、定义边框回归损失函数,包括以下过程:
对于输出O1,首先将原图均匀划分成a×a个与O1的第一维度和第二维度上的位置一一对应的网格,如果有步骤S23得到标注框的中心坐标落入某个网格,则O1上对应的位置就负责预测该标注框;假设第i个标注框hi中心坐标落入网格的第r行第c列,并且与第k个预定义矩形框的IOU(Intersection over Union,重叠度)值最大,则选取O1上对应的预测值:
为使网络训练过程更快收敛,对其进一步处理:
其中,表示第i个标注框中心坐标所在网格对应的左上角坐标,σ(·)函数定义 分别表示处理后的预测框中心坐标、宽和高,pw,ph表示第i个预定义矩形框Anchori的宽和高,这里不直接回归标注框的宽和高,而是做一个对数变换的原因是宽和高为非负数,如果直接回归,会导致因为数值问题无法用随机梯度下降算法对网络进行训练;为便于训练,对标注框的宽高也做对应的变换:
总的边框回归损失函数如下:
S34、置信度部分损失函数计算如下:
O1的第四维度最后一个通道负责预测置信度,去掉其它通道,只考虑预测置信度的输出部分 表示目标预测网络输出O1的置信度输出值,[0,1a×a×d表示取值范围为[0,1]区间上的维度为a×a×d的多维数组,Conf1的最后一个维度分别对应于d种不同大小的矩形框;采用集合定义并按以下规则将Conf1的元素分为以下三类:
(1)Sobj={p|∈Conf1且有标注框中心坐标落入该位置对应的网格以及该标注框与该通道对应Anchor的IOU值最大};
置信度部分损失函数计算如下:
其中λ1=1,λ2=100;
重构的YOLO_3网络对输出O1损失函数如下:
S4、将步骤S2得到的待标注数据集输入步骤S3所述的卷积神经网络,对卷积神经网络进行半监督训练,并设计候选框选策略;
S5、将完全无标注的数据输入到训练好的卷积神经网络,自动获得标签。
2.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,步骤S1所述的获取初步的标注标签包括以下步骤:
S11、将原始的无标注数据图像样本转换成灰度图,并利用OTSU算法得到二值图;
S12、对步骤S11得到的二值图进行进一步的处理,具体的,先对步骤S11得到的二值图进行形态学闭运算消除小块噪声区域;然后用opencv(开源计算机视觉库)的轮廓提取算法提取餐盘的轮廓,参数设置为只提取餐盘的最外层轮廓,参数中轮廓的参数使用CHAIN_APPROX_SIMPLE用于压缩轮廓水平方向、垂直方向、对角线方向的元素即餐盘,只保留这些方向的终点坐标;遍历得到的所有轮廓,将轮廓面积大于100的内区域置为1,其余置0,得到消除噪声的二值图;
S13、对步骤S12得到的二值图进行连续的膨胀化操作得到黑色的背景区域图,再对步骤S12得到的二值图进行距离变换,将距离大于0.35倍最大距离的区域填充成白色,得到餐盘区域为白色区域的白色餐具图;
S14、对黑色的背景区域图和白色餐具图进行异或操作得到黑白组合图,白色区域主要为未知的边缘区域,对白色餐具图的图像进行连通区域分析处理,给不连通的白色区域即不同的餐盘中心位置分配不同的标签,将黑白组合图中的白色区域作为边缘区域,采用分水岭算法对原图像进行分割处理,得到含有标注的初步分割图像。
3.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,步骤S2筛选真实标签包括以下步骤:
S21、首先从步骤S1得到的标注标签中提取分割图像所有属于前景区域的不同标签的餐具,获取其边缘轮廓;
S22、获取每个轮廓的中心坐标(Xcenter,Ycenter),计算轮廓上每个点到中心坐标的距离L,得到每个轮廓点到中心点的最小距离Lmin,最大距离Lmax,并计算所有距离的均值μ和方差σ构成一个四维特征向量h=(Lmin,Lmax,μ,σ),h表征轮廓的主要显示特征;
S23、根据欧氏距离获取所有轮廓两两之间的相似度,并排列成一个相似度矩阵S,由于分割错误的轮廓是随机的,与其它轮廓之间的相似度较低,因此分割正确的轮廓会重复出现,使得若干的轮廓和它的相似度较高,基于这个前提,通过遍历相似度矩阵的每一行,如果超过设定阈值数量的元素小于指定值,则把这些元素对应的轮廓保留下来并获取其最小包围矩形框作为标注框,作为真实标签;否则将这个轮廓去掉;
计算获取最小包围框具体如下:记轮廓上最左,最右,最上和最下的点为(x1,y1),(x2,y2),(x3,y3),(x4,y4),最小矩形包围框中心坐标为((x1+x2)/2,(y3+y4)/2),宽高为(x2-x1,y4-y3)。
4.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,重构的YOLO_V3网络结构如下:
Input_images(H*W)->Conv(k_m*m,c_n1)->Conv(k_m*m,c_n2)->ResConv_1->Conv(k_m*m,c_n3)->ResConv_2->Conv(k_m*m,c_n4)->ResConv_3->Conv(k_m*m,c_n5)->ResConv_4->Conv(k_m*m,c_n6)->ResConv_5
重构的YOLO_V3网络输出O1的过程为:
Output[ResConv_5]->ConvSet_1->Conv(k_m*m,c_n6)->Conv2d(k_1*1,c_15)->O1
重构的YoLO_V3网络输出O2获取过程:
Output[ConvSet_1]->Conv(Conv(k_1*1,c_32)->UpSampling->Concatenate(Output[ResConv_4])->ConvSet_2->Conv(k_m*m,c_n5)->Conv2d(k_1*1,c_15)->O2;
重构的YOLO_V3网络输出O3获取过程:
Output[ConvSet_2]->Conv(Conv(k_1*1,c_32)->UpSampling->
Concatenate(Output[ResConv_4])->ConvSet_3->Conv(k_m*m,c_n3)->Conv2d(k_1*1,c_15)->O3;
其中,Input_images(H*W)表示输入高为H宽为W的图片;Conv(k_m*m,c_n)表示卷积核大小为m*m,输出通道为n的卷积层,n∈{n1,n2,n3,n4,n5,n6};卷积层包含串联的BatchNorm(批量正则化层)层和ReLU层(修正线性激活函数层);Output[]表示获取某一层的输出结果;UpSampling表示上采样操作,ResConv_1~ResConv_5分别为一系列卷积操作的集合:
ResConv_1:
input_1->Conv(k_1*1,c_n1)->Conv(k_m*m,c_n2)
Output[ResConv_1]=input_1+output[Conv(k_m*m,c_n2)];
ResConv_2:
input_2->Conv(k_1*1,c_n2)->Conv(k_m*m,c_n3)
Output[ResConv_2]=input_2+output[Conv(k_m*m,c_n3)];
ResConv_3:
input_3->Conv(k_1*1,c_n3)->Conv(k_m*m,c_n4)
Output[ResConv_3]=input_3+output[Conv(k_m*m,c_n4)];
ResConv_4:
input_4->Conv(k_1*1,c_n4)->Conv(k_m*m,c_n5)
Output[ResConv_4]=input_4+output[Conv(k_m*m,c_n5)]
ResConv_5:
input_5->Conv(k_1*1,c_n5)->Conv(k_m*m,c_n6)
Output[ResConv_5]=input_5+output[Conv(k_m*m,c_n6)];
ConvSet_1表示一系列的串联卷积层集合:
Conv(k_1*1,c_n5)->Conv(k_3*3,c_n6)->Conv(k_1*1,c_n5)->Conv(k_3*3,c_n6)->Conv(k_1*1,c_n5);
ConvSet_2表示一系列的串联卷积层集合:
Conv(k_1*1,c_n4)->Conv(k_3*3,c_n5)->Conv(k_1*1,c_n4)->Conv(k_3*3,c_n5)->Conv(k_1*1,c_n4);
ConvSet_3表示一系列的串联卷积层集合:
Conv(k_1*1,c_n3)->Conv(k_3*3,c_n4)->Conv(k_1*1,c_n3)->Conv(k_3*3,c_n4)->Conv(k_1*1,c_n3)。
5.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,步骤S3的判别器网络包括七层的全卷积层,前六个卷积层后面都级联BatchNorm(批量正则化层)层和ReLU层(修正线性激活函数层),最后一层卷积层用Sigmoid函数(S型函数)作为激活层函数,输出预测概率;
判别器网络结构如下,各层之间直接串联:
Input_images(H*W)->Conv(k_h*h,c_n1)->Conv(k_h*h,c_n2)->Conv(k_h*h,c_n3)->Conv(k_h*h,c_n4)->Conv(k_h*h,c_n7)>Conv(k_h*h,c_n7)->Conv2d(k_3*3,c_1)->Sigmoid()
输出:Output[Sigmoid()]
Input_images(H*W)表示高为H,宽为W的输入图片;Conv2d(k_h*h,c_1)表示卷积核为h*h,输出通道为1的卷积过程,不包括BatchNorm层和ReLU层;Output[]表示获取某一层的输出结果;
判别器损失函数计算过程如下:
判别器网络以二分类交叉熵损失函数作为损失函数,输入图片数据后输出是一个预测值zi,zi∈[0,1];判别器损失函数如下:
LD=-Σiqilog(zi)+(1-qi)log(1-zi)
其中,qi表示标签样本,正样本取值为1,负样本取值为0。
6.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,所述步骤S4具体包括以下步骤:
S41、首先以批量训练的方式训练步骤S3所述的目标预测网络,使用随机梯度下降(Adam)的策略训练,前两次迭代只训练重构的YOLO-V3网络部分;
S42、同步训练判别器网络,包括以下步骤:
S421、从第三次迭代开始训练判别器网络,按批将一组图片输入目标预测网络,得到总的预测输出O,计算对应的损失并使用随机梯度下降(Adam)算法更新目标预测网络的参数;
S422、假设输入的这组图片总共包含k个最初标注的框即步骤S2得到的标注框,先从目标预测网络输出的所有预测框里面剔除掉和步骤S2中已经标注好的标注框IOU值大于0.5的那些预测框,然后再剔除掉超出边界或者置信度大于0.8以上的预测框,从剩下的预测框里面随机筛选出k个框作为负样本,最先标注的k个标注框作为正样本,不包含后来网络自动筛选后加入的预测框,截取对应的图像区域,并将图像其它区域置零;
S423、将这组总共2k张图像输入判别器网络,负样本的标签为0,正样本的标签为1,利用判别器损失函数计算对应损失,并更新判别器网络的参数;
S43、从第四次迭代开始,筛选优质的候选框作为标签,参与下一轮的训练,优质的候选框筛选标准和筛选过程如下:
S431、去掉最初标注框IOU值大于0.5的预测框,去掉置信度小于0.8的预测框,再用最大阀值抑制算法(NMS)从剩下的预测框中筛选优质的候选框,NMS算法描述:
1)、先将所有的预测框按置信度大小进行排序,选出置信度最大的预测框A加入候选框集合B;
2)、计算剩下的预测框和A的IOU值,如果IOU值大于0.5,则将对应的预测框丢掉;
3)、对剩余的预测框重复步骤1和步骤2,直到只剩最后一格预测框,将其加入候选框集合B;
S432、截取候选框集合B中对应的图像区域,并将其它区域置零,得到一组图片,将这组图片输入判别器网络,将判别器网络预测值大于0.9的图像对应的候选框作为优质预测框加入标签集;
S44、按照上述步骤训练j次迭代次数,未被标注的目标将被目标检测网络预测并且添加到标签集里面,保存训练好的目标预测网络和判别器网络。
7.根据权利要求书1所述的一种基于对抗学习的非感应式餐盘图像数据自动标注方法,其特征在于,所述步骤S5包括以下步骤:
S51、将图像数据输入训练好的目标预测网络,按照步骤S431初步筛选预测框B1;
S52、按照步骤S432所述步骤截取B1对应的候选区域并将其它区域置零,将得到的图片输入训练好的判别器网络,将预测值大于0.9的图像对应的候选框作为正确预测框并标注标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910828167.XA CN110765844B (zh) | 2019-09-03 | 2019-09-03 | 一种基于对抗学习的非感应式餐盘图像数据自动标注方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910828167.XA CN110765844B (zh) | 2019-09-03 | 2019-09-03 | 一种基于对抗学习的非感应式餐盘图像数据自动标注方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765844A CN110765844A (zh) | 2020-02-07 |
CN110765844B true CN110765844B (zh) | 2023-05-26 |
Family
ID=69330239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910828167.XA Active CN110765844B (zh) | 2019-09-03 | 2019-09-03 | 一种基于对抗学习的非感应式餐盘图像数据自动标注方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765844B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523610B (zh) * | 2020-05-06 | 2023-04-21 | 青岛联合创智科技有限公司 | 一种样本高效标注的物品识别方法 |
CN111724402B (zh) * | 2020-06-18 | 2021-07-20 | 北京小白世纪网络科技有限公司 | 一种医疗影像标注方法、系统及装置 |
CN111783777B (zh) * | 2020-07-07 | 2023-11-24 | 抖音视界有限公司 | 图像处理方法、装置、电子设备和计算机可读介质 |
CN111814885B (zh) * | 2020-07-10 | 2021-06-22 | 云从科技集团股份有限公司 | 一种管理图像框的方法、系统、设备及介质 |
CN111931591B (zh) * | 2020-07-15 | 2024-01-12 | 北京百度网讯科技有限公司 | 用于构建关键点学习模型的方法、装置、电子设备及可读存储介质 |
CN112488160B (zh) * | 2020-11-16 | 2023-02-07 | 浙江新再灵科技股份有限公司 | 图像分类任务的模型训练方法 |
CN113239950A (zh) * | 2021-01-13 | 2021-08-10 | 深延科技(北京)有限公司 | 标注方法、装置、电子设备及存储介质 |
CN112884135B (zh) * | 2021-04-29 | 2021-07-30 | 聚时科技(江苏)有限公司 | 一种基于边框回归的数据标注校正方法 |
CN113505803B (zh) * | 2021-05-17 | 2023-06-20 | 北京航空航天大学 | 基于奇异值分解的实例物体自标注方法 |
CN113283509B (zh) * | 2021-05-28 | 2024-03-29 | 深圳一清创新科技有限公司 | 一种自动标注标签的方法、电子设备及存储介质 |
CN113358670B (zh) * | 2021-06-24 | 2022-11-18 | 华南理工大学 | 双线型像质计可识别率的测量方法、系统、设备和介质 |
CN113870870B (zh) * | 2021-12-02 | 2022-04-05 | 自然资源部第一海洋研究所 | 一种基于卷积神经网络的海洋哺乳动物发声实时识别方法 |
CN114627279B (zh) * | 2022-05-17 | 2022-10-04 | 山东微亮联动网络科技有限公司 | 一种快餐菜品定位方法 |
CN116188947B (zh) * | 2023-04-28 | 2023-07-14 | 珠海横琴圣澳云智科技有限公司 | 基于领域知识的半监督信号点检测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268870A (zh) * | 2018-01-29 | 2018-07-10 | 重庆理工大学 | 基于对抗学习的多尺度特征融合超声图像语义分割方法 |
CN109147254A (zh) * | 2018-07-18 | 2019-01-04 | 武汉大学 | 一种基于卷积神经网络的视频野外火灾烟雾实时检测方法 |
CN109543754A (zh) * | 2018-11-23 | 2019-03-29 | 中山大学 | 基于端对端深度学习的目标检测与语义分割的并行方法 |
CN109949317A (zh) * | 2019-03-06 | 2019-06-28 | 东南大学 | 基于逐步对抗学习的半监督图像实例分割方法 |
CN110110745A (zh) * | 2019-03-29 | 2019-08-09 | 上海海事大学 | 基于生成对抗网络的半监督x光图像自动标注 |
-
2019
- 2019-09-03 CN CN201910828167.XA patent/CN110765844B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268870A (zh) * | 2018-01-29 | 2018-07-10 | 重庆理工大学 | 基于对抗学习的多尺度特征融合超声图像语义分割方法 |
CN109147254A (zh) * | 2018-07-18 | 2019-01-04 | 武汉大学 | 一种基于卷积神经网络的视频野外火灾烟雾实时检测方法 |
CN109543754A (zh) * | 2018-11-23 | 2019-03-29 | 中山大学 | 基于端对端深度学习的目标检测与语义分割的并行方法 |
CN109949317A (zh) * | 2019-03-06 | 2019-06-28 | 东南大学 | 基于逐步对抗学习的半监督图像实例分割方法 |
CN110110745A (zh) * | 2019-03-29 | 2019-08-09 | 上海海事大学 | 基于生成对抗网络的半监督x光图像自动标注 |
Also Published As
Publication number | Publication date |
---|---|
CN110765844A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765844B (zh) | 一种基于对抗学习的非感应式餐盘图像数据自动标注方法 | |
CN110428428B (zh) | 一种图像语义分割方法、电子设备和可读存储介质 | |
CN108549891B (zh) | 基于背景与目标先验的多尺度扩散显著目标检测方法 | |
CN109154978B (zh) | 用于检测植物疾病的系统和方法 | |
CN108765371B (zh) | 一种病理切片中非常规细胞的分割方法 | |
CN105844285B (zh) | 基于图像信息的黄瓜病害识别方法及装置 | |
CN104408429B (zh) | 一种视频代表帧提取方法及装置 | |
Chen et al. | Image segmentation by MAP-ML estimations | |
Aslan et al. | Benchmarking algorithms for food localization and semantic segmentation | |
Panagiotakis et al. | Region-based fitting of overlapping ellipses and its application to cells segmentation | |
CN103914683A (zh) | 基于人脸图像的性别识别方法及系统 | |
CN108710916B (zh) | 图片分类的方法及装置 | |
CN110163884B (zh) | 一种基于全连接深度学习神经网络的单个图像分割方法 | |
JPH06150000A (ja) | 画像クラスタリング装置 | |
Ahmadi et al. | Document image binarization using a discriminative structural classifier | |
CN103262119A (zh) | 用于对图像进行分割的方法和系统 | |
CN110866896A (zh) | 基于k-means与水平集超像素分割的图像显著性目标检测方法 | |
CN109448015A (zh) | 基于显著图融合的图像协同分割方法 | |
CN110163111A (zh) | 基于人脸识别的叫号方法、装置、电子设备及存储介质 | |
CN114758288A (zh) | 一种配电网工程安全管控检测方法及装置 | |
CN110517270B (zh) | 一种基于超像素深度网络的室内场景语义分割方法 | |
Yue et al. | An efficient color quantization based on generic roughness measure | |
Koonsanit et al. | Determination of the initialization number of clusters in K-means clustering application using Co-occurrence statistics techniques for multispectral satellite imagery | |
Li et al. | Instance aware document image segmentation using label pyramid networks and deep watershed transformation | |
Chopra et al. | Recent studies on segmentation techniques for food recognition: A survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |