基于OpenCV图像识别的盲人拐杖控制系统及方法与流程

文档序号:12089245阅读:806来源:国知局
基于OpenCV图像识别的盲人拐杖控制系统及方法与流程

本发明属于图像识别技术领域,尤其涉及一种基于OpenCV图像识别的盲人智能拐杖控制系统及方法。



背景技术:

图像识别技术是人工智能的一个重要领域,是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。图像识别经历了三个发展阶段:文字识别、数字图像处理与识别和物体识别。文字识别的研究始于1950年,应用于字母、数字和符号的识别,以及从印刷文字到手工文字的识别;数字图像处理与识别的研究始于1965年,数字图像相比于模拟图像具有存储方便可压缩、传输不易失真等优势,为图像识别技术的发展提供强大的动力;物体的识别主要是指对三维世界的客体和环境的感知及认识,属于高级的计算机视觉范畴,它是以数字图像处理与识别为基础,结合人工智能、系统学等学科的研究方向,其研究成果被广泛应用在各种工业及探测机器人上。目前,市场上盲人使用的最多的就是传统的导盲拐杖和导盲犬,由于导盲犬的训练周期长、成本较高、动物习性不好控制等诸多问题,所以更多的人选择拐杖。然而传统意义上的盲人拐杖的结构简单,实现的功能也比较普通,存在很多的不足,诸如不能对前方将要靠近的障碍物进行语音提醒、不能在盲人遇到紧急状况下向家人求助等。国内学者研制的随身便携式导盲仪,虽然其体积小,轻便好用,但没有辅助支撑功能,对身有残疾以及腿脚不便的人,仍然需要拐杖辅助行走等技术不足。

综上所述,针对目前市场上盲人智能拐杖安全性低、功能单一,无法实现较好的导盲效果这一问题,结合图像识别技术,提出了一种基于OpenCV图像识别的盲人拐杖控制系统。



技术实现要素:

本发明的目的在于提供一种基于OpenCV图像识别的盲人拐杖控制系统及方法,旨在解决目前市场上智能拐杖安全性低、功能单一,无法实现较好的导盲效果的这一问题。

本发明是这样实现的,一种基于OpenCV图像识别的盲人拐杖控制系统,所述基于OpenCV图像识别的盲人拐杖控制系统设置有:

路况检测模块,用于实现对前方未知路况的检测,当遇到前方的障碍物时,系统会做出相应的响应提醒盲人用户;

紧急呼叫模块,采用SIM900A通信模块,用于盲人用户实现在通过控制智能拐杖上的按键向指定好的电话号码拨打电话,实现了一键拨打电话;

人员定位模块,利用Wi-Fi定位技术,通过检测Wi-Fi信号强度,结合KNN算法来实现定位。

进一步,所述路况检测模块包括:

模型构建模块,利用SURF算法进行特征值的提取,使用OpenCV来检测特征点,并抽取其特征点描述符,把提取出来的特征值传递给OpenCV进行训练,得到预先指定数量的类别;统计出每张图像样本的特征点在各个类别中出现的频率,构造出每张图片的bag ofwords;

训练分类模块,利用SVM分类器进行分类,对每一个类别都训练一个二元分类器;对于待分类图片的特征向量,使用每一个分类器计算分在该类的可能性,选择可能性最高的类别作为这个特征向量的类别;

实时场景输入模块,通过按键来对当前画面进行捕捉,对其进行模型的构建,并将其特征向量作为系统的输入数据进行识别分类,最终以语音播报的形式反馈给盲人用户。

进一步,所述基于OpenCV图像识别的盲人拐杖控制方法的模型构建模块包括:

(1)通过对大数据样本进行图像预处理,主要是对原图像样本进行归一化处理,使得图像的一些特征在特定变换下具有不变的性质,进而对每个图像样本进行SURF特征点提取,SURF整体思想流程等同于SIFT,而整个过程中采用了与SIFT不同的方法,为了实现尺度不变性的特征点检测与匹配,SURF算法利用Hessian矩阵确定候选点,生成尺度空间,然后用非极大值抑制初步确定特征点和精确定位特征点,确并定特征点的主方向,最后构造SURF特征点描述算子,从而可以得到每个样本的特征值;

(2)利用K-means算法将提取的每个样本的特征值划分成k个聚类,以空间中k(本系统中目标分类的类别k分别为:树、台阶、汽车和人行横道)个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果,以达到同一聚类中的对象相似度较高,不同聚类中的对象相似度较小,从而得到k组向量,每个向量都代表某个类别的feature的中心点;

(3)构造Bag OfWords模型,即图像中所有图像块的特征向量得到的直方图,BOW是用来表示图像的描述特征的。统计这K个聚类在每个样本特征值中所占的比例,通过K-means聚类算法后,得到k个新的聚类中心,即得到了特征直方图的一个基,然后将图像的特征点聚类到k个已经生成的词典(即n个聚类中心)中,并且统计落入每个词典中的特征点的个数。最终可以得到一幅图像的特征直方图,这样就可以将每张图片表示成K维数值向量。

本发明的另一目的在于提供一种所述基于OpenCV图像识别的盲人拐杖控制系统的基于OpenCV图像识别的盲人拐杖控制方法,所述紧急呼叫模块采用SIM900A通信模块,安装SIM卡,插上耳机和耳麦后通过控制智能拐杖上的按键向指定好的电话号码拨打电话。

本发明的另一目的在于提供一种所述基于OpenCV图像识别的盲人拐杖控制系统的基于OpenCV图像识别的盲人拐杖控制方法,所述人员定位模块通过检测Wi-Fi信号强度,结合KNN算法来实现定位。

进一步,所述基于OpenCV图像识别的盲人拐杖控制方法的人员定位方法包括:

1)、通过Wi-Fi Info获取当前位置附近的RSSI信息,利用开源的Wi Fi Manager类库,可以使应用程序方便地实现Wi-Fi连接,其中封装好的Wi-Fi扫描函数可轻松扫描设备通信范围内的所有AP热点,同时可显示接入点的SSID、MAC地址、IP和经量化处理的RSSI;

2)、利用机器学习相关的匹配算法,对实测数据与储存在程序中的数据进行对比,搜索到一组和测量典型匹配的数据。通过待测点接收到来自第j个AP的RSSI和第i个参考点接收到来自第j个AP的RSSI值算出欧几里得距离dis。每个参考点都有两个参数第一个是在该位置某一时刻接收Wi-Fi1的信号强度,第二个是在该位置另一时刻接收Wi-Fi2的信号强度。然后利用KNN算法在dis中从小到大选择K个参考点,通过参考点的实际坐标使用均值法计算出待测点的坐标,进而估算出待测点的位置。

本发明的另一目的在于提供一种安装有所述基于OpenCV图像识别的盲人拐杖控制系统的拐杖。

本发明提供的基于OpenCV图像识别的盲人拐杖控制系统及方法,基于OpenCV图像识别技术来实现其路况识别的功能,实时帮助盲人用户了解前方的路况;有效地保证盲人的出行安全问题。

本发明与现有技术相比,具有以下优势:

(1)本发明没有借助外界的超声波等辅助硬件即可实现识别功能,实用性强,开发成本低,能耗少。本发明基于Visual Studio2013并使用C++语言在Windows平台下进行开发,因此开发成本低。

(2)本发明采用了SURF特征提取算法进行特征值的提取,安全性高,效率相对较高,SURF特征提取算法是实质上是改进板的SIFT算法,一般来说,SURF算法的效率是SIFT算法的3倍左右,而检测出的特征点的个数是SIFT算法的1/3左右,当然也和图像大小、纹理复杂程度、算法参数设置有关;对于SURF算法,它采用Hessian矩阵确定候选点,然后进行非极大抑制,降低了计算复杂度。SURF算法的主要特点是快速性,同时也具有尺度不变的特性,对光照变化和仿射、透视变化也具有较强的鲁棒性。

(3)本发明采用了K-means算法对提取的特征值进行聚类训练,通过不断地取离聚类中心最近均值的方法,最终确定聚类的类别;该算法采用EM思想,算法快速、简单、对大数据集有较高的效率并且是可伸缩性的、时间复杂度近于线性,而且适合挖掘大规模数据集。

(4)用户不需要任何的专业知识便可对软件熟练使用,用户操作体验相对好,通过拐杖上仅有的三个物理按键便可直接实现预期的各项功能。

附图说明

图1是本发明实施例提供的基于OpenCV图像识别的盲人拐杖控制系统结构示意图;

图中:1、路况检测模块;2、紧急呼叫模块;3、人员定位模块。

图2是本发明实施例提供的模型构建模块的构建流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于OpenCV图像识别的盲人拐杖控制系统包括:

路况检测模块1,用于实现对前方未知路况的检测,当遇到前方的障碍物(树、汽车、台阶、人行横道和红绿灯),做出相应的响应提醒盲人用户。

紧急呼叫模块2,采用SIM900A通信模块,用于盲人用户实现在通过控制智能拐杖上的按键向指定好的电话号码拨打电话,实现了一键拨打电话。

人员定位模块3,利用Wi-Fi定位技术,通过检测Wi-Fi信号强度,结合KNN算法来实现定位。

路况检测模块1包括:模型构建模块、训练分类模块和实时场景输入模块三大模块组成。

1)模型构建模块,利用SURF算法进行特征值的提取,使用OpenCV来检测特征点,并抽取其特征点描述符,把提取出来的特征值传递给OpenCV进行训练,得到预先指定数量的类别。最后,统计出每张图像样本的特征点在各个类别中出现的频率,进而构造出每张图片的bag ofwords。当传入一张图片时,系统就会构造出这张图片的BOW与事先训练好的模型进行比较分类。

2)、训练分类模块。训练分类模块主要利用SVM分类器进行分类,使用经典的1vs all方法实现多类分类。对每一个类别都训练一个二元分类器。训练好后,对于待分类图片的特征向量(也就是该图片的BOW),使用每一个分类器计算分在该类的可能性,然后选择那个可能性最高的类别作为这个特征向量的类别,也就是该待分类图像所属的类别。

3)、实时场景输入模块。实时场景载入模型主要是通过按键来对当前画面进行捕捉,对其进行模型的构建,并将其特征向量作为系统的输入数据进行识别分类,最终以语音播报的形式反馈给盲人用户。

紧急呼叫模块2,主要是采用SIM900A通信模块,盲人用户在使用时,首先在该模块上安装一张有效的SIM卡,插上耳机和耳麦后就可以通过控制智能拐杖上的按键向指定好的电话号码拨打电话,实现了一键拨打电话的功能。

人员定位模块3,主要利用Wi-Fi定位技术,通过检测Wi-Fi信号强度,结合KNN算法来实现定位,具体实现过程如下:

1)、通过Wi-Fi Info获取当前位置附近的RSSI信息,测量到待定位的地方AP的信号强度和物理地址。

2)、利用机器学习相关的匹配算法,对实测数据与储存在程序中的数据进行对比,搜索到一组和测量典型匹配的数据,进而估算出待测点的位置。

如图2所示,本发明实施例提供的模型构建模块的构建方法包括:

S201:通过对大数据样本进行图像预处理,进而对每个图像样本进行SURF特征点提取,得到每个样本的特征值;

S202:利用K-means算法将提取的每个样本的特征值划分成k个聚类,从而得到k组向量,每个向量都代表某个类别的feature的中心点,也就是说,这k类中的每一类就相当于是图片的“单词”,即该系统中目标分类的类别:树、台阶、汽车、人行横道和红绿灯。

S303:构造Bag OfWords模型,BOW是用来表示图像的描述特征的。统计这K个聚类在每个样本特征值中所占的比例,从而可将每张图片表示成K维数值向量。

本发明提供了一种基于OpenCV图像识别的盲人智能拐杖系统,OpenCV提供的视觉处理算法非常丰富,加上其开源的特性,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以用它可以来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,最终用于实现预期的功能。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1