基于DSP的视频图像自适应分类系统
2013-06-07金成昆黄晓强何小海
金成昆,雷 翔,黄晓强,何小海
(四川大学电子信息学院图像信息研究所,四川 成都 610064)
视觉信息是人类获取外界信息的主要来源。近年来,随着多媒体技术的快速发展,视频图像的应用领域越来越广,例如安保监控、车场管理、医用、军事及民用等。而这些应用常常需要全天候运行,拍摄环境复杂多变,常常因各种因素导致视频图像质量不佳。特别是受噪声、雾霾、低照度等因素影响时,很容易覆盖视频图像蕴含的某些特征,造成对比度大幅下降,严重影响后续处理。而且长期观看低质量视频会加重人眼负担,造成视觉疲劳,甚至导致头晕眼花,因此视频增强技术应运而生。
自20世纪末以来,对于视频增强的需求越来越多,要求也越来越高,关于视频图像增强的算法也不断涌现,并且大部分算法针对某些特定环境具有良好的增强效果[1-3],但是缺少一种对各种环境增强效果都很好的算法。因此,针对视频图像的不同应用环境,需要选择不同算法对其进行处理。那么对于不同的视频环境,如何快速分类就显得尤为重要,然后根据视频不同类型给予相应的处理以达到自适应视频增强的目的。
本文以TI公司的一款高性能数字图像处理器TMS320DM642为核心构建系统的硬件平台。根据低亮度图像、噪声图像和雾霾图像的统计特性和特征,进行模式分类。通过分别计算图像的亮度均值、色饱和度均值、分块后总体的平均目标个数和每个块的目标个数标准差,从而实现了自动判断视频类型,自适应地将视频分为正常、低亮度、雾霾、噪声、低亮度加噪声这5种情况。
1 系统硬件设计
为了满足系统对实时性和复杂算法的要求,采用TI公司的高性能多媒体处理DSP芯片TMS320DM642作为主处理器[4],Altera公司的 Cyclone II FPGA 芯片 EP2C8Q208A做协处理器的主从架构。该平台处理器核心频率配置720 MHz,每个时钟周期可以同时处理8条指令,处理速度高达5760 MInstruction/s(兆指令/s)[5]。在外部存储器总线接口(EMIF)上扩展了32 Mbyte的SDRAM和4 Mbyte的NOR Flash。除此之外,硬件平台还包括了电源模块、时钟模块、复位模块、JTAG模块、GPIO模块等。系统硬件结构框图如图1所示。
视频图像经过摄像头采集后,送到解码器SAA7113进行A/D转换,将摄像头采集的模拟信号转换为YCbCr为4∶2∶2格式的数字视频信号。再通过DM642的VP0输入口送到数据缓冲区,VP2口则配置为视频输出,与SAA7105编码芯片相连接,将数字视频信号进行D/A转换成模拟信号再送到LCD显示器进行显示。SDRAM作为片内存储器的扩展,主要用作图像处理前和处理后视频帧的存储,Flash则用于固化编译后生成的可执行文件,并引导系统的启动。
图1 系统硬件结构框图
2 视频图像自适应分类算法
在实际应用中,视频图像的拍摄环境与场景时常变化,这导致视频图像的质量时好时坏。其中受噪声、雾霾、低照度等影响的视频图像,其质量一般比较差。现有的视频图像增强方法有很多,并且针对某些特定的视频背景采用相应的增强算法可以取得良好的增强效果。因此,针对不同的视频图像实际背景,首先需判定视频是否受某种或几种干扰因素影响,属于何种类型,然后进行相应的处理。
针对视频图像,通过DM642硬件平台采集后对需要进行判断的视频帧,先提取图像的平均亮度、分块后目标个数(二值图像中灰度值为255且连通的一个区域为一个目标)、各块总体平均目标个数和每块目标个数标准差、色饱和度均值这些特征,然后基于这些统计特性分析判断其降质的原因,最后进行模式分类,从而实现视频图像的自适应分类。判断过程主要需要3个模块:亮度判断模块、噪声判断模块、雾霾判断模块。由于实际运行平台的限制,过于复杂的算法将难以达到实时的要求,本文综合考虑到实时性和准确性的要求采用如下原理进行判断。
2.1 亮度判断原理
视频图像质量的好坏与其亮度值关系密切,过亮或者过暗都会损失图像的有用信息。本文通过计算亮度均值来反映视频图像的亮度情况,计算公式为
式中:Gray(i,j)是图像的亮度信息(可直接读入视频图像的Y通道分量);M,N分别为图像的高度和宽度;Avg代表图像的亮度均值。
亮度判断的基本思想是根据输入视频图像的亮度均值Avg判断其类型。如果Avg小于某个阈值,则判为是曝光不足或低亮度类型,需要进行亮度增强处理。如果Avg大于某个阈值,则判为是曝光过度或高亮度类型,需要进行降低亮度处理;否则判为亮度正常情况,不做亮度处理。
2.2 噪声判断原理
数字视频图像的噪声主要来源于图像的获取和传输过程[6]。人们对于平坦区域噪声的敏感度要远远大于边缘区域的噪声。对于视频图像的平坦区域,如果引入了噪声,由噪声引起的目标个数将急剧增多。因此,可通过分析图像的目标个数来判断视频图像是否受噪声影响。
具体步骤如下:
1)对灰度图像X进行Sobel边缘检测获得边缘梯度图像G,Gx及Gy分别代表经横向及纵向边缘检测的图像,公式为
2)对边缘图像采用OTSU自适应阈值分割,将目标像素灰度值设为255,背景像素灰度值设为0,从而得到二值图像。
3)将二值图像分为3×3即9个小块,统计每个块的目标个数(灰度值为255,且连通的为一个目标)记为Ni。计算总体平均目标个数ObjectMeanNum以及每个块的目标个数的标准差ObjectNumStdard,公式为
4)如果目标个数均值ObjectMeanNum大于某个阈值TNumMean,而且每个块的目标个数的标准差ObjectNumStdard小于某个阈值TNumStad,则将视频图像判定为存在噪声,需要进行降噪处理;否者视为无噪声,不需要进行噪声处理。
2.3 雾霾判断原理
雾霾天气的视频图像呈现出偏白色的现象,所以R,G,B这3个分量比较接近,也就是色饱和度比较小。因此本文提出一种基于视频图像色饱和度分量均值来判断视频是否受雾霾天气影响的方案。
HSI模型是1915年美国色彩学家孟塞尔提出的,以色调(H)、色饱和度(S)和亮度强度(I)这3种基本特征量来感知颜色,它反映了人的视觉系统感知彩色的方式。HSI模型可从彩色图像中提取出相互独立的亮度信息和彩色信息,而一般的图像或者视频都是基于RGB(红、绿、蓝)模型,因此需要先进行颜色空间的转换,公式为
式中:I和S分别为彩色图像的亮度分量和色饱和度分量。对于雾霾天气的视频图像,本文利用色饱和度均值对其进行判断。雾霾天视频图像的色饱和度普遍较小,如果色饱和度均值小于某个阈值,则可确认为雾霾天类型;否则为非雾霾类型。
3 系统软件设计
3.1 软件开发工具
Code Composer Studio(CCS)是一种针对TI的DSP、微控制器和应用处理器的集成开发环境,可完成软件的编辑、编译、调试、代码性能测试和项目管理等工作[7]。为了简化DSP软件的设计过程,提高DSP软件对复杂应用的任务支持,TI公司设计开发了一种尺寸可裁剪的实时多任务嵌入式操作系统内核即DSP/BIOS[8],它包含时钟模块、硬件中断模块、软件中断模块、任务模块、信号量模块、邮箱模块、数据管道模块、资源锁模块等。基于嵌入式操作系统DSP/BIOS的DSP程序,任务请求由DSP/BIOS通过线程和中断优先级来控制执行,从而大大简化了应用程序的前期设计过程。除了利用BIOS提供的模块进行复杂任务的软件开发,还可以借助CCS分析工具高效调试应用程序,了解程序代码的存储、开销及执行时间,或者图形化显示线程占用的CPU时间等。
3.2 基于DSP的软件设计
基于上述DSP/BIOS实时操作系统的多线程框架,结合本文工作需求,软件分两个线程来实现。软件设计结构如图2所示。系统上电工作后,应用程序被BOOT引导程序从Flash中拷贝到SDRAM中开始执行进行初始化。首先对内部执行环境初始化,包括DM642处理器相关模块进行初始化、DSP/BIOS模块的初始化、片级支持库CSL的初始化以及缓存的初始化。然后开始对设备驱动进行初始化,主要是视频采集设备,即DM642的VP口和SAA7113视频编码芯片,将VP0口配置为采集输入口,其他视频接口不用;将SAA7113的输出图像设置为8位YCbCr4∶2∶2格式。在完成初始化后,应用程序开始循环执行,采集线程和判断线程在DSP/BIOS实时操作系统的调度下协同工作。
图2 软件设计结构框图
3.2.1 采集线程
本文采集线程的驱动采用了FVID模块,FVID模块为DSP/BIOS程序提供API函数,以实现视频帧图像的获取和显示。其流程如图3所示。在线程初始化各参数后,调用FVID_create函数,创建采集通道;采集通道创建并初始化成功后,调用FVID_control发送命令使采集设备开始工作;利用FVID_alloc函数获得缓存区,调用FVID_exchange更新图像数据,并将更新的数据通过SCOM通信传递给判断线程。最后判断采集是否完成,并调用FVID_delete()释放帧缓存。
图3 采集线程流程图
3.2.2 判断线程
在实际应用中,一般视频图像的场景都是运动可变的,其实际背景具有随机性,因此对视频图像分类的结果需要不断更新。如果更新时间过长,可能因为视频背景快速变换导致分类结果更新不及时,影响后面的增强效果;而过短的更新时间会造成算法复杂度较高,不利于视频实时处理。通过大量实验,结合本文采用的硬件平台的实际情况,本文采用每100帧判断1次的方式。
当系统每采集到100帧图像后,通过SCOM队列通信启动判断线程。对采集到的视频帧,先计算图像的亮度均值、色饱和分量的统计均值、分块后每个块的目标个数、总体平均目标个数以及每个块的目标个数标准差。得到这些统计特征后进入如图4所示的判断线程流程图,确定视频图像受到某种或某几种因素影响,属于那种类型。判定完成后,等待下一次判断线程的启动。
图4 判断线程流程图
4 实验结果
针对不同实际背景的视频图像,结合本文算法得到如图5所示的结果。
图5 不同实际背景的视频图像
表1给出了不同实际背景的视频图像的亮度均值、色饱和分量的统计均值、分块后每块的平均目标个数和目标个数标准差,结合预先设定的阈值(亮度均值Avg<60为低亮度图像,色饱和度均值S_mean<0.05为雾霾图像,平均目标个数ObjectMeanStdard>500且目标个数标准差ObjectNumStdard<80为噪声图像)做出了判断。
表1 视频类型判断结果
本文针对每个类型的不同场景进行了判断结果准确率的测试,测试结果如表2所示。从表2可以看出,除噪声判断准确率稍微偏低,只有76%左右,雾霾天及低照度类型的判断准确率都较高,分别达到了82%和96%。
表2 视频类型判断准确率
最后,将编译好的可执行文件烧写到DSP的Flash中,通过上电自举模式,由摄像头采集的视频图像,经过本系统能够快速且较准确地自适应判断其类型,为后续的视频图像自适应增强打下坚实基础。分析实验结果表明,本文基于DSP的视频图像自适应分类系统具有一定的工程实用性。
5 小结
本文介绍了一种以高速定点DSP芯片DM642为核心的视频图像自适应分类的软硬件设计。实验结果表明该系统实现了对视频图像类型快速且自适应的分类判断,为下一步实现图像自适应增强打下了坚实基础。但是系统还存在不足,主要表现在对噪声的判断准确率较低,因此提高噪声判断准确率和实现图像自适应增强将是下一步工作目标。
[1]郭蕾,田松,许悦雷,等.一种小波自适应比例萎缩去噪改进算法[J].电视技术,2012,36(11):27-29.
[2]郭珈,王孝通,胡程鹏,等.基于邻域相似性的暗原色先验图像去雾方法[J].计算机应用,2011,31(5):1224-1226.
[3]蔡利梅,钱建生,罗驱波,等.一种基于色彩保持的低照度图像增强算法[J].计算机应用与软件,2009,26(3):226-243.
[4]Texas Instruments.2008 年第2 季度 DSP 选择指南[M].[S.l.]:Texas Instrument Incorporated,2008.
[5]Texas Instruments.TMS320DM642 video/imaging fixed point digital Signal Processor[M].[S.l.]:Texas Instrument Incorporated,2007.
[6]武英,吴海勇.一种自适应图像去噪混合滤波方法[J].计算机工程与应用,2010,45(7):168-170.
[7]Texas Instruments.TMS320C6000 code composer studio tutorial[M].[S.l.]:Texas Instrument Incorporated,2000.
[8]Texas Instruments.TI DSP/BIOS用户手册与驱动开发[M].北京:清华大学出版社,2007.