发明名称 基于慢特征分析的暴力视频检测方法
摘要 本发明公开了一种基于慢特征分析的暴力视频检测方法,包括以下步骤:对已经标好类的视频进行密集轨迹提取,基于轨迹用慢特征分析方法学出慢特征函数,通过慢特征函数得到视频段的特征表示,最后对提取的特征进行训练并建模;对新来视频进行特征提取,将提取的特征输入到训练得到的模型,得到视频的类别(暴力视频或非暴力视频)。该方法通过密集轨迹提取构建了有效的特征向量,并通过慢特征分析方法学出了非常具有区分力的视频特征表示。近几年随着社交网站的发展,大量的视频被上传到互联网供用户下载,其中不乏含有暴力内容的视频,这些内容会对青少年产生不良影响,基于慢特征分析的暴力视频检测方法能有效检测出这些不良内容,对建设健康的互联网环境具有重要作用。
申请公布号 CN102902981B 申请公布日期 2016.07.06
申请号 CN201210340160.1 申请日期 2012.09.13
申请人 中国科学院自动化研究所 发明人 王亮;张彰;王开业
分类号 G06K9/62(2006.01)I;G06T7/20(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 宋焰琴
主权项 一种基于慢特征分析的暴力视频检测方法,其特征在于,该方法包括以下步骤:步骤S1,对于已经标好类的视频样本,通过计算某一帧每个位置的偏移量来计算其密集光流场;步骤S2,从所述视频的每个帧中以一定步长提取多个密集特征点,分别跟踪所述密集特征点在整个视频中的轨迹,从而得到由所述视频中所有密集特征点对应的密集轨迹组成的密集轨迹集合T;步骤S3,对于所述密集轨迹集合T中的每条密集轨迹,提取其中各轨迹点邻域的像素值,构建出与每条密集轨迹对应的多个向量V;步骤S4,基于每条密集轨迹对应的多个向量V,通过慢特征学习方法,对于每一类向量,得到一个对该类向量对应的J维慢特征函数C1;步骤S5,将步骤S3得到的与每条密集轨迹对应的多个向量V分别输入到慢特征函数C1中,基于所述慢特征函数C1的输出向量构建该视频的特征表示f;步骤S6,将所述视频的特征表示f作为特征向量输入到支持向量机SVM分类器中,构造分类器模型;步骤S7,输入一个测试视频,将该测试视频分为多个测试视频段,对于每个测试视频段计算其密集光流场;步骤S8,从所述测试视频段的每个帧中提取多个密集特征点,分别跟踪所述密集特征点在整个视频段中的轨迹,从而得到由所述测试视频段中所有密集特征点对应的密集轨迹组成的密集轨迹集合T′;步骤S9,对于所述密集轨迹集合T′中的每条密集轨迹,提取其中各轨迹点邻域的像素值,构建出与每条密集轨迹对应的多个向量V′;步骤S10,将步骤S9得到的与每条密集轨迹对应的多个向量V′输入到所述慢特征函数C1中,基于所述慢特征函数C1的输出向量得到该测试视频段的特征表示f′;步骤S11,将所述测试视频段的特征表示f′作为特征向量输入到所述步骤S6得到的分类器模型中,即可判断该测试视频段是否为暴力视频段;步骤S12,如果该测试视频中超过一比例的视频段被识别为暴力,则该测试视频为暴力视频,否则,为非暴力视频;所述步骤S4中,通过慢特征学习方法得到慢特征函数C1进一步为:假定向量的类别共有C类,令t∈[t<sub>0</sub>,t<sub>1</sub>]表示时间,对于第c类的一个I维输入向量V(I=3*h×w):{x<sub>c</sub>(t)=[x<sub>c1</sub>(t),...,x<sub>cI</sub>(t)]|c∈{1,...,C}},使用慢特征方法即通过最小化下式得到一组J维慢特征函数C1:g<sub>c</sub>(x)=[g<sub>c1</sub>(x),...,g<sub>cJ</sub>(x)]<sup>T</sup>,其中,函数C1中的第j维元素g<sub>cj</sub>(x)表示类c的第j个慢特征函数:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub><mo>(</mo><msub><mi>x</mi><mi>c</mi></msub><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mi>&gamma;</mi><mo>*</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub><mo>(</mo><msub><mi>x</mi><msup><mi>c</mi><mo>&prime;</mo></msup></msub><mo>)</mo><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mo>&lt;</mo><msup><mrow><mo>&lsqb;</mo><msub><mi>g</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>c</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mn>2</mn></msup><msub><mo>&gt;</mo><mi>t</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>*</mo><mo>&lt;</mo><msup><mrow><mo>&lsqb;</mo><msub><mi>g</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><msup><mi>c</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mn>2</mn></msup><msub><mo>&gt;</mo><mi>t</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><msubsup><mi>&omega;</mi><mrow><mi>c</mi><mi>j</mi></mrow><mi>T</mi></msubsup><mrow><mo>&lsqb;</mo><mrow><mo>&lt;</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>c</mi></msub><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>c</mi><mi>T</mi></msubsup><msub><mo>&gt;</mo><mi>t</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>*</mo><mo>&lt;</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><msup><mi>c</mi><mo>&prime;</mo></msup></msub><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><msup><mi>c</mi><mo>&prime;</mo></msup><mi>T</mi></msubsup><msub><mo>&gt;</mo><mi>t</mi></msub></mrow><mo>&rsqb;</mo></mrow><msub><mi>&omega;</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub></mrow></mtd></mtr></mtable><mo>,</mo></mrow>]]></math><img file="FDA0000981476740000021.GIF" wi="798" he="333" /></maths>上式的约束条件为:&lt;g<sub>cj</sub>(x<sub>c∪c′</sub>)&gt;<sub>t</sub>=0,&lt;[g<sub>ci</sub>(x<sub>c∪c′</sub>)]<sup>2</sup>&gt;<sub>t</sub>=1,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>&ForAll;</mo><msup><mi>j</mi><mo>&prime;</mo></msup><mo>&lt;</mo><mi>j</mi><mo>:</mo><mo>&lt;</mo><msub><mi>g</mi><mrow><msup><mi>cj</mi><mo>&prime;</mo></msup></mrow></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>c</mi><mo>&cup;</mo><msup><mi>c</mi><mo>&prime;</mo></msup></mrow></msub><mo>)</mo></mrow><msub><mi>g</mi><mrow><mi>c</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>c</mi><mo>&cup;</mo><msup><mi>c</mi><mo>&prime;</mo></msup></mrow></msub><mo>)</mo></mrow><msub><mo>&gt;</mo><mi>t</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000981476740000022.GIF" wi="821" he="103" /></maths>其中,Δ(·)表示对向量序列·求一阶导数后再在时间上求平均,x<sub>c′</sub>为第c′类的输入向量V,<img file="FDA0000981476740000023.GIF" wi="46" he="57" />为对向量x<sub>e</sub>求一阶导数,<img file="FDA0000981476740000024.GIF" wi="54" he="59" />为对向量x<sub>c′</sub>求一阶导数,&lt;·&gt;<sub>t</sub>表示在时间上对·取均值,ω<sub>ci</sub>表示类c的第j个慢特征函数的权重向量,γ为权重系数,x<sub>c∪c′</sub>表示所有类别的输入向量,h×w表示每条密集轨迹中各轨迹点的邻域。
地址 100190 北京市海淀区中关村东路95号