基于Oxford Project的低视力者视觉增强系统设计

2019-02-18 02:15李建军孔令剑米文鹏
无线电工程 2019年3期
关键词:图像处理视力语音

陈 超,李建军,孔令剑,米文鹏

(1.火箭军士官学校,山东 青州 262500; 2.广东外语外贸大学 南国商学院,广东 广州510000)

0 引言

按照WHO的标准,目前全世界盲人为4 500万,低视力者约为盲人的3倍,高达1亿3 500万,并且全世界每年将有700万人成为盲人,这就意味着每年将有2 100万人成为低视力[1]。1987年首次全国残疾人抽样调查结果显示,我国有视力残疾患者近1 310万,低视力患者约750万[2],所以针对低视力人群的新型视觉增强系统的设计显得至关重要。

目前,许多公司已经开发了用于增强现实的头戴式显示系统和虚拟现实技术的应用,通过虚拟现实技术,帮助人们更好地操作和体验一些在生活中存在困难和危险的事情,然而这些技术的应用对象只是视力正常的人群,没有开发针对低视力人群的应用模式和图像处理方法。本文综合应用了微软牛津计划,并结合增强现实和OpenCV技术,研究了视觉增强算法,设计了基于低视力人群视觉增强系统ApperSght。该系统引入了机器学习、语音识别和云端处理等技术,具有人机交互友好、参数定制过程自动化、语音辅助视觉和硬件小巧轻便等优点,并且对重度低视力者和盲人也有一定的帮助。

1 视觉增强系统相关技术

1.1 增强现实技术

增强现实技术(Augmented Reality,AR)是指将计算机生成的三维虚拟对象叠加到真实世界,将真实场景同虚拟物体加以融合的一种手段。通过运动相机或可穿戴显示装置的实时连续标定,将三维虚拟对象稳定一致地投影到用户视觉中,达到“实中有虚”的表现效果,可以减少场景的建模和渲染工作量,提供了一种轻量级并且真实感强的增强技术[3]。

AR系统中,成像设备、跟踪与定位技术和交互技术是实现一个基本系统的支持技术[4]。简单AR系统的基本原理如图1所示,图形系统首先根据相机的位置信息和真实场景中的定位标记来计算虚拟物体坐标到相机视平面的仿射变换[5],然后按照仿射变换矩阵在视平面上绘制虚拟物体,最后直接通过或与真实场景的视频合并后,一起显示在普通显示器上。

图1 简单AR系统的基本原理

1.2 微软牛津计划

微软牛津计划(Microsoft Oxford Project)[3]提供了一组基于REST架构的API和SDK工具包,支持任意语言及任意开发平台,主要提供了4个自然语言处理方面的核心问题解决方案。

1.2.1 计算机视觉

计算机视觉为开发者提供顶尖的图像处理算法,通过这些API可以获得基于图像视觉内容的各种信息并生成理想的缩略图。

1.2.2 人脸识别

微软最先进的人脸算法,以云平台为基础,检测和识别图片中的人脸,主要包括6个方面技术:人脸检测、人脸验证、相似人脸搜索、人脸分组和人脸辨识。

1.2.3 语音识别

Speech API为开发者提供先进的语音处理算法,通过这些API,开发者可以轻松地为自己的应用添加语音操作功能,主要包括3个方面的技术:语音识别、语音意图识别和语音合成。

1.2.4 语言理解智能服务

语言理解智能服务用快速有效的方式帮助开发者在应用中增加语言理解能力,通过LUIS可以使用已经构建好的世界顶级模型。

1.3 OpenCV

OpenCV(Open Source Computer Vision Library)是一个开放源代码的计算机视觉库[6],提供的视觉处理算法非常丰富。它以C/C++语言编写,加上其开源的特性,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常地运行在DSP系统和嵌入式系统中。

OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,目前在工业界以及科研领域广泛采用,其应用领域有人机交互、物体识别、图像分割、动作识别、运动跟踪和机器视觉等。

2 头戴式视觉增强系统设计

基于增强现实技术、图像处理技术和声音识别技术等技术,在分析ForeSee视觉增强系统设计的基础上,研究和设计针对低视力者的可定制式头戴式视觉增强系统ApperSight,旨在提高低视力者的视觉体验和感知,使他们的日常生活和工作更加高效和舒适。ApperSight系统硬件主要由高性能处理器、小型摄像机、头戴式显示器、WiFi模块和语音模块等组成,软件部分主要由Azure云端应用程序、图像增强处理模块、语音处理模块和图像显示模块等组成,如图2所示。

摄像机捕获用户的眼前真实场景,WiFi模块把摄像机获得的图像送到Azure云端,云端应用程序借助于微软牛津计划中的“计算机视觉”部分的API处理图像,获得图像的轮廓、缩略图和图像类别等信息,如果存在文本信息,则利用光学字符识别(OCR)在图像中检测和提取文本;然后下载到ApperSight系统,如果识别到文字或者物体,则语音输出辅助低视力者视觉识别;处理器对云端处理返回的信息进一步加工,根据相应视觉增强算法和显示模式生成特定的虚拟图像,然后叠加到真实视频中,视频合并形成增强现实的扩增视频,最后在头戴式显示器中显示,低视力用户可以直接从显示器中获取信息;另一方面,ApperSight系统基于机器学习方法,可以根据用户的个人偏好、环境信息、任务情况来整合不同的增强模式和显示模式,自动地为用户定制头戴式视觉增强系统,而不需要用户过多干预,同时用户可以语音输入指令,来进一步调整视觉增强系统的参数设置,以优化用户的视觉体验。

图2 Apper Sight系统组成

ApperSight系统在硬件设计方面,处理器、WiFi模块和语音模块集成PCB设计,选择高通公司(QUALCOMM)基于骁龙410芯片的低成本开发板 DragonBoard 410c,该开发版配备了主频为1.2 GHz 的64位骁龙410处理芯片,GPU 型号为 Adreno 306,集成了WiFi、蓝牙、还配备了连接扩展接口,可以在DragonBoard上安装微软的 Windows 10 for IoT(Internet of Things)系统,结合Windows Azure的服务开发自己的应用程序;头戴式数字头盔(Head-Mounted Display,HMD)是增强现实的传统研究内容,一般分为光学透射式(Optical See-Through,OST)头盔和视频透视式(Video See-Through,VST)头盔。光学透射式是指用户透过透明镜片看到真实世界,并通过反射或投影方式看到虚拟环境或对象;视频透视式是指将头盔上集成摄像头采集的外部图像与虚拟场景相组合,然后输出到用户眼前的小屏幕上[7],综合多方面考虑,本设计选用视频透视式头盔Oculus Rift,Oculus Rift具有2个目镜,每个目镜的分辨率为 640×800,双眼的视觉合并之后拥有1 280×800的分辨率,并且具有陀螺仪控制,可以使用户的沉浸感大幅提升[8]。

ApperSight系统在软件设计方面,为了使用户可以快速熟悉和适应ApperSight系统,本设计中的增强现实技术借鉴其他相关产品的设计,采用常见的、标准化的图像处理算法。在增强现实方面,ApperSight系统有4种视觉增强模式:放大增强Magnification、对比增强Contrast Enhancement、边缘增强Edge Enhancement和黑白反转Black/White Reversal。另外,ApperSight系统有3种显示模式:全屏显示模式(Full)、窗口显示模式(Window)和物体显示模式(Object)。全屏显示模式把增强效果显示到整个显示器,窗口显示模式把增强效果显示到显示器的特定矩形区域,而物体显示模式则会根据识别物体的形状把增强效果显示到显示器的特定区域(显示边界由物体形状确定)内使物体完整显示,其中物体显示模式是本设计的创新点之一。

3 ApperSight系统算法设计与实现

ApperSight系统特点是采用4种视觉增强方法,并充分利用了每种方法的优点,同时开发了针对图片文本提取和物体特征识别和分析的应用程序,取得很好的图像处理效果。

3.1 视觉增强算法的设计与实现

3.1.1 放大增强

比例放大是最常见的视觉增强方式之一[9],可以为一般用户提供更详细的视觉信息,设计的放大增强方法可以根据用户需求调整放大的比例,例如在窗口模式下放大物体时,窗口区域也自动扩大,确保目标物体在窗口范围内。比例放大的缺点主要是限制了用户的视野范围,在有限的显示器上很难识别出较大的物体,从而影响了用户感知物体的能力和速度,在近距离任务上这个问题更加明显。设计中放大增强模式的示例如图3所示。

图3 放大增强示例

3.1.2 对比增强

设计使用标准的对比增强算法,增强了视频的亮度和色调的对比度。在设计算法仿真中,主要使用了点算子对常数对点进行乘法和加法运算达到对比增强的目的[10-11]。如公式所示,其中使用a>0和b两个参数用来控制对比度和亮度,f(x)为原图像像素,g(x)为输出图像像素,i和j表示像素位于第i行和第j列。

g(i,j)=a*f(i,j)+b。

设计中对比增强模式的示例如图4所示。

图4 对比增强示例

3.1.3 边缘增强

通过边缘增强这个方法对彩色视频流的边缘进行加深和加厚。图像边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘[12-13],设计中使用Canny边缘检测算法检测出一个图像的边缘,然后设置边缘及边缘周围元素点为黑色,加深原始图像的边缘像素。设计中Canny边缘检测的示例如图5所示。

图5 边缘增强示例

3.1.4 黑白反转

黑白反转方法中,设计使用阈值方法实现,首先转换视频为灰度值视频(只有黑色和白色),阈值设置可调节(默认为150),然后黑白颜色取反,达到原始的白纸黑字变为黑纸白字效果。设计中黑白反转模式的示例图如图6所示。

图6 黑白反转示例

3.2 Azure云端应用程序的实现

微软牛津计划提供了一组基于REST架构的API和SDK工具包,帮助开发者轻松使用微软的自然数据理解能力为自己的解决方案增加智能服务。

设计通过微软牛津计划提供的SDK工具包,参考了SDK工具包中的例程实现云端应用程序的部分功能,编程环境为Visual Studio 2013,编程语言是C#,程序中主要使用了Microsoft.ProjectOxford.Vision.dll和Newtonsoft.Json.dll两个动态链接库DLL(Dynamic Link Library),开发针对图片文本提取和物体特征识别和分析的应用程序,因为实际条件限制,该应用程序并未部署在云端,而是在PC端简单实现。

3.2.1 图片中文本提取

由于微软并未开源“文本提取”的代码和算法,所以牛津计划中文本提取的算法和流程没有详细的参考资料。本文在参考OpenCV下通过OCR识别文字的实现来大概描述文本提取的过程,其步骤主要是特征提取->训练->识别,首先使用OpenCV库中的场景文字识别检测到文字的位置,然后应用机器学习知识对输入数据进行训练和识别[14-15],最后结合OCR引擎和机器学习知识识别出其中的文字。

如图7(a)和图7(b)所示,基于牛津计划的文本提取可以很好地识别出图片中的中/英文字,识别错误率极低。设计中文本提取方法只在窗口模式中使用,文本提取后在窗口下单独的矩形区域内高对比度显示出来,并且可以通过语音输出辅助低视力者的视觉感知。

图7 图片文本提取实例的比较

3.2.2 图像特征识别和分析

由于微软并未开源“图像特征识别和分析”的代码和算法,所以牛津计划中“图像特征识别和分析”的算法和流程没有详细的参考资料,其中有特色的功能是视觉特征分析,其目的在于对图像的内容进行分类[16-17],该分类基于一组涵盖了86个概念的列表开发而成,从抽象到具体,不一而足。

如图8(a)和图8(b)所示,基于牛津计划的“图像特征识别和分析”可以很好地识别出图片中物体的基本信息,包括图像类别、主色调等。

图8 图像特征识别和分析示例

设计中“图像特征识别和分析”配合特定的图像边缘检测算法[18-19],可以识别出物体的种类和边缘形状,然后物体显示模式可以根据这些信息把物体信息显示在物体边缘形状的区域内,并且会随物体的放大而放大,保证时刻显示出物体的全景,另外识别出的信息也可以通过语音输出辅助低视力者的视觉感知,增强低视力者的视觉体验。

4 仿真结果分析

通过Matlab仿真软件对视觉增强系统进行仿真,在Matlab主界面中打开GUIDE,然后添加CallBack函数,并在CallBack函数内编写程序代码,以实现图像放大增强、对比增强、边缘增强和黑白反转的图像处理算法。图3~图6原始图中仿真结果的熵值统计数据如表1所示。可以看出,无论是哪种图像处理方法,增强结果都保持着与原始图像比较接近的熵值。而增强结果的熵值越接近原始图像,说明其信息保有量也越接近原始图像,图像细节损失少,证明图像处理方法的可行性。

表1 熵值统计数据 bit

表2列出了仿真结果的信噪比(SNR)数据统计,SNR表面图像处理算法对抗噪声的能力,其值越高,图像效果越好。可以看出图像放大增强、对比增强、边缘增强和黑白反转的图像处理算法,使得对抗噪声的能力提高了几倍,取得了较好的图像效果。

表2 信噪比统计数据 dB

5 结束语

基于已有的视觉增强系统,研究和设计的ApperSight系统具有设备智能化、参数定制化和交互友好化的优点,可以提高低视力者的视觉体验,增强日常生活技能。通过仿真数据表明,图像放大增强、对比增强、边缘增强和黑白反转的图像处理算法,可以确保图像质量,保持原始图像的细节特征,增强图像对抗噪声的能力,取得了较好的图像效果,证明了视觉增强系统的可行性。

猜你喜欢
图像处理视力语音
上午给眼睛“充电”或可改善视力
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
魔力语音
保护视力等
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的废有色金属自动分选算法研究
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……