一种盲人辅助视觉处理方法及装置
技术领域
本发明主要涉及盲人辅助
技术领域
,具体涉及一种盲人辅助视觉处理方法及装置。背景技术
世界卫生组织(WHO)设在日内瓦的防盲及防聋规划主任Thylefors博士指出:中国是全世界盲人最多的国家,约有500万盲人。占全世界盲人口的18%,中国盲人数早已超过诸如丹麦,芬兰或挪威等国家的人口。Thylefors又强调,每年在中国约有45万人失明,这意味着几乎每天每分钟会出现一例新的盲人。Thylefors指出,如果允许目前的趋势继续保持不变,到2020年预期中国的盲人将增加4倍。
在科技发达的今天,为盲人提供的导盲方式多种多样,现有的导盲方式有一定的不足:导盲犬需要的培训周期长,难度大。导盲机器人的技术复杂,价格昂贵,普及面有限;传统的手杖存在功能单一。
现有的导盲设备大多数采用的是双目测距的方法,因该方法不能提供主动光,使得其对于例如:雾、雨等穿透性不强的天气或者在黑夜环境会因为光线的问题导致导盲精度存在偏差,致使盲人出行的条件具有一定的局限性。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种盲人辅助视觉处理方法及装置。
本发明解决上述技术问题的技术方案如下:一种盲人辅助视觉处理方法,包括如下步骤:
从预设激光雷达中获得多个待测物体的原始点云数据,并集合所有的原始点云数据得到原始点云数据集;
对所述原始点云数据集进行三维重建,得到点云图,所述点云图包括多个障碍物距离;
当任一所述障碍物距离小于预设距离值时,则生成语音提示指令,并根据所述语音提示指令进行语音提示。
本发明解决上述技术问题的另一技术方案如下:一种盲人辅助视觉处理装置,包括:
数据集获得模块,用于从预设激光雷达中获得多个待测物体的原始点云数据,并集合所有的原始点云数据得到原始点云数据集;
三维重建模块,用于对所述原始点云数据集进行三维重建,得到点云图,所述点云图包括多个障碍物距离;
语音提示模块,用于当任一所述障碍物距离小于预设距离值时,则生成语音提示指令,并根据所述语音提示指令进行语音提示。
本发明解决上述技术问题的另一技术方案如下:一种盲人辅助视觉处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的盲人辅助视觉处理方法。
本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的盲人辅助视觉处理方法。
本发明的有益效果是:通过对原始点云数据集的三维重建得到多个障碍物距离,通过对障碍物距离的判断来得到语音提示指令,并进行语音提示,能够解决因穿透性不强的天气或者黑夜环境所造成的测距精度不高的问题,提高了障碍物的识别程度,也提高了导盲的精度,保障了盲人的安全,且设计较为简单,普及面较广,也能让盲人出行不会受到限制。
附图说明
图1为本发明实施例提供的一种盲人辅助视觉处理方法的流程示意图;
图2为本发明实施例提供的一种盲人辅助视觉处理装置的模块框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的一种盲人辅助视觉处理方法的流程示意图。
如图1所示,一种盲人辅助视觉处理方法,包括如下步骤:
从预设激光雷达中获得多个待测物体的原始点云数据,并集合所有的原始点云数据得到原始点云数据集;
对所述原始点云数据集进行三维重建,得到点云图,所述点云图包括多个障碍物距离;
当任一所述障碍物距离小于预设距离值时,则生成语音提示指令,并根据所述语音提示指令进行语音提示。
应理解地,当所有所述障碍物距离均大于等于预设距离值时,则不作语音提醒。
应理解地,通过所述预设激光雷达基于dtof方法测距。
具体地,从预设激光雷达中获得多个待测物体的原始点云数据的方法具体为:
采用的方法是dtof(direct time of flight)方法直接测量飞行时间,其基本原理是通过激光雷达内部的光发射器连续发射光脉冲到待测物体上,然后由激光雷达内部的光探测器接收从物体反射回去的光脉冲,通过探测光脉冲往返的飞行时间来计算被测物体的距离。
光探测器获得的数据即为点云,点云中存储的是每个点的三维坐标信息。点云按照矩阵的形式进行排列。获得的三维坐标数据用数学表达式表示如下:
M={P(m,n),m=0,1,2…,X-1,n=0,1,2…,Y-1},
其中,M表示所获取的点云数据点集(即所述多个原始点云数据)。X是扫描点集的行数,m为行索引值,Y是扫描点集的列数,n是列索引值。P(m,n)=(x,y,z)表示点云集合中点的坐标。
具体地,预设距离阈值(即所述预设距离值),在对使用者前方的环境进行场景理解或虚拟重建时,能将这些点云数据(即所述原始点云数据)视为一个独立物体上的数据,进行点云分割之后,就可以方便的确定目标的形状、大小等属性特征。随着使用者的行进,当前方障碍物大于阈值(即所述预设距离值)时,不作语音提醒;若前方障碍物小于阈值(即所述预设距离值)时,提醒使用者“前方有障碍物,注意安全”,随后将优先规划好的避障路线以语音形式进行播报,继续指引使用者前行。
上述实施例中,通过对原始点云数据集的三维重建得到多个障碍物距离,通过对障碍物距离的判断来得到语音提示指令,并进行语音提示,能够解决因穿透性不强的天气或者黑夜环境所造成的测距精度不高的问题,提高了障碍物的识别程度,也提高了导盲的精度,保障了盲人的安全,且设计较为简单,普及面较广,也能让盲人出行不会受到限制。
可选地,作为本发明的一个实施例,所述对所述原始点云数据集进行三维重建,得到点云图的过程包括:
S1:对所述原始点云数据集进行离群点的去除,得到目标点云数据集;
S2:对所述目标点云数据集进行数据的精简处理,得到点云数据重心;
S3:对所述点云数据重心进行平滑处理,得到多个平滑后的点云数据;
S4:对多个所述平滑后的点云数据进行特征提取,得到多个点云特征点;
S5:对多个所述点云特征点进行配准处理,得到多个配准后的点云数据,并集合所有配准后的点云数据得到待处理点云数据集;
S6:若未达到预设迭代次数m则返回步骤S1,直至达到预设迭代次数m,从而得到多个待处理点云数据集,并根据前m-1次得到的多个待处理点云数据集对第m次得到的待处理点云数据集进行点云补偿处理,得到最终点云数据集;
S7:利用欧几里德算法对所述最终点云数据集进行点云分割,得到多个最终点云数据子集;
S8:对多个所述最终点云数据子集进行表面重建,得到重建曲面,并将所述重建曲面作为点云图。
应理解地,步骤S3利用移动最小二乘法,平滑点云数据(即所述点云数据重心),方法具体为:
通过计算建立拟合函数,然后选择权函数。通过对不同权函数的选取,使得经移动最小二乘法处理后的点云数据(即所述平滑后的点云数据)更加平滑。
拟合函数的表达式为:
式中,a(x)=[a1(x),a2(x),L,am(x)]T为待求系数,代表坐标x的函数。p(x)为基函数,是一个k阶完备的多项式,m是基函数的项数,通常将二次基表示为:[1,u,v,u2,v2,vu]T,综上所述,拟合函数f(x)的表达式可以表示为:
f(x)=a0(x)+a1(x)u+a2(x)v+a3(x)u2+a4(x)v2+a5(x)uv,
考虑节点xi的加权离散范式为:
式中,n表示影响区域节点的数目,f(x)表示拟合函数,yi代表x=xi处的节点值,yi=y(xi),w(x-wi)是节点xi的权函数。
权函数的特点之一为光滑性,拟合函数会继承权函数的连续性,如果权函数是m阶连续的,则拟合函数也是m阶连续的,可平滑点云数据(即所述点云数据重心)。
应理解地,步骤S6中,若m为5,则若未达到5次时,则返回步骤S1,直至达到5,从而得到多个待处理点云数据集,并根据前4次得到的多个待处理点云数据集对第5次得到的待处理点云数据集进行点云补偿处理,得到最终点云数据集。
具体地,步骤S7的具体为:
首先对每个点云数据(即所述最终点云数据集中的最终点云数据)进行邻近点的搜索,并比较每个点和所有邻近点的欧氏距离,然后将其最小值划为一类,其他类之间进行欧氏距离的迭代,根据预设阈值判断下一个扫描点是否与该点属于同一类。如果当前扫描点与前一个扫描点的距离在预设阈值范围内,则当前点被聚到前一个扫描点的类中;否则,把当前扫描点设置为新的聚类。重复以上步骤,直到所有的点都被聚到不同的类中。当任意两个类之间的欧氏距离小于设置阈值时,基于欧氏距离的点云分割结束,以此达到分割区分不同障碍物的目的。
上述实施例中,对原始点云数据集的三维重建得到点云图,能够解决因穿透性不强的天气或者黑夜环境所造成的测距精度不高的问题,提高了障碍物的识别程度,也提高了导盲的精度,保障了盲人的安全,且设计较为简单,普及面较广,也能让盲人出行不会受到限制,且方便使用,功能比较全面。
可选地,作为本发明的一个实施例,所述步骤S1的过程包括:
通过第一式对所述原始点云数据集进行离群点的去除,得到目标点云数据集,所述第一式为:
其中,
其中,
其中,Ωc为原始点云数据集Pc的邻域区域,Pc为原始点云数据集,k1为邻域区域Ωc内点云数据的个数,P0的空间坐标为(0,0),Pi为原始点云数据集Pc的邻域点,M1为均值,S2为方差,为目标点云数据集。
应理解地,对所述原始点云数据集进行统计滤波去除离群点。
应理解地,P0的空间坐标为(0,0),即把距离大于阈值的点统一置为0,然后滤除。
具体地,由于采集到的点云数据(即所述原始点云数据集)密度是不均匀的,数据中会产生离群点,即偏离整体点云的点。通过计算采集到的每个点到临近点的平均距离,可得到一个高斯分布的结果,由均值M1和方差S2决定高斯分布的形状,并设定标准范围,将平均距离在标准范围之外的点从点云中删除。
上述实施例中,通过第一式对原始点云数据集的离群点去除得到目标点云数据集,去除了离群点,为后续的数据处理提供基础,提高了障碍物的识别程度和导盲的精度,保障了盲人的安全。
可选地,作为本发明的一个实施例,所述目标点云数据集包括多个目标点云数据,所述步骤S2的过程包括:
将每个所述目标点云数据分别映射至x坐标轴、y坐标轴和z坐标轴上,得到与各个所述目标点云数据对应的x轴坐标、y轴坐标和z轴坐标;
分别对多个所述目标点云数据对应的x轴坐标、y轴坐标和z轴坐标进行最大值的筛选,经筛选后得到最大x轴坐标、最大y轴坐标和最大z轴坐标;
分别对多个所述目标点云数据对应的x轴坐标、y轴坐标和z轴坐标进行最小值的筛选,经筛选后得到最小x轴坐标、最小y轴坐标和最小z轴坐标;
通过第二式对所述最大x轴坐标、所述最大y轴坐标、所述最大z轴坐标、所述最小x轴坐标、所述最小y轴坐标和所述最小z轴坐标进行最小划分边长的计算,得到最小划分边长,所述第二式为:
其中,xmax为最大x轴坐标,xmin为最小x轴坐标,ymax为最大y轴坐标,ymin为最小y轴坐标,zmax为最大z轴坐标,zmin为最小z轴坐标,K为比例系数,ρ为点云数据密度,N为目标点云数据的个数,L为最小划分边长;
根据所述最小划分边长对所有的所述目标点云数据进行筛选,经筛选后得到多个筛选后点云数据;
对多个所述筛选后点云数据进行计数,得到筛选后点云数据数量;
通过第三式计算多个所述目标点云数据和所述筛选后点云数据数量的重心,得到点云数据重心,所述第三式为:
其中,O为点云数据重心,Nindex为筛选后点云数据数量,pi为目标点云数据。
应理解地,去除离群点后的点云数据(即所述目标点云数据集)量依旧很大,且并不是所有的点云数据都是有效数据。需要对无效数据进行滤波去除可减小运算压力与存储空间,即对点云数据(即所述目标点云数据集)进行精简。采用体素化网格方法对点云数据进行采样。根据给定的点云计算其最小包围盒,并根据最小边长将点云划分成三维体素网格,并利用最接近体素中点集重心的点近似表示体素中包含的点集从而达到滤波效果。
具体地,根据去除离群点的点云数据,分别计算出点云边界的最大值和最小值:xmax,xmin,ymax,ymin,zmax,zmin,得到与坐标轴平行的最小包围盒;根据点云密度ρ确定最小划分边长L;在每个栅格内,计算所有点的重心(即所述点云数据重心),把离重心点最近的点近似栅格中所有点集。
上述实施例中,对目标点云数据集的数据精简处理得到点云数据重心,减小了运算压力和存储空间,为后续的数据处理提供基础,提高了障碍物的识别程度和导盲的精度,保障了盲人的安全。
可选地,作为本发明的一个实施例,所述步骤S4的过程包括:
利用kd-tree算法分别对各个所述平滑后的点云数据进行邻域搜索,得到与各个所述平滑后的点云数据对应的多个邻域点云数据,并分别统计与各个所述平滑后的点云数据对应的多个邻域点云数据的数量,得到与各个所述平滑后的点云数据对应的邻域点云数据数量;
通过第四式分别对各个所述平滑后的点云数据对应的多个邻域点云数据进行邻域点云数据重心的计算,得到与各个所述平滑后的点云数据对应的邻域点云数据重心,所述第四式为:
其中,O′为邻域点云数据重心,pj为第j个邻域点云数据,k为邻域点云数据的数量;
通过第五式分别对各个所述平滑后的点云数据对应的多个邻域点云数据以及对应的邻域点云数据重心进行特征向量矩阵的计算,得到与各个所述平滑后的点云数据对应的特征向量矩阵,所述第五式为:
其中,M为特征向量矩阵,O′为邻域点云数据重心,pj为第j个邻域点云数据,k为邻域点云数据的数量;
分别计算各个所述特征向量矩阵的特征向量以及特征值,得到与各个所述平滑后的点云数据对应的多个特征向量和与所述特征向量对应的特征值;
利用PCA算法分别对各个所述特征值进行降维处理,得到与各个所述平滑后的点云数据对应的多个降维后特征值;
分别对与各个所述平滑后的点云数据对应的多个降维后特征值进行最小值筛选,经筛选后得到与各个所述平滑后的点云数据对应的最小特征值,并将所述最小特征值对应的特征向量作为所述平滑后的点云数据对应的法向量;
通过第六式分别计算各个所述法向量的夹角平均值,得到与各个所述平滑后的点云数据对应的夹角平均值,所述第六式为:
其中,
其中,θ为夹角平均值,k为邻域点云数据的数量,θij为第i个平滑后的点云数据i的法向量与第j个邻域点云数据的法向量的夹角,ni为第i个平滑后的点云数据的法向量,nj为第j个邻域点云数据的法向量;
若所述夹角平均值大于或等于预设夹角值且所述邻域点云数据数量小于或等于预设点云数据数量,则将所述夹角平均值对应的平滑后的点云数据作为点云特征点,从而得到多个点云特征点。
应理解地,对点云数据(即所述平滑后的点云数据)进行基于法向量的特征提取。
应理解地,由于点云数据(即所述平滑后的点云数据)没有拓扑结构关系,其法线和曲率可以用来表示物体表面的几何形状特征,能够较好地反映出点云的几何特征信息,以便点云配准、三维重建等算法采用PCA方法求解法向量来反映点云的几何特征信息。使用基于kd-tree进行邻域搜索对点云中的每个点求解其法向量。
具体地,首先确定pi点(即所述平滑后的点云数据)的邻近点集{pj,j=1,2,···,k}(即多个所述邻域点云数据),pi和其邻近点集表示为Nahb(pi),求出这些点的均值,即重心O(即所述邻域点云数据重心);
使用总体最小二乘法计算pi及其邻域的局部平面P,此平面可以表示为
其中n表示平面P的法向量也代表点pi的无向单位法向量,d表示P到坐标原点的距离。
求拟合平面的法向量转化为求下式的最小值:
最小值的解可以转化为求式中的协方差矩阵M的最小特征值对应的特征向量,使用PCA方法求解特征向量,即pi的法向量,其中矩阵M是对称半正定矩阵,具有非负特征值。
求M的特征值λi(i=1,2,···,k)和特征向量Vj(j=1,2,···,k)且有λk>λk-1>···>λ1。法向量n即为v1。用最小特征值v1所对应的特征向量来代替pi的法向量。
由于所求得的法向量为无向法向量,而在泊松重建过程中,点云的法向量一致的准确程度直接关系到重建效果的好坏,所以需要对点云中所有点的法向量进行调整。
取点云中某点pi(即所述平滑后的点云数据)处的法向量的变化程度即其特征度为其法向量与其邻域点pj{j=1,2,···k}的法向量夹角的算术平均值。
该点的特征度越大则表示该区域的起伏越大,选取适当的阈值,去掉点云中较为平坦的部分:当θ小于阈值(即所述预设夹角值),并且点pi的邻近点数目大于预设一定数目(即所述预设点云数据数量),则将pi删除,由此来提取特征点。若一个区域近似平面,那么pi点与其邻近点的法向量夹角就会很小,如果只利用法向量夹角进行特征提取将会导致失去这个区域的大部分点,把pi邻近个数作为判断条件,用基于半径的邻域选取方法,设置合适的r,搜索pi附近一个半径范围内的邻近点,拟合pi局部平面并计算pi的法向量,以及算术平均值θ,当θ小于一定角度,并且pi点的邻近数目大于一定数目则将pi删除。这样可以保证在平坦区域的点集不会被全部删除,同时又能保留法向量夹角变化大的区域的点。
上述实施例中,对多个平滑后的点云数据的特征提取得到多个点云特征点,能够清晰地反映点云的几何特征信息,同时保证了在平坦区域的点集不会被全部删除,且保留了法向量夹角变化大的区域的点。
可选地,作为本发明的一个实施例,所述步骤S5中,对多个所述点云特征点进行配准处理,得到多个配准后的点云数据的过程包括:
利用kd-tree算法分别对各个所述点云特征点进行邻域搜索,得到与所述点云特征点对应的多个邻域特征点云数据;
以每个所述点云特征点对应的多个邻域特征点云数据作为邻域特征点云数据组,采用点到面之间的距离算法分别对各个所述邻域特征点云数据组进行最近点对的查找,得到与所述邻域特征点云数据组对应的最近点对;
根据预设阈值对多个所述最近点对进行筛选,经筛选后得到多个筛选后的最近点对;
利用刚体变换算法分别对各个所述筛选后的最近点对进行平移变换,得到与各个所述筛选后的最近点对对应的变换后的最近点对,并将所述变换后的最近点对作为配准后的点云数据。
具体地,使用kd-tree对点云数据(即所述点云特征点)进行有效的空间搜索建立点云数据间的拓扑信息,进而加速了整个配准过程;采用点到面之间的距离进行最近点对查找,通过计算点到切平面的垂足距离,以及和垂足之间的关系,确定最近点对,进而完成对源点云和目标点云最近点对的搜索;采用设定阈值的方法对于搜索得到的最近点对,根据欧式距离,对于偏差较大的最近点对进行剔除,在阈值范围内的点对保留,使得最近点对的误差达到最小,更加接近于现实,以保证更精确的配准。
上述实施例中,对多个点云特征点的配准处理得到多个配准后的点云数据,有效的搜索建立点云数据间的拓扑信息,能够让最近点对的误差达到最小,更加接近于现实,从而保证了更精确的配准。
可选地,作为本发明的一个实施例,所述步骤S6中,根据前m-1次得到的多个待处理点云数据集对第m次得到的待处理点云数据集进行点云补偿处理,得到最终点云数据集的过程包括:
分别对前m-1次得到的各个所述待处理点云数据集按预设拟合次数进行多项式拟合,得到与前m-1次得到的各个所述待处理点云数据集对应的点云角速度以及对应的点云速度;
计算所有的所述点云角速度的平均值,得到点云平均角速度;
计算所有的所述点云速度的平均值,得到点云平均速度;
根据所述点云平均角速度和所述点云平均速度对所述第m次得到的待处理点云数据集进行内插补偿,得到最终点云数据集。
应理解地,将一个点云图补偿至该图最后一个有效点的激光照射时间,对于最初采集到的点云图不使用补偿,当计算出角速度和速度数据足够充分后再引入补偿。用于补偿功能的程序首先从配准程序部分获得最近几次测量时刻的被测物体姿态,独立于点云配准程序以外估计出被测物体的角速度和速度,之后每获取一次点云图都立刻对各点进行补偿,将补偿完的数据提供给配准过程。
具体地,获取前N次配准计算出的R、T矩阵,具体为:
由配准过程获取之前被测物体姿态,输出当前N次R、T矩阵(即所述前m-1次得到的多个待处理点云数据集)。R矩阵等价于3个转角自由度,T矩阵等价于3个位移自由度,为了角度插值方便,将R矩阵转换成四元数的形式。
将N个R、T矩阵作K次(即所述预设拟合次数)多项式拟合,具体为:
此处必须满足K<N,如取K=1,则分别以被测物体某时间的六自由度(α,β,γ,x,y,z)为因变量,该幅点云图像的采集结束时间t为自变量,对6个自由度分别作线性估计,求出6个自由度对时间的1阶导数。3个平移自由度可以直接处理,但3个旋转自由度不可以,因为旋转自由度存在插值不均和万向节锁等问题,需要将之转化成四元数这种易于插值运算的表述形式之后再做处理。
最后,可以将ω1、ω2、ω3合成为总角速度ω;vx、vy、vz合成为总速度v;
通过平均角速度ω和速度v对获得的新一幅点云图中的所有点按顺序做内插补偿,具体为:
如取K=1,设当前点云图像共NUM点,其中每个点都有编号记id[n](n=1,2..NUM)。有0<id[n]≤NUM。id[n]是实际的点发射序号。对这NUM个点,除最后一个点以外所有的点都需要接受补偿。将问题转化为:已知某点n的补偿前三维坐标p[n]和其发射编号id[n],求补偿后的三维坐标p0[n]。
由前几次点云配准所得的被测物体位置s′、s″、s″′等(即各平移矩阵T′、T″、T″′等),估计出当前点云的中心位置s。根据仪器常数求出各个点与最后一个有效点的时间差delT[n]。对每个点根据p[n]、delT[n]、估出的被测物体中心s和已求出的被测物体角速度ω、速度v进行补偿,计算出实际位置p0[n]。
考虑到人在运动对旋转不明显,因此主要补偿平移导致的误差即可。
上述实施例中,分别对前m-1次得到的各个待处理点云数据集按预设拟合次数的多项式拟合得到与前m-1次得到的各个待处理点云数据集对应的点云角速度以及对应的点云速度,计算所有的点云角速度的平均值得到点云平均角速度,计算所有的点云速度的平均值得到点云平均速度,通过点云平均角速度和点云平均速度对第m次得到的待处理点云数据集的内插补偿得到最终点云数据集,能够补偿平移导致的误差,提高了障碍物的识别程度和导盲的精度,保障了盲人的安全。
可选地,作为本发明的一个实施例,所述步骤S8中,对多个所述最终点云数据子集进行表面重建,得到重建曲面的过程包括:
通过第七式分别对各个所述最终点云数据子集中各个最终点云数据所对应的法向量进行标量函数的计算,得到与各个所述最终点云数据对应的标量函数,所述第七式为:
其中,为法向量,Δχ为标量函数;
利用八叉树算法对所有的所述标量函数进行函数离散化处理,得到重建曲面。
应理解地,通过泊松重建实现表面重建。
应理解地,所述函数离散化是指整个平面是连续的函数表示,对整个全局平面分割成多个局部的平面(离散的平面函数),本发明中是通过函数离散化处理对具有法向量信息的输入点云信息的预处理,对全局问题离散化,对离散化后的子数据求解,求解泊松问题后的等值面提取重建曲面模型。
具体地,将曲面重建问题转化成求取曲面指示函数的问题,并利用函数的等值面重建曲面。定义一个曲面指示函数,在曲面模型内部定义为1,在曲面模型外部为0。指示函数的梯度等于模型表面函数的内法线。泊松重建的目的是使指示函数的梯度场尽可能的逼近点云数据法向量场所确定的矢量场。
指示函数与梯度场的关系如下式:
式中,p表示点云数据(即所述最终点云数据子集)中的任一点。
引入散度算子,将问题描述成泊松问题,如下式:
利用泊松方程进行曲面重建即求解一个标量函数χ,并使其梯度的散度等于矢量场的散度。
将泊松问题在函数空间内作离散化处理,进一步求解χ。隐函数χ可以用由点的函数Fi张成的函数空间来表示,如下式:
本发明利用八叉树构建局部函数空间Fo。假设八叉树的叶子节点由八个点p组成的,每个点的函数可以由F(p)表示,那么该八叉树子空间的指示函数χ0由下式求得:
曲面的隐函数χ可以由{Fo}张成的函数空间来表示,如下式:
式中,表示八叉树中叶子结点。
B(x)为方波函数,公式如下:
基函数F的公式可以表示下式:
F(x,y,z)=(B(x))*nB(y)*nB(z))*n,
空间描述函数Fo可以通过基函数F平移、尺度缩放而合成,如下式:
式中,o.c表示节点o所对应的包围盒的中心;o.w表示节点o所对应的包围盒的宽度。
矢量场可以被定义为:
式中vo表示八叉树节点o中数据的法向量。
定义矩阵L表示指示函数在函数空间的拉普拉斯算子Δχ。假设叶子节点的数为m定义一个m×m阶的矩阵Lo,o′。矩阵Lo,o′的任一项为作为Fo的拉普拉斯算子和函数Fo的点积,如公式所示:
设定八叉树节点数据的矢量场的散度为bo为m维的矢量,如下式:
泊松方程的求解可转换成线性方程求解,如公式:
Lφ=bo,
假设泊松重建的曲面为使用采样点的指示函数平均值作为等值面的标准值r:
因此,重建曲面表示为:
通过八叉树方法,找到与等值面相交的体素,再找到与体素相交的交面,将交面连接起来构建曲面从而实现三维重建。
上述实施例中,通过第七式分别对各个最终点云数据子集中各个最终点云数据所对应的法向量的标量函数计算,得到与各个最终点云数据对应的标量函数,利用八叉树算法对所有的标量函数的函数离散化处理得到重建曲面,能够让指示函数的梯度场尽可能的逼近点云数据法向量场所确定的矢量场,提高了障碍物的识别程度,保障了盲人的安全。
可选地,作为本发明的一个实施例,在当任一所述障碍物距离小于预设距离值时,则生成语音提示指令,并根据所述语音提示指令进行语音提示的过程后,还包括对摔倒进行判定的步骤,所述对摔倒进行判定的过程包括:
从预设的加速度传感器获得待判定角速度,若所述待判定角速度大于预设摔倒阈值,则生成摔倒指令,并进行语音提示;
根据所述摔倒指令从预设的定位设备中获得定位信息,并将所述定位信息发送至指定终端中。
应理解地,所述指定终端可以为盲人亲属的手机。
具体地,使用一个MEMS加速度传感器进行姿态检测,MEMS加速度传感器测量原理是牛顿第二定律,当有加速度a作用于传感器时便会有惯性力F=ma,通过弹性梁上压敏电阻会产生一个变化量r,由压敏电阻组成的惠斯通电桥输出一个与r成正比的电信号V。
角度传感器一开始处于水平位置时,其中输出一定的模拟电压。传感器精确检测0~180°的角度范围,当角度传感器与水平面成170°以上时(身体倾斜度小于10°或大于170°可认定为摔倒),输出一个较大的模拟电压,即可预判盲人是否遇到紧急情况,当已判定盲人出现如摔倒等意外时,迅速获取盲人所在位置,第一时间以短信形式发送警报给已关联的亲属手机。
上述实施例中,从预设的加速度传感器获得待判定角速度,若待判定角速度大于预设摔倒阈值,则生成摔倒指令,并进行语音提示,通过摔倒指令从预设的定位设备中获得定位信息,并将定位信息发送至指定终端中,能够及时的让盲人亲属在盲人摔倒时第一时间知晓,极大地保障了盲人的生命安全。
可选地,作为本发明的一个实施例,通过北斗双向通信和监测,实时导航定位,当检测到意外事件及时处理,具体为:
首先,进行北斗短报文通信一体机的小型化设计;并通过北斗短报文通信一体机与外设进行通信传输,实现数据交互;然后使用Flash存储芯片存储集中器上的位置数据并发送;最后将信息传输给用户端。
优选地,选用基于ARM Cortex-M3处理器核的32位微控制器,作为北斗短报文通信一体机的主控制芯片。选取TD3201型北斗RDSS单模模块实现短报文通信。串口电路采用3.3V的LVTTL电平接口,实现北斗RDSS模块和STM32F103VBT6单片机的双向通信。
应理解地,通过北斗短报文通信一体机与外设进行通信传输,实现数据交互,具体为:
采用差分电平进行通信传输,易识别小信号,免疫外部电磁干扰。
具体地,使用Flash存储芯片存储集中器上的位置数据并发送,具体为:
通过用户端的采集器采集导盲系统的位置信息,并将位置信息上传至集中器。由集中器汇聚多个位置信息并加以处理、分析、通过Flash存储芯片存储,并且相关采集数据传送到5G云平台,进行地图可视化监管。
图2为本发明实施例提供的一种盲人辅助视觉处理装置的模块框图。
可选地,作为本发明的另一个实施例,如图2所示,一种盲人辅助视觉处理装置,包括:
数据集获得模块,用于从预设激光雷达中获得多个待测物体的原始点云数据,并集合所有的原始点云数据得到原始点云数据集;
三维重建模块,用于对所述原始点云数据集进行三维重建,得到点云图,所述点云图包括多个障碍物距离;
语音提示模块,用于当任一所述障碍物距离小于预设距离值时,则生成语音提示指令,并根据所述语音提示指令进行语音提示。
可选地,本发明的另一个实施例提供一种盲人辅助视觉处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的盲人辅助视觉处理方法。该装置可为计算机等装置。
可选地,本发明的另一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的盲人辅助视觉处理方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。