基于卷积神经网络的色情图片识别方法及装置
技术领域
本发明涉及图片识别技术领域,尤其涉及一种基于卷积神经网络的智能鉴黄算法。
背景技术
大部分的互联网应用都允许用户上传头像、图片等,图片的内容包罗万象。但是,国家对上传到网络中的图片的内容具有严格的规定,禁止上传、分享黄色图片,即淫秽色情图片。因此,在图片成功上传到网络之前要经过检测,判断是否为淫秽色情图片等不能在网络上传播的图片。
目前,一些主流的AI公司、云服务厂商以及业务安全厂商都提供了API服务,用于检测图片、头像是否为淫秽色情图片,简称为鉴黄服务。通常,鉴黄服务都是基于深度学习模型,提取图片中的特征,并根据提取到的特征判断图片内容是否涉黄。
现有的图片识别结果仅有两类,即正常图片和黄色图片,但在实际应用中发现,对于图片中既包括正常图片特征又包括性感图片特征的混淆图片,容易导致识别结果出现误差,例如,将普通的性感图片识别为黄色图片。
发明内容
本发明的目的在于提供一种基于卷积神经网络的色情图片识别方法及装置,能够提高图片鉴黄识别的准确性。
为了实现上述目的,本发明的一方面提供一种基于卷积神经网络的色情图片识别方法,包括:
将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量;
基于所述特征向量计算分类概率值,得到初步分类结果;
将所述分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值;
根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型,其中,所述训练参数包括权重w和偏置b;
获取待测图片,输入图片识别模型得到识别结果。
优选地,将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量之前还包括:
初始化卷积神经网络参数,所述初始化的参数包括迭代次数阈值、权重w和偏置b;
将图片的识别结果划分为黄色图片、低俗性感图片、正常性感图片和正常图片四类。
优选地,基于所述特征向量计算分类概率值,得到初步分类结果的方法包括:
采用
计算特征向量的分类概率值,所述V
i表示提取出的特征向量,i表示分类索引,C表示分类总数,其中,S
1表示黄色图片的分类概率值,S
2表示低俗性感图片的分类概率值,S
3表示正常性感图片的概率值,S
4表示正常图片的分类概率值;
基于分类概率值中的最大值,输出样本图片的初步分类结果。
较佳地,将所述分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值的方法包括:
采用第一损失函数
计算分类损失值,所述S
yi为初步分类结果对应的线性得分函数;
基于样本图片的分类标签与所述样本图片的初步分类结果,采用第二损失函数公式
计算当次训练的修正损失值。
较佳地,所述基于样本图片的分类标签与对所述样本图片的初步分类结果,计算当次训练的修正损失值的方法包括:
当样本图片的分类标签与初步分类结果一致,且均为黄色图片或者正常图片时采用函数Lporn=-αtanh(|S4-S1|-β)计算其修正损失值;
当样本图片的分类标签为黄色图片而初步分类结果为正常图片,或者当样本图片的分类标签为正常图片而初步分类结果为黄色图片时,采用函数Lporn=αtanh(|S4-S1|+β)计算其修正损失值;
当初步分类结果为低俗性感图片或正常性感图片时,默认其修正损失值为零。
进一步地,根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型的方法包括:
汇总分类损失值与修正损失值得到总损失值,反向调整卷积神经网络中卷积层、池化层及批归一化层的训练参数,更新权重w和偏置b;
判断当前迭代次数是否达到迭代次数阈值,若判断结果为否则调用更新后的权重w和偏置b重新获取样本图片执行上述迭代训练,直至判断结果为是,输出最新的权重w和偏置b构建图片识别模型。
与现有技术相比,本发明提供的基于卷积神经网络的色情图片识别方法具有以下有益效果:
本发明提供的基于卷积神经网络的色情图片识别方法中,通过将标记有分类标签的样本图片输入卷积神经网络迭代训练,提取特征向量后计算分类概率值,并根据分类概率值的大小识别初步分类结果,然后基于样本图片自身的分类标签和初步分类结果,分别使用第一损失函数计算其分类损失值,以及使用第二损失函数计算其修正损失值,汇总损失值后反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出训练参数构建图片识别模型。
可见,本发明通过引入第二损失函数对损失值修正计算,利用汇总损失值更加精准的调整卷积神经网络的训练参数,进而提高图片识别模型的鉴黄识别准确性。
本发明的另一方面提供一种基于卷积神经网络的色情图片识别装置,应用有上述技术方案提到的基于卷积神经网络的色情图片识别方法中,该装置包括:
特征提取单元,用于将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量;
初步分类单元,基于所述特征向量计算分类概率值,得到初步分类结果;
计算单元,用于将所述分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值;
模型训练单元,用于根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型,其中,所述训练参数包括权重w和偏置b;
图片识别单元,用于获取待测图片,输入图片识别模型得到识别结果。
优选地,所述初步分类单元包括:
分类概率值计算模块,用于采用计算特征向量的分类概率值,所述Vi表示提取出的特征向量,i表示分类索引,C表示分类总数,其中,S1表示黄色图片的分类概率值,S2表示低俗性感图片的分类概率值,S3表示正常性感图片的概率值,S4表示正常图片的分类概率值;
初步分类模块,用于基于分类概率值中的最大值,输出样本图片的初步分类结果。
较佳地,所述计算单元包括:
第一计算模块,用于采用第一损失函数
计算分类损失值,所述S
yi为初步分类结果对应的线性得分函数;
第二计算模块,基于样本图片的分类标签与对所述样本图片的初步分类结果,采用第二损失函数公式
计算当次训练的修正损失值。
进一步地,所述模型训练单元包括:
反向调整模块,用于汇总分类损失值与修正损失值得到总损失值,反向调整卷积神经网络中卷积层、池化层及批归一化层的训练参数,更新权重w和偏置b;
判断输出模块,用于判断当前迭代次数是否达到迭代次数阈值,若判断结果为否则调用更新后的权重w和偏置b重新获取样本图片执行上述迭代训练,直至判断结果为是,输出最新的权重w和偏置b构建图片识别模型。
与现有技术相比,本发明提供的基于卷积神经网络的色情图片识别装置的有益效果与上述技术方案提供的基于卷积神经网络的色情图片识别方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一中基于卷积神经网络的色情图片识别方法的流程示意图;
图2为本发明实施例一中图片识别模型的训练流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1和图2,本实施例提供一种基于卷积神经网络的色情图片识别方法,包括:
将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量;基于特征向量计算分类概率值,得到初步分类结果;将分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值;根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型,其中,训练参数包括权重w和偏置b;获取待测图片,输入图片识别模型得到识别结果。
本实施例提供的基于卷积神经网络的色情图片识别方法中,通过将标记有分类标签的样本图片输入卷积神经网络迭代训练,提取特征向量后计算分类概率值,并根据分类概率值的大小识别初步分类结果,然后基于样本图片自身的分类标签和初步分类结果,分别使用第一损失函数计算其分类损失值,以及使用第二损失函数计算其修正损失值,汇总损失值后反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出训练参数构建图片识别模型。
可见,本实施例通过引入第二损失函数对损失值修正计算,利用汇总损失值更加精准的调整卷积神经网络的训练参数,进而提高图片识别模型的鉴黄识别准确性。
优选地,上述实施例中将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量之前还包括:
初始化卷积神经网络参数,初始化的参数包括迭代次数阈值、权重w和偏置b;将图片的识别结果划分为黄色图片、低俗性感图片、正常性感图片和正常图片四类。
具体实施时,卷积神经网络参数的初始化过程为本领域技术人员所熟知的,在此不做赘述,示例性地,初始化的参数包括迭代次数阈值、权重w、偏置b和学习率,其中迭代次数阈值为500000次,初始学习率为0.01,且每迭代100000次要求学习率降低10倍;同时,为了降低黄色图片与正常图片的识别出错概率,本实施例通过引入低俗性感图片和正常性感图片类别加以过渡,以避免将属于过渡类别的待测图片错误识别为黄色图片或正常图片,提高图片识别模型的识别准确性。
上述实施例中,将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量的方法包括:
卷积神经网络的迭代训练过程本质为监督学习的过程,训练开始时,首先通过卷积神经网络的数据层采样大批的待测图片数据,然后随机选择其中一张待测图片识别其分类标签,并将该待测图片经过卷积操作、池化操作、批归一化操作不断的进行特征提取,最后通过输出层输出特征向量。
具体地,上述实施例中基于特征向量计算分类概率值,得到初步分类结果的方法包括:
采用计算特征向量的分类概率值,Vi表示提取出的特征向量,i表示分类索引,C表示分类总数;基于分类概率值中的最大值,输出样本图片的初步分类结果。
具体实施时,采用softmax函数,也即函数计算特征向量的分类概率值,其中,分类总数C的取值为4,i表示分类索引,对应取值为1、2、3、4中的任一项,j的取值为1至4,Si表示的是当前元素的指数与所有元素指数和的比值,最终得到的S1表示黄色图片的分类概率值,S2表示低俗性感图片的分类概率值,S3表示正常性感图片的概率值,S4表示正常图片的分类概率值,然后根据上述求得的4个分类概率值中的最大值,输出对应的初步分类结果。
为了便于理解,对上述初步分类结果的具体实现过程做示例性说明:
采用softmax函数
处理后,对应得到的四个分类概率值为
上述求得的4个分类概率值中第四类的概率值最大,因此该样本图片的初步分类结果为正常图片。
进一步地,上述实施例中将分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值的方法包括:
采用第一损失函数
计算分类损失值,S
yi为初步分类结果对应的线性得分函数;基于样本图片的分类标签与对样本图片的初步分类结果,采用第二损失函数公式
计算当次训练的修正损失值。
具体实施时,第一损失函数实质为概率损失函数
由于log运算符不会影响函数的单调性,我们对其进行log操作,得到:
由于期望Si越大越好,即正确类别对应的相对概率越大越好,通过在Si前面加负号来表示其损失函数,得到:
对上式进一步处理,把指数约去,得到:
由于上述样本图片的初步分类结果为第四类,计算其分类损失值为:
Li=-2+log(e-3+e0+e-1+e2)=0.1755。
进一步地,上述实施例中基于样本图片的分类标签与对样本图片的初步分类结果,计算当次训练的修正损失值的方法包括:
当样本图片的分类标签与初步分类结果一致,且均为黄色图片或者正常图片时采用函数Lporn=-αtanh(|S4-S1|-β)计算其修正损失值;当样本图片的分类标签为黄色图片而初步分类结果为正常图片,或者当样本图片的分类标签为正常图片而初步分类结果为黄色图片时,采用函数Lporn=αtanh(|S4-S1|+β)计算其修正损失值;当初步分类结果为低俗性感图片或正常性感图片时,默认其修正损失值为零。
具体实施时,仍以上述示例进行说明,由于初步分类结果与样本图片的分类标签结果一致均为正常图片,故采用函数Lporn=-αtanh(|S4-S1|-β)计算其修正损失值,经反复训练设置α=0.2,β=0.5,S4经上述计算为0.8390,S1经上述计算为0.0057,最终得到Lporn=0.0011,Lsum=Li+Lporn=0.1766。
请参阅图2,上述实施例中根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型的方法包括:
汇总分类损失值与修正损失值得到总损失值,反向调整卷积神经网络中卷积层、池化层及批归一化层的训练参数,更新权重w和偏置b;判断当前迭代次数是否达到迭代次数阈值,若判断结果为否则调用更新后的权重w和偏置b重新获取样本图片执行上述迭代训练,直至判断结果为是,输出最新的权重w和偏置b构建图片识别模型。需要说明的是,上述反向调整卷积神经网络中卷积层、池化层及批归一化层的训练参数为现有技术中熟知的方案,本实施例在此不做赘述。
实施例二
本实施例提供一种基于卷积神经网络的色情图片识别装置,包括:
特征提取单元,用于将标记有分类标签的样本图片输入卷积神经网络迭代训练,并提取特征向量;
初步分类单元,基于所述特征向量计算分类概率值,得到初步分类结果;
计算单元,用于将所述分类概率值输入第一损失函数计算分类损失值,以及输入第二损失函数获得修正损失值;
模型训练单元,用于根据分类损失值与修正损失值之和反向调整卷积神经网络的训练参数,直至达到迭代次数阈值时输出最新的训练参数构建图片识别模型,其中,所述训练参数包括权重w和偏置b;
图片识别单元,用于获取待测图片,输入图片识别模型得到识别结果。
优选地,所述初步分类单元包括:
分类概率值计算模块,用于采用
计算特征向量的分类概率值,所述V
i表示提取出的特征向量,i表示分类索引,C表示分类总数,其中,S
1表示黄色图片的分类概率值,S
2表示低俗性感图片的分类概率值,S
3表示正常性感图片的概率值,S
4表示正常图片的分类概率值;
初步分类模块,用于基于分类概率值中的最大值,输出样本图片的初步分类结果。
较佳地,所述计算单元包括:
第一计算模块,用于采用第一损失函数
计算分类损失值,所述S
yi为初步分类结果对应的线性得分函数;
第二计算模块,基于样本图片的分类标签与对所述样本图片的初步分类结果,采用第二损失函数公式
计算当次训练的修正损失值。
进一步地,所述模型训练单元包括:
反向调整模块,用于汇总分类损失值与修正损失值得到总损失值,反向调整卷积神经网络中卷积层、池化层及批归一化层的训练参数,更新权重w和偏置b;
判断输出模块,用于判断当前迭代次数是否达到迭代次数阈值,若判断结果为否则调用更新后的权重w和偏置b重新获取样本图片执行上述迭代训练,直至判断结果为是,输出最新的权重w和偏置b构建图片识别模型。
与现有技术相比,本实施例提供的基于卷积神经网络的色情图片识别装置的有益效果与上述实施例提供的基于卷积神经网络的色情图片识别方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,上述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。