APP下载

基于计算机视觉算法的图像处理技术∗

2019-03-26刘海玲

计算机与数字工程 2019年3期
关键词:光场畸变灰度

刘海玲

(齐鲁医药学院 淄博 255213)

1 引言

由于传统的二维(Two Dimension,2D)显示方式只能显示物体或场景的一个侧面投影,人们不再满足于二维显示的世界,三维立体显示作为当今世界各国大力发展的下一代新型显示技术[1],正逐渐成为一个引人注目的前沿科技领域。为了能真实地再现现实世界,从19世纪中期Wheatstone提出的立体镜概念、20世纪中叶出现的全息显示,到20世纪末数字科技和数字设备如平板显示器(Flat Panel Display,FPD)、液晶显示(Liquid Crystal Display,LCD)等的进步和广泛应用[2],长期以来人类在为实现高性能显示而不懈努力。真三维显示技术是指被显示图像的每一个三维体素位于三维物理空间中的真实位置,每个体素的亮度和色彩可控,体素之间的相对空间位置关系被真实的体现在真三维显示系统中,从而构成三维空间图像[3]。现已有进展的体视三维显示需要借助外部助视工具,且不能实现360°环绕观看,长期观看易造成人眼的视觉疲劳,基于自动体视三维显示的三维电视产品已经商业化,并开始进入家用市场。但是,自动体视三维显示也不能实现360°环绕观看,且可视区域固定,视角数量较少,基于以上,力求帮助用户能够实现360°环绕观看[4]。文献[5]提出一种基于BP神经网络的对投影畸变图像的矫正方法,相对于多项式模型来说,取得了较好的矫正效果,但该方法精度和泛化能力不是很高,且不具实时性。

本文设计出一种高速投影机(DLP)与散射屏相结合的真三维显示计算机视觉系统,并且提出了一种基于CNN模型的深度学习算法对投影过程中产生的畸变图像进行实时矫正,与传统的多项式方法以及BP神经网络相比,精度和泛化能力更高。

2 计算机视觉显示系统设计

2.1 光场的重构

与二维显示中的像素相对应,真三维立体显示技术是直接将三维数据场中的每个点在一个立体的成像空间中进行成像,每一个成像点 (x,y,z)就是真三维成像最基本的单位——体素点(voxel),一系列体素点就形成了真三维立体图像。真三维显示是使用光学引擎[6]和机械运动[7]来实现光场重构过程。

为了说明体三维显示技术的原理,我们使用五维光场函数F:L∈R5→I∈R3来描述三维空间中分布的光场函数,其中 L=[x,y,z,φ,ϕ],为空间中点的三维坐标以及该坐标下的方向,Y=[r,g,b]为图像的颜色信息。待显示的三维图像的模型和纹理可由物体表面所有的离散点集表示,其中 Li=[Pi,Yi],Pi,Yi分别为空间中点的位置和颜色,光场传播图如图1所示。

将式(1)写成离散化形式可得:

又光场满足线性关系,故可得:

式(3)表明,通过高速旋转的二维投影技术,对其切片图像可实现三维光场的重构。

2.2 显示系统的设计

现有的旋转式LED点阵体三维显示,只能以柱状形式成像再现三维立体光场,视场角小,且分辨率低。因此本文设计了一种基于ARM处理器智能交互的真三维显示系统,可实现多角度同时观看,分辨率很大程度得到提高,体素可达到30M,其设计框图如图2所示。

在三维范围内拍照需要三维显示的物体,并将投影图像序列存入SDRAM中。使用FPGA视频采集技术将图像序列导入ARM处理器中,同时进行切片图像的处理,将产生的图像信息送入数字视频接口(DVI),经过DMD控制器处理之后传送给高速投影机,最后DLP直接将数据图像向透射型定向散射屏背面高速投影出来。伺服电机驱动透射型定向散射屏进行高速旋转,转速传感器探测的转台转速及角度位置,并将探测到的转速及角度位置信号传给转动控制器实现对转台转动的闭环控制。在电机处于高速旋转过程中,同步设备将采集电机的位置信息,根据DVI信号的输出帧频,DMD控制器将产生一个编码当前帧频的信号,以此保证散射屏的位置和DMD的图像投影的同步性。本文设计的真三维显示系统装置如图3所示。

由图3所示,装置主要由散射屏及转台部分,伺服电机以及同步采集设备,高速投影机,DMD控制器以及ARM处理器,电容屏以及体态摄像头组交互部分构成。1为玻璃罩,玻璃罩上部贴有贴片式体态摄像头,2为半透半反屏,3为上转台,4为DLP高速投影机,5为二号步进电动机,6为传导结构以及速度传感器,7为内置电源,8为基座转台,9为基座转台与装置底座的连接轴承,10为装置底座,11为黑色吸光板,12为传导机构以及速度传感器,13为一号步进电动机,14为ARM处理器,15为SD卡槽,16为FPGA采集系统。其中,散射屏为透射型定向散射屏,在透明屏罩内以45°倾斜,其中心恰好与投影机的中心、光学系统中心共轴。一号步进电动机用于精确调节控制定向散射屏的同步转速。二号步进电动机带动基座转台,实现在展览、议会等使用过程中远程控制整个装置的精确转动。黑色吸光板防止投影过程中漏光。

图3 智能交互的真三维显示装置

玻璃罩上的光传感器捕捉人的肢体运动,并将运动信号转换成电信号传送给ARM处理器,通过ARM处理器将信号传送给二号步进电动机,以实现所成的三维图像旋转的控制,便于用户根据个人需要多角度观看三维图像,增加了真三维显示系统与人之间的交互。转台分为两个,上转台可以使定向散射屏高速旋转,实现平面投影的立体化,下转台使整个装置转动,ARM处理器通过蓝牙、局域网接收控制信号,并传送给二号步进电动机,控制基座转台旋转。在展览议会等使用过程中,通过远程遥控以实现观众的360°环绕观看。本装置人机交互强,且分辨率高,DLP理论帧频可达到104级fps。

3 图像畸变矫正算法

3.1 畸变矫正的过程

DLP投影仪进行垂直投影时,像的垂轴放大率随视场的大小而变化,导致半透半反屏两侧像素点偏移,造成图像的几何畸变,需通过图像处理进行畸变矫正。几何矫正是指从具有畸变的图像中消除畸变和还原正常图像的处理过程,因此投影图像的几何畸变可以通过几何矫正消除[9]。投影仪光学镜头的畸变通常可分为切向畸变和径向畸变[10]。由于切向畸变对图像的畸变影响较小,因此我们主要考虑径向畸变,忽略切向畸变。

径向畸变主要包含桶形畸变和枕形畸变两种,DLP投影仪造成图像的径向畸变以桶形畸变为主[11]。对于畸变的光学系统,畸变空间中的直线在像的空间中除了通过对称中心的直线一般不是直线[12]。因此在进行桶形畸变矫正时须先找出对称中心,再进行通用的几何畸变矫正过程。桶形畸变矫正的步骤如图4所示。

初中生要得到物理思维的锻炼,形成对物理问题广泛的独特的认识,就要从物理问题分析的综合性、严密性着手。以浅析动态电路中局部与整体的联系为例,引导学生对一个物理问题进行完整、准确的分析,予以增强学生分析问题的综合性、严密性。当然,上述方法是解决动态电路的一般思路,如果题目里面考查的问题比较特殊,或者题目中只考查一两个物理量的变化时,也不一定全部参照上述步骤,此时只需采用五个步骤中的两、三个步骤即可。

图4 桶形畸变矫正的步骤

一般的畸变是空间扭曲型几何畸变,它属于曲线畸变,畸变像和无畸变像的关系可表示为F(u,v)=F(x,y),传统的通过二次多项式矩阵求逆来求解畸变系数的方法有时无法描述复杂的畸变模式[13],因此导致泛化能力较弱,若采用更高的多项式次数,则需要更大矩阵的逆,不容易编程求解。目前有人提出了一种基于BP神经网络的新方法来矫正图像的几何畸变,相比传统的多项式法求畸变系数,精度有了较大的提高。本文提出了一种基于卷积神经网络的方法对畸变图像进行处理,相比BP神经网络,权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量,而识别能力却大为提高,且泛化能力强。

3.2 畸变图像处理

卷积神经网络(Convolutional Neural Networks,CNN)是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点[14]。卷积神经网络相比BP神经网络,虽然其网络结构更为复杂,它拥有更多的网络层数,但由于其自身的稀疏连接性及权值共享等特点,它的训练学习难度并未增加太多,其并行连接方式使得它尤其适用于图像识别领域。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。并且权值共享提供了一种高效的学习算法,很大程度上减少了训练的参数,通过控制其容量,在解决图像识别问题上有更好的泛化能力。

卷积神经网络相比传统的BP神经网络增加了卷积层和池化层,可以避免显式地特征取样,而隐式地从训练数据中进行学习。这使得卷积神经网络明显有别于其他基于神经网络的分类器,通过结构重组和减少权值将特征提取功能融合进多层感知器,因此它可以直接处理灰度图片,能够直接用于处理基于图像的分类。

在卷积层的计算中,卷积核与前一层所得的特征图进行卷积,通过激活函数得到输出的特征图,卷积过程操作如式(4)所示。

通过反向传播算法[15]计算卷积核函数梯度权重,由于卷积层神经网权重共享,使用来表示被卷积过得区域,δmj表示m层与m+1层之间的误差,对所有误差梯度求和可得卷积核梯度:

以图5和图6的图像作为训练对象,对图5的畸变图进行卷积神经网络处理,以图6为基准图像进行学习,识别原图的每个区域,卷积层与化池层交替出现,随着图像维数的降低,每一层提取的特征图越来越多,这些增加的特征图反映了原始图像的局部特征,并包含了这些局部特征的相对位置关系。为了清晰地看到CNN通过深度学习得到的边缘特征,以其中第一层学习得到的参数来可视化学习的边缘特征为例。

对分辨率为227×227的图像进行均值相减后,通过CNN向前传播,神经网络包含2个全连接层和5个卷基层。为了提取每一个区域检测窗的特征,我们先把图像信息转换成与卷积神经网络相符合的形式,因为此卷积神经网络的架构需要分辨率为227×227的固定输入。对于各种可能的变形方式,我们考虑区域检测窗的大小和比例,裁剪候选窗到特定的大小,但在裁剪之前,先扩大裁剪窗使得每一个窗口周围有像素的扩展,以保证图像信息的完整。

4 程序实现

基于上述的畸变模型的确定方法,本研究以Matlab软件作为开发工具,以1000幅畸变和基准图组作为训练样本,使用内置的Deep Learning工具包,编写了上述CNN模型的实时畸变图像矫正的应用程序没通过采用灰度插值中的双线性插值算法,在矫正的处理过程中将矫正图上每一点映射到畸变图,然后通过灰度插值来得到这一点的灰度值,此方法具有低通滤波性质,矫正精度较高,没有灰度连续的缺点。故采用双线性插值的方法利用畸变点(u,v)周围的四个最邻近像素的灰度值,来计算 (u,v)处的灰度值。

对以后每一幅经受相同畸变的图像,按照上述CNN模型的输入,通过设置卷积、降采样层的数量,卷积核的大小以及降采样的降幅,按照上述卷积神经网络的学习后给出一个输出位置,利用灰度插值中双线性插值的算法确定出该点的灰度值。对每个点都重复上述操作,最终可得到整幅矫正后的图像。

为减少算法实时运行时间,畸变矫正算法分为CNN模型处理以及实时矫正参数计算两部分。预先建立一个查找表作为常数表格存放在空间足够大的非易失性存储器中,根据输入图像按像元索引查表,根据表内数据求对应灰度值,替换当前灰度值便可以完成图像实时的畸变矫正。也可以只存储位置映射表,在程序初始化阶段根据位置映射表进行CNN模型处理,然后生成查找表,如图7所示。求取对应灰度值然后替换当前灰度值,实现对图像实时的畸变矫正。

图7 畸变矫正查找结构图

进行实时矫正时,将表内对应灰度值全部替换当前灰度值即可完成任务。例如设像元(x,y)处的灰度值为 H(x,y),畸变图像上某像元位置为(i,j),根据上述空间变换方式,该像元 (i,j)的灰度值应替换为 H(i,j),根据查找表数据,代入式(6)可求出:

实验过程以CCD作为目标源,经过图像采集卡、以及计算机控制中心组成的实验系统进行实际操作,在不同物距下产生的多组有效目标,并基于BP神经网络以及卷积神经网络处理的畸变矫正对比图如图8、图9和图10所示。可见,基于卷积神经网络所处理的畸变实时矫正图像效果更好,精度更高。

图8 矫正前的畸变图像

图9 基于BP神经网络矫正后的图像

5 结语

本文将高速投影机与透射型定向散射屏旋转结合,以伺服控制技术为核心,来实现计算机视觉显示系统,该方法新颖且装置成本较低,视角较宽,通过增加体态式摄像头来捕捉人体的肢体运动来操纵所成的三维图像,增加了真三维显示系统与人之间的交互。通过建立畸变矫正的数学模型,提出一种基于卷积神经网络的深度学习算法,对投影过程产生中的畸变图像进行实时矫正处理,实验结果表明相对于多项式模型以及BP神经网络而言,其矫正效果较佳,且卷积神经网络模型具有鲁棒性高,泛化能力强等优点,非常适用于图像识别领域。

猜你喜欢

光场畸变灰度
基于能量变分法的曲线组合箱梁畸变效应分析
基于条纹分析技术的镜头畸变校正实验设计
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
大型焊接容器局部热处理防畸变工装优化设计
《癌变·畸变·突变》中国科技核心期刊收录证书
天津港智慧工作平台灰度发布系统和流程设计
光场成像原理及应用技术
Arduino小车巡线程序的灰度阈值优化方案
光场图像重构算法仿真