基于Canny算子和形态学的视频时间码提取方法

刘雪亚,吴振华,吴 瑀,张晓箐,吴少石

(中国飞行试验研究院,西安 710089)

摘要:提出一种基于Canny算子和数学形态学滤波的飞行试验视频数据时间码自动提取算法。采用传统的Canny算子以及Otsu分类方法完成边缘检过程,提取视频中时间码的轮廓信息,结合形态学滤波填充细节并去除噪声信息。计算时间码轮廓在竖直方向的投影直方图,最后根据投影直方图分割单个数字与模板数据匹配完成识别过程。实验结果表明:在单帧视频帧的识别和视频的序列图像上识别都能达到很好的应用效果,能有效识别机载视频中的时间码。在实际应用中识别率不低于97%,满足实际的数据处理需求,为机载视频与工程量数据同步分析提供参考,具有工程应用价值。

关键词:Canny算子;形态学滤波;时间码;模板匹配;识别

1 引言

在飞行试验中,机载测试记录的数据主要包括机载二进制数据和机载视频数据[1],机载二进制数据反映飞机飞行过程中设备的工作状态,记录试飞员的操作情况。机载视频[2]是直接抽引的机上各个显示屏的显示结果,由于现有测试设备的限制,机载视频的时间码是在飞行过程中将GPS时间印在视频帧中,实际的视频中不含有时间码。事后数据处理是将机载数据的二进制码转换为工程量数据,课题人员根据各参数的变化趋势以及机载视频该时刻的显示来判断飞机的工作情况。

由于视频时间码难以和工程量结果中时间匹配,因此课题人员在查看数据是只能一边查看文本文件,一边查看视频数据,人工根据时间码将两个软件根据时间对齐来查看各个时刻的飞行数据。由于单架次飞行参数量大,采样率高,以至于最终的结果数据量大。单纯的人工对齐时间增加了数据处理耗时,加大了人工工作量,将目标检测与识别技术应用于飞行试验数据处理,是信息化、智能化建设的主流[3]

为解决试飞数据处理的问题,本文研究一种视频时间码提取方法,将Canny算子[4]和数学形态学[5-6]中的腐蚀、膨胀操作相结合,能够有效识别机载视频中的时间码,为自动对齐[7]视频数据与工程量结果数据打下基础。

2 时间码提取算法

由于机载视频中信息量大,时间码只占据图像帧的一小部分,因此首先要对图像进行灰度化、二值化[8]、分割[9]等预处理操作,然后用Canny算子获取图像的边缘信息,再选择合适的模板大小和形状对图像做腐蚀膨胀操作,分割单个的字符和预先构造的数据集进行匹配[10],选择匹配最高的字符为最终的时间码结果。具体的流程如图1所示。

图1 时间码提取算法流程框图

Fig.1 Time code extraction algorithm

2.1 图像预处理

本文先对视频进行解帧处理转化为单帧的图像,然后将彩色图像转化为灰度图。考虑到机载视频时间码在图像中的固定位置,根据固定的位置来截取视频中的时间码区域。由于图像中时间码区域在边界区域,图像帧的时间码区域与图像内容的交界处较为模糊,有附带影响后续边缘检测的白色线条。如图2所示,红色框中为边界区域。因此在分割时间码的过程中采用最小边界的原则,在分割之后根据现实情况给分割图像的上下边界手动添加几个像素的宽度。通过这一系列操作使得后续边缘检测结果最优。

图2 原始图像(红框为边界区域)

Fig.2 Original image(red box is boundary area)

2.2 数据集构建

考虑机载视频时间码识别是试飞数据处理中的应用场景,故构建自己的识别数据集。数据集包含0~9十个数字与“:”的二值图,单个数字为27×28的矩阵,整个数据集为37×28×11的三维矩阵。显示如图3所示。

图3 待匹配数据集

Fig.3 Data set to be matched

2.3 改进Canny边缘检测

传统的边缘检测算子在图像经过高斯滤波[11]后,计算梯度和幅值方向,如式(1)所示,I(xy)为原始图像,R(xy)为高斯平滑后图像,δ为标准差,G(xy)与θ分别为平滑后图像的梯度幅值和方向。

(1)

在过滤了非最大值后,需要人为设定固定的上下阈值,过高或者过低的阈值会导致检测结果丢失边缘信息或者检测出一些虚假边缘。考虑本文时间码分割图像的高对比度,故本文采用基于Otsu方法[12-13]自动确定阈值来完成边缘检测过程。

由于图像中时间码位置的固定性,在分割图像中人为确定图像前景与背景区域,故将图像分割为前景灰度集合C1 = {l1l2,…,lm}和背景灰度级和C2 = {l1l2,…,ln},分别求得前景和背景的灰度中值CaCb,以此作为Otsu算法的上下界。对于选定的阈值{kCa < k < Cb}将像素划分为{D1(x)|x∈[Cak]}和{D2(x)|x∈(kCb]}两类,像素分到两类中的概率分别如式(2)和式(3)所示。

(2)

(3)

其中pi = ni / MN值为ni的像素在整个图像中的概率。两个类的平均灰度值如式(4)、式(5)所示,整个图像的灰度值如式(6)所示。

(4)

(5)

(6)

图像背景和目标的类间方差定义为

σ2(k)=P1(k)(m1(k)-mG)2+P2(k)(m2(k)-mG)2

(7)

最佳阈值k* 计算如式(8)所示,取常规Canny边缘检测的上下阈值分别为k* 和0.5k* 来进行双阈值连接。图4是选取最佳阈值进行边缘检测的结果,可以看到清晰的图像边缘。

图4 边缘检测结果图

Fig.4 Edge detection results

(8)

2.4 数学形态学滤波

形态学方法主要有腐蚀、膨胀[14]、开运算[15]、闭运算4种操作,用膨胀操作可以填充图像中的空像素区域,扩大图像的前景,腐蚀操作可以去掉图像中的毛刺,缩小图像的前景区域。开运算和闭运算是对图像进行腐蚀和膨胀的组合操作(图5)。本文中采用边长为6个像素的正方形B1为核对图像进行闭运算操作后再采用边长为3像素的正方形B2为核对图像进行腐蚀操作,如式(9)所示。经过一系列膨胀腐蚀操作,得到清晰的时间码图像,如图5所示。

图5 形态学滤波结果图

Fig.5 Morphological filtering results

II =((IcB1)⊖B1)⊖B2

(9)

2.5 时间码分割与识别

经过上述的边缘检测与形态学识别,得到最终的时间码序列,按照时间码图像在垂直方向的投影直方图计算图像中各个数字的中心位置以及字符宽度,图5的投影直方图如图6所示。

图6 图5的竖直方向直方图

Fig.6 Vertical histogram projection of Fig.5

图6中纵坐标为0的位置是时间码各个字符之间的背景区域,可以看出一共有15个字符,按照字符宽度将图像分为单个的字符。计算各个字符与数据集中模板字符的残差值,则残差最小的值为最终识别字符。如式(10)和式(11)所示,Im(xy)与Gn(xy)分别表示分割的第m个字符与模板第n个字符。

(10)

(11)

3 实验结果与分析

本文实验是基于Window 7操作系统下的Matlab 2015来完成的,数据来源于飞行试验过程中机载抽引视频。通过解帧视频后识别每一帧的固定位置的时间码。接下来依次展现单帧图像识别结果、视频序列图像识别结果以及识别正确率情况。

3.1 单帧图像识别结果

单帧图像识别结果如图7和图8所示。图7中每一行分别代表分割出来的每个字符与数据集中字符的残差值,从第一列到11列分别是数字1~9,0,“:”这11个字符。图7中每一行为一个字符的识别结果,其中红色框内的数据是待识别字符与该模板字符匹配时的残差最小值,每一行都有一个最小值为最终的识别结果。

图7 识别字符与数据集字符残差界面

Fig.7 Residuals of recognizer characters and dataset characters

图8是筛选之后输出的每个字符的识别结果,识别结果不包括冒号。识别结果为315∶09∶50∶14∶01,即本年度第315天的上午9点50分14秒1毫秒。

图8 单帧视频时间码识别结果图

Fig.8 Recognition results of single frame video timecode

3.2 视频图像识别结果

针对试飞过程中的记载视频数据,首先对视频进行解帧,获得单帧的图像。飞行试验中机载视频帧率为30 FPS,实际处理数据的工程量结果采样率往往比视频帧率高。为满足工程实际应用,更好的展示试验结果,本文对视频进行逐帧解析,并逐帧识别图像帧的时间码。

采用本文的方法遍历所有视频帧,对序列图像依次进行图像预处理、分割、识别等结果。由于一般飞行试验的视频往往在1 h到8 h不等,数据量大。故本文实验结果中截取5 min视频对应的9 000帧图像展示识别结果。为直观定量的展示实验结果,我们将从视频中识别到的时间码的毫秒、秒、分、时各部分依次转换为以毫秒并画出序列图像。实验结果如图9、图10所示。

图9 识别结果毫秒部分(a)和局部放大图(b)曲线

Fig.9.Curve display of the millisecond part(a)and partial amplification(b)of the recognition result

图9(a)是9 000帧图像的识别结果的毫秒部分的展示结果,图9(b)是图9(a)红色框中部分的局部放大结果。从图9(b)中可以看出,曲线部分以30为一周期变化,单个周期内呈直线增长,与视频帧30 FPS的帧率相吻合。图10(a)是9 000帧图像的毫秒、秒以及分转换为毫秒的结果曲线图,图9(b)是红框中部分的局部放大图,可以看出左图整体呈增长趋势,而图9(b)局部放大部分大约以3 ms或者4 ms的增量增长,与视频帧30FPS的帧率相吻合。

图10 识别结果毫秒、秒以及分部分(a)和局部放大图(b)曲线

Fig.10 Recognition results in milliseconds,seconds,partial(a)and partial(b)magnification curve display diagram

图11是序列视频帧识别结果的部分展示,分别为日期、时、分、秒、毫秒。由于只能展示部分结果,故日期、时、分、秒部分相同,只有毫秒部分以3或者4的增量增长。与实际视频中结果相同。

图11 序列视频帧时间码识别结果部分展示界面

Fig.11.Partial display of time code recognition results of sequence video frames

3.3 识别正确率

由于试飞数据对应的帧数量比较大,故在统计正确率的过程比较复杂。为使得统计结果可靠,实际过程中依次比较相邻五帧视频的天、时、分、秒、毫秒部分,并对时、分、秒在59,毫秒在96、97、98、99时作特殊处理,得到识别不正确的帧的数目。

表1中展示了部分实验中视频长度、总帧数、误识别帧数以及正确率的统计结果。可以看出识别的正确率达97%以上,可以满足飞行试验数据处理要求。

表1 识别正确率统计表

Table 1 Statistical table of recognition accuracy

视频长度/min总帧数误识别帧数正确率/%41 73970112798.4863113960317997.2181145955332897.7298177563346298.05

4 结论

本文采用改进的Canny边缘检测算子结合传统的数学形态学滤波来进行飞行试验视频中时间码的识别。采用简化版的Otsu分类方法避免了传统Canny 边缘检测中阈值选取不合适引起的边缘漏检及冗余信息检测等问题。实验结果可以看出,本文的方法识别结果可靠,有效解决了试飞视频中时间码的提取,可为解决视频数据与工程量数据同步问题提供参考。不足之处在于,针对单张图像的识别速度很快,但应用于视频图像,分割方法需要自适应性,识别速度有待于提高。后续将优化识别算法,以匹配视频的播放速度。

参考文献:

[1] 吕美茜,程存虎,张正中,等.机载视频测试技术在空中加油试飞中的应用[J].测控技术,2005,24(10):53-56.

Lu M X,Cheng C H,Zhang Z Z,et al.Application of airborne video test technology during aerial refueling test flight[J].Measurement and Control Technology,2005,24(10):53-56.

[2] Hou H X,Han T,Liu Q.Intelligent management technology of airborne video test system for flight test[C]//Proceedings of 2107 Aeronautical Intelligent Equipment Academic Proceedings,2017.

[3] 何伟鑫,邓建球,逯程,等.联合ACF与YOLOv3的目标识别方法研究[J].兵器装备工程学报,2020,41(11):147-153.

He W X,Deng J Q,Cheng L,et al.Research on target recognition method combining ACF and YOLOv3[J].Journal of Ordnance Equipment Engineering,2020,41(11):147-153.

[4] Canny J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,PAMI-8(6):679-698.

[5] Cui Y.Image processing and analysis:Mathematical morphology and its application[M].Beijing:Science Press,2000.

[6] Zhu C P.Optimal design and application of light source for finger vein device[J].Journal of chongqing technology and business university(natural science edition),2020,37(05):108-114.

[7] Wei S,Wei Y,Zhang L,et al.Heterogeneous data alignment for cross-media computing[C]//International Conference on Internet Multimedia Computing & Service.ACM,2015.

[8] José G,Crawford B,Soto R,et al.A k-means binarization framework applied to multidimensional knapsack problem[J].Applied Intelligence,2018,48(13):357-380.

[9] Grady L.Random walks for image segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(11):1768-1783.

[10] Vol.N.Registration techniques for multisensor remotely sensed imagery[J].Photogrammetric Engineering & Remote Sensing,1996,62(09)1049-1056.

[11] Guoqing W,Zhongxing G,Yonggang Z,et al.Adaptive Maximum Correntropy Gaussian Filter Based on Variational Bayes[J].Sensors,2018,18(06)1960:1-14.

[12] 于洋,孔琳,虞闯.自适应粒子群集优化二维OSTU的图像阈值分割算法[J].电子测量与仪器学报,2017,31(06):827-832.

Yu Y,Kong L,Yu C.Image threshold segmentation algorithm based on adaptive particle swarm optimization of two-dimensional OTSU[J].Journal of electronic measurement and instrument,2017,31(06):827-832.

[13] Otsu N.A thresholding selection method from gray-level histogram[J].IEEE Trans.Syst.Man.& Cybern,1979,9(01):62-66.

[14] 杨乐丹,余厚全,陈光建,等.基于 CC3200的物联网多功能测控终端设计与实现[J].长江大学学报(自然科学版),2019,16(04):83-88.

Yang L D,Yu H Q,Chen G J,et al.Design and implementation of multi-function measurement and control terminal of internet of things based on CC3200[J].Journal of Yangtze University(Natural Science Edition),2019,16(04):83-88.

[15] 晏建华,赵正校.基于属性开运算的汽车牌照区域定位算法[J].红外与激光工程,2000,29(03):21-24.

Yan J H,Zhao Z X.Attribute-based algorithm to locate the text area of a vehicle picture[J].Infrared and Laser Engineering,2000,29(03):21-24.

Video Time Code Extraction Method Based on Canny Operator and Morphology

LIU Xueya, WU Zhenhua, WU Yu, ZHANG Xiaoqing, WU Shaoshi

(Chinese Flight Test Establishment, Xi’an 710089, China)

Abstract: Aiming at the problem that time codes of flight test video data cannot be automatically obtained from data, a video time code extraction algorithm based on Canny operator and mathematical morphological filtering was proposed.The traditional Canny operator and Otsu classification method were used to complete the edge detection process, extract the contour information of the time code in the video, and combine with morphological filtering to fill in the details and remove the noise information.The histogram of the projection of the time code contour in the vertical direction was calculated.Finally, the identification process was completed by dividing the single digit and matching the template data according to the projection histogram.The experimental results show that both the single frame recognition and the sequence image recognition can achieve a good application effect, and can effectively recognize the time code in airborne video.In the practical application, the recognition rate is not less than 97%, which meets the actual data processing needs and lays a foundation for the synchronous analysis of airborne video and engineering quantity data, which has engineering application value.

Key words: Canny; morphological filter; time code; template matching; recognition

本文引用格式:刘雪亚,吴振华,吴瑀,等.基于Canny算子和形态学的视频时间码提取方法[J].兵器装备工程学报,2021,42(10):115-119.

Citation format:LIU Xueya, WU Zhenhua, WU Yu, et al.Video Time Code Extraction Method Based on Canny Operator and Morphology[J].Journal of Ordnance Equipment Engineering,2021,42(10):115-119.

中图分类号:TN98

文献标识码:A

文章编号:2096-2304(2021)10-0115-05

收稿日期:2021-01-16;修回日期:2021-02-28

作者简介:刘雪亚(1991—),女,硕士,工程师。

doi:10.11809/bqzbgcxb2021.10.019

科学编辑 朱福珍 博士(黑龙江大学副教授、硕导)

责任编辑 杨梅梅