王久鹏,漆 晶,王小平
(重庆邮电大学 移动通信技术重点实验室,重庆 400065)
激光投影虚拟键盘的研究与设计
王久鹏,漆晶,王小平
(重庆邮电大学 移动通信技术重点实验室,重庆 400065)
摘要:针对激光投影虚拟键盘的实际需求,结合嵌入式技术和图像处理技术,研究设计了一套激光投影虚拟键盘设备。硬件模块以ARM Cortex-M4架构的微处理器作为主控器,采用数字型CMOS摄像头;软件模块的处理过程中利用MATLAB进行部分数字图像的处理并将处理结果导入到微控制器中进行嵌入式图像处理。在完成系统的软硬件设计后,对整个系统的功能进行测试,由测试结果表明整个系统达到了预期的目的。
关键词:激光投影技术;数字图像处理;USB设备开发
伴随着移动便携式设备的广泛应用,国内市场对激光投影虚拟键盘的需求逐步提高,尤其是在移动式商务应用、便携式设备的文字编写方面。相较于传统键盘,虚拟键盘可以弥补前者在体积需求、便携性、易用性等方面的不足。目前,国际上较常见的是韩国Celluon公司在2012年美国拉斯维加斯举办的消费者电子展上展出的虚拟键盘Epic,但其价格不菲;而国内在激光投影虚拟键盘领域仅仅局限在研究和实验的阶段,其自制的虚拟键盘具有以下两点不足:第一,虚拟键盘的识别借助PC机的OPENCV库,因而在无OPENCV的设备中无法使用;第二,自制的虚拟键盘体积较大,携带不方便。对此,基于虚拟键盘设计的四项基本原则[1],本文开发了一套激光投影虚拟键盘设备,在准确性、可靠性、兼容性和经济性等方面都得到了很大的提升。
1硬件系统设计
激光投影虚拟键盘系统设计的关键在于对用户手指动作的识别,即对手指位置的检索。本系统设计采用单摄像头与一字远红外激光头对用户落点进行检测,由于该方法采用单个摄像头进行图像采集,因而成本较低,且功耗较小。而采用不可见光作为检索标志,和摄像头中滤光片的配合可以很好地消除可见光的干扰,消除由于环境光线的变化而造成的图像特征分离困难的问题。因为仅采用单个摄像头,采集数据量较低:且微控制器可满足图像的采集和处理,因而可以较容易在嵌入式系统中实现该设计的功能,同时可以控制设计成本,达到降低成本、降低推广障碍等目的。
1.1键盘电路设计
激光投影虚拟键盘电路设计的系统框图见图1。
图1 系统总计设计结构框图
激光投影虚拟键盘系统的工作过程是:通过OV7620数字摄像头采集图像并发送到微控制器MK60DN512VLQ10,由微控制器进行图像处理、识别用户手指落点,将落点信息转换为按键消息响应,通过PDIUSBD12芯片采用USB协议将按键消息响应发送给USB主机,从而实现键盘的功能。而2.4in(1in=2.54cm)TFT真彩屏和独立按键的加入,是为了保证图像调试更加方便,使设计更加快捷、有效。
1.2摄像头接口设计
本系统的设计采用CMOS数字摄像头,具体图像传感器为OmniVision公司生产的OV7620。这款视频摄像芯片属于CMOS数字式彩色与灰度芯片,采用高度集成工艺,拥有640×480的高分辨率可以进行隔行或者连续扫描。该数字视频端口支持60Hz的YCrCb4∶2∶2的16bit/8bit格式,ZV端口输出格式,RGB阵列数据的16bit/8bit输出的格式以及CCIR601/CCIR656输出的格式。该芯片内建SCCB接口给用户提供了对芯片内建功能更加轻松的控制方式。芯片本身自带10位的双通道模数转换器,可以进行自动的白平衡以及自动增益控制,可以在γ校正、对比度、亮度和饱和度等方面进行调节;其视频时序产生电路能够产生像素时序以及行的同步、场的同步、混合视频的同步等数种时序的信号以及数种同步的信号[2]。该摄像头支持VGA和QVGA两种图像格式,帧传输速率为30f/s(帧/秒)。在电路设计时预留了OV7620摄像头的数据、时序接口,具体电路如图2所示。其中CameD0~CameD7为摄像头输出的数字图像信号,CamePCLK为像素同步信号,CameH为行中断信号,CameV为奇偶场信号。由于OV7620默认配置完全满足本系统的设计,不需要通过SCCB协议对摄像头内建功能进行修改,故未接出SCCB信号SDA和SCL。摄像头输出信号的时序如图3所示。
图2 摄像头接口电路
图3 OV7620读取像素时序图
由图3可知,当HREF时序信号在上升沿或下降沿时,表示一行图像的开始,而在PCLK信号的上升沿发生时,表示一次像素的传输,通过将HREF时序信号接入微控制器外部中断引脚中,设置为上升沿或下降沿触发中断方式,而PCLK作为DMA边沿触发信号,便可以对图像进行DMA采集。
1.3USB驱动电路设计
由于本系统作为按键消息响应的从机,需要通过一定的接口协议传输消息响应给主机。本系统的设计采用USB接口协议来实现按键消息的主从机传输。虽然MK60DN512VLQ10微控制器内部含有USB驱动模块,但由USB协议的设计可知,USB协议的硬件驱动频率为48MHz的整数倍,而MK60DN512通过配置PLL锁相环倍频及分频最终仅有48MHz和96MHz两种频率满足USB通信的要求,但为保证摄像头数据采集频率足够,微控制器MK60DN512VLQ10的工作主频最终需要超频至150MHz才可以满足图像实时采集的要求。因此本工程采用了外接专用USB驱动芯片PDIUSBD12进行USB接口协议的实现。PDIUSBD12芯片具体电路及使能时序图分别如图4和图5所示。
图4 PDIUSBD12芯片电路
图5 PDIUSBD12芯片读写时序图
2软件系统设计
本系统的工作过程主要为:在程序开始,首先进行系统频率的初始化,将CPU运行频率超频至150MHz,接着进行摄像头的行中断端口、场中断端口初始化,以及摄像头数据采集端口输入/输出方向的初始化,而后程序初始化PDIUSBD12芯片,设置其工作模式和工作频率,而后进行USB设备的枚举过程,使USB主机识别并设置本系统,枚举成功后,开启行中断、场中断,采集图像并进行图像处理,图像特征提取后得出按键坐标,将其映射为具体按键编码,通过USB消息响应发送至USB主机。
2.1摄像头采集图像流程
本系统最基本的步骤为摄像头的采集。摄像头图像扫描时,将图像分为奇偶场两场信号,奇场即采集1,3,5…行的图像,偶场即采集0,2,4…行的信号,在每一场图像采集时,摄像头首先输出场同步脉冲信号,即VSYNC输出脉冲信号,该信号脉冲为60Hz。而后在场信号有效后,摄像头输出的行基准信号开始有效,即HREF信号,该信号表明一行图像采集的开始。在每两个行基准信号之间,8bit图像信号与像素同步信号PCLK一起输出,每个PCLK的脉冲边沿均可采集有效信号。而一幅图像奇偶场信号的确定由ODD来确定,ODD高电平表示当前采集为奇场信号,低电平表示当前采集为偶场信号,因此ODD输出为频率30Hz,占空比50%的高低电平信号。考虑到本系统对分辨率要求不高,而对内存大小要求较为严格,因此本系统采用隔行采点的方式进行图像采集,将ODD奇偶场信号作为行同步信号,ODD信号上升沿作为中断触发信号,即一幅图像仅采集其偶场信号,便可以达到隔行采点的目的。而PCLK上升沿作为DMA传输触发信号,摄像头输出8bit图像信号作为DMA输入数据源,则可以实现DMA采集图像。由于直接使用摄像头的默认设置方式可以满足本系统的使用要求,因此本系统未在初始化采用SCCB协议对摄像头进行设置,在初始化时仅初始化DMA采集以及相关中断信号的初始化。在本系统中,对图像采集的步骤为:首先进行摄像头引脚、中断信号的初始化,而后在场中断中开启行中断,并对行计数指针清零,而后等待行中断发生,在行中断中初始化DMA采集,并判断是否采集完一幅图像,并在采集完所有图像后,返回图像数组指针作为图像像素的索引。具体采集流程如图6所示。
图6 摄像头图像采集流程图
2.2数字图像处理流程
由于摄像头工作过程中,由其选型介绍可知,CMOS摄像头内部由于采用不同放大器对同一行内不同像素进行放大,放大一致性较差,因此采集图像噪点较多。而由于摄像头生产工艺、安装误差,以及广角镜头的使用和系统中摄像头安装机械结构中具有倾角等因素,都会造成采集图像发生畸变[3]。因此,采用摄像头进行标定、校正以及对图像进行滤波等数字图像处理技术非常必要[4]。
本系统采用MATLAB的摄像头标定工具箱(CameraCalibrationToolbox)和图像处理工具(ImageProcessToolbox)箱进行采集图像的校正、直方图的获取、二值化阀值的确定等过程。摄像头标定工具箱是由加州理工大学开发,专门用于标定摄像头的图形界面工具箱。而图像处理工具箱是MATLAB自带用于图像处理的专用工具[5]。
在本系统中,首先通过微控制器串口将图像传输至PC的图像采集上位机中,而后将图像截图,保存得到原始采集图像,如图7所示。而后,将该图像导入MATLAB的摄像头标定工具箱中进行标定,得到图像大概坐标的确定,从而将该坐标与世界坐标进行对应,具体标定如图8所示。
图7 摄像头采集原始图像
图8 工具箱标定后图像
由标定后图像,通过摄像头标定工具箱的Calibration可以得出关于标定图像的若干校正参数,通过该参数可进行图像的校正。该工具箱输出的参数有:
1)焦距:有效像素的焦距存储在2×1向量fc中。
2)主点:主点坐标存储在2×1向量CC中。
3)倾斜系数:倾斜系数定义为x像素和y像素坐标轴的夹角,该角存储于标量alpha_c中。
4)畸变系数:图像的畸变系数(旋转畸变和几何畸变)存储于5×1的向量kc中。
对于校正图像,通过输出的以上参数,经过以下过程可以得到校正图像,其中Xc,Yc,Zc是坐标点相对于摄像头的向量,而xn为世界坐标投射到摄像头内的投影坐标[6],则有
(1)
设r2=x2+y2,则换算到的新的世界坐标系中由式(2)得到
xn+dx
(2)
式中:dx是几何畸变向量,具体如式(3)所示
(3)
(4)
这样,像素坐标向量x_pixel与世界坐标向量xd则有如下的线性方程
(5)
而KK为摄像头参数矩阵[7-8],且定义为
(6)
由本系统的图像标定,最后得出标定参数如下
fc=[293.668 05303.598 92]
(7)
cc=[159.5119.5]
(8)
(9)
kc=[-0.446 150.101 480.003 98-0.004 530]
(10)
由该参数最终得出校正图像如图9所示。
图9 校正后图像
而后将该参数导入到微控制器中进行图像校正,在图像处理部分,程序首先将读取到的图像进行数字滤波,而后采用MATLAB计算得到的参数进行图像校正,再通过八连通闭合区域检测提取出手指按下后反射的光斑的质心坐标,将其映射为按键编码[9]。
3系统测试
3.1摄像头采集图像设置
摄像头上电后,要进行图像采集,而为保证图像采集正常,最直观的办法是进行摄像头采集图像的显示,在本系统的调试中,采用将图像实时显示在TFT屏上的办法来测试摄像头采集是否正常。
测试方法:在摄像头下方摆放特定的图案,使摄像头正常工作进行采集,将采集到的图像显示在TFT显示屏上。测试结果如图10所示。
图10 摄像头采集图像测试
测试结果:摄像头可以正常工作,且采集图像效果良好。
3.2系统测试
软硬件测试系统正常后,本文最终对整个系统进行测试,将该系统连接USB主机—PC进行功能测试,确定其是否达到设计最初的目的和功能。最终测试结果如图11所示。
图11 系统测试图
最终,本系统可以正常与USB主机枚举成功并由USB主机正确识别为USB键盘类设备,且通过用户在投影图案上进行操作,可以使系统准确识别按键消息并将其正常、及时地返回到USB主机中,实现作为键盘的目的[10]。最终测试表明,本系统可以较好地完成激光投影键盘所承担的任务,达到激光投影键盘的目的。
4结束语
作为便携式设备进行办公、工作汇报等大批量文字输入的情况下,激光投影虚拟键盘能够实现准确的按键信息发送,可以全部实现传统键盘的功能,同时在机械结构的优化,体积便携性方面都有很大的提升。
参考文献:
[1]蔡睿妍.激光虚拟键盘的设计与实现[J].激光与红外,2012,42(8):875-878.
[2]OmniVision.OV7620Single-chipCMOSVGAcolordigitalcamera[EB/OL].[2015-12-06].http://joule.bu.edu/~hazen/Rockets/Cam/DS-OV7620-1.3.pdf.
[3]BRADSKIG,KAEHLERA. 学习OpenCV(中文版)[M]. 北京:清华大学出版社,2009.
[4]张金,成媛媛,李洋.一种基于虚拟键盘图像坐标变换的几何失真校正方法[J].计算机应用与软件,2012,29(6):84-88.
[5]RAFAELCG. 数字图像处理(MATLAB版)[M]. 北京:电子工业出版社,2014.
[6]范勇,张佳成,陈念年.图像几何畸变校正方法[J].计算机工程与应用,2009,45(29):194-197.
[7]贾洪涛,朱元昌.摄像机图像畸变纠正技术[J].电子测量与仪器学报,2005,19(3):46-49.
[8]朱铮涛,黎绍发.镜头畸变及其校正技术[J].光学技术,2005,31(1):136-138.
[9]胡君.一种快速求图像目标质心的方法[J].光学精密工程,1998,6(5):19-25.
[10]段宗涛,沙爱民,张燕妮.高性能嵌入式图像处理系统研究[J].微电子学与计算机,2008,25(6):38-41.
王久鹏(1988— ),硕士生,主研物联网技术、嵌入式技术;
漆晶(1983— ),讲师,主要研究方向为智能图像处理、物联网技术、嵌入式技术等;
王小平(1973— ),教授,主要研究方向为物联网技术、宽带信息网、NGN网络等。
责任编辑:闫雯雯
Researchanddesignoflaserprojectionvirtualkeyboard
WANGJiupeng,QIJing,WANGXiaoping
(Mobile Communication Technology Key Lab., Chongqing University of Posts and Telecommunications, Chongqing 400065, China)
Abstract:According to the actual demand of the laser projection keyboard, combined with embedded technology and image processing technology, the study design a set of laser projection virtual keyboard devices. The hardware module based on ARM Cortex-M4 architecture microprocessor as the main controller, using digital CMOS camera; and the processing of software module using MATLAB to process the digital image processing and the results are introduced into the microcontroller. After the hardware and software design of the system, the function of the whole system is tested, and the results show that the system can achieve the expected goal.
Key words:laser projection technology; digital image processing; USB equipment development
中图分类号:TN911.73
文献标志码:A
DOI:10.16280/j.videoe.2016.04.007
基金项目:重庆市教育委员会项目(KJ1500433);重庆市教育委员会2014年大学生创新创业训练计划项目
作者简介:
收稿日期:2015-12-10
文献引用格式:王久鹏,漆晶,王小平. 激光投影虚拟键盘的研究与设计[J].电视技术,2016,40(4):32-37.
WANGJP,QIJ,WANGXP.Researchanddesignoflaserprojectionvirtualkeyboard[J].Videoengineering,2016,40(4):32-37.