APP下载

基于树莓派的盲人智能拐杖

2019-11-03李文龙王彬

电脑知识与技术 2019年24期

李文龙 王彬

摘要:盲人数量不断增加,因为视力问题,盲人在生活和出行中遇到了很大困难,为此我们设计了一款盲人智能拐杖,具有障碍物距离测定,拍照,物体识别,GPS定位线路规划等功能,基于wukong-robot实现了语音控制,语音播报的功能,本文设计的盲人智能拐杖,可应用于盲人朋友的日常生活出行之中,市场前景良好。

关键词:盲人拐杖;语音控制;树莓派3B;障碍物测距;物体识别

中图分类号:TP399    文献标识码:A

文章编号:1009-3044(2019)24-0203-02

开放科学(资源服务)标识码(OSID):

A Smart Cane for the Blind Based on the Raspberry Pie 3B

LI Wen-long, WANG Bin

(School of Computer Science and Engineering, Xian University of Technology, Xian 710048, China)

Abstract: the number of blind people continues to increase, because of vision problems, blind people in life and travel encountered great difficulties, so we designed a blind intelligent crutch, with obstacles distance measurement, photography, object recognition, GPS positioning line planning and other functions, based on wukong-robot to achieve voice control, voice broadcast function, the design of intelligent crutch for blind people, can be used in the daily life of blind friends travel, the market prospects are good.

Key words: blind person crutch; voice control; raspberry pie 3B; obstacle ranging; object recognition

1 前言

随着社会经济和科技的发展,人们越来越追求高质量的生活,然而有一部分人——盲人朋友,仍然把自己关在家中,逐步与社会脱节。据世界卫生组织统计,2010年中国盲人数量为824.8万,据估计,目前的盲人数量可能超过1300万,因为视觉障碍,盲人的生活出行充满了困难,无法看见生活中的物体,出行时不清楚自身位置容易迷路,还可能撞到障碍物。

目前主流的智能拐杖功能较单一,仅有简单的障碍物震动提示功能,其优势是制作简单,成本低廉,但盲人不知道前方障碍物的距离,不能做出最佳判断,因为缺少定位功能,盲人仍会有迷路的苦恼。

为了解决盲人朋友的生活出行问题,基于树莓派3B,我们设计了一款智能拐杖,可以动态探测前方障碍物并语音播报障碍物的距离,可以播报盲人所处的位置,让盲人摆脱迷路的苦恼,还可以播报拍摄到的物体,让盲人也能“看见”世界,语音控制拐杖,非常便捷,具有广阔的市场应用前景。

2 系统的硬件设计

本系统采用树莓派3B为核心控制器,GPS传感器,麦克风通过USB接口与树莓派相连接,相机通过CSI接口与树莓派相连接,耳机通过3.5mm接口与树莓派相连接,超声波传感器有四个引脚,超声波传感器的VCC,GND,TRIG,ECHO引脚分别与树莓派的5v,GND,GPIO14,GPIO4相连。

2 系统的软件设计

系统主要分为四大模块,语音助手模块,拍照识别模块,定位线路规划模块,超声波测距模块,主要执行流程如下图。

2.1 语音助手模块

主流的开源语音助手都是基于Jasper改进的,本项目采用的语音助手开源项目wukong-robot,离线唤醒引擎采用的是Snowboy离线引擎,录制三段唤醒词音频,即可在Snowboy官网训练自己的唤醒词声学模型,当语音助手被唤醒后,会录制一段定长的音频,通过百度的STT引擎将语音转为文本,对文本进行技能匹配,判断文本是否包含已注册的模块关键字中, 如包含则由关键字对应模块进行处理,若不包含,则进入图灵机器人处理,对于处理得到的文字结果,通过百度的TTS引擎转为语音,对执行结果进行播报。

2.2 拍照识别模块

在设置中启用树莓派相机后,通过rasistill命令可以拍摄照片,对于照片的识别,采用的是已经训练好的inception v3网络,inception v3将物体分成了1000类,下载的模型包含有两个文件,classify_image_graph_def.pb和imagenet_2012_challenge_label_map_proto.pbtxt

我们需要将两个文件中的target_class与分类得到的结果做映射,使用tensorflow框架,创建图,启动图,最终得到的结果需转为1维数据,截取概率最大的结果通过有道翻译,翻译为中文,最终通过调用语音助手的say函数语音播报识别的结果。

2.3 超声波测距模块

给TRIG引脚一个超过10us的高电平,模块会自动发出8个40KHZ的脉冲,此时只需检测ECHO引脚高电平的时间,其高电平持续的时间即为超声波在空气中传输遇到障碍物的往返时间,根据声速,传播时间即可计算出障碍物距离,通过调用语音助手的say函数播报障碍物距离,因为超声波测距需要循环执行,可采用多线程的执行方案,一个线程循环执行测距模块,一个线程监听是否用户说出了“退出”,若监听到退出则退出测距模块,否则一直执行测距。

2.4 定位线路规划

先从GPS芯片中获取经纬度信息,将GPS经纬度通过百度地图坐标转换服务转为百度坐标系下的坐标,再通过百度地图逆地理编码服务将经纬度信息转换为位置信息,通过调用语音助手的Say函数语音播报所在位置。对于线路规划,需要获知起始点的经纬度,默认采用拐杖所在地经纬度,终點的位置由用户语音输入,通过百度地图的地理编码服务转换为经纬度,最终通过百度地图的路线规划服务实现简单的线路规划。

3 结束语

本文基于树莓派3B设计了一款盲人智能拐杖,基于wukong-robot来实现语音控制,语音播报,具有障碍物距离测定,拍照,照片识别,GPS定位线路规划等功能,但仍有较大改进空间,由于硬件的限制,麦克风录制的音频音质相对较差,有电流噪声,不利于语音助手的唤醒,可采用降噪算法,减少噪声。另外可以设计服务器和移动端程序,服务器程序实时接收拐杖的位置信息并发送到移动端。让盲人的子女可以清楚知道父母的位置。

参考文献:

[1] Tariq Rashid.Python神经网络编程[M]. 北京:人民邮电出版社,2018:89.

[2] 黄文坚,唐源.TensorFlow实战[M]. 北京:电子工业出版社,2017:119.

[3] 刘胜金,杨溢凡,张雨婕,等.基于树莓派的智能小车系统[J].电脑知识与技术,2019(19):158.

[4] 徐国保,洪展文,叶昌鑫,等.基于树莓派的智能镜子的研究与开发[J].电子技术与软件工程,2019(12):58.

[5] 张俊,李鑫.TensorFlow平台下的手写字符识别[J].电脑知识与技术,2016(12):199.

【通联编辑:梁书】