基于机器视觉的智能导盲系统的开发与设计

2017-03-22 18:47刘宇红刘超何腾鹏
电子技术与软件工程 2017年3期
关键词:机器视觉深度学习

刘宇红++刘超++何腾鹏

摘 要系统利用机器视觉、数字图像处理与识别、深度学习、计算机网络等前沿技术,实现了对使用者前方障碍物的类别、方位、距离的综合探测,同时实现卫星定位、语音播报、3G网络通信和短信联系家人等功能。系统采用本地-服务器递进识别方案,在前端与云服务器端分别利用模板匹配与深度学习完成对常见障碍物以及非常见障碍物的识别。

【关键词】深度学习 机器视觉 Opencv 双目摄像头 本地-服务器递进识别

1 引言

目前市场上的导盲产品,大多数还只是停留在研制或者试戴完善阶段,且功能单一、智能水平较低。如智能导盲眼镜,在国际和国内都有团队和个人进行过研究,但都始终停留在性能检测与可行性论证阶段,至今并未对其进行产品的批量化生产,尤其是在国内,对智能导盲设备的研发更是刚刚处于起步阶段,距大规模产品化、商业化还有很长的一段距离。鉴于此,目前迫切需要一种专门为视觉障碍者研制开发的便捷、高效的智能导盲设备。

2 系统体系结构

系统通过双目摄像头采集使用者前方的环境图像,获取的图像采用本地-服务器递进方案进行识别,即先由主控单元对常见物体通过图像模板匹配和视差图进行识别与测距,如无法辨别,再利用3G模块的网络通信功能发送至云服务器,云服务器利用深度学习与双目测距等算法,从上传的图像中获取障碍物距离与类别信息,并将信息以文本格式发送回智能视觉终端,再由语音模块将其转化成语音信息,通过语音方式告知盲人。

3 系统设计与实现

3.1 视频采集设备驱动程序设计

视频采集设备可视为一个平台总线设备对象,该对象将设备的资源封装在设备对象中。平台设备对象需要使用platform_device_register()函数向系统注册此设备。结合camera控制器设备的特点,注册方法为platform_device_register (device_camera)。该注册函数会调用platform_device_add()函数,将平台设备挂到平台总线上,并向内核申请平台设备所需的资源,接着将平台设备对象转化为内核设备对象,调用device_add()函数进行处理,将内核设备对象加入到内核设备树中,最后调用device_attach函数完成设备对象与设备驱动对象的绑定工作。

3.2 双目测距原理

双目测距根据相似三角形原理实现,其方法如下:

(1)双目校正和标定,获得摄像头的参数矩阵。

(2)立体匹配,获得视差图。

(3)采用BM算法生成视差图,如果左右匹配点比较稠密,匹配点多,得到的图像与原图相似度比较大,如果匹配点比较稀疏,得到的点与原图相似度比较小。

(4)得出测距。

(5)把生成的视差图输入到reprojectImageTo3D()函数,生成3D点云,3D点云中保存有2D图像的三维坐标,再读出每帧图像的三维坐标中的z轴的值,就得出了距离数据。

3.3 深度学习神经网络

深度学习训练过程如下:

3.3.1 自下而上非监督学习

采用无标定数据分层训练各层参数,首先用无标定数据训练第一层,训练时先学习第一层的参数,由于模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数;

3.3.2 自顶向下的监督学习

通过带标签的数据去训练,误差自顶向下传输,对网络进行微调。基于第一步得到的各层参数进一步微调整个多层模型的参数,这一步是一个有监督训练过程;第一步类似神经网络的随机初始化初值过程,由于DL的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。

3.4 云服务器的实现

云服务器是由多台并行计算的服务器所构成服务器集群,具有较强的运算能力。系统的图像分析正是通过在云服务器上搭建软件平台,利用深度学习神经网络,建立大量的图像学习数据库,从而完成对传输进来的图片进行识别处理。

WebSocket云服务器实现的主要代码如下:

IPEndPoint localEP = new IPEndPoint(IPAddress.Any, port);

Socket listener = new Socket(localEP.Address.

AddressFamily,SocketType.Stream, ProtocolType.Tcp);

try{

listener.Bind(localEP);

listener.Listen(10);

Socket sc = listener.Accept();//接受一个连接

int length = sc.Receive(buffer);//接受客户端握手信息

sc.Send(PackHandShakeData(GetSecKeyAccetp(buffer, ength)));

length = sc.Receive(buffer);//接受客户端信息

string clientMsg = AnalyticData(buffer, length);} //解析客户端数据

4 测试结果

系统的训练过程采用CIFAR-10自然场景库。CIFAR-10数据集包含60000个32*32的彩色图像,共有10类。有50000个训练图像和10000个测试图像。数据集分为5个训练块和1个测试块,每个块有10000个图像。在CIFAR-10自然场景库之外,本系统加入了一些生活中常见的场景:椅子,垃圾箱,人。这样更能检测识别系统的实用性。系统识别结果如图1所示,由测试结果可以看出,对给定的几种生活中常见的场景,系统能较好识别出向日葵、椅子、垃圾箱、人等障碍物目标,说明系统具有较强的辨识和分类能力,满足智能导盲系统的设计要求。

5 结束语

本文实现了一种便捷、高效的智能导盲系统的设计,系统采用本地-服务器递进识别方案实现障碍物类别、方位、距离的综合探测。本地识别方式可以节省系统反应时间,服务器方式可以确保不常见物体的准确识别,两种方式的协调运行保证了图像物体识别的实时性、准确性与广泛性等,具有十分广阔的应用前景。

參考文献

[1]姚天仁.数字语音处理[M].武汉:华中科技大学出版社,2003.

[2]刘玄河,宋廷新.语音识别与控制应用技术(第2版)[M].北京:科学出版社,2006.

[3]王化祥.传感器与检测技术[M].北京:电子工业出版社,2010.

[4]黄帆.无线传感器网络技术及应用研究[M].北京:中国水利水电出版社,2014.

[5]Huang Yukai,Pang Aichun,PiCheng Hsiu,etal.Distributed Throughput Optimization for Zigbee Cluster-Tree Networks[J].IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,2012,23(03):513-520.

作者简介

刘宇红(1963-),男,云南省昆明市人。硕士,教授,研究方向为物联网与大数据,智能硬件、机器视觉,人工智能与模式识别。

刘超(1988-),男,山东省潍坊市人。在读硕士,研究方向为物联网工程、嵌入式系统、机器视觉。

何腾鹏(1989-),男,河北省石家庄市人。在读硕士,研究方向为物联网与大数据,智能硬件、机器视觉,人工智能与模式识别。

作者单位

贵州大学大数据与信息工程学院 贵州省贵阳市 550025

猜你喜欢
机器视觉深度学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
大场景三维激光扫描仪在研究生实践教学培养中的应用