CN108426566A - 一种基于多摄像机的移动机器人定位方法 - Google Patents
一种基于多摄像机的移动机器人定位方法 Download PDFInfo
- Publication number
- CN108426566A CN108426566A CN201810169749.7A CN201810169749A CN108426566A CN 108426566 A CN108426566 A CN 108426566A CN 201810169749 A CN201810169749 A CN 201810169749A CN 108426566 A CN108426566 A CN 108426566A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- frame image
- camera
- video camera
- radiation direction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于多摄像机的移动机器人定位装置,用以解决现有视觉定位系统存在的局限性问题。分散在移动机器人前后左右四个方向的四个相机同时拍摄到的图片中的纹理都较少(比如白墙)的概率较低,或者移动机器人四周都存在相对运动(比如人走动)的概率也比较低,当其中几个(小于4个)相机拍摄到的纹理较少或存在相对运动时,采用剩下摄像机拍摄到的图像进行分析,从而达到较为准确的定位。
Description
技术领域
本发明涉及一种机器人定位的方法,更具体地讲,涉及使用四个不同方向的摄像机准确地识别移动机器人的位置的移动机器人定位方法。
背景技术
视觉定位是通过单个相机或多个相机作为输入估计自身运动的过程。应用领域涵盖机器人、可穿戴计算、增强现实和自动驾驶。
一般的视觉定位根据所使用的相机数目的不同,可以分为单目视觉定位装置和多目视觉定位装置。
单目视觉定位装置:当拍摄到的图片纹理较少,或存在相对运动时,单目视觉定位装置并不能还原出真实的运动距离以及轨迹,这使得单目视觉定位装置无法较准确定位。
多目视觉定位装置:目前的多目视觉定位装置不具备单目视觉定位装置的宽广视野,三维点建立的范围较小,当视野内物体不具备明显特征点时,视觉定位装置容易失效。
发明内容
鉴于上述的分析,本发明旨在提供一种基于多摄像机的移动机器人定位装置,用以解决现有视觉定位系统存在的局限性问题。分散在移动机器人前后左右四个方向的四个相机同时拍摄到的图片中的纹理都较少(比如白墙)的概率较低,或者移动机器人四周都存在相对运动(比如人走动)的概率也比较低,当其中几个(小于4个)相机拍摄到的纹理较少或存在相对运动时,采用剩下摄像机拍摄到的图像进行分析,从而达到较为准确的定位。
本发明采用以下技术方案:
1.一种基于多摄像机的移动机器人定位方法,将四个摄像机安装在移动机器人前、后、左、右四个方向上,四个摄像机分别在相同时刻采集连续图像传送到计算机,通过图像处理算法融合四个摄像机的信息,得到机器人每一时刻的精确运动信息。所述图像处理算法包含以下步骤:
(1)对四个摄像机的相邻两帧图像分别进行特征点提取和匹配,并计算得到各自的本质矩阵E,将本质矩阵E分解为旋转矩阵R和平移向量t。
(2)根据摄像机之间的坐标转换关系,可根据一个摄像机的R和t推导得出其他几个摄像机的运动信息,并求得在其他摄像机的图像中符合该运动信息的特征点点对(称为内点)的数目。
(3)对多个摄像机分别执行第(2)步,求得使总的内点数目最大的摄像机,然后利用该摄像机的图像的内点,根据非线性最小二乘算法再计算本质矩阵,分解得到旋转矩阵和平移向量,根据摄像机和车体坐标系的转换关系,得出机器人运动信息。
2.作为优选,在机器人前后左右的四个摄像机实时采集移动机器人四个方向的图像,每个相机连续拍摄两帧图像。对拍摄到的图像进行预处理(矫正、去噪、滤波、锐化、背景补偿等)。
3.作为优选,对处理后的每个相机的两帧图像进行特征提取和匹配得到多对特征点。四个相机分别获得nu、nv、nw、np(u、v、w、p都不相等)对特征点。
4.作为优选,当特征点对ni(i为1,2,3,4任意值)大于阈值Tn时,采用RANSAC(Random Sample Consensus)算法得到本质矩阵E。
1)只有一个摄像机拍摄到的图像匹配后得到的特征点对对数nu大于阈值Tn,对该摄像机图像进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解E。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
2)有两个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv(u不等于v)大于阈值Tn,
对这两个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv。把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t′v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E′v的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
3)有三个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw(u不等于v且不等于w)大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw。把Ru和tu转换到摄像机v坐标系内为R′u和t′u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t′v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合Ev'的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″v的内点数目。把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″w的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
4)四个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw、nq(u、v、w、q都不相等)都大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw,把Eq分解为Rq和tq。把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″u的内点数目,并且,把Ru和tu转换到摄像机q坐标系内为R″′u和t″′u,从而得到E″′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t′v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″v的内点数目,并且,把Rv和tv转换到摄像机q坐标系内为R″′v和t″′v,从而得到E″′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′v的内点数目。把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E″w的内点数目,并且,把Rw和tw转换到摄像机q坐标系内为R″′w和t″′w,从而得到E″′w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′w的内点数目。把Rq和tq转换到摄像机u坐标系内为R'q和t'q,从而得到E'q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'q的内点数目,同时,把Rq和tq转换到摄像机v坐标系内为R″q和t″q,从而得到E″q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E″q的内点数目,并且,把Rq和tq转换到摄像机w坐标系内为R″′q和t″′q,从而得到E″′q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″′q的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
5)四个摄像机拍摄到的图像匹配后得到的特征点对对数都小于阈值Tn,对特征点对对数进行排序,其序列为nu、nv、nw、nq(u、v、w、q都不相等)。
A.若nu、nv相加大于阈值Tn,对这两个摄像机图像分别进行RANSAC(Random SampleConsensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv。把Ru和tu转换到摄像机v坐标系内为R′u和t′u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t′v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合Ev'的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
B.若nu、nv相加小于阈值Tn,且加上nw后大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw。把Ru和tu转换到摄像机v坐标系内为R′u和t′u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″v的内点数目。把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″w的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
C.若nu、nv、nw相加小于阈值Tn,无论nu、nv、nw、nq是否大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw,把Eq分解为Rq和tq。把Ru和tu转换到摄像机v坐标系内为R′u和t′u,从而得到E′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″u的内点数目,并且,把Ru和tu转换到摄像机q坐标系内为R″′u和t″′u,从而得到E″′u,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″v的内点数目,并且,把Rv和tv转换到摄像机q坐标系内为R″′v和t″′v,从而得到E″′v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′v的内点数目。把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E″w的内点数目,并且,把Rw和tw转换到摄像机q坐标系内为R″′w和t″′w,从而得到E″′w,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算q坐标系内符合E″′w的内点数目。把Rq和tq转换到摄像机u坐标系内为R'q和t'q,从而得到E'q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算u坐标系内符合E'q的内点数目,同时,把Rq和tq转换到摄像机v坐标系内为R″q和t″q,从而得到E″q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算v坐标系内符合E″q的内点数目,并且,把Rq和tq转换到摄像机w坐标系内为R″′q和t″′q,从而得到E″′q,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E″′q的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
附图说明
图1是本发明型实施例多摄像机移动机器人的结构示意图的俯视图;
图2是本发明型实施例多摄像机移动机器人的结构示意图的正视图;
图3是本发明型实施例SIFT算法的流程框图;
图4是本发明型实施例多摄像机移动机器人的流程框图;
其中1、2、3、4-普通摄像机 5-移动机器人。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图像采集:在机器人前后左右的四个摄像机实时采集移动机器人四个方向的图像,每个相机连续拍摄两帧图像。对拍摄到的图像进行预处理(矫正、去噪、滤波、锐化、背景补偿等)
特征提取与匹配:采用SIFT(Scale-invariant feature transform,尺度不变特征变换)特征对处理后的每个相机的两帧图像进行特征提取和匹配得到多对特征点。四个相机分别获得nu、nv、nw、nq(u、v、w、q都不相等)对特征点。
数据分析:当特征点对ni(i为1,2,3,4任意值)大于阈值Tn时,采用RANSAC(RandomSample Consensus)算法得到本质矩阵E。
1)只有一个摄像机拍摄到的图像匹配后得到的特征点对对数nu大于阈值Tn,对该摄像机图像进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解E。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
2)有两个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv(u不等于v)大于阈值Tn,对这两个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v下的内点数目,Ev在摄像机u下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
3)有三个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw(u不等于v且不等于w)大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v和w下的内点数目,Ev在摄像机u和w下的内点数目,Ew在摄像机u和v下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
4)四个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw、nq(u、v、w、q都不相等)都大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v、w和q下的内点数目,Ev在摄像机u、w和q下的内点数目,Ew在摄像机u、v和q下的内点数目,Eq在摄像机u、v和w下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
5)四个摄像机拍摄到的图像匹配后得到的特征点对对数都小于阈值Tn,对特征点对对数进行排序,其序列为nu、nv、nw、nq(u、v、w、q都不相等)。
A.若nu、nv相加大于阈值Tn,对这两个摄像机图像分别进行RANSAC(Random SampleConsensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v下的内点数目,Ev在摄像机u下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
B.若nu、nv相加小于阈值Tn,且加上nw后大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v和w下的内点数目,Ev在摄像机u和w下的内点数目,Ew在摄像机u和v下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
C.若nu、nv、nw相加小于阈值Tn,无论nu、nv、nw、nq是否大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法(使用8点算法),在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq。然后根据摄像机之间的坐标转换关系分别计算Eu在摄像机v、w和q下的内点数目,Ev在摄像机u、w和q下的内点数目,Ew在摄像机u、v和q下的内点数目,Eq在摄像机u、v和w下的内点数目,选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
6.输出位置信息:输出位置信息旋转矩阵R和平移向量t,通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。
Claims (8)
1.一种基于多摄像机的移动机器人定位方法,将四个摄像机安装在移动机器人前、后、左、右四个方向上,四个摄像机分别在相同时刻采集连续图像传送到计算机,通过图像处理算法融合四个摄像机的信息,得到机器人每一时刻的精确运动信息。所述图像处理算法包含以下步骤:
(1)对四个摄像机的相邻两帧图像分别进行特征点提取和匹配,并计算得到各自的本质矩阵E,将本质矩阵E分解为旋转矩阵R和平移向量t。
(2)根据摄像机之间的坐标转换关系,可根据一个摄像机的R和t推导得出其他几个摄像机的运动信息,并求得在其他摄像机的图像中符合该运动信息的特征点点对(称为内点)的数目。
(3)对多个摄像机分别执行第(2)步,求得使总的内点数目最大的摄像机,然后利用该摄像机的图像的内点,根据非线性最小二乘算法再计算本质矩阵,分解得到旋转矩阵和平移向量,根据摄像机和车体坐标系的转换关系,得出机器人运动信息。
2.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:对摄像机拍摄到的图像进行预处理,包括矫正、去噪、滤波、锐化、背景补偿等。
3.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:四个摄像机分别获得nu、nv、nw、np对特征点。
4.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:
只有一个摄像机拍摄到的图像匹配后得到的特征点对对数nu大于阈值Tn,对该摄像机图像进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解E。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
5.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:
若有两个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv(u不等于v)大于阈值Tn,对这两个摄像机图像分别进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解;摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式其中x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目;选择总的内点数目最高的E,作为最终结果;
将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
6.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:若有三个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解;摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw;把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″u的内点数目;把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″v的内点数目;把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″w的内点数目;选择总的内点数目最高的E,作为最终结果;将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置;坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
7.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:四个摄像机拍摄到的图像匹配后得到的特征点对对数nu、nv、nw、nq都大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq;通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw,把Eq分解为Rq和tq。把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″u的内点数目,并且,把Ru和tu转换到摄像机q坐标系内为R″′u和t″′u,从而得到E″′u,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算q坐标系内符合E″′u的内点数目。把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″v的内点数目,并且,把Rv和tv转换到摄像机q坐标系内为R″′v和t″′v,从而得到E″′v,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算q坐标系内符合E″′v的内点数目;把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向;计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向;计算v坐标系内符合E″w的内点数目,并且,把Rw和tw转换到摄像机q坐标系内为R″′w和t″′w,从而得到E″′w,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向;计算q坐标系内符合E″′w的内点数目;把Rq和tq转换到摄像机u坐标系内为R'q和t'q,从而得到E'q,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E'q的内点数目,同时,把Rq和tq转换到摄像机v坐标系内为R″q和t″q,从而得到E″q,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向;计算v坐标系内符合E″q的内点数目,并且,把Rq和tq转换到摄像机w坐标系内为R″′q和t″′q,从而得到E″′q,再根据公式其中,x1为前一帧图像的光线方向,x2为后一帧图像的光线方向;计算w坐标系内符合E″′q的内点数目。选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置;坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
8.如权利要求1所述的基于多摄像机的移动机器人定位方法,其特征在于:四个摄像机拍摄到的图像匹配后得到的特征点对对数都小于阈值Tn,对特征点对对数进行排序,其序列为nu、nv、nw、nq:
A.若nu、nv相加大于阈值Tn,对这两个摄像机图像分别进行RANSAC(Random SampleConsensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv。把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E′u的内点数目;把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目;选择总的内点数目最高的E,作为最终结果;将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置。坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置;
B.若nu、nv相加小于阈值Tn,且加上nw后大于阈值Tn,对这三个摄像机图像分别进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw。把Ru和tu转换到摄像机v坐标系内为R′u和t'u,从而得到E′u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E′u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R″u和t″u,从而得到E″u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″u的内点数目;把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式(x1为前一帧图像的光线方向,x2为后一帧图像的光线方向)计算w坐标系内符合E”v的内点数目。把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″w的内点数目;选择总的内点数目最高的E,作为最终结果。将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置;坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置;
C.若nu、nv、nw相加小于阈值Tn,无论nu、nv、nw、nq是否大于阈值Tn,对这四个摄像机图像分别进行RANSAC(Random Sample Consensus)算法,在对应的特征点集中随机选取8对特征点,根据8点算法计算基本矩阵,计算特征点集中所有点对在这个基本矩阵下的误差,在此基本矩阵下距离小于某个阈值的点称为内点,计算内点数目,并存储内点,重复随机选取8对特征点,重复操作,直至达到最大循环次数,找到使内点数目最大的本质矩阵E以及与之对应的所有内点,使用这些内点,求取本质矩阵的最小二乘解。摄像机u对应的最小二乘解为Eu,摄像机v对应的小二乘解为Ev,摄像机w对应的最小二乘解为Ew,摄像机q对应的最小二乘解为Eq。通过公式E=t^R,把Eu分解为Ru和tu,把Ev分解为Rv和tv,把Ew分解为Rw和tw,把Eq分解为Rq和tq。把Ru和tu转换到摄像机v坐标系内为R'u和t'u,从而得到E'u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E'u的内点数目,同时,把Ru和tu转换到摄像机w坐标系内为R”u和t″u,从而得到E”u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E”u的内点数目,并且,把Ru和tu转换到摄像机q坐标系内为R″′u和t″′u,从而得到E″′u,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算q坐标系内符合E″′u的内点数目;把Rv和tv转换到摄像机u坐标系内为R′v和t'v,从而得到E′v,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E′v的内点数目,同时,把Rv和tv转换到摄像机w坐标系内为R″v和t″v,从而得到E″v,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″v的内点数目,并且,把Rv和tv转换到摄像机q坐标系内为R″′v和t″′v,从而得到E″′v,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算q坐标系内符合E″′v的内点数目;把Rw和tw转换到摄像机u坐标系内为R'w和t'w,从而得到E'w,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E'w的内点数目,同时,把Rw和tw转换到摄像机v坐标系内为R″w和t″w,从而得到E″w,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E″w的内点数目,并且,把Rw和tw转换到摄像机q坐标系内为R″′w和t″′w,从而得到E″′w,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算q坐标系内符合E″′w的内点数目。把Rq和tq转换到摄像机u坐标系内为R'q和t'q,从而得到E'q,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算u坐标系内符合E'q的内点数目,同时,把Rq和tq转换到摄像机v坐标系内为R″q和t″q,从而得到E″q,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算v坐标系内符合E″q的内点数目,并且,把Rq和tq转换到摄像机w坐标系内为R″′q和t″′q,从而得到E″′q,再根据公式x1为前一帧图像的光线方向,x2为后一帧图像的光线方向,计算w坐标系内符合E″′q的内点数目,选择总的内点数目最高的E,作为最终结果;将本质矩阵E分解为旋转矩阵R和平移向量t,根据上一时刻摄像机的位置信息来得到当前的摄像机位置信息,然后通过摄像机坐标和移动机器人坐标的转换关系可得移动机器人的位置;坐标转换关系如下:
摄像机坐标系为{A},移动机器人坐标系为{B},已知摄像机坐标,求移动机器人坐标:
其中BP是空间点P在移动机器人坐标系为{B}的坐标;AP是空间点P在摄像机坐标系为{A}的坐标;旋转矩阵,描述坐标系{A}相对于坐标系{B}的方位;位置矢量,描述坐标系{A}坐标原点相对于坐标系{B}的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169749.7A CN108426566B (zh) | 2018-02-28 | 2018-02-28 | 一种基于多摄像机的移动机器人定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169749.7A CN108426566B (zh) | 2018-02-28 | 2018-02-28 | 一种基于多摄像机的移动机器人定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108426566A true CN108426566A (zh) | 2018-08-21 |
CN108426566B CN108426566B (zh) | 2020-09-01 |
Family
ID=63157333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810169749.7A Active CN108426566B (zh) | 2018-02-28 | 2018-02-28 | 一种基于多摄像机的移动机器人定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108426566B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712112A (zh) * | 2018-11-22 | 2019-05-03 | 中北大学 | 基于局部特征的航拍绝缘子图像的定位方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102435172A (zh) * | 2011-09-02 | 2012-05-02 | 北京邮电大学 | 一种球形机器人视觉定位系统及视觉定位方法 |
CN103854283A (zh) * | 2014-02-21 | 2014-06-11 | 北京理工大学 | 一种基于在线学习的移动增强现实跟踪注册方法 |
CN104121902A (zh) * | 2014-06-28 | 2014-10-29 | 福州大学 | 基于Xtion摄像机的室内机器人视觉里程计实现方法 |
CN106780484A (zh) * | 2017-01-11 | 2017-05-31 | 山东大学 | 基于卷积神经网络特征描述子的机器人帧间位姿估计方法 |
US20170330334A1 (en) * | 2015-07-28 | 2017-11-16 | Panasonic Intellectual Property Management Co., Ltd. | Movement direction determination method and movement direction determination device |
EP3252714A1 (en) * | 2016-06-03 | 2017-12-06 | Univrses AB | Camera selection in positional tracking |
-
2018
- 2018-02-28 CN CN201810169749.7A patent/CN108426566B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102435172A (zh) * | 2011-09-02 | 2012-05-02 | 北京邮电大学 | 一种球形机器人视觉定位系统及视觉定位方法 |
CN103854283A (zh) * | 2014-02-21 | 2014-06-11 | 北京理工大学 | 一种基于在线学习的移动增强现实跟踪注册方法 |
CN104121902A (zh) * | 2014-06-28 | 2014-10-29 | 福州大学 | 基于Xtion摄像机的室内机器人视觉里程计实现方法 |
US20170330334A1 (en) * | 2015-07-28 | 2017-11-16 | Panasonic Intellectual Property Management Co., Ltd. | Movement direction determination method and movement direction determination device |
EP3252714A1 (en) * | 2016-06-03 | 2017-12-06 | Univrses AB | Camera selection in positional tracking |
CN106780484A (zh) * | 2017-01-11 | 2017-05-31 | 山东大学 | 基于卷积神经网络特征描述子的机器人帧间位姿估计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712112A (zh) * | 2018-11-22 | 2019-05-03 | 中北大学 | 基于局部特征的航拍绝缘子图像的定位方法 |
CN109712112B (zh) * | 2018-11-22 | 2022-06-24 | 中北大学 | 基于局部特征的航拍绝缘子图像的定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108426566B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106251399B (zh) | 一种基于lsd-slam的实景三维重建方法及实施装置 | |
Kueng et al. | Low-latency visual odometry using event-based feature tracks | |
CN106940704B (zh) | 一种基于栅格地图的定位方法及装置 | |
CN110163953B (zh) | 三维人脸重建方法、装置、存储介质和电子装置 | |
CN108335322A (zh) | 深度估计方法和装置、电子设备、程序和介质 | |
US8885920B2 (en) | Image processing apparatus and method | |
CN110544301A (zh) | 一种三维人体动作重建系统、方法和动作训练系统 | |
CN103617615B (zh) | 径向畸变参数获取方法及获取装置 | |
CN111899282B (zh) | 基于双目摄像机标定的行人轨迹跟踪方法及装置 | |
WO2015126443A1 (en) | Moving object localization in 3d using a single camera | |
CN110232706B (zh) | 多人跟拍方法、装置、设备及存储介质 | |
CN102289803A (zh) | 图像处理设备、图像处理方法及程序 | |
CN107862733B (zh) | 基于视线更新算法的大规模场景实时三维重建方法和系统 | |
Zheng et al. | Deep learning for event-based vision: A comprehensive survey and benchmarks | |
CN108648264A (zh) | 基于运动恢复的水下场景重建方法及存储介质 | |
CN110827321B (zh) | 一种基于三维信息的多相机协同的主动目标跟踪方法 | |
CN113850865A (zh) | 一种基于双目视觉的人体姿态定位方法、系统和存储介质 | |
EP3185212B1 (en) | Dynamic particle filter parameterization | |
CN108090954A (zh) | 基于图像特征的腹腔环境地图重建与腹腔镜定位的方法 | |
US20200349349A1 (en) | Human Body Recognition Method And Apparatus, And Storage Medium | |
CN115830663A (zh) | 人脸三维关键点提取方法及装置、模型创建方法及系统 | |
Guo et al. | Monocular 3D multi-person pose estimation via predicting factorized correction factors | |
CN108426566A (zh) | 一种基于多摄像机的移动机器人定位方法 | |
CN115205737B (zh) | 基于Transformer模型的运动实时计数方法和系统 | |
CN117152829A (zh) | 一种多视图自适应骨架网络的工业装箱动作识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |