盲人出行智能导航系统设计研究
2024-01-23卢乃旬罗恺韵张慧蕾胡江海罗秀雯
卢乃旬,罗恺韵,王 琦,张慧蕾,胡江海,罗秀雯
(1.湖南文理学院芙蓉学院,湖南 常德 415000;2.河北工程大学科信学院,河北 邯郸 056000)
0 引 言
据国家权威部门统计,中国是世界上盲人最多的国家,约有700 多万,占世界总数的18%[1]。盲人的视觉缺陷给他们的日常生活和出行带来诸多不便,他们的安全和舒适问题尚未得到很好的解决。本项目的研究致力于创建一个服务于盲人出行的APP,该APP 拥有出行地图语音及振动提示导航、识别人脸、寻求帮助、好友视频和语音聊天功能等,为盲人出行提供更为便捷的服务,让他们能安全外出、随心交友,从而丰富他们的生活。
1 系统方案设计
盲人出行智能导航主要由两个系统支持,一个是以外部识别设备为载体的硬件系统,另一个是以智能语音导航为主体的导盲软件系统,如图1 所示。
图1 盲人出行智能导航系统功能模块
硬件外部设备可通过佩戴特殊眼镜来实现盲人所处环境相关参数的获取,比如一定范围内的避障物、交通标志等相关信息。收集相关参数并进行分析,判断障碍物的类型、距离、大小、危险指数等,并通过蓝牙连接导盲软件共享分析结果。
导盲软件部分主要由百度导航、智能语音、振动提示、通信交流四大模块构成,具体介绍如下:
(1)将百度导航与智能语音两者结合,通过接口接入百度导航地图,与硬件获取的数据进行交互分析,并结合智能语音提示实现出行路线规划。
(2)智能语音既可以充当系统的操作提示指令,也可以充当盲人的眼睛,时刻提示他们道路上的正确行走方向,并准确避开障碍物,避免危险事件发生的同时给予他们真正的安全感。
(3)振动提示可以对危险提前做出预警,也可以在其他方面作为提示手段,比如可以将振动强度作为方向判别指标。
(4)通信交流功能,即通过语音指令实现交友聊天以及在遇到困难时进行求助。
2 系统硬件设计
硬件设备是以导盲眼镜作为载体实现相应的数据采集,并利用OpenMV 中控芯片对数据做初步的筛选,将筛选结果通过数据传输的方式发送给软件部分,以实现盲人出行过程中软硬件数据的实时共享。
2.1 数据采集
通过信息采集数字化和网络化,使数据采集的覆盖范围扩大,提高审核工作的及时性、准确性和全面性;最终实现相关业务工作管理决策科学化、现代化、服务网络化、程序规范化。主要有数据库管理、异常处理、实时监视、数据处理、统计计算及报表、运行指导及性能分析等功能[2]。
此部分由红外线超声传感器和摄像头来实现。红外线传感器主要是监测盲人周围障碍物,如地面坑洼、栏杆等,摄像头用于标志物识别,比如红绿灯、盲道、斑马线的识别等。
采集的数据作为原材料进行数据加工、数据建模,然后分门别类地储存,再根据实际的业务场景,打造各类数据服务,从而实现对业务的赋能加速。数据采集平台是数据处理的基座,我们也可以把数据采集平台称为数据采集开发平台,它需要具备与数据采集相关的开发能力,提供数据存储、数据清洗/计算、数据查询展示及权限管理等功能。以 Hadoop生态构建的技术体系为主,依托各类开源组件进行优化改进与二次开发,数据存储组件可以选择HBase、Hive 等组件,数据计算引擎可以选择Spark、Flink 等分布式计算引擎。数据采集平台需要能为用户提供数据建模工具,帮助用户创建目标数据(数据集),其提供的功能包括坐标计算、自动识别、数据预处理、设置边界参数、计算函数选择等基本操作,以及多源异构的JOIN/UNION 等数据处理功能[3]。
2.2 数据处理
在复杂的未知环境中,单独依靠超声传感器对障碍进行精确的探测时会存在误差。面对不同环境,采用多传感器信息融合的方式进行探测。利用以电荷耦合器件为核心部件的数字传感器(Charge Coupled Device, CDD)与摄像头结合协同工作,将CCD 摄像头获得的彩色图像与超声波传感器提供的距离信息进行融合处理,可以得到简单的障碍物类型。将超声传感器阵列获得的回波波形中的特征点信息与CCD 获得的强度分布采用遗传算法进行融合[2],得到相应的障碍物位置。将CCD 获得的彩色图像及超声传感器阵列测量得到的距离值使用神经网络融合算法进行融合[2]。利用OpenMV 作为中央控制器,将在复杂环境采集的数据进行处理,并将处理后的数据通过蓝牙接口传给软件系统。
3 系统软件设计
3.1 硬件设备采集数据处理
智能化数据处理是外部设备采集数据分析应用的核心。对于实现硬件设备采集的数据与软件系统的交互,智能化数据处理能够起到中转站的作用。只有根据分析处理后的数据才能对实时路况进行判断,并在外部设备采集到的数据基础上,利用大数据分析手段,辅以人工智能对获取的数据进行更加准确的处理,对导航路线进行规划,以提高出行的安全性。
路况数据采集是通过摄像头及红外线感应设备得到的,再通过软硬件数据衔接传递到智能导航系统中。在处理数据过程中,数据处理、数据分析作为智能导航系统平台的功能,需要实时进行环境数据采集,并且必须要在盲人经过前完成数据的分析。因此对数据的实时性、真实性要求较高,同时也对数据的具体需求和需求种类提出了很多要求[3]。
要实现数据采集与应用系统模块间的数据传输,需确保各接口协议的可扩展性,同时要保证通信协议的一致性。数据协议在保证系统稳定的前提下具备统一性并让各设备之间相互支持,可以更方便地进行系统之间的衔接[4]。在此基础上将处理分析后的数据传输到导航应用中。
采集数据系统需完成传感器数据采集,以及通过网络控制器和设备控制箱等实现串口协议信号向TCP/IP 协议数据的转换,数据通过网络被传输至控制器、服务器的数据库进行处理、统计、分析等。数据传输网络系统的主干连接应采用负载均衡的冗余方式,设置的两条连接均提供数据传输功能并互为备用,两条线路可实时、自动进行切换且不影响系统的应用。数据采集处理模块如图2 所示。
图2 数据采集处理模块
3.2 地图语音及振动提示导航功能模块
通过设备特殊按钮唤醒语音合成AI,盲人通过语音指令打开导航软件。语音AI 播报“请输入起点”,盲人语音输入起点后,地图导航通过百度导航定位确认盲人位置与输入起点相符。语音AI 播报“请输入目的地”,盲人语音输入目的地及出行方式,地图导航规划最优路线。语音AI 进入导航提示播报模式,通过百度导航及硬件设备来播报实时路况。语音提示模块如图3 所示。
图3 语音提示模块
盲人在步行导航时,语音AI 通过识别设备传回的图片判断前方路况,当存在障碍物时AI 及时发出语音提醒躲避。当遇到过马路时,首先提醒盲人停止行走,若有路人则发出请求帮助语音,没有则通过AI 判断设备传回的红绿灯图片,语音提示盲人行走。语音指令模块如图4 所示。
图4 语音指令模块
3.3 地图导航功能实现
调用百度地图API,实现定位及导航路线基本功能。调用百度地图地点检索服务获取任意位置的经纬度坐标,关键代码如下:
系统实现了路线规划及轨迹数据分析功能。用户通过语音指令录入想到达的地点,在导入的地图模块中检索出所有路线;再通过迪杰斯特拉(Dijkstra)算法以及弗洛伊德(Floyd)算法对所有路线的优劣性进行排序,并存入数据库中。在盲人出行时调用数据库路线图,选用最佳的路线作为出行路线,每次盲人完成行程导航后,会对行程轨迹数据上传并保存,分析这次行程的耗时,以及在路上遇到的障碍物数量(包括过马路的次数)等信息。根据数据分析形成更适合盲人的行走路线,并通过语音提示对本次规划的路线进行评分,把评分作为下次选择路线的基础,使得下次出行更加顺畅。
障碍物图像获取方法如下:
障碍物识别是图像识别中的一个典型过程。图像识别就是运用现代信息处理与计算机技术来获取障碍物的位置、大小、距离等环境信息,它包括成像、图像处理、图像识别三个步骤[5],如图5 所示。
图5 图像识别基本模型
图像识别主要是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。依据输入图像的空域二维图像信息f(x,y,t)根据图像识别模型进行相关的图像运算分析并提取出图像的识别特征,然后按照图像特征对图像进行分类识别运算[5]。
3.4 语音识别及语音指令功能实现
语音识别是在EasyDL 语音识别平台上创建了导航语音专属模型,并进行数据录入及识别训练,保证语音AI 进行正确操作及下达正确指令。
调用百度AI 语音服务实现将文本转化为语音,并输出为MP3 文件,关键代码如下:
3.5 通信功能模块的设计
3.5.1 线上聊天、添加和删除好友、拨打和接听电话功能
(1)用户可以通过语音指令调用添加、删除和修改好友程序,通过MySQL 数据库进行数据的修改。
(2)用户可以调用手机本身内部电话的接口接听电话,还可以通过特定的语音指令来实现拨打电话,这些函数的调用主要是通过百度AI 语音技术来实现的,通过特定的语音指令识别关键字并返回参数,从而调用相关程序运行[6-7]。
(3)线上聊天时可以通过语音指令选择聊天对象,进入对话框发送语音条,收到回复后百度语音AI 语音播报给该用户。
3.5.2 实时共享位置
实时共享位置功能设置的目的是防止盲人用户走失、迷路等意外事件的发生,方便亲友对盲人用户的实时监护,它是通过使用百度地图API 返回数据来实现的。实现方式如下:
3.5.3 寻求帮助功能
寻求帮助功能是为解决盲人用户遇到问题时在线上寻求帮助而设计的,通过大数据分析经常出现的问题并做出解答,对这些问题和解答进行数据存档。当用户向应用寻求帮助时,首先在数据库中检索是否有类似问题的解决办法,检索到时可以语音提示给用户;未检索到时系统借助网络中的公益平台,通过实时视频连接给予盲人帮助。
盲人用户可以向公益平台志愿者请求帮助。志愿者们将在手机上收到通知。一旦有志愿者第一时间接收了帮助请求,就会在双方之间建立实时音视频连接,通过盲人手机的后置摄像头来为盲人提供帮助。
如果志愿者无法帮助到盲人,也不必担心盲人用户需要一直等待,系统会自动转发请求并寻找下一位志愿者,在通话过程中需要对内容进行存储备份以及加密,确保每次通话的安全性。
3.5.4 数据传输网络设计
数据处理中心系统与数据采集之间的传输网络采用局域内网进行连接,采用I/O 协议进行传输。由于接入方式、接入速率、应用方式和数据类型的多样性,网络数据流量突增而致拥塞是不可避免的。为应对这一问题,网络应支持区分服务模型机制,根据应用类型、流量大小、用户所在网段等自动进行业务分类,使业务遵守设定的接入速率约定[10],在网络出现拥塞前能自动采取措施进行先期拥塞控制,以避免瞬间大量“丢包”现象的发生。
网络以无线为主、有线补充的方式使多终端无缝接入网络,实现访问业务和共享数据。无线接入点主要采用双星型冗余组网结构,将无线AP 连接至接入交换机,无线控制器连接至核心交换机,用户通过无线控制器和无线网络管理软件实现对所有无线AP 设备的集中管理[11],而且选择的无线接入需要支持无线转发技术,实现无线全覆盖。
4 结 语
为了实现精确安全的导盲,我们采用软硬件结合的方式,设计了一款智能化、实用化、简易化、精准化的辅助盲人安全出行的系统。本系统具有智能导航、智能语音、路线规划、智能避障、交友聊天、位置共享等功能。此设计从盲人的角度全面考虑问题,解决了盲人出行难的问题,大大提高了他们出行的安全性。