基于OpenMV的盲道循迹算法的设计与实现
郑毅 程诗卿 刘柱廷
1.湖北汽车工业学院 人工智能学院,湖北十堰,442002; 2.电磁感应与节能技术十堰市重点实验室,湖北十堰,442002
基金项目:湖北汽车工业学院2024年大学生创新创业训练计划项目,“灵瞳智航——多功能路况识别智能移动平台”(编号:DC2024001)基金资助。(指导老师:程诗卿)
作者简介:郑毅(2003—),男,汉族,湖北潜江人,本科生,研究方向为汽车电子智能控制;
刘柱廷(2003—),男,汉族,广西柳州人,本科生,研究方向为计算机视觉;
通讯作者:程诗卿(1995—),男,汉族,湖北十堰人,讲师,硕士,研究方向:汽车电子智能控制。
摘 要:我国是全球视障人数最多的国家之一,而对盲道场景进行实时检测是确保视障人士安全出行的前提。本文针对目前市面上导盲产品存在识别准确率低的问题,设计了一个基于OpenMV的盲道识别循迹算法,并自主搭建平台验证算法的可行性。采用神经网络训练模型,实现对盲道的检测,通过进行数据增强来提高训练模型对盲道的识别准确率。最后将图像经过自适应阈值分割算法实时检测盲道并返回数据计算角度进行循迹。在平台上测试的结果表明,该方法相较于传统方式的盲道识别方法在准确率和实时检测速度上均有提高。经实际测试,可满足视障人士的出行的导航需求,具有一定的实际应用价值。
关键词:移动导盲;OpenMV;盲道识别;
1.引言
视觉作为人类重要器官之一,在视觉感官上存在障碍对自身的日常生活和出行都具有较多的限制。而随着视障人士的增加以及智慧交通的普及,视障群体的出行问题也受到了越来越多的关注。目前视障人士的主要出行方式是借助盲杖和导盲犬[1],盲杖由于其结构和功能的局限性,往往导盲的效果不是很好。而导盲犬则因为其培养成本大、数量稀少,无法满足当前国内视障群体的需求。
随着计算机视觉技术的发展,越来越多的技术被应用在其中,为视障群体提供服务。当前对盲道识别大多采用基于深度学习的盲道识别算法[2],然后对图像的目标区域进行边缘检测算法从而进行循迹[3]。但是深度学习模型通常需要强大的计算资源来进行训练和推理,无法满足低功耗、低延迟的需求。而边缘检测算法在一些复杂背景下,边缘信息可能会受到干扰,导致运动轨迹的准确性降低。针对上述问题,本文提出了一个基于OpenMV的神经网络训练学习联合自适应阈值分割的盲道识别算法[4],能够有效降低在盲道实时检测中所需要的计算资源,提升对盲道识别的准确率。
2.神经网络训练模型识别盲道
盲道识别是基于OpenMV内置的神经网络训练模块,导入事先训练好的神经网络模型,使其能够将盲道从图像中分离出来。首先需要收集各种环境下的盲道图像,建立相关数据集,然后通过对数据集图像进行深度算法学习,建立训练模型。在整个识别过程中,OpenMV会将识别到的图像与数据集中的图像进行对比分析,经判断后,输出识别结果。通过不断的训练优化,使其能够在复杂环境下也能快速、准确的识别盲道。
3.基于颜色阈值分割算法计算角度
在用神经网络模型将盲道识别出来后,由于OpenMV是一个基于 MicroPython 的嵌入式视觉处理平台的原因,即使其在处理器和内存方面进行了优化,运行大型神经网络模型需要较大的计算和存储资源,需要大量的存储空间来保存模型结构和权重参数,同时要保持低延迟性和高准确性,导致其无法满足仅通过神经网络训练模型实时识别盲道。
本文通过神经网络训练模型快速的将盲道区域识别出来,采用自适应阈值分割算法得到盲道所在的区域[5],由OpenMV对图像进行实时处理和计算。获取分割区域的中心点坐标以及四个边界点,从而绘制出最小轴线,由OpenMV内置的rotation()函数就可以得到盲道的中心轴线相较于摄像头的中心轴线的旋转弧度,最后再进行一系列转换处理,将弧度转换成角度,打包成16进制数据发送给下位机,进而实现盲道循迹。相比起边缘检测算法可能因为光照、阴影等因素导致边缘分割后的图像边缘线出现陡峭的情况,从而导致返回的数据存在着较大的误差。该算法不仅能有效解决这一问题,还解决了在进入二值化处理后,重新进行神经网络训练模型识别会受到影响的问题。
4.系统测试
在完成平台整体搭建后,开始在平台上进行系统测试,测试算法的可行性。首先建立了相关数据库包含了以盲道为主的多种路况图像,上传至Impulse网站上进行神经网络模型训练以及测试模型的识别准确率。最后在OpenMV IDE平台上对在线运行算法查看对训练模型实际对盲道的识别效果以及阈值分割后计算出的角度。
经测试,神经网络训练模型对盲道的特征点能够快速准确的识别,准确率达到72%,并且训练的模型中盲道特征点与另外二者能够有明显的区分,如图2a所示。通过阈值分割区域,也能够较精确的计算出盲道相对于摄像头的角度返回,如图2b所示。
5.结语
经过一系列的测试优化,平台对盲道的识别基本达到预期设计要求,通过将神经网络训练模型与自适应阈值分割算法相配合,在不同光照条件下和复杂背景的环境中均具有较高的识别准确率,虽然仍受限于数据库储存数据量太少的原因导致在一些特殊环境下,识别的精度有所下降,后续会继续改进。基于这一对盲道识别的创新性成果,本平台在实际应用中具有一定的价值。
参考文献:
[1]孙二杰, 汪东军, 石震等. 超声波智能导盲杖的设计[J].计算机系统应用,2015(8):57.
[2]马文杰, 张轩雄. 基于深度学习的盲道和盲道障碍物识别算法[J]. 电子科技, 2024, 37 (03): 75-83.
[3]贾存南, 刘新春, 李昀骏, 陈刚. 基于边缘计算和YOLOv3的盲道识别方法[J]. 现代信息科技, 2023, 7 (21): 102-105.
[4]刘灵, 孙晨晨, 徐寅林, 唐万春, 赵华. 基于图像预处理分类分割的盲道分割算法[J]. 南京师范大学学报(工程技术版), 2020, 20 (01): 42-48.
[5]吴俊涛, 曹开颜, 付明慧, 曹雨萌. HSV色彩空间和OTSU阈值分割的盲道识别算法设计[J]. 电子世界, 2021, (12): 101-103.