基于递进卷积神经网络的台标识别及其并行化
2016-06-20许子立姚剑敏郭太良
许子立,姚剑敏,郭太良
(福州大学 平板显示技术国家地方联合工程实验室,福建 福州 350002)
基于递进卷积神经网络的台标识别及其并行化
许子立,姚剑敏,郭太良
(福州大学 平板显示技术国家地方联合工程实验室,福建 福州 350002)
摘要:针对台标的视觉特征,提出一种基于递进卷积神经网络的台标识别算法。该网络不仅有对图像特征进行隐性提取的卷积层和采样层,还包括识别常规台标的泛化模块和识别偏差台标的特异模块。针对串行卷积神经网络训练耗时长的缺点,提出基于Spark的并行递进卷积神经网络算法,采用数据共享及批处理方式对算法模型进行并行化处理。实验证明,递进卷积神经网络算法对台标进行识别能达到98 %的正确率,多节点并行化卷积神经网络相比于单节点模型能有效缩短80%以上训练所需的时间。
关键词:台标识别;卷积神经网络;递进;并行;Spark
1台标识别
电视台台标作为一个电视台的标识,其中包含了许多重要的信息,台标是一个电视台声明版权的方式,通过对台标的识别,能够实现视频的分析、理解以保证播出的电视信号不会受到非法的干扰[1-2]。此外,也能借助对于台标的识别进而统计电视台的收视率,或对用户的收视行为进行分析,对电视台播放节目具有指导意义。
目前我国电视台现行台标按照透明度可划分为不透明台标和半透明台标,按照台标的位置、颜色是否随时间变化可划分为固定台标和动态台标,图1所示为几个常见的台标。
图1 常见台标示例
对于台标识别的研究,国内已经有过一些相关的文献,传统的算法需先对台标进行分割处理,台标分割的过程多基于视频流帧间做差[3],这种方法不能应用于实时检测的场景中。一些识别算法无法对台标的位移、倾斜、颜色改变等做出正确的识别,这使其无法应用于对动态台标的识别中。
本文针对以上算法所存在的弊端,提出一种改进的卷积神经网络算法对台标进行识别。首先阐述卷积神经网络算法用于台标识别的优势,并通过对卷积神经网络算法的改进,进一步提升台标识别的正确率。针对训练卷积神经网络模型耗时长的弊端,提出运用Spark并行计算框架对网络进行并行化处理,以加快网络模型的训练速度。最后通过大量的实验对上述算法的有效性进行验证,得出相关结论。
2神经网络在台标识别中的应用
本文选取神经网络作为台标识别的基础算法。不同于一般的图像识别匹配算法(如模板匹配法等),其将图像的训练和识别过程相分离[4],通过训练好的模型对待测的图标进行识别,能够有效降低识别过程的计算量,因此具有较快的识别速度。此外,神经网络模型具有学习能力,通过对大量样本数据的训练,具有较好的自适应能力,可以有效应对各种复杂条件下的台标进行识别。
卷积神经网络作为神经网络的一个分支,与普通神经网络结构相比,很大的不同点在于其权值共享网络结构,能有效降低网络模型复杂度。权值共享网络结构在对台标进行识别时具有特殊的优势,能将台标图像直接输入到网络中,避免了传统的识别算法的显式特征提取和数据重建的过程。由于同一特征映射面上的神经元权值相同,使得网络模型可以并行化学习。卷积神经网络这种结构使其具有识别速度快,识别正确率高,对诸如缩放、倾斜、平移等形式的变形具有高度不变性。
卷积神经网络对图像的特征提取是通过卷积和采样过程来实现的,卷积层的作用是对台标特征的提取,在台标图像中可能代表一段线段,一个角点等。采样层的作用为混淆特征的具体位置,这种混淆具体位置的方法能有效应对扭曲及变形。一个卷积神经网络通过卷积层提取低级的特征,再通过采样层组合成更抽象的特征,形成图像的特征描述,最终通过激活函数对台标进行识别与分类。图2为LeNet-5结构的卷积神经网络结构示意图。
图2 LeNet-5 结构卷积神经网络(截图)
本文提出的递进卷积神经网络模型是在卷积神经网络模型的基础上,受boosting思想的启发,先对台标数据集进行筛选,分为常规样本和偏差样本,分别用这两类样本训练各自模型网络,使这两个模型分别具有泛化性和特异性,泛化性模型能有效识别较为清晰,具有普遍性的台标数据集,特异性模型能提升对数据集中图像质量不佳的台标的识别率。这使得改进的模型相比于一般的卷积神经网络能够更有针对性地识别各种情况下的台标数据集,提升算法的鲁棒性。又因为在模型训练过程中移除了部分偏差数据集,加快模型的收敛速度,缩短了训练所需的时间。
3递进卷积神经网络的台标识别算法实现
3.1卷积神经网络的搭建
卷积神经网络算法包括参数的初始化,前向传播输出激活值和误差,通过反向传播将误差由后至前传播到各层,通过BP算法更新权重矩阵。前向传播和后向传播不断迭代以缩小输出误差。
3.1.1神经网络的初始化和参数设定
采取随机初始化卷积层和输出层的卷积核,并将偏置全部置为0。样本的训练次数由两个条件决定,当所训练的样本全部分对类别或训练次数超过20次时停止。学习速率定为0.01,衰减系数为0.9。本文训练样本选用自建的台标图库,大小为152×52像素,并将RGB图像通过式(1)转换为灰度图像。
Y=0.299×R+0.587×G+0.114×B
(1)
3.1.2前向传输计算
前向传输计算如图3所示。
图3 前向传输示意图
输入层:将预处理过的台标灰度图(152×52像素)输入到神经网络输入层中。
卷积层、采样层:C1层通过6个5×5的卷积核对输入图像进行卷积处理,生成14张148×48的特征图。S2层对C1层每次用一个2×2的像素区域进行采样,生成6张74×24的特征图,C3层将S2的特征图按表1所示,用1个输入层为150(5×5×6)个节点、输出层为16个节点的网络进行卷积,生成16张70×20的特征图。S4层重复S2层的步骤,生成16张35×10的特征图,最后S4层与输出层全连接,通过sigmoid激活函数,输出分类结果。
表1 LeNet5的连接表
注:表中N行M列的“1”表示C2层的第N个单元与C3层的第M个单元存在连接,“0”代表两者间无连接。
3.1.3反向传输调整权重
采用BP算法进行反向误差传递[5],依次从(输出层-S4-C3-S2-C1)反向更新模型权值和卷积核。
3.2基于递进分类思想的卷积神经网络台标识别算法
对卷积神经网络进行训练时,经常会遇到因为训练集样本质量的原因导致神经网络收敛速度慢、难以收敛的情况。这对于台标的识别尤其明显,台标样本的质量受到多重因素的影响,台标过于透明、背景颜色与台标颜色过于接近、干扰信号等都会对台标的训练过程产生不利的影响。针对这种情况,本文提出一种递进卷积神经网络台标识别算法。
递进卷积神经网络模型是由两个单独的卷积神经网络模型通过级联组合而成,首先对第一级网络模型进行训练,记录样本通过模型输出时分类的对错,设定一个阈值α,每一轮的训练结束时统计样本连续分错的次数,当连续分错的次数大于阈值α时,将其归类为偏差样本,将其从训练的总体样本中剔除出来。用余下的数据继续训练该卷积神经网络模型,重复以上步骤直到第一级网络模型的训练达到要求,然后再创建一个二级卷积神经网络,其网络模型的结构与第一级的网络结构相同,不同的是训练该卷积神经网络模型的数据是之前训练过程中所剔除出来的偏差样本。训练过程如图4a所示。
当需要对台标进行识别时,让样本先通过一级网络模型,输出层通过激活函数得到对应每个类别的输出值,此时并不直接以最大的输出值对应的分类作为该样本的最终分类,而是通过设定一个阈值β,当输出类别对应输出值大于β时,输出一级网络模型的分类结果,当输出类别对应的输出值小于β时,将该台标数据通过二级网络模型,再设定一个阈值β′,当从二级网络模型输出的值大于β′时,输出二级网络模型的分类结果,否则判定该样本为问题样本,不予分类。识别过程如图4b所示。
图4 卷积神经网络训练及预测模块
递进卷积神经网络模型所包含的两个网络模块中的一级模型为基于总体大部分常规样本训练而成,此模型对一般的台标数据更具有普遍性,能够有效识别样本中比较清晰的台标数据,二级模型为基于偏差样本数据训练而成,此模型能更有效地针对一些特殊情况(背景颜色与台标过于接近、信号干扰、半透明台标等)时的台标样本,对这类台标的识别具有特异性。
此外,为了获得更好的分类效果,在表1的基础上,通过改变C3层和S2层的连接方式,扩展卷积神经网络结构,以达到更好的分类效果,本文所使用的C3和S2层的连接方式如表2所示。
4基于Spark的并行递进卷积神经网络
随着信息化社会的快速发展,越来越多的数据需要被处理,而传统的串行处理模式已经不能满足人们的需求。以卷积神经网络为例,用串行方法训练一个大规模数据集时,往往需要几天甚至几星期的时间[6]。并行化卷积神经网络势在必行。本文提出一种基于Spark的并行递进卷积神经网络模型,利用其基于内存的迭代计算方式,有效避免了不必要的磁盘I/O开销,加速了迭代的速度。
Spark诞生于伯克利大学AMPLab实验室。其最重要的特性是创新性的提出了RDD(Resilient Distributed Datasets)的概念,Spark的计算操作全部基于对RDD的转换操作和行动操作上,其对RDD的转化操作采用的是懒策略,转换操作并不会触发任务的执行,只有当RDD执行行动操作时才会将RDD持久化起来,这一特性可以避免不必要的磁盘I/O消耗。
基于Spark的并行化递进卷积神经网络台标识别算法采用主从架构,其与串行算法最大的不同之处在于其权重矩阵和偏置的更新方式上。在BP算法中,如果每输入一个训练样本,都进行回传误差并调整权值进行网络的更新,则称为单样本训练。当所有训练样本全部通过输入后再计算网络的总误差,然后根据总误差计算各层的误差并调整权值进行网络的更新,这种累计误差的批处理方式称为批训练[6]。并行模式由于特别适合处理输出的结果与输入顺序不相关的迭代任务,而批训练模式正是将数据按批分割,每一批的训练并不需要用到其他批的数据,故并行卷积神经网络采用的是批训练模式。图5所示为权重更新示意图。
构建基于Spark的递进卷积神经网络时,首先将初始化过的权重矩阵及偏置转换为广播变量(Broadcast)广播至各从节点,广播变量的作用相当于全局共享变量。调度系统将作业拆分成不同阶段的具有依赖关系的多批任务,并制定任务之间的逻辑关系,主节点根据从节点的资源使用情况进行任务调度[7]。各从节点接收任务后开始执行任务,首先执行前向传输,批量计算样本总体误差,并将批量误差反馈给主节点,由主节点再开一个进程,规约从节点传来的误差,执行反向传播,对各层的权重矩阵和偏置进行更新,并将其重新广播至各从节点上,以此完成一轮的迭代工作。重复以上步骤,直到递进卷积神经网络模型训练完成。程序流程图如图6所示。
表2 改进的C3和S2层的连接方式
图5 基于Spark的并行递进卷积神经网络权重更新示意图
图6 基于Spark的并行递进卷积神经网络程序流程图
5设计与结果分析
5.1实验数据库构建
本文所使用的台标来源于自建的台标数据库,数据库中有10个电视台的台标,每个电视台分别有1 000张样本数据,将样本按照9∶1的比例划分为训练集和与测试集,并将台标转换为灰度图像,如图7所示为文本用于训练的部分台标样本集。
图7 自建台标数据库图像
5.2现有研究条件和基础
硬件环境:9个Dell R720服务器(4核,32 Gbyte内存),包括1个主节点和8个从节点。
软件环境:spark 1.4.1并行计算框架,MATLAB 2014Ra,HDFS分布式文件系统。
5.3实验结果
5.3.1台标检测正确率
将10个电视台的9 000张训练集数据分别输入普通卷积神经网络和递进卷积神经网络中,训练次数定为20次,递进卷积神经网络中的阈值设置如下:α设为5,β设为0.9,β′设为0.75。当网络达到训练次数或者将训练的台标全部分对类别时停止训练,将测试台标集依次输入训练好的两个模型中进行测试,采用的评价指标为准确率和召回率两种,如表3所示。
准确率的公式定义为
Ppre=TP/(TP+FP)
(2)
召回率的公式定义为
Prec=TP/(TP+FN)
(3)
表3 评价指标
准确率给出的是预测为正例的样本中真正为正例的比例,召回率给出的是预测为正例的真实正例占所有真实正例的比例。
实验结果如表4、表5所示。
表4 普通卷积神经网络测试准确率
表5 递进卷积神经网络测试准确率
实验表明,使用普通的卷积神经网络对台标进行识别时准确率和召回率总体能达到98.1%,其对不透明台标的识别率较好,达到98.8%,但对于半透明台标的识别率较低,仅为97%,平均每帧图像的识别速度为80.7 ms。采用级联模式的递进卷积神经网络识别率由98.1%提升为99.2%,其中不透明台标的识别率由98.8%提升到99.5%,半透明台标的识别率由97%提升为98.75%。由于增加了级联模块,平均每帧图片的识别时间由80.7 ms延至149.7 ms。
5.3.2神经网络并行化
本次测试分别使用单个从节点、2个从节点、4个从节点和8个从节点的Spark集群训练递进卷积神经网络,测试模型训练所需要的时间。样本数据为自建的台标数据库,共有9 000个台标样本,训练终止条件为训练超过指定次数或训练的数据全部分对类别时停止。试验结果如表6和图8所示。
表6 多节点并行卷积神经网络训练用时
图8 多节点并行化递进卷积神经网络训练用时及加速比
由实验结果可以看出,并行化卷积神经网络可以有效缩减训练模型所需要的时间,且集群中从节点越多时加速效果越明显,两者基本成正比关系。
6结束语
本文将改进的卷积神经网络模型运用于台标的识别中,通过对大量样本的训练,识别率达到99.2%,与普通卷及神经网络相比,对于半透明台标的识别率提升尤其明显。模型训练完成后平均每张图片的识别时间平均为150 ms右,识别率和识别速度较传统台标识别的算法有显著提升。面对训练卷积神经网络模型所需时间较长的缺点,创新性的运用Spark并行计算框架将卷积神经网络并行化处理,取得了较高的加速比。其优异的识别率和相对较小的训练时间成本使其能够真正运用于大数据时代海量的图像识别领域中。
参考文献:
[1]张重德.电视信号自动监测与报警系统[D].合肥:合肥工业大学,2008.
[2]张重德,张崇巍.电视信号台标检测原理与实现[J].合肥工业大学学报,2009(12):1816-1819.
[3]周献中,史迎春,王韬.基于HSV颜色空间加权Hu不变矩的台标识别[J].南京理工大学学报(自然科学版),2005(3):363-367.
[4]张博洋,曾向荣,刘振中. 基于神经网络的静态台标识别系统设计与实现[J].计算机仿真 2009,26(1):2012-215.
[5]LECUN Y,BOTTOU L,ORR G B.Efficient backprop,neural networks:tricks of the trade[M].Berlin Heidelberg:Springer,1998.
[6]刘进锋.一种简洁高效的加速卷积神经网络的方法[J].计算机技术,2014(33):240-244.
[7]高彦杰.Spark大数据处理:技术、应用与性能优化[M].北京:机械工业出版社, 2014.
责任编辑:时雯
Channel logo recognition based on progressive convolutional neural networks and its spark implementation
XU Zili,YAO Jianmin,GUO Tailiang
(National&LocalUnitedEngineeringLaboratoryofFlatPanelDisplayTechnology,FuzhouUniversity,Fuzhou350002,China)
Abstract:Referring to the character of channel logo, a channel logo recognition based on progressive convolutional neural networks is proposed. The network is not only have convolution layer and sampling layer to implicit extract image features but also includes the generalization module and subject-specific modules. Because of problems of time-consuming is too large for training serial convolution neural network, a parallel progressive convolutional neural networks algorithm based on Spark is proposed, which uses data sharing and batch mode. Experiments show that the performance of the channel logo recognition has been well improved,the method achieves 98% correct recognition rate, multi-node parallelism convolution neural network can shorten more than 80% training time.
Key words:channel logo recognition; convolutional neural network; progressive; parallel; Spark
中图分类号:TP751
文献标识码:A
DOI:10.16280/j.videoe.2016.05.015
基金项目:国家“863”重大科技专项(2013AA030601);福建省科技重大专项(2014HZ0003-1)
收稿日期:2015-09-21
文献引用格式:许子立,姚剑敏,郭太良.基于递进卷积神经网络的台标识别及其并行化[J].电视技术,2016,40(5):67-73.
XU Z L,YAO J M,GUO T L.Channel logo recognition based on progressive convolutional neural networks and its spark implementation[J].Video engineering,2016,40(5):67-73.