论文部分内容阅读
海洋探索已经成为大国角力的新型战场,水下航行器作为新型海洋探索和维护海洋设备的重要利器已经成为各大高校及研究机构的的研究方向。如今,水下航行器要完成高难度的水下作业,具备精确的水下实时定位与水下目标检测技术不可或缺。由于声呐、激光等传统传感器价格昂贵,并且在近距离水下作业时受到距离限制和环境约束,基于视觉检测的水下定位方法和目标识别技术得到了快速发展。本文从三个方面对水下航行器的视觉实时定位和目标检测进行了研究:水下双目相机的标定以及点特征与线特征算法的选取、水下双目实时定位算法的实现、水下目标识别算法的应用。针对传统的水下定位方法,本文根据水下场景低纹理的特性,提出了基于点线特征的双目视觉实时水下定位方法。本文通过设计一套评分机制选用了ORB-LSD作为点-线特征提取算法,研究了基于点和线特征统一的重投影误差函数,基于点-线特征的帧与帧之间运动位姿求解,局部地图构建及其优化、闭环检测以及闭环优化等。最终,通过实验验证了基于点线特征双目实时定位算法在低纹理场景下具备较好的精度,同时在水下航行器中具有较好的实时性。针对航行器水下目标识别检测,对比分析了各类物体检测算法,出于高精度和高实时性的考虑,本文选择了YOLOv2算法作为水下航行器的物体检测算法。分析了其特征提取网络Darknet-19构造,以及若干改进措施,探究了其边界框预测原理以及损失函数。利用水下航行器作业期间采集大量图片,制作了针对鱼群的水下数据集。通过训练自己的数据集,对数据集进行聚类,本文实现了航行器对鱼群的识别,并且达到较高的准确率和召回率。基于此,完成了对检测目标实现简单的水下跟踪功能。针对实验室现有水下航行器,重新设计并开发了航行器软件控制组织架构。将原先Qt界面写成的软件控制系统封装成ROS的形式,用来订阅底层数据和更新系统状态。将每一个传感器数据通过底层STM32传到Linux操作系统,通过ROS实时发布出来,从而控制系统再通过订阅传感器的消息,实现系统实时更新。