基于助行智能墨镜的路况分析与算法研究

2022-05-30 07:37颜钰史婷婷孙学焱曹雪萌逯姝洁
电脑知识与技术 2022年27期
关键词:卷积神经网络

颜钰 史婷婷 孙学焱 曹雪萌 逯姝洁

摘要:助行智能墨镜以视障群体为主要用户,根据视障人群的切实需要对相关功能进行研究。通过摄像设备对基本道路状态进行采集,利用卷积神经网络和动态识别模型训练建立较为完整的道路情况数据库,并利用多模块算法达到动态反馈道路情况的目的。采用OpenCV和Tensorflow相关内容实现多目标追踪和神经网络建立的功能。最终在保障产品的实时性和可靠性的同时,实现判断基本路况和交通标志,引导用户在行进过程中做出正确的判断的功能。

关键词:开源计算机视觉库;多目标跟踪算法;卷积神经网络;路径查询算法;视障人群

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

文章编号:1009-3044(2022)27-0012-04

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

我国视障人群基数庞大,且经市场调查研究表明我国视障人群用品行业现如今仍存在市场壁垒,盲道修建成本高以及不文明占用盲道等行为导致视障人群的出行更加困难。存在高成本、低普及的行业痛点。因此,新一代助盲产品的研制就成为视障人群出行的刚需。该项研究意在以保障视障人群的出行安全为主要目的,对系统算法进行研究和实践,达到实现实时交互路况信息及精准导航等功能,支撑产品框架,优化产品功能,保障信息传递的实时性和准确性。

1  项目设计

该项研究主要以助行智能墨镜的软件层面入手,由硬件设备采集图像信息,利用深度神经网络建立并完善图形特征数据库,训练系统进行图像判断,然后建立距离判断模型和导航模型。采用多线程同时工作,保障数据的一致性和实时性,在此基础上利用動态道路数据建立的多层神经网络模型对物体特征进行提取和判断,保障系统数据的准确性。

2  软件设计

2.1 软件设计概述

助行智能墨镜由嵌入式采集传输系统和远程云平台服务器两部分构成。通过基本算法对交通工具和交通信号的关键特征点进行识别,经过后台系统的预处理反馈至进行逻辑判断的算法当中,与数据库中已保存的车辆和交通信号进行校验和比对,并进行分类,判断基本的交通情况,最后将语音信号反馈给用户。同时,还增设客户端远程云平台作为远程数据处理中心,并构建GPS卫星数据匹配平台,结合墨镜实体硬件,可实时定位并发送用户安全情况至监护人的手机App中,使得监护人可以随时掌握用户动态及用户安全情况。

2.2 路况判断程序设计

2.2.1 图像识别模型的建立

在智能墨镜识别模块的开发中,采用Python接口,对机器学习的基础算法进行调用,使得图像部分的处理和分析变得更加简单。对于动态捕捉和动态物体识别,图像由硬件系统进行I/O传输,利用摄像头发现与跟踪的定标模式和基本矩阵估计、齐次矩阵估计、立体对应等算法进行物体的运动分析。然后对图像进行基本的图像处理,如滤波、边缘检测、色彩转换等,识别和提取图像特征,利用深度神经网络相关内容对其进行拟合练习。

识别模型的实现过程中[1],先将JPG图像转换至HSV通道,有效且直观的数据对所需要的颜色进行描述,在阈值划分时,使得颜色能够以色彩、深浅、明暗的方式被区分出来。然后通过inRange函数对图像进行二值化,使其最终呈现的视觉效果为仅存黑白两种颜色的图像。采用模糊算法,对图像进行模糊化处理,使其过剩的色块消失,突出所需要识别的主体,之后再进行二值化处理,达到优化识别的目的。以识别交通标识符为例,需要进行闭运算处理,使二值化图像区域闭合。为应对场景复杂、颜色干扰多的情况,可以采用膨胀和腐蚀的操作对干扰进行去除,即腐蚀图像中的白色像素块,以此消除斑点;或使白色像素块扩张并重新与原来提取的图像黏合。经调试,基础交通标志识别图像如图1。

出于安全性考虑,还需要对模型进行升级,利用卷积神经网络,建立拟合模型(详见2.2.2拟合模型的建立),对交通标识的含义先进行简单地识别和理解。以交通标志为例,调研后统计常见交通标志并汇集成完善的数据库,根据数据库对模型进行训练,使其更为准确。

2.2.2 拟合模型的建立[2]

利用卷积神经网络中的Pillow图像处理库对所得图像进行特征提取,然后进行机器学习中的表征学习,采用基于Triplet Loss(三元损失)的ReID方案,做强制模型训练,使其达到与同类更加相近的目的,计算公式如式(1)。最后,通过所得锚点对该数据库不断进行识别和更新操作,实现降低系统误差的效果。然后在测试数据库中进行测试和修改,对其正则化处理防止出现过拟合现象,直至其出现拟合现象并具有很好的泛化能力。

[L=max(dx,p-dx,q+m, 0)]        (1)

其中,x是目标点,p是目标相似点,q是目标异常点,m是临界值,L是拟合度。

2.2.3 距离判断模型设计

对于距离判断模型的建立,需要采用系统的距离算法,并将所得数据图像与已有数据库中的图片进行特征匹配,短时间内甄别未知对象特点并输出结果。应用多目标追踪MOT算法对车辆进行在线跟踪。在线跟踪中的分支多目标跟踪算法(NOMT)可以部分利用未来帧的信息,通过对当前帧及之前帧的信息对当前情况进行判别。其作用原理如图2所示。

该程序模块采用跨镜追踪技术(ReID),将先将移动目标进行轨迹检测及目标特征提取,并使用Deep Sort算法计算目标的特征值,将所建数据库作为数据来源,并利用多粒度网络(MGN)进行计算并输出被追踪目标的标记,多粒度网络处理流程图如图3所示。将经过处理的数据建立多层神经网络,其中包括卷积神经网络层、池化层和全连接层。

马氏距离法是考虑到各种目标物体特性之间联系的一种计算两个未知样本集相似度的方法,在研究中被用于对比所得样本与数据库中车辆样本是否能够匹配,排除相互关联的变量之间的干扰,其公式如式(2)。因为物体运动是具有连续性的,还需设置门限函数,达到对马氏距离预测结果筛选的目的。门限函数如式(3)。

在多目标跟踪功能中需要在视频帧序中进行跨检测结果的关联[3],因此需要对交通工具的运动轨迹和运动过程进行建模,使系统计算出精度和物体运动的速度,考虑到交通工具被短时间遮挡从而产生影响的问题,采用匈牙利指派算法对系统进行数据关联,预测目标在未来帧的位置并计算其IOU(Intersection over Union),若在短时遮挡结束后,经系统计算为相近物体则IOU偏大,从而使系统能够更快速地恢复视觉的关联性,从而减少因车辆被遮挡而产生的不准确问题。

卡尔曼滤波可通过其线性系统状态方程的特性观测系统输入和输出的数据,对系统最优状态进行预测和估计,总结了系统输入和干扰系统正常作用的最小参数集合,排除了系统被不确定因素干扰的隐患,保障用户在使用过程中系统的稳定性。卡尔曼滤波器算法如式(4)。

[dx,X= (x-μ)T-1(x-y)]           (2)

其中,X是总样本,x是未知样本,μ是样本均值,[-1(x-y)]是多维随机变量的协方差矩阵。

[bx,X= (dx,X≤t)]                (3)

其中,X是总样本,x是位置样本,t是时间阈值。

[Xt=A Xt-1+B Ut+W(t)]

本公式为对卡尔曼滤波器算法中离散控制过程系统的详细描述,其中,X(t)是t时刻时的系统情况,U(t)是t时刻时对系统的控制量,A和B均为默认的系统参数,在本项目中A和B均为矩阵形式。

[Zt=H Xt+Y(t)]

此为系统的测量值公式,其中Z(t)是t时刻时系统的测量数值,H为测量系统的默认参数,在本项目中为矩阵形式,其余参数表示含义如上。

[Xt|t-1=A Xt-1|t-1+B Ut        ](4)

此为预测系统未来状态的公式,其中X(t|t-1)是上一时刻预测系统状态的结果,X(t-1|t-1)是上一系统状态的最优结果,U(t)是当前状态的控制变量,若无控制变量,则为0。

2.3 导航功能程序设计

首先,系统需要具备地理基础数据,该数据可通过OSM官方下载,为保障地图数据的实时性,在研究中也可采用与第三方合作的方式[4]优化算法,实现基本的业务逻辑,完善导航功能。在研究中采用Dijkstra算法(即路径查询算法)来实现,并应用最短路径算法计算最优路径。为减少开发难度,可将此模块部分借助第三方应用程序编程接口进行实现,利用其地图数据和算法接口,自行优化算法结构,使其响应速度更快。具体设计思路为:首先将地图转换为数字形式,然后将地图划分为不同区域的网格,与矩阵的行列一一对应,赋予矩阵中元素不同的值来区分平坦道路和障碍物,通过设定不同的参数来更新和测试数据,最终投入使用。

距离参照数据引例表1所示:

当人与某个障碍物距离等于设定距离时,则对使用者进行提醒,当这个距离小于设定的危险距离时,则发出警报,示意使用者不再前进或者改变路线。当使用者到达有红绿灯的十字路口时,墨镜会对使用者发出提醒,如果绿灯秒数小于等于5秒时,则示意使用者等下一个绿灯。

3  算法的应用及研究

3.1 模糊算法[5]

在道路基本状况识别系统中,处理数据的方法分为图像处理和基于传感器信号进行分析两种情况。由于图像处理实时性差且不能灵活应对道路突发状况,而传感器信号具有实时采集数据并分析车辆行驶规律及行驶关系的功能,这种方法能做到对路况进行灵活实时识别,因此采用通过传感器信号进行分析的方法以保障系统的准确性。鉴于路况的多变性、不确定性和传感器信号与车辆行进规律之前不能准确地使用数学模型进行描述这三种影响因素,以模糊控制理论为主要的理论支持对路况进行基本的判断。

模糊识别算法是在给定标准库的情况下,将待识别对象分类到标准库的方法。本文中标准库为通过卷积神经网络已建立完善的物体特征模型。为准确识别对象,采用针对模糊集合的择近原则,公式如式(5)。

[NAx,B=max1≤x≤n{N(Ay,B)}]                (5)

其中,A为已存在的物体特征集合,B为待识别对象,x和y为A集合中的索引角标,n为论域中模糊集的数量,N为元素间的贴合程度。

3.2 Dijkstra算法[6]

为使在导航功能中系统自动选择最优路径,研究采用Dijkstra算法对最短路径进行选择。由于可能会产生负值圈问题,因此不考虑当权值为负数的情况。算法数据处理思路如下:

在有权的情况下,若[da =∞]则置[da= db+1];

在无权的情况下,若[da=∞]则置[da= db+ca,b];

若[da  !=∞],则进行如图4分析:

此时,顶点a的值也应改为顶点b。

在优化算法时需要用到优先队列,每次提出[da]值的最小顶点,相较于使用遍历循环来找到其最小的顶点,该方法耗费的时间大幅缩短。在每个顶点对象进行处理后可以通过任意顶点的返回值,最后通过回溯的操作得到反转的最短路径。

3.3 基于卷积神经网络的多目标追踪功能实现

3.3.1 基于MultiTracker的多目标追踪[7]

OpenCV中的多目标追踪器MultiTracker初步实现了对动态多物体的追踪。因为多对象的跟踪可以理解为单个追踪器的集合,所以需要先逐步創建单个对象跟踪器,给出各个跟踪器类的名称,再返回单个跟踪器对象,最后再对这些追踪器对应进行集成,建立多跟踪器类。接下来,需要读取视频中的第一帧,在第一帧中使用OpenCV提供的selectROIs函数来确定需要跟踪的对象,由于在Python版本中selectROI函数只能给定一个边界框,所以需要编写循环以实现多目标的选择。准备工作完成后,初始化MultiTracker,更新MultiTracker并显示结果。

3.3.2 深度神经网络多目标追踪训练[8]

当把图片作为数据输入时,可以用残差层和检测层组成检测模块,经检测操作后,得到图片的坐标与分类;当将残差层的输出数据作为输入数据时,瓶颈层和深度可分卷积层可作为追踪分支,追踪物体的平面位置,最终输出物体的追踪坐标。

本文针对物体识别提出三种基本情况进行研究:

① 没有物体消失和出现

基于这种情况,将图像输入至深度神经网络的检测模块中,预测当前帧目标的位置,通过分析得到当前物体的坐标。

② 物体被遮挡后出现

基于这种情况,将未遮挡前的图像与遮挡后的图像进行特征对比,若其欧氏距离小于阈值,则它们为同一物体;反之,则不是。

③ 新物体出现

基于这种情况,引用目标检测中常见概念IOU(候选框与物体真值框的交并比),原理如式6:

[IOU= SiSu]                               (6)

其中,[Si]为候选框与真值框相交面积,[Su]为候选框与真值框相并面积

经理论研究和具体实践,得出各项算法参数如表2所示:

4  产品准确性和实时性难点攻克

为时刻保持数据的实时性和准确性,硬件使用AWR1642单芯片毫米波传感器,能够感应到细微的运动,该传感器的芯片上具有存储模块和数字信号处理器,可以用于探测物体运动,在物体运动的捕捉和预测功能上起到了重要的作用。在墨镜投入使用前,可在Matlab平台上模拟并加入消除静态杂波的算法,加深产品对于运动物体的感知能力,进一步提高其准确性。产品研发过程中存在难点,研究将从以下几方面入手进行优化:

4.1 雷达边缘的智能化

毫米波可以进行测距和测速的操作,在墨镜的应用中,它可以反馈项目所需的数据信息。毫米波雷达的传感器可以获取安全探测范围内不同物体的特点。同时,毫米波还能够探测到微多普勒效应,也就是说,传感器可以准确接收到来自微小运动的调制效应,保障产品使用的准确性。

4.2 容错率

智能墨镜在实际使用中容错率极低,因此,在实现边缘智能的同时,还需要微控制器和数字信号处理器(DSP)对所得物体特征进行检测和分类。毫米波传感器应使用特殊处理和升级算法来滤除系统错误,减少错误检测直至精准。

4.3 数据传输[9]

为保证数据的实时推送,采用同步调用的方式,省去数字信号发送请求-应答的方式,简化数据通信过程,加快数据传输速度。在人机交互的过程中信号采集需要与对象的动态性紧密连接,形成动态信号采集-数据输出的系统,使其满足T≈ts≤ta(其中T为滞后时间,ta为响应时间)。

在智能墨镜系统的实时性设计中,应以降低软件运行时间为主要解决方法,通过后续研究采用高速I/O接口、传感器的捕获和比较,最后挑选出运行效果相对較快的方案。

5 项目总结

本研究以深度神经网络为基础,完善了多目标追踪技术和动态识别技术的综合理论,适用于对行进过程中的物体进行特征识别和距离判断。以准确率可达99%的德国交通标志识别为例,对研究的识别系统进行优化,解决了产品准确性的问题。此外,使用OpenCV实现机器视觉部分,采用多目标追踪算法达到同时标记多个物体的目的,保障产品在复杂路况中仍然能够进行准确判断。附加导航功能,自动规划行进路线,提供出行便利,切实解决视障人群出行痛点。

参考文献:

[1] 言有三.深度学习之图像识别:核心技术与案例实战[M].北京:机械工业出版社,2019.

[2] TensorFlow卷积神经网络之猫狗识别[EB/OL].[2022-03-15]. https://blog.csdn.net/summer_and_Opencv/article/details/8052 3800.

[3] 孙嘉燚,苍岩.基于多目标追踪方法的猪只个体识别算法[J].应用科技,2022,49(2):75-80.

[4] python调用百度地图API实现单点沿线轨迹运动[EB/OL].[2022-03-15].https://blog.csdn.net/qq_15642411/article/details/78712066.

[5] 徐超.车辆行驶环境模糊识别方法的研究与实现[J].电脑知识与技术,2018,14(21):219-221.

[6] 张超,李欣,赵祥伟.基于改进Dijkstra算法的输电线路路径规划[J].电力勘测设计,2022(2):1-5.

[7] Satya Mallick.MultiTrcker:Multi Object Tracking using OpenCV[EB/OL].[2022-03-15]. https://learnopencv.com/multitracker-multiple-object-tracking-using-opencv-c-python.

[8] 温博阁.基于深度可分离卷积的多目标追踪神经网络研究[J].大连交通大学学报,2021,42(5):111-114.

[9] 廖建尚.物联网&云平台高级应用开发[M].北京:电子工业出版社,2017.

【通联编辑:唐一东】

猜你喜欢
卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究