基于点云三维建模技术的导盲系统设计

2021-06-02 02:53:14
计算机测量与控制 2021年5期
关键词:导盲向量路面

(湖州职业技术学院 物流与信息工程学院,浙江 湖州 313000)

0 引言

视觉障碍是我国严重的公共卫生问题之一。视觉障碍又称视觉缺陷,视觉残疾。我国在2006年全国第二次残疾人抽样残疾标准规定:视觉障碍是由于各种原因导致双眼视力低下并且不能矫正或视野缩小,以致影响其日常生活和社会参与。人口的增加和老龄化加剧使与年龄相关性致盲眼病不断增加。根据第六次全国人口普查我国总人口数,及第二次全国残疾人抽样调查我国残疾人占全国总人口的比例和各类残疾人占残疾人总人数的比例,推算我国残疾人总人数8502万人,我国单纯视力残疾的人数达1263万人,在残疾人数中排名第三位,如果包含多重残疾者,视力残疾的患病率为1.53%,视力残疾的人数达2003万人[1]。据一份本市调研资料显示,本市50岁以上人群,白内障患病率约为17.79%[2]。近年来,随着居民生活水平的提高,视疾的成因发生了很大变化,国家救助力度逐年加大,如何为视疾患者提供更加规范、便捷、人性化的康复服务是康复研究领域的重要课题。

根据其侧重点的不同,导盲系统通常可以分为两种类型:视觉辅助型系统、视觉替代型系统。视觉辅助型导盲系统依赖于单一的某种传感技术,如超声波测距、红外避障、PSD测距。最早的导盲系统是由Russell L运用超声波测距原理研制出而成[3],1997李俊杰运用红外测距技术研制出了可佩戴式的导盲系统篇[4],国防科技大学光电科学与工程学院依据PSD测距原理研制出通道导盲器[5],河北大学电子信息工程学院于2015年设计了一种集成了云数据存储,定位技术,条码识别路况标识的导盲系统[6]。尽管超声波、红外等技术随着时间的发展日趋成熟,但是单一传感本身仍然有自身难以完善的缺陷,在进行障碍物位置检测时只能得到障碍物的大概方向,在精度上无法满足日常的使用,且无法获得障碍物本身的大小、形状和边缘等信息。

随着图像处理技术的不断发展,一些学者开始将机器视觉和图像处理技术应用于导盲领域。荷兰学者Peter B.L.Meijer最早采用CCD摄像头输入图像,听觉显示输出,研制出了最早的视觉替代系统[7],2007年瑞士学者G.Bologna、B.Deville等人运用See colour系统运用听觉替代视觉的方式,通过智能语音实时地表示用户前方的图像场景[8]。2011年由德国Michael和Stephan Huber利用Kincet摄像头查看周围事物,利用设备震动反馈给使用者路况信息。

国内对机器视觉的研究起步较晚,但是取得了一些有价值的研究成果。许伯恩2014年提出了一套基于 Kinect 的室内盲人防碰撞辅助系统,对原始数据进行降噪采样,运用卡尔曼滤波滤除数据空洞,最后采用区域生长算法对图像进行分割进行障碍物的识别,系统可以适应狭长、灰暗的地形[9]。张晓静于2016年利用嵌入式技术将图像识别集成于导盲杖中,有效降低了成本和检测效率[10]。替代型导盲系统能够对障碍物和常见的路况场景进行判定识别,但是主流技术仍停留于二维空间,缺乏空间和距离的判断,对远距离的障碍时常出现误判的情形,仍有一定的缺陷。

通过对上述问题的分析,本文提出运用激光扫描仪获取路况信息,根据获取的点云数据内部建立三维坐标系统,利用特征提取算法筛选出缺陷路面信息能够有效解决以上问题。

1 系统结构及原理

针对视障人士出行的实际需求,围绕三维建模技术和路面缺陷检测等关键机理,传感器信号处理学、特征量简化法、点云数据修补算法、点云三维建模算法等多学科交叉研究成果、运用理论研究、数值计算、建模仿真和实验验证相结合的研究方法,从点云数据修补和简化计算入手,系统而深入的研究路面三角网分治运算和点云数据向微处理器平台迁移的创新设计,揭示点云数据特征变量在缺陷路面的数学规律和检测机理,运用可视化平台实现三维建模校验内部数据的正确性,开发基于微处理平台的三维路面缺陷检测导盲系统。系统框架图1所示。

图1 系统总体框架图

2 系统硬件设计

2.1 点云数据采集系统

通过Gocator激光扫描仪和灰度相机实时扫描动态路况信息,将采集所得路面的点云信息和纹理信息,保存到系统存储空间供后续处理器分析使用。激光扫描所得的为路面的高程变量,即z轴坐标,构建三维坐标空间,需要三台扫描仪同时进行扫描。由于数据的采集、处理和点云数据的生成需要同时进行,系统需要很强的实时性,每一个设备都需要占用一个线程进行数据的获取和接收,同时数据中心需要一个独立的子线程。数据中心负责数据的预处理,每一个硬件设备的线程负责采集的数据和传输。如图2所示。

图2 Gocator激光扫描仪

2.2 路面信息可视化平台

三维模型的显示在Open GL平台完成,建模系统最主要的功能是实时地将获取到的数据处理生成三维模型,供监测和数据校验。Open GL是一个跨编程语言、跨平台的专业的图形程序接口,是高性能三维图形编程和交互式视景处理标准,包括核心函数库、实用函数库、辅助函数库。自动建模功能能够将接收的点云数据和纹理信息,自动生成三维模型,具有速度快、精度高等特点,能够满足系统实时性要求,通过对颜色的设置、纹理设置、光亮调节等功能让建模效果更直观、真实反映实际路况。

2.3 下位机微处理器平台

S3C2440微处理器是下位机数据的接收和处理中心,处理器自带DMA的控制器,支持FATFS文件存储系统,SRAM和两路USB接口,通过USB总线接口读取大容量高速缓存区的数据,通过DMA控制器作为先入先出(FIFO)直接传输,完成包括数据处理、检测算法、结果提取和分析等工作,经过阈值算法筛检临界值的法向量值。

控制模块是处理器和外接设备的连接中心,起到隔离弱电和强电的作用,主要由带光耦隔离的继电器构成,能够接收处理器发出的信号指令,并驱动外围电路。

外围设备由供电电路和控制设备构成,供电电路由稳压电源芯片LM317向系统提供电源,控制设备由蜂鸣器报警电路和语音提示芯片组成,蜂鸣器报警电路根据缺陷路面的距离发出不同频率的报警声音提示,高清语音芯片根据系统对路面特征变量的识别,向用户提供规避建议保证用户的行进安全。如图3所示。

图3 底层处理器硬件平台

3 系统软件设计

系统软件设计部分主要由点云数据修补算法,数据优化算法,网络生成算法和特征值判断算法四部分构成。修补算法和简化算法对接收的点云数据进行适当的补偿和剔除,实现预处理工作;三角剖分算法减少了三角网格匹配的次数,有效增加了网格生成建模的工作效率,增强了监测的实时性;基于不同路况所提取的特征值向量,底层处理器滤选出超出临界值的向量,通过执行器操作对缺陷路况进行预警。

3.1 点云数据修补算法

由于三维建模的形式复杂多变,通过激光扫描仪获取的点云数据因为光线过暗或者路面裂缝等原因都会造成采集的点云数据丢失;对于导盲系统而言,完整的路况信息是必然不可或缺的,缺失的数据前者可以通过人为增补光亮,后者则需要进行修补算法实现。

根据Xiaozhi Li[11]等人所提出的点云修补算法,即平整路面的高程向量相近且近乎相同,根据缺陷路面的高程向量坐标函数曲线来拟合缺失的点云数据。具体步骤如下。

1)遍历缺陷路面阈值附近有效数据a,记录坐标c;

2)当发现缺失数据,则将此缺失的数据的高程坐标记录为c;

3)继续取下一个有效数据a1,记录坐标c1;

4)继续检测下一个数据b,如果b为有效数据则记录b的坐标,如果为缺失数据则把高程坐标记录为c1;

5)重复步骤3)。

严格意义讲,数据缺失的位置及数量往往没有规律可循,即便进行多次修补,并不能百分比还原实际路面。实际情况,根据高程坐标的大小可以反映路面的缺陷,激光扫描数据缺失一般由较小的裂缝造成,隆起或者较大的裂缝都不会造成数据的丢失,所以常见的修补策略对缺失的高程坐标用较低的高程坐标进行赋值,最终生成的三维建模能够贴近实际路况。

3.2 基于斜率差点云数据简化算法设计

激光扫描短时间将获得大量的点云数据,大部分路况都是平坦路面,为保证系统的实时有效性,增强三角网络的生成效率就必须对点云的数据进行优化和删除。

根据目标区域往往左右线段斜率变化较大,常用的简化算法有基于斜率差的简化算法。

每次扫描取分别取三点p0、p1、p2,将3个点的高程坐标分别记做z0、z1、z2,则线段p0p1的斜率为:

K01=(z1-z0)/xres

p0p1的斜率为:

K12=(z2-z1)/xres

两线段的斜率差设为,则:

Δk=k12-k01=(z2-2z1+z0)/xres

又因为xres线段相等,所以斜率差计算可以简化成:

Δd=z2-2z1+z0

1)从起点开始连续取3个点p0、p1、p2,分别记录它们的高程坐标。

2)计算d=z2-2z1+z0

3)将d和标准设定值Δd进行比较,如果d小于标准设定值,则该区域不是特征区域应当滤除,如果d大于标准设定值则该区域是特征区域,保存特征向量。

4)再取3个点p0、p1、p2,重复步骤2)。

经过预处理算法以后点云数据对比图,如图4、 图5所示。

图4 简化前的点云数据 图5 简化后的点云数据

3.3 三角网匹配算法

为了进一步对点云数据进行三角网格生成,需要将获得的点云数据进行坐标变换,整合在一个坐标系里面,本文用文献[12]垂直法向量自动匹配算法比直接搜索法效率更高,对特征数据进行匹配。获得简化后的点云数据以后,需要进行坐标的整合,进行平移变换矩阵。由文献可知,用最小二乘法求解获得的参数收敛最小。如图6所示。

图6 法向量垂直搜索算法

设误差函数,根据对应点到模型点的实际距离的平方和最小的原则:

(1)

如上所示,pi是实际点云的坐标,qkt是模型中点云的坐标,R是变换矩阵,t是平移矩阵,ni是pi的法向量,(pi-Rqkt-t)2是模型中的坐标经过坐标变换以后投射到切线平面与实际点云坐标的距离值的平方,两坐标点可以在切线平面来回移动,当平方差值取得最小值时,就能求得R和t对应的参数。

具体步骤如下:

1)将实际坐标点集合记做P,模型中拟合坐标记做X,根据匹配准则设定阈值,当大于阈值所取值,坐标点提取应用匹配准则。

2)选定坐标轴原点坐标,p0=p,k=0。

3)根据预处理算法和修补算法获得简化后的点云合集,将获得点集记做Y={yik}。

4)根据最小二乘法,计算出变换矩阵和平移矩阵的值:

其中:dk是距离的平方和,ni是法向量值。

5)根据所求得的R和t,pk+1=Rkp0+Tk对坐标进行整合变换,精细配准,求出变换后的坐标,为下一步三角网剖分做准备。

3.4 三角网剖分算法

三角剖分即借助三角网格以直观的展现数据点间的内部结构关系。通过三角剖分得到的三角网格只包含选取的3个数据点,在空间结构中不重叠,只相交于一条邻边。

Delaunay 三角剖分(DT)是目前较为主流的三角剖分算法,将无序的点云数据重组成有序的三角网格,对后续的可视化建模有很好的辅助作用。

本课题利用三维点云数据在可视化平台重构实际路面,用于和底层处理器检测出的缺陷提示进行校验,因此本课题运用Open GL内部函数对点云数据进行显形化处理,将点云数据进行解析和重构,调用纹理和光照函数对数据模型进行渲染,使最大程度还原真实路面以供试验人员进行监测。

常用的三角剖分算法,有逐点插入法,三角网生长算法,并行分治法。在试验中,可视化平台仅用于验证校验,在保证建模完整可靠的前提下可以降低实时性性能的要求,因此采用逐点插入法可以更好地简化程序设计流程。逐点插入算法核心思想:首先将全部点云数据进行三角网格处理,运用预处理算法对数据进行修补和简化,将新生成的数据点逐点插入,以delaunay 三角剖分的两大准则对数据点进行筛选,每符合要求的3个数据点为单位生成新的三角形,直到数据点全部插入完毕。如图7所示。

图7 逐点插入法流程示意图

3.5 特征量路面缺陷检测算法

将全部的点云数据全部传输到底层处理器必然增加运算的负担,需要将点云特征值进行提取[13]。目前主流提取技术有以下几种方式:曲面率提取方式,法向量提取方式以及领域点平均值提取方式[14]。对于常规路面来说,凹陷导致的路线变形并不常见,因此本设计采用法向量几何特征法能够的满足设计需求,根据斜率差的简化算法,提取的特征高程坐标,根据平面之间的法向量夹角来确定缺陷路面的坐标[15]。如图8所示。

图8 法向量算法示意图

如图所示,有两个平面α,β,n1为α平面的法向量,n2为β平面的法向量,当两平面存在凹陷时,两法向量的夹角较大,根据这一特征进行识别。

取一三角形p1p2p3,p1=(x1,y1,z1),p2=(x2,y2,z2),p3=(x3,y3,z3),则此三角形平面的法向量为:

(2)

则经计算可得,两平面间法向量的夹角α为,

(3)

3.6 下位机软件设计

下位机导盲系统的主要任务是根据USB总线读取的特征变量,根据反三角函数求法向量的夹角,结合高程坐标值,判断当前路面的实际情况,并驱动语音提示。具体步骤如下:系统相关硬件初始化包括通用端口,DMA相关寄存器,USB硬件设备,外接语音芯片;USB总线读取缓存区相近特征点云数据,如果数据读取异常则滤除损坏数据点,继续读取下一个数据;运用几何三角公式求得法向量夹角,平坦路面相邻特征点法向量夹角一般较为接近,如果相差较大,则存在缺陷路面,根据点云的高程坐标进行判断,高程坐标大于水平面坐标则为隆起路面,高程坐标小于水平面则为凹陷路面,分别驱动语音芯片工作提示。如图9所示。

图9 下位机程序流程图

4 实验结果与分析

为评估基于三维建模技术的导盲系统实际效果,运用Gocator扫描仪、Basler灰度相机、S3C2440微处理器平台、系统秒表等仪器设备,设置3个检测性实验来分别从实时性、拟合性、可靠性3个方面进行验证。

4.1 下位机微处理器实时性检测

实验目的:检测所设计系统在数据传输过程中能否满足实时性要求

实验方案:将不同光照、天气、路况等环境下将所获得的数据,经过修补算法和斜率差算法优化后,通过PC端将点云数据实时向微处理器进行传输,底层处理器对特征法向量夹角进行运用阈值算法判定,驱动语音芯片向用户提供策略。通过PC端系统计时经过多个样本采样取消耗时间的平均值,进一步验证从传感器到微处理器数据传输、数据处理、数据判定的实时性。

由表1可知,在天晴环境下,正常光和隆起的路面,由于环境干扰因素较少,直接对数据进行筛选和优化就可以进行判定,故耗时较少;而在雨天和雾天时由于激光本身的反射和折射特性,使得原始数据采样过程中有少许丢失,系统内部调用了修补函数增加了数据处理的耗时;而光线偏暗和黑暗中,因为采样传感器具备激光的抗干扰性,系统几乎不受影响;而在凹陷的路面,因激光传感器扫描方向的单一性,造成凹陷路面数据丢失,调用修补函数消耗了一定的时间。因此,本设计在常见的环境下,能较好的满足系统的实时性。

表1 激光导盲系统实时性实验性能表 (单位:s)

4.2 点云数据拟合性检测

实验目的:校验建模数据与实际路面拟合性。

实验方案:将当前路面的点云数据作为原始输入数据,运用三角网格生成算法在Open GL可视化平台建立三维可视化模型,校验经过预处理后所获得的点云数据的拟合性,是否能够与真实路面特征一致,并通过可视化平台查看数据的连续性和完整性,检查数据链是否存在丢失、残缺的现象,如果复原的三维建模与真实路面特征一致或接近,则认为经过理获得的特征数据具备科学性,如果模型有变形现象,则需要进一步修正算法。对比结果如图10~11所示。

图10 断层路面图

图11 点云建模断层路面图

如图所示,通过实际路面与获取的点云数据在Open GL可视化平台生成的模型进行校验,模型与实际路面特征基本一致。因此,获取的点云数据具备科学性,可以做进一步检测。

4.3 优越性和安全性检测

实验目的:检测三维导盲系统与传统导盲系统相比是否存在优越性。

实验方案:实验选取两种常见的传统导盲系统,将本文导盲系统记实验组a,超声波导盲系统记做实验组b,CCD摄像头的导盲系统记做实验组c。以成功触发率和误触发率为研究对象,将三组导盲系统分别在相同距离不同的天气下,实验100次,分别检测成功触发率,如表2~3所示。

表2 隆起路面实验触发率

表3 凹陷路面实验触发率

由表看出,在相同距离模式下在不同的天气对实验组和对照组都有影响,在隆起路面,对声波可以形成很好的反射机制,所以实验组a和对照组b都表现稳定,而对照组c在大雾天气中空气中的水气对摄像头图像识别造成了干扰,所以触发率有下降;在凹陷路面,声波反射机制缺失,对照组b触发率下降明显,对照组c略有下降但是变化不大。

检测误触发率时,在晴天模式下,根据实际使用需求在150 cm以内,每间隔10 cm作为一个数据比对点,每个比对点分别对三组导盲系统检测100次,记录实验数据。实验数据如图12~13所示在相同天气模式下在凹陷路面检测时,实验组a和对照组b,c都能对隆起路面进行有效预警,对照组c在二维图像识别模式下对距离感识别性能不强,误触发率较高;在凹陷路面,对照组b误触发率上升明显,对照组c的误触发率也仍然较高。

图12 隆起路面不同天气触发率对比图

图13 凹陷路面不同天气对比图

由实验结果可得,由单一传感器所制成的导盲系统,因内部传感技术的单一性,检测对象受到客观环境局限较大;基于摄像头研制的导盲系统,随着图像识别技术的成熟,抗干扰能力不断增强,在不同天气环境下准确度较高,但是因为缺乏对距离感的识别,容易对远距离的路况产生误触发;因此,本文所设计的导盲系统在不同天气环境下,不同检测距离下,识别准确度和抗干扰性都较高。

5 结束语

针对传统的导盲系统的诸多弊端,本文设计了一种基于激光扫描三维建模技术的导盲系统,利用激光扫描仪对采集路面点云原始信息,在PC平台运用修补和简化算法对原始数据进行简化预处理,将简化后的特征数据通过总线传输到底层处理器平台,利用提取特征值算法检测路面缺陷。试验结果表明:本系统可以有效解决传统导盲系统精度不高,环境抗干扰能力弱,误触发等缺点,能够对不良路面情况实现精准预警的效果,具有一定的实用价值。

猜你喜欢
导盲向量路面
基于云端技术的多功能导盲手杖的设计与实现
玩具世界(2022年3期)2022-09-20 01:45:56
基于物联网的导盲机器犬的研究与设计
客联(2022年3期)2022-05-31 04:28:08
向量的分解
聚焦“向量与三角”创新题
用艺术修补路面
路口导盲及马路障碍物检测提醒系统的设计
测控技术(2018年10期)2018-11-25 09:35:52
智能导盲
科学大观园(2018年2期)2018-05-30 14:47:58
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
一款透水路面养护车
专用汽车(2015年4期)2015-03-01 04:10:02