基于ORB-SLAM2的图片识别

Posted 达达MFZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ORB-SLAM2的图片识别相关的知识,希望对你有一定的参考价值。

基于ORB-SLAM2的图片识别,其功能是首先运行ORB-SLAM2,在运行过程中调起另一个线程进行图像识别,识别成功后在图片上渲染AR中的立方体模型。

  识别过程主要基于ORB-SLAM2中的BoW算法,同样使用DBoW2库和ORB特征以及词汇树视觉词典。其主要流程可以概括为:运行ORB-SLAM2,加载ORB词典,然后读取训练图像进行BoW训练,完成之后就是SLAM的过程了,使用Pangolin做的UI界面,开启图像识别之后,线程会取当前帧和训练图像做BoW向量的相似性打分,我的策略是当当前帧和某一图像的相似性得分大于某个得分时(0.015左右),就认为当前帧和该图相似,然后再进行特征匹配,同时使用正向索引加速匹配过程,如果同时匹配上的特征大于某个阈值(nmatches),则认为这两幅图像的确是相似的,则选中匹配上的3D特征点,利用这些特征点进行Delaunay三角剖分进行三角网格的绘制,同时绘制虚拟立方体在匹配3D特征点的均值位置上,效果还可以。

  同时在这个里面继承了原来的平面检测模块,但是缩小了平面检测的范围,主要方法是在当前帧图像上截取一个1/2~2/3的矩形框,将矩形框内的3D点以及特征点等信息作为检测平面的依据,这样可以将举行框对准一小块儿平面区域进行检测,准确率较高,效果较好。

  效果附图:mark

  程序文件:略。

以上是关于基于ORB-SLAM2的图片识别的主要内容,如果未能解决你的问题,请参考以下文章

基于图片识别服务的IOS图片识别程序

锋利的javaCV文字识别篇之一:基于tesserac ocr检测识别图片文字,不仅跨平台还支持英文中文简体繁体等各种字符识别

迁移学习案例:Keras基于VGG对五种图片类别识别

基于Python OCR图片中英文识别

基于Opencv实现车牌图片识别系统

基于百度AI开放平台的人脸识别及语音合成