CN108717709B - 图像处理系统及图像处理方法 - Google Patents
图像处理系统及图像处理方法 Download PDFInfo
- Publication number
- CN108717709B CN108717709B CN201810508041.XA CN201810508041A CN108717709B CN 108717709 B CN108717709 B CN 108717709B CN 201810508041 A CN201810508041 A CN 201810508041A CN 108717709 B CN108717709 B CN 108717709B
- Authority
- CN
- China
- Prior art keywords
- marker
- image
- line segments
- line
- segment
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 239000003550 marker Substances 0.000 claims abstract description 187
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000001514 detection method Methods 0.000 claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims abstract description 9
- 238000013500 data storage Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000013519 translation Methods 0.000 claims description 7
- 108091026890 Coding region Proteins 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000003190 augmentative effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种图像处理系统及图像处理方法,包括图像采集模块,用于采集含有标记物的图像;标记物检测和识别模块,对所述图像采集模块输出的图像进行处理,首先需要检测到标记物在图像中的位置,然后对标记物进行关键点检测,最后对标记物内部的编码图案进行解码,完成对标记物的身份ID识别;标记物数据存储模块、相机位姿估计模块、虚拟物体注册和图像显示模块。本发明所述的图像处理系统及图像处理方法,解决了标记物反光或部分遮挡因素影响时检测失败的情况,提高检测的鲁棒性,并采用一种非线性优化的方法对相机的位姿数据进行求解以增强虚拟物体注册的真实性效果。
Description
技术领域
本发明涉及一种图像处理算法,更具体的用于提高基于标记的增强现实系统中标记物检测的鲁棒性和虚拟物体注册的稳定性。
背景技术
增强现实技术是一种通过计算机技术来实现用户对现实世界感知增强的技术,它能够将计算机生成的虚拟物体、场景或附加信息叠加到真实场景中,从而实现对现实的“增强”。
位姿估计技术是增强现实虚实融合过程中的支撑技术,当用户的视角发生变换时,虚拟物体必须能够实时地稳定地配准用户看到的真实目标位置,跟随用户视角发生实时的准确的变化,精准地融合在真实环境中,给用户一个真实的、增强的感官效果。其中基于视觉的位姿估计技术以其体积小、成本低、抗干扰能力强的优点,越来越受到广泛的研究与应用。
基于视觉的位姿估计技术主要分为三类:
第一类是基于强标记物的位姿估计方法,该类方法使用特征明显、结构性强的人工标记物,注册信息的计算复杂度较低,能够在实时性和精确性上达到令人满意的效果。
第二类是基于弱标记的位姿估计方法,直接利用真实场景中的自然特征或是提取SURF、ORB等特征进行位姿估计,该方法在使用场景方面较第一类更为方便,但是在位姿估计的实时性与精度方面还有待提高。
第三类是基于无标记物的位姿估计方法,这类方法借助使用其他设备如 RGB-D相机、IMU惯性测量单元等,可以摆脱场景模型来估计自身位姿,但该方法成本较高。
针对第一类,基于强标记物的位姿估计方法。
目前,大多数基于视觉的主流增强现实系统的标记物都采用二维平面标记物,如ARToolkit标记、ARTag标记等,这类标记物一般是规则的四边形,例如正方形,标记物外侧由一个黑色边框围绕,内部进行编码用于区分不同的标记物,标记物检测的目的是对标记物的四个角点进行定位,它的优点是结构简单、易于识别。但是也存在一些缺点,以增强现实开源库ARToolKit为例。
第一个缺点是在标记物识别过程中易受到标记物反光、遮挡等因素的影响。ARToolKit中对标记物的检测,首先对采集到的包含标记物的图像进行基于阈值的二值化,然后进行连通区域分割,连通区域轮廓提取,最后对提取到的轮廓进行多边形拟合,筛选四边形得到标记物的区域。基于阈值对图像进行二值化决定了这种方法并不适用于光照变化明显的环境。当标记物区域的像素灰度值变化范围较大且阈值处于此范围之内时,标记物经过二值化会被分割为两部分,造成了标记物检测的失败。同理标记物的轮廓被遮挡之后也会造成标记物轮廓检测不完整导致失败。
第二个缺点存在于对相机位姿进行求解的过程。当对人工标记物进行关键点提取后,得到了关键点的亚像素级别坐标,通过把关键点的三维空间坐标与像素坐标之间的对应关系进行反解,即可对相机进行位姿估计,求得相机的位姿数据。这个过程就是典型的求解PnP问题。ARToolKit中采用直接线性变换 (Direct Linear Transform,DLT)方法进行线性求解,忽略了旋转矩阵的正交性,导致求解得到的相机位姿精度受到一定的影响,而这样的误差会导致后续注册过程附加的虚拟物体出现严重的抖动现象。
发明内容
根据上述提出的技术问题,而提供一种图像处理系统及图像处理方法,用于解决现有的基于强标记物的位姿估计方法,不仅在标记物识别过程中易受到标记物反光、遮挡等因素的影响,而且对相机位姿进行求解的过程不够精准的缺点。本发明采用的技术手段如下:
一种图像处理系统,包括:图像采集模块,用于采集含有标记物的图像,并进行预处理;标记物检测和识别模块,对所述图像采集模块输出的图像进行处理,首先需要检测到标记物在图像中的位置,然后对标记物进行关键点检测,最后对标记物内部的编码图案进行解码,完成对标记物的身份ID识别;标记物数据存储模块,用于存储历史视频帧中出现过的标记物的ID信息,当标记物被严重遮挡时,通过所述标记物数据存储模块中的信息与标记物的相似度匹配得到标记物的ID,进一步提高了标记物检测和识别的鲁棒性;相机位姿估计模块,当标记物的关键点定位完成后,所述相机位姿估计模块通过标记物关键点的二维像素坐标与三维空间坐标的对应关系,利用一种非线性优化的方法,求解标记物所在的世界坐标系与相机坐标系之间的旋转矩阵与平移向量,从而进一步对相机进行位姿估计;虚拟物体注册和图像显示模块,根据相机的位姿数据通过OpenGL绘制虚拟物体并将虚实融合后的图像进行实时显示。
作为优选所述图像采集模块的输出是单张图片,或连续的视频流信息。
作为优选所述图像采集模块的图像采集设备支持USB摄像头或智能手机自带摄像头。
一种图像处理方法,包括以下步骤:
S1、采集图像:
使用图像采集设备实时采集图像,并将采集到的图像称为输入图像。
S2、图像预处理:
对输入图像使用OpenCV开源库进行灰度化,并采用高斯下采样将输入图像缩小到原始图像的0.8倍,减弱甚至消除图像中出现的锯齿效应。
S3、提取图像中的边缘线段:
首先计算每一个像素点的梯度值以及梯度方向,具有较大梯度幅值的像素点所在的区域通常具有较强的边缘,具有较小梯度幅值的像素点意味着平坦的区域或梯度变化缓慢的区域。
将梯度幅值较大且互相邻接的像素进行合并,这样得到一系列的regions,这些regions被称为line support regions;每一个line support region 其实就是一组像素,它也是直线段的候选。
同时,对于这个line support region,我们观察它的最小外接矩形;直观上来讲,当一组像素的最小外接矩形特别细长时,那么这组像素是直线段。
每个Line support region的主轴方向作为这条直线的方向;将提取到的线段通过线段的长度进行筛选,去除长度低于指定阈值的线段;将筛选完成后的线段称为候选线段。
S4、寻找标记物区域:
首先,对候选线段进行矢量化和规范化。
对线段有两个约束:
S411、规定线段是有方向的且方向从线段的起始点指向结束点。
S412、规定绕标记物的线段是按照逆时针将标记物包围,直观来讲即每条线段以起始点为原点,逆时针扫过的区域为灰度值较小的区域,顺时针扫过的区域为灰度值较大的区域,若不符合则将起始点和结束点进行调换。
标记物的某一条边理论上被提取成完整的一条线段,但是由于受噪声的影响,会被分割成多条线段,此时需要将多条线段拼接起来。
能够进行拼接的线段需要满足两个条件。
S421、两条线段的方向角度之差的绝对值小于阈值τ。
S422、两条线段互相距离较近。
这里线段互相距离较近指的是线段a的起始点与线段b的结束点,或线段 a的结束点与线段b的起始点之间的欧氏距离小于某一阈值。
满足上述两个条件的线段将被合并成一条线段并进行矢量化调整。
其次,为了寻找标记物的区域,根据标记物的几何特征,需要先找到包围标记物的四条线段,之后根据线段所在直线的相互交点确定标记物的关键点。
标记物相邻两条边所对应的线段满足三个条件。
S431、线段互相接近垂直。
S432、线段互相距离较近。
S433、某条线段的方向矢量与其结束点端的线段方向矢量的点积大于0,或者与其起始点端的线段方向矢量的点积小于0,这是为了使得找到的线段连接后是以逆时针的方向围绕标记物。
对符合上述条件的线段进行递归查找,直到条件不满足或符合条件的线段的数量达到4。
采用递归的方式进行查找使得查找完毕的线段按照相互之间的顺序进行排列,称之为线段链。
若线段链中数量为4,则存在以下三种情况:
S441、标记物未被遮挡。
S442、标记物的某一条边被少部分遮挡。
S443、标记物的某一个角点被遮挡。
对于这种情况,四条线段中两两相邻的线段所在直线的相互交点即为标记物关键点的位置。
若线段链中数量为3,则将三条线段中两两相邻的线段所在直线的相互交点、线段链中第一条线段的起始点和最后一条线段的结束点作为标记物的关键点。
若线段链中数量小于3,不会构成标记物的候选区域,直接丢弃即可。
上述由线段链确定的区域称为标记物候选区域。
S5、存在标记物:
进行标记物的身份信息ID识别;本系统中采用hamming编码,标记物内部由5×5的黑白方格代表hamming码的二进制的信息。
进行解码之前,需要先将步骤S4中提取到的标记物候选区域进行二值化和网格划分,其次对编码区域中的每个网格进行像素点投票,以确定此网格的二进制位,最后将所有编码区域内网格代表的二进制位进行解码。
对于没有遮挡的情况,若hamming距离为0,则解码成功,否则解码失败。
S6、非线性优化求解位姿数据:
具体为基于标记物关键点的像素坐标与空间三维坐标的对应关系求取相机的位姿数据。
S7、虚实融合并显示图像:
相机的位姿决定了虚拟物体应该以何种视角叠加进真实场景。
在求解得到相机的位姿数据的基础上,使用OpenGL将虚拟素材库中的虚拟物体准确叠加进相机采集到的带有标记物的真实场景中并实时显示,本系统根据不同ID的标记物叠加不同的虚拟物体,同时支持人机交互,用户随时更换虚拟物体。
作为优选步骤S1中,所述图像采集设备为USB摄像头或智能手机自带的摄像头。
作为优选步骤S5中,增加标记物ID信息模块,此模块用于存储历史视频帧中识别成功的ID信息,对于待识别的标记物,若hamming距离不为0,则认为标记物被遮挡,系统会将此标记物的ID与标记物ID信息模块中存储的ID 进行相似度匹配,对于相似度大于一定阈值的ID,系统会取相似度最高的作为待识别标记物的ID。
作为优选步骤S6中,非线性优化求解位姿数据的具体算法如下:
ε≥0,0<η1≤η2<1,0<γ1<1<γ2,k:=0。
S62、如果‖gk‖≤ε,停止。
S63、求解置信域方法的模型子问题得到sk。
S64、计算f(xk+sk)和rk,令
S65、校正信赖域半径,令
Δk∈(0,γ1Δk],if rk<η1;
Δk+1∈[γ1Δk,Δk],if rk∈[η1,η2);
S66、产生Bk+1,校正q(k),令k:=k+1,转第二步。
上面的算法中,如果rk≥η2,因而Δk+1≥Δk,这种情形称为很成功迭代; rk∈[η1,η2)的情况称为成功迭代;rk<η1的情况称为不成功迭代。
作为优选步骤S421中的所述阈值τ指的是手动设置的经验值10度;步骤S422中的所述阈值指的是手动设置的经验值15像素。
与现有技术相比较,本发明所述的图像处理系统及图像处理方法,解决了标记物反光或部分遮挡因素影响时检测失败的情况,提高检测的鲁棒性,并采用一种非线性优化的方法对相机的位姿数据进行求解以增强虚拟物体注册的真实性效果。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明系统简易框图。
图2是本发明系统流程图。
图3是本发明系统采用的标记物示例。
图4是本发明Line Support Regions示例。
图5是本发明矢量化后的图片示例。
图6-1、图6-2、图6-3和图6-4是本发明标记物识别情况示意图。
图7是本发明相机轨迹图。
具体实施方式
如图1所示,一种图像处理系统,包括:
图像采集模块,用于采集含有标记物的图像,并进行预处理。
标记物检测和识别模块,对所述图像采集模块输出的图像进行处理,首先需要检测到标记物在图像中的位置,然后对标记物进行关键点检测,最后对标记物内部的编码图案进行解码,完成对标记物的身份ID识别。
标记物数据存储模块,本发明对标记物的解码系统进行了改进,所以增加了本模块。本模块用于存储历史视频帧中出现过的标记物的ID信息,当标记物被严重遮挡时,通过所述标记物数据存储模块中的信息与标记物的相似度匹配得到标记物的ID,进一步提高了标记物检测和识别的鲁棒性。
相机位姿估计模块,当标记物的关键点定位完成后,所述相机位姿估计模块通过标记物关键点的二维像素坐标与三维空间坐标的对应关系,利用一种非线性优化的方法,求解标记物所在的世界坐标系与相机坐标系之间的旋转矩阵与平移向量,从而进一步对相机进行位姿估计;此处非线性优化的方法,作为其中一种优选方式,具体指的是下述步骤S6中的优化方法。
虚拟物体注册和图像显示模块,根据相机的位姿数据通过OpenGL绘制虚拟物体并将虚实融合后的图像进行实时显示,使得系统的注册结果给用户更加舒适、真实的感官体验。
所述图像采集模块的输出是单张图片,或连续的视频流信息。所述图像采集模块的图像采集设备支持USB摄像头或智能手机自带摄像头。
如图2所示,一种图像处理方法,包括以下步骤:
S1、采集图像:
使用图像采集设备实时采集图像,并将采集到的图像称为输入图像;步骤 S1中,所述图像采集设备为USB摄像头或智能手机自带的摄像头。
本系统的任务是在采集到的图像中检测事先设计好的标记物。本系统使用的标记物见附图图3。
目前大多数基于标记物的主流增强现实系统都采用这种类似的正方形标记物,标记物的中心部位是标记物的编码区域,由N*N的黑白方格组成,黑色和白色分别代表二进制位的0和1,所有方格依次排列转换成的二进制位组成这个标记物的身份识别ID;编码区域外围由黑色边框包围,黑色边框有利于对标记物进行快速定位和检测。
正方形标记物的4个顶点称为标记物的关键点,关键点用于相机的位姿估计。
S2、图像预处理:
对输入图像使用OpenCV开源库进行灰度化,并采用高斯下采样将输入图像缩小到原始图像的0.8倍,目的是减弱甚至消除图像中出现的锯齿效应;
采用所述图像采集模块实现对应步骤S1和步骤S2。
S3、提取图像中的边缘线段:参考LSD直线检测算法的思想,首先计算每一个像素点的梯度值以及梯度方向,具有较大梯度幅值的像素点所在的区域通常具有较强的边缘,具有较小梯度幅值的像素点意味着平坦的区域或梯度变化缓慢的区域;
将梯度幅值较大且互相邻接的像素进行合并,这样得到一系列的regions (区域),这些regions被称为line support regions(线支持地区);如图4所示。每一个linesupport region(线支持区域)其实就是一组像素,它也是直线段的候选;
同时,对于这个line support region,我们观察它的最小外接矩形;直观上来讲,当一组像素的最小外接矩形特别细长时,那么这组像素更加可能是直线段;
每个Line support region的主轴方向作为这条直线的方向;将提取到的线段通过线段的长度进行筛选,去除长度低于指定阈值的线段;将筛选完成后的线段称为候选线段;
筛选完成后的线段具有两个特点,第一,线段两侧像素点的灰度值之差比较大;第二,线段长度较长。这两个特点正是我们要寻找的标记物的边缘所具有的特征。
S4、寻找标记物区域:是本发明解决标记物遮挡问题的核心步骤。
首先,对候选线段进行矢量化和规范化;
对线段有两个约束:
S411、规定线段是有方向的且方向从线段的起始点指向结束点;
S412、规定绕标记物的线段是按照逆时针将标记物包围,直观来讲即每条线段以起始点为原点,逆时针扫过的区域为灰度值较小的区域,顺时针扫过的区域为灰度值较大的区域,若不符合则将起始点和结束点进行调换;
示例图片如图5所示。每条直线有箭头的一端为结束点,另一端为起始点,从起始点向结束点方向看,左侧为灰度值较低的区域,右侧为灰度值较高的区域。因此,即使标记物内部有规则白色正方形,它的边缘线段的方向是沿顺时针方向,而真正标记物的外围线段是沿逆时针方向,这样就可以将内部的干扰部分排除。
标记物的某一条边理论上被提取成完整的一条线段,但是由于受噪声的影响,会被分割成多条线段,此时需要将多条线段拼接起来;
能够进行拼接的线段需要满足两个条件:
S421、两条线段的方向角度之差的绝对值小于阈值τ;步骤S421中的所述阈值τ指的是手动设置的经验值10度。
S422、两条线段互相距离较近;
这里线段互相距离较近指的是线段a的起始点与线段b的结束点,或线段 a的结束点与线段b的起始点之间的欧氏距离小于某一阈值;步骤S422中的所述阈值指的是手动设置的经验值15像素。这里解释了两条线段相互距离的概念,最后的“小于某一阈值”这一阈值程序中设置为15像素,是经过试验得出的经验值。
满足上述两个条件的线段将被合并成一条线段并进行矢量化调整;
其次,为了寻找标记物的区域,根据标记物的几何特征,需要先找到包围标记物的四条线段,之后根据线段所在直线的相互交点确定标记物的关键点;
标记物相邻两条边所对应的线段满足三个条件:
S431、线段互相接近垂直;
S432、线段互相距离较近;
S433、某条线段的方向矢量与其结束点端的线段方向矢量的点积大于0,或者与其起始点端的线段方向矢量的点积小于0,这是为了使得找到的线段连接后是以逆时针的方向围绕标记物;
对符合上述条件的线段进行递归查找,直到条件不满足或符合条件的线段的数量达到4;
采用递归的方式进行查找使得查找完毕的线段按照相互之间的顺序进行排列,称之为线段链;
若线段链中数量为4,则存在以下三种情况:
S441、标记物未被遮挡;
S442、标记物的某一条边被少部分遮挡;
S443、标记物的某一个角点被遮挡;
对于这种情况,四条线段中两两相邻的线段所在直线的相互交点即为标记物关键点的位置;
若线段链中数量为3,则将三条线段中两两相邻的线段所在直线的相互交点、线段链中第一条线段的起始点和最后一条线段的结束点作为标记物的关键点;
若线段链中数量小于3,不会构成标记物的候选区域,直接丢弃即可;
上述由线段链确定的区域称为标记物候选区域;
S5、存在标记物:
进行标记物的身份信息ID识别;
本系统中采用hamming编码,标记物内部由5×5的黑白方格代表hamming 码的二进制的信息;
进行解码之前,需要先将步骤S4中提取到的标记物候选区域进行二值化和网格划分,其次对编码区域中的每个网格进行像素点投票,以确定此网格的二进制位,最后将所有编码区域内网格代表的二进制位进行解码;
对于没有遮挡的情况,若hamming距离为0,则解码成功,否则解码失败;
步骤S5中,增加标记物ID信息模块,此模块用于存储历史视频帧中识别成功的ID信息,对于待识别的标记物,若hamming距离不为0,则认为标记物被遮挡,系统会将此标记物的ID与标记物ID信息模块中存储的ID进行相似度匹配,对于相似度大于一定阈值的ID,系统会取相似度最高的作为待识别标记物的ID。此处考虑到存在编码区域被遮挡的情况,将系统增加了标记物ID 信息模块,这种改进方法在一定程度上解决了标记物被遮挡后的身份ID识别问题。效果图见附图6-1、图6-2、图6-3和图6-4。
其中,图6-1是输入的原图,标记物的边框和内部的编码区域都被遮挡。
图6-2是本系统的标记物检测算法提取到的标记物区域经过仿射变换得到的图片,可见较准确地提取到了标记物。
图6-3是没有增加标记物ID信息模块时由于遮挡造成的标记物ID识别错误。915号被误识别为913号。
图6-4是本系统经过改进,增加了标记物ID识别模块后成功识别被遮挡标记物的情况。
现有的其他标记物检测算法在处理上述遮挡情况时,在标记物检测定位阶段就已经失败了,而本发明不仅检测定位到了标记物,而且提取了标记物的ID 信息,可见很大程度上提高了标记物的检测和识别鲁棒性。
采用所述标记物检测和识别模块,与标记物数据存储模块分别对应步骤 S3、步骤S4和步骤S5。
S6、非线性优化求解位姿数据:
具体为基于标记物关键点的像素坐标与空间三维坐标的对应关系求取相机的位姿数据;
以下关于相机位姿估计是建立在已经采用张正友标定法进行了相机标定的基础上;
虽然步骤204中的关键点已经是亚像素级别,但是由于噪声、直线检测误差等因素的影响达不到本系统的精度要求。
为了提高相机位姿数据的准确性,本系统使用OpenCV中的cornerSubPix() 函数对关键点进行进一步精准化。此时的关键点坐标精度达到了用于求解相机位姿数据的精度。
此步骤中要求解的问题是典型的PnP问题,求解PnP问题就是为了求取相机坐标系相对于世界坐标系的旋转矩阵和平移向量。PnP问题有多种求解方法,例如用三对点估计位姿的P3P,直接线性变换(DLT),EPnP(Efficient PnP), UPnP等等。此外还能用非线性优化的方式,构建最小二乘问题并迭代求解。
以增强现实工具箱ARToolKit中采用的直接线性变换(Direct LinearTransform,DLT)方法为例:
考虑关键点的空间点P的齐次坐标为P=(X,Y,Z,1)T,对应的像素点的齐次坐标为x1=(u1,v1,1)T,定义增广矩阵[R|t]为一个3*4的矩阵,包含旋转矩阵和平移向量,其展开形式如下式所示:
采用DLT方法对上式进行求解得到的是一个一般矩阵,忽略了旋转矩阵的正交性。对于旋转矩阵R,需要针对DLT估计的增广矩阵左边的3*3矩阵块,寻找一个最好的旋转矩阵对它进行近似,即可将上述增广矩阵转换成旋转矩阵和平移向量两部分。然而在近似的过程中,求解得到的位姿的精度会受到很大的影响,导致后续注册过程附加的虚拟物体出现严重的抖动现象。
针对这一局限性,本系统把PnP问题构造成一个非线性最小二乘问题,之后采用一种非线性优化的方法进行求解。线性方法中一般是先求相机位姿,再求空间点的位置。非线性优化的方法则是把这些变量放在一起同时优化。
假设相机的内参矩阵K已知,考虑n个三维空间点P及其投影p,假设第i 个空间点三维坐标为Pi=[Xi,Yi,Zi]T,其投影点的像素坐标为ui=[ui,vi]T,三维空间点与投影点的位置关系如下式所示。
旋转矩阵R和平移矩阵t就是要求解的相机位姿。
但如果用旋转矩阵描述相机位姿,由于旋转矩阵必须是正交矩阵且行列式为1,会引入旋转矩阵自身的约束,这一约束会使得优化变得困难。所以本系统将相机的位姿[R|t]用李代数表示为ξ,该问题就变成了一个无约束的最小二乘问题。
则上式写成矩阵形式为:
siui=Kexp(ξ∧)Pi
理论上上式是个等式,实际由于观测点存在噪声且相机位姿未知,上式会存在一定的误差。此误差就是将观测点坐标与三维空间点按照当前估计的位姿进行投影得到的投影点的坐标相比较得到的误差,即重投影误差。本文选择重投影误差为目标函数,将n个点的重投影误差进行求和,最小化重投影误差的过程就是不断调整相机的位姿使下式最小化。
求解非线性优化问题的方法大致分为Line Search和Trust Region两类。 LineSearch先固定搜索方向,然后在该方向寻找步长,以最速下降法和 Gauss-Newton法为代表;而Trust Region则先固定搜索区域,再考虑找该区域内的最优点,以Levenberg-Marquard法和Dog-Leg法为代表。本系统采用 Dog-Leg法对上式进行最小化求解。
Dog-Leg算法是Trust Region方法的一种。这种方法在信赖域中使用二次模型作为目标函数的一个合适的近似,不仅具有总体收敛性,而且不要求目标函数的Hesse矩阵是正定的,利用二次模型求解方向步sk,因此目标函数的下降比线性搜索方法更有效。
信赖域方法的模型子问题是
Δk根据模型函数q(k)(s)对目标函数f(x)的拟合程度来调整。二者的一致性程度由下式定义。
rk越接近1,表明模型函数和目标函数一致性程度越好,这时可以增大Δk。
如果rk>0但不接近1,保持Δk不变。如果rk接近零或者取负值,就减小Δk,缩小信赖域。
步骤S6中,非线性优化求解位姿数据的具体算法如下:
ε≥0,0<η1≤η2<1,0<γ1<1<γ2,k:=0;
S62、如果‖gk‖≤ε,停止;
S63、求解置信域方法的模型子问题得到sk;
S64、计算f(xk+sk)和rk,令
S65、校正信赖域半径,令
Δk∈(0,γ1Δk],if rk<η1;
Δk+1∈[γ1Δk,Δk],if rk∈[η1,η2);
S66、产生Bk+1,校正q(k),令k:=k+1,转第二步;
上面的算法中,如果rk≥η2,因而Δk+1≥Δk,这种情形称为很成功迭代; rk∈[η1,η2)的情况称为成功迭代;rk<η1的情况称为不成功迭代。
采用所述相机位姿估计模块实现步骤S6。
S7、虚实融合并显示图像:
相机的位姿决定了虚拟物体应该以何种视角叠加进真实场景;
在求解得到相机的位姿数据的基础上,使用OpenGL将虚拟素材库中的虚拟物体准确叠加进相机采集到的带有标记物的真实场景中并实时显示,本系统根据不同ID的标记物叠加不同的虚拟物体,同时支持人机交互,用户随时更换虚拟物体。
采用所述虚拟物体注册和图像显示模块实现步骤S7。
如图7所示,由于不能采用视频展示注册后的虚拟物体的抖动情况,本申请采用绘制相机轨迹的方式衡量虚拟物体的抖动程度。
本实验将标记物放在匀速转动的转台上,标记物的中心与转盘的转轴重合,相机固定在标记物的斜上方进行拍摄。对同一段视频,我们分别采用ARToolKit 中的DLT算法和本系统介绍的基于非线性优化的求解方法进行处理,将每一帧图像得到的相机的位姿数据中的三维坐标信息绘制出来,理论上绘制的相机轨迹应该是空间中的一个z轴高度固定的圆形轨迹。
由图可见,采用ARToolKit中的算法绘制的轨迹在z轴上有较大的波动,相机轨迹并不是平滑连续的;而采用本系统的算法绘制出的轨迹相对平滑一些,抖动相对较小,达到了预期的效果。
当标记物的表面较光滑时,由于太阳光或灯光的照射,标记物的边缘如果出现强烈的反光区域,会出现和标记物被遮挡一样的后果,即标记物反光状态,因此没有专门表述标记物反光的情况。
本发明所述的图像处理系统及图像处理方法,解决了标记物反光或部分遮挡因素影响时检测失败的情况,提高检测的鲁棒性,并采用一种非线性优化的方法对相机的位姿数据进行求解以增强虚拟物体注册的真实性效果。
本申请中涉及的OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
本申请中涉及的OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、 Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
本申请中采用hamming编码指的汉明码。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种图像处理方法,其特征在于采用的图像处理系统包括:
图像采集模块,用于采集含有标记物的图像,并进行预处理;
标记物检测和识别模块,对所述图像采集模块输出的图像进行处理,首先需要检测到标记物在图像中的位置,然后对标记物进行关键点检测,最后对标记物内部的编码图案进行解码,完成对标记物的身份ID识别;
标记物数据存储模块,用于存储历史视频帧中出现过的标记物的ID信息,当标记物被严重遮挡时,通过所述标记物数据存储模块中的信息与标记物的相似度匹配得到标记物的ID,进一步提高了标记物检测和识别的鲁棒性;
相机位姿估计模块,当标记物的关键点定位完成后,所述相机位姿估计模块通过标记物关键点的二维像素坐标与三维空间坐标的对应关系,利用非线性优化的方法,求解标记物所在的世界坐标系与相机坐标系之间的旋转矩阵与平移向量,从而进一步对相机进行位姿估计;
虚拟物体注册和图像显示模块,根据相机的位姿数据通过OpenGL绘制虚拟物体并将虚实融合后的图像进行实时显示;
所述图像处理方法,包括以下步骤:
S1、采集图像:
使用图像采集设备实时采集图像,并将采集到的图像称为输入图像;
S2、图像预处理:
对输入图像使用OpenCV开源库进行灰度化,并采用高斯下采样将输入图像缩小到原始图像的0.8倍,减弱甚至消除图像中出现的锯齿效应;
S3、提取图像中的边缘线段:
首先计算每一个像素点的梯度值以及梯度方向,具有较大梯度幅值的像素点所在的区域通常具有较强的边缘,具有较小梯度幅值的像素点意味着平坦的区域或梯度变化缓慢的区域;
将梯度幅值较大且互相邻接的像素进行合并,这样得到一系列的regions,这些regions被称为line support regions;每一个line support region其实就是一组像素,它也是直线段的候选;
同时,对于这个line support region,我们观察它的最小外接矩形;直观上来讲,当一组像素的最小外接矩形特别细长时,那么这组像素是直线段;
每个Line support region的主轴方向作为这条直线的方向;将提取到的线段通过线段的长度进行筛选,去除长度低于指定阈值的线段;将筛选完成后的线段称为候选线段;
S4、寻找标记物区域:
首先,对候选线段进行矢量化和规范化;
对线段有两个约束:
S411、规定线段是有方向的且方向从线段的起始点指向结束点;
S412、规定绕标记物的线段是按照逆时针将标记物包围,直观来讲即每条线段以起始点为原点,逆时针扫过的区域为灰度值较小的区域,顺时针扫过的区域为灰度值较大的区域,若不符合则将起始点和结束点进行调换;
标记物的某一条边理论上被提取成完整的一条线段,但是由于受噪声的影响,会被分割成多条线段,此时需要将多条线段拼接起来;
能够进行拼接的线段需要满足两个条件:
S421、两条线段的方向角度之差的绝对值小于阈值τ;
S422、两条线段互相距离较近;
这里线段互相距离较近指的是线段a的起始点与线段b的结束点,或线段a的结束点与线段b的起始点之间的欧氏距离小于某一阈值;
满足上述两个条件的线段将被合并成一条线段并进行矢量化调整;
其次,为了寻找标记物的区域,根据标记物的几何特征,需要先找到包围标记物的四条线段,之后根据线段所在直线的相互交点确定标记物的关键点;
标记物相邻两条边所对应的线段满足三个条件:
S431、线段互相接近垂直;
S432、线段互相距离较近;
S433、某条线段的方向矢量与其结束点端的线段方向矢量的点积大于0,或者与其起始点端的线段方向矢量的点积小于0,这是为了使得找到的线段连接后是以逆时针的方向围绕标记物;
对符合上述条件的线段进行递归查找,直到条件不满足或符合条件的线段的数量达到4;
采用递归的方式进行查找使得查找完毕的线段按照相互之间的顺序进行排列,称之为线段链;
若线段链中数量为4,则存在以下三种情况:
S441、标记物未被遮挡;
S442、标记物的某一条边被少部分遮挡;
S443、标记物的某一个角点被遮挡;
对于这种情况,四条线段中两两相邻的线段所在直线的相互交点即为标记物关键点的位置;
若线段链中数量为3,则将三条线段中两两相邻的线段所在直线的相互交点、线段链中第一条线段的起始点和最后一条线段的结束点作为标记物的关键点;
若线段链中数量小于3,不会构成标记物的候选区域,直接丢弃即可;
上述由线段链确定的区域称为标记物候选区域;
S5、存在标记物:
进行标记物的身份信息ID识别;
本系统中采用hamming编码,标记物内部由5×5的黑白方格代表hamming码的二进制的信息;
进行解码之前,需要先将步骤S4中提取到的标记物候选区域进行二值化和网格划分,其次对编码区域中的每个网格进行像素点投票,以确定此网格的二进制位,最后将所有编码区域内网格代表的二进制位进行解码;
对于没有遮挡的情况,若hamming距离为0,则解码成功,否则解码失败;
S6、非线性优化求解位姿数据:
具体为基于标记物关键点的像素坐标与空间三维坐标的对应关系求取相机的位姿数据;
S7、虚实融合并显示图像:
相机的位姿决定了虚拟物体应该以何种视角叠加进真实场景;
在求解得到相机的位姿数据的基础上,使用OpenGL将虚拟素材库中的虚拟物体准确叠加进相机采集到的带有标记物的真实场景中并实时显示,本系统根据不同ID的标记物叠加不同的虚拟物体,同时支持人机交互,用户随时更换虚拟物体;
步骤S5中,增加标记物ID信息模块,此模块用于存储历史视频帧中识别成功的ID信息,对于待识别的标记物,若hamming距离不为0,则认为标记物被遮挡,系统会将此标记物的ID与标记物ID信息模块中存储的ID进行相似度匹配,对于相似度大于一定阈值的ID,系统会取相似度最高的作为待识别标记物的ID;
步骤S6中,非线性优化求解位姿数据的具体算法如下:
ε≥0,0<η1≤η2<1,0<γ1<1<γ2,k:=0;
S62、如果‖gk‖≤ε,停止;
S63、求解置信域方法的模型子问题得到sk;
S64、计算f(xk+sk)和rk,令
S65、校正信赖域半径,令
Δk∈(0,γ1Δk-,if rk<η1;
Δk+1∈[γ1Δk,Δk-,if rk∈[η1,η2);
S66、产生Bk+1,校正q(k),令k:=k+1,转第二步;
上面的算法中,如果rk≥η2,因而Δk+1≥Δk,这种情形称为很成功迭代;rk∈[η1,η2)的情况称为成功迭代;rk<η1的情况称为不成功迭代。
2.根据权利要求1所述的图像处理方法,其特征在于:
所述图像采集模块的输出是单张图片,或连续的视频流信息。
3.根据权利要求1或2所述的图像处理方法,其特征在于:
所述图像采集模块的图像采集设备支持USB摄像头或智能手机自带摄像头。
4.根据权利要求1所述的图像处理方法,其特征在于:
步骤S1中,所述图像采集设备为USB摄像头或智能手机自带的摄像头。
5.根据权利要求1所述的图像处理方法,其特征在于:
步骤S421中的所述阈值τ指的是手动设置的经验值10度;
步骤S422中的所述阈值指的是手动设置的经验值15像素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810508041.XA CN108717709B (zh) | 2018-05-24 | 2018-05-24 | 图像处理系统及图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810508041.XA CN108717709B (zh) | 2018-05-24 | 2018-05-24 | 图像处理系统及图像处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717709A CN108717709A (zh) | 2018-10-30 |
CN108717709B true CN108717709B (zh) | 2022-01-28 |
Family
ID=63900201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810508041.XA Expired - Fee Related CN108717709B (zh) | 2018-05-24 | 2018-05-24 | 图像处理系统及图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717709B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711415A (zh) * | 2018-11-13 | 2019-05-03 | 平安科技(深圳)有限公司 | 证件轮廓确定方法、装置及存储介质、服务器 |
US11312020B2 (en) * | 2018-11-20 | 2022-04-26 | Beijing Jingdong Shangke Information Technology Co | System and method for fast object detection in robot picking |
CN109946680B (zh) * | 2019-02-28 | 2021-07-09 | 北京旷视科技有限公司 | 探测系统的外参数标定方法、装置、存储介质及标定系统 |
CN110659587B (zh) * | 2019-09-02 | 2022-08-12 | 广东虚拟现实科技有限公司 | 标记物、标记物识别方法、装置、终端设备及存储介质 |
CN111028227B (zh) * | 2019-12-17 | 2023-07-21 | 江西洪都航空工业集团有限责任公司 | 一种数控机床快速找正方法 |
CN113240744B (zh) * | 2020-01-23 | 2024-10-11 | 华为技术有限公司 | 图像处理的方法和装置 |
CN111816281B (zh) * | 2020-06-23 | 2024-05-14 | 无锡祥生医疗科技股份有限公司 | 超声影像查询装置 |
WO2022012337A1 (zh) * | 2020-07-11 | 2022-01-20 | 北京术锐技术有限公司 | 运动臂系统以及控制方法 |
CN111783790A (zh) * | 2020-07-14 | 2020-10-16 | 成都四方伟业软件股份有限公司 | 一种手绘图预处理方法及装置 |
CN113538574B (zh) * | 2021-01-04 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 位姿定位方法、装置、设备及计算机可读存储介质 |
CN113238560A (zh) * | 2021-05-24 | 2021-08-10 | 珠海市一微半导体有限公司 | 基于线段信息的机器人旋转地图方法 |
CN113643357B (zh) * | 2021-07-12 | 2024-08-20 | 杭州易现先进科技有限公司 | 一种基于3d定位信息的ar人像拍照方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339604A (zh) * | 2008-07-09 | 2009-01-07 | 北京理工大学 | 一种基于视觉不变量的新型标志点图形及其识别、跟踪定位算法 |
CN102222333A (zh) * | 2011-05-20 | 2011-10-19 | 同济大学 | 一种基于混合注册的地下工程移动增强现实方法及其装置 |
CN102360504A (zh) * | 2011-10-20 | 2012-02-22 | 北京航空航天大学 | 一种基于多自然特征的自适应虚实三维注册方法 |
CN104866859A (zh) * | 2015-05-29 | 2015-08-26 | 南京信息工程大学 | 一种高鲁棒性的视觉图形标志及其识别方法 |
CN105005986A (zh) * | 2015-06-19 | 2015-10-28 | 北京邮电大学 | 一种三维注册方法及装置 |
CN106204744A (zh) * | 2016-07-01 | 2016-12-07 | 西安电子科技大学 | 利用编码光源为标志物的增强现实三维注册方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8170840B2 (en) * | 2008-10-31 | 2012-05-01 | Eagle View Technologies, Inc. | Pitch determination systems and methods for aerial roof estimation |
-
2018
- 2018-05-24 CN CN201810508041.XA patent/CN108717709B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339604A (zh) * | 2008-07-09 | 2009-01-07 | 北京理工大学 | 一种基于视觉不变量的新型标志点图形及其识别、跟踪定位算法 |
CN102222333A (zh) * | 2011-05-20 | 2011-10-19 | 同济大学 | 一种基于混合注册的地下工程移动增强现实方法及其装置 |
CN102360504A (zh) * | 2011-10-20 | 2012-02-22 | 北京航空航天大学 | 一种基于多自然特征的自适应虚实三维注册方法 |
CN104866859A (zh) * | 2015-05-29 | 2015-08-26 | 南京信息工程大学 | 一种高鲁棒性的视觉图形标志及其识别方法 |
CN105005986A (zh) * | 2015-06-19 | 2015-10-28 | 北京邮电大学 | 一种三维注册方法及装置 |
CN106204744A (zh) * | 2016-07-01 | 2016-12-07 | 西安电子科技大学 | 利用编码光源为标志物的增强现实三维注册方法 |
Non-Patent Citations (5)
Title |
---|
ARTag, a fiducial marker system using digital techniques;Mark Fiala;《CVPR 2005》;20050725;第1-7页 * |
一种改进的增强现实三维注册方法;魏建平 等;《电视技术》;20131231;第37卷(第15期);第220-223页 * |
两种基于标识的增强现实注册方法的比较;王维廉 等;《东北师大学报(自然科学版)》;20070930;第39卷(第3期);第32-36页 * |
增强现实中的三维物体注册方法及其应用研究;徐迟;《中国博士学位论文全文数据库 信息科技辑》;20120715;第2012年卷(第7期);第I138-116页 * |
有界约束非线性不定方程组的仿射内点信赖域方法;袁液;《中国优秀硕士学位论文全文数据库 基础科学辑》;20100915;第2010年卷(第9期);第A002-160页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108717709A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717709B (zh) | 图像处理系统及图像处理方法 | |
US8467596B2 (en) | Method and apparatus for object pose estimation | |
US10650546B2 (en) | Method of providing a descriptor for at least one feature of an image and method of matching features | |
CN111435438A (zh) | 适于增强现实、虚拟现实和机器人的图形基准标记识别 | |
US20170161901A1 (en) | System and Method for Hybrid Simultaneous Localization and Mapping of 2D and 3D Data Acquired by Sensors from a 3D Scene | |
US20190303650A1 (en) | Automatic object recognition method and system thereof, shopping device and storage medium | |
EP3182370B1 (en) | Method and device for generating binary descriptors in video frames | |
US10204284B2 (en) | Object recognition utilizing feature alignment | |
Sun et al. | Robust monocular pose tracking of less-distinct objects based on contour-part model | |
Colombo et al. | Gappy PCA classification for occlusion tolerant 3D face detection | |
Herling et al. | Markerless tracking for augmented reality | |
CN113989604A (zh) | 基于端到端深度学习的轮胎dot信息识别方法 | |
Wang et al. | Robust and accurate monocular pose tracking for large pose shift | |
CN117911668A (zh) | 药品信息识别方法及装置 | |
Turk et al. | Computer vision for mobile augmented reality | |
JP2014102805A (ja) | 情報処理装置、情報処理方法及びプログラム | |
Rambach et al. | Principles of object tracking and mapping | |
Han et al. | L-split marker for augmented reality in aircraft assembly | |
Meng et al. | Prob-slam: real-time visual slam based on probabilistic graph optimization | |
Hwang et al. | Real-Time 2D Orthomosaic Mapping from Drone-Captured Images Using Feature-Based Sequential Image Registration | |
Romero Ramírez | Contributions to the use of fiducial markers in Autonomous Navigation and Augmented Reality | |
Crivellaro | Robust 3D object pose estimation and tracking from monocular images in industrial environments | |
Mock et al. | Monocular localization in feature-annotated 3d polygon maps | |
Tuokko | 3D tracking of a mobile device | |
Fiala | Artoolkit applied to panoramic vision for robot navigation |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |