CN111242908B - 一种平面检测方法及装置、平面跟踪方法及装置 - Google Patents
一种平面检测方法及装置、平面跟踪方法及装置 Download PDFInfo
- Publication number
- CN111242908B CN111242908B CN202010014970.2A CN202010014970A CN111242908B CN 111242908 B CN111242908 B CN 111242908B CN 202010014970 A CN202010014970 A CN 202010014970A CN 111242908 B CN111242908 B CN 111242908B
- Authority
- CN
- China
- Prior art keywords
- plane
- frame image
- effective
- image
- current
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种平面检测方法及装置、平面跟踪方法及装置,该平面检测方法包括:对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点;根据特征点在世界坐标系下的三维坐标信息,获得当前帧图像的稀疏点数据集,稀疏点数据集包括多个特征点的三维坐标信息;基于稀疏点数据集对当前帧图像进行平面检测,获取当前帧图像的最优有效平面,最优有效平面为包含特征点最多的平面;该平面跟踪方法包括:根据当前帧图像的最优有效平面,获取当前帧图像的多个有效平面,有效平面的平面帧号与对应的图像的帧号一致;将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面。
Description
技术领域
本发明涉及图像处理技术领域,更具体地,本发明涉及一种平面检测方法及装置、一种平面跟踪方法及装置。
背景技术
目前,基于移动设备的增强现实(augmented reality,AR)应用已经成为现实,而且备受各大移动设备厂商和广大用户的青睐。在将虚拟对象融合到真实环境时,需要基于平面确定虚拟对象的锚点,从而在确定出的锚点处渲染出虚拟对象。因此,在基于移动设备的增强现实应用的计算过程中,平面检测是一项重要的功能。
而现有技术中,基于slam系统对多幅图像进行处理,获得稠密点云,然后通过点云数据进行平面检测,获得全局平面。由于稠密点云是对多幅图像进行特征点提取得到的,稠密点云包含的特征点较多。这种方式计算复杂度高,对于硬件要求较高,成本高,制约了其使用范围。
但是,移动设备的计算能力有限,采用复杂度较高的算法进行平面检测,速度慢,用户体验较差。
发明内容
本发明的目的在于提供一种平面检测和跟踪的新技术方案。
根据本发明的第一方面,提供了一种平面检测方法,所述方法包括:
对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点;
根据所述特征点在世界坐标系下的三维坐标信息,获得所述当前帧图像的稀疏点数据集,所述稀疏点数据集包括多个所述特征点的三维坐标信息;
基于所述稀疏点数据集,对所述当前帧图像进行平面检测,获取所述当前帧图像的最优有效平面,所述最优有效平面为包含特征点最多的平面。
可选地,所述当前帧图像包括第一目图像和第二目图像,所述特征点包括第一特征点和第二特征点;
所述对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点,包括:
对所述第一目图像进行划分,获得多个第一子图像块;
检测出每个所述第一子图像块对应的第一特征点;
采用极线匹配方法在所述第二目图像中做特征点匹配,获取所述第二目图像中与所述第一特征点匹配的第二特征点;
利用所述第一特征点和所述第二特征点,计算所述第一特征点的三维坐标信息。
可选地,所述对所述第一目图像进行划分,获得多个第一子图像块之前,所述方法还包括:
以所述第一目图像的中心为原点,将欧式距离大于第一设定像素的点的像素状态设置为第二状态,将所述第一目图像中剩余的点的像素状态设置为第一状态。
可选地,所述检测出每个所述第一子图像块对应的第一特征点,包括:
对所述第一子图像块进行特征点检测,确定每个所述第一子图像块中目标点;
判断所述第一子图像块中所述目标点的像素状态,所述像素状态包括第一状态和第二状态;
如果所述第一子图像块中所述目标点的像素状态为第一状态,将所述第一子图像块中的所述目标点确定为所述第一特征点;
如果所述第一子图像块中所述目标点的像素状态为第二状态,对下一个所述第一子图像块进行特征点检测,直至遍历每个所述第一子图像块。
可选地,所述检测出每个所述第一子图像块对应的第一特征点之后,所述方法还包括:
以从所述第一子图像块中获取的第一特征点为原点,将欧式距离小于第二设定像素的点的像素状态设置为第二状态。
可选地,所述基于所述稀疏点数据集,对所述当前帧图像进行平面检测,获取所述当前帧图像的最优有效平面,包括:
S1:根据从所述稀疏点数据集中随机抽取的三个特征点,确定当前平面;
S2:根据所述当前平面的法向量和第一内点的数量,确定当前有效平面,所述第一内点为与所述当前平面的距离小于第一设定距离的特征点;
S3:反复迭代S1-S2,直至满足预设迭代次数,将最后一次迭代得到的所述当前有效平面更新为所述当前帧图像的最优有效平面。
可选地,所述S3还包括:
每迭代S1-S2一次,根据所述当前有效平面的第一内点的占比更新迭代次数,其中,第一内点的占比为所述第一内点的数量与所述特征点集中特征点总数的比值。
可选地,所述基于所述稀疏点数据集,对所述当前帧图像进行平面检测,获取所述当前帧图像的最优有效平面,所述方法还包括:
S4:在所述最优有效平面包含的特征点中任意选取一个特征点,作为起始点;
S5:将所述起始点作为种子点,根据设定半径在所述最优有效平面包含的特征点中确定所述起始点的临近点;
S6:将所述临近点作为种子点,在所述最优有效平面包含的特征点中确定所述临近点的临近点,直至确定结束点,所述结束点为不存在临近点的特征点;
S7:计算所述种子点的数量,直至所述种子点的数量大于预设的最小聚类点数,输出一个有效平面;
S8:在所述最优有效平面的剩余特征点中重新选取一个特点作为起始点,执行S5-S7,直至遍历述最优有效平面包含的所有特征点,输出所述当前帧图像的多个有效平面。
根据本发明的第二方面,提供了一种平面跟踪方法,所述方法包括:
获取双目摄像头采集环境场景的连续多帧图像;
将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面;其中,根据所述当前帧图像的最优有效平面,获取所述当前帧图像的多个有效平面,所述有效平面的平面帧号与对应的图像的帧号一致。
可选地,所述将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面,包括:
将当前帧图像的有效平面依次与上一帧图像的多个有效平面进行比较;
判断所述当前帧图像的多个有效平面中是否存在满足平面融合条件的平面;
在所述当前帧图像的多个有效平面中存在满足平面融合条件的平面的情况下,将所述当前帧图像中满足平面融合条件的平面与所述上一帧图像的对应平面进行融合,得到第一平面,并将所述第一平面的平面帧号更新为所述当前帧图像的帧号;
在所述当前帧图像的多个有效平面中不存在满足平面融合条件的平面的情况下,将所述当前帧图像中不满足平面融合条件的平面作为第二平面;
根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面。
可选地,所述平面融合条件包括:
所述当前帧图像的有效平面与所述上一帧图像的任意一个有效平面的高度差小于第一设定高度;
所述当前帧图像的有效平面的法向量与所述上一帧图像的任意一个有效平面的法向量之间的夹角小于第一设定角度;以及,
落入所述上一帧图像的任意一个有效平面内的点占所述当前帧图像的有效平面内所有点的比例大于第一设定比例。
可选地,所述将所述当前帧图像中满足平面融合条件的平面与所述上一帧图像的对应平面进行融合,得到第一平面,包括:
计算所述当前帧图像中满足平面融合条件的平面内的所有点到所述上一帧图像的对应平面内任意一点的距离;
将到所述上一帧图像的对应平面内任意一点的距离大于第二设定距离的点加入所述对应平面,得到第一平面。
可选地,所述根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面之前,所述方法还包括:
根据所述稀疏点数据集中特征点的三维坐标信息,计算所述第一平面和所述第二平面的平面参数;
根据所述平面参数,剔除所述第一平面和所述第二平面中的无效平面;其中,所述无效平面为平面长宽比例小于预设的长宽比例阈值的平面。
可选地,所述根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面之前,所述方法还包括:
根据平面帧号,剔除所述第一平面和所述第二平面中的已丢失平面;其中,所述已丢失平面为所述平面帧号与当前帧图像的帧号的差值大于设定帧数的平面。
可选地,所述根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面之后,所述方法还包括:
判断所述第一平面是否与所述当前帧图像中任意一个未融合的有效平面满足平面融合条件;
在所述第一平面与所述当前帧图像中任意一个未融合的有效平面满足平面融合条件的情况下,将所述第一平面与所述当前帧图像中对应有效平面进行平面融合。
可选地,所述方法还包括:
计算所述跟踪平面内的点的数量;
如果所述跟踪平面内的点的数量超过第一设定数量,剔除所述跟踪平面的中心点,保留所述跟踪平面的边缘点。
根据本发明公开的第三方面,提供了一种平面检测装置,所述装置包括:
存储器,所述存储器用于存储计算机指令;
处理器,所述处理器用于从所述存储器中调用所述计算机指令,并在所述计算机指令的控制下执行如本发明第一方面中任一项所述的方法。
根据本发明公开的第四方面,提供了一种平面跟踪装置,所述装置包括:
存储器,所述存储器用于存储计算机指令;
处理器,所述处理器用于从所述存储器中调用所述计算机指令,并在所述计算机指令的控制下执行如本发明第二方面中任一项所述的方法。
根据本发明的一个实施例,基于稀疏点数据集对当前帧图像进行平面检测,不需要存储大量点云数据,能够提高平面检测的速度,从而提高平面检测的实时性,并且基于稀疏点数据集进行检测可以适用于计算能力有限的移动设备,避免显示画面的延时,提高用户体验。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备的硬件配置示意图;
图2示出了本发明实施例提供的一种平面检测方法的流程示意图一;
图3示出了本发明一个例子的一种平面检测方法的流程示意图;
图4示出了本发明实施例提供的一种平面检测方法的流程示意图二;
图5示出了本发明实施例提供的一种平面跟踪方法的流程示意图一;
图6示出了本发明实施例提供的一种平面跟踪方法的流程示意图二;
图7示出了本发明实施例提供的一种平面检测装置的框图;
图8示出了本发明实施例提供的一种平面跟踪装置的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是可用于实现本发明的电子设备100的硬件配置的框图。
该电子设备可以是虚拟现实(Virtual Reality,VR)设备、增强现实(AugmentedReality,AR)设备或者混合现实(Mixed Reality)设备等智能设备。
在一个例子中,如图1所示,该电子设备100可以包括处理器101、存储器102、接口装置103、通信装置104、显示装置105、输入装置106、音频装置107、传感器108、摄像头109等。
其中,处理器101可以包括但不限于中央处理器CPU、微处理器MCU等。处理器101还可以包括图像处理器GPU(Graphics Processing Unit)等。存储器102可以包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置103可以包括但不限于USB接口、串行接口、并行接口、红外接口等。通信装置104例如能够进行有线或无线通信,具体的可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置105例如是液晶显示屏、LED显示屏、触摸显示屏等。输入装置106可以包括但不限于触摸屏、键盘、体感输入等。音频装置107可以用于输入/输出语音信息。传感器108例如是图像传感器、红外传感器、激光传感器、压力传感器、陀螺仪传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、环境光传感器、指纹传感器、触摸传感器、温度传感器等,传感器108可以用于测量电子设备100的位姿变化。摄像头109可以用于获取图像信息,摄像头109例如可以是双目摄像头。
应用于本说明书的一个实施例中,电子设备100用于获取环境场景的图像对图像进行平面检测和平面跟踪。图1所示的电子设备100仅仅是说明性的并且绝不意味着对本说明书实施例、其应用或使用的任何限制。本领域技术人员应当理解,尽管前面描述了电子设备100的多个装置,但是,本说明书实施例可以仅涉及其中的部分装置。本领域技术人员可以根据本说明书实施例所公开的方案设计指令,指令如何控制处理器进行操作,是本领域公知技术,故在此不再详细描述。
<平面检测方法>
图2是本说明书的一个实施例提供的平面检测方法的示意图。该实施例提供的平面检测方法,通过计算机技术实现,可以由图1所述的电子设备100实施。
该实施例提供的平面检测方法,包括步骤S2100-S2300。
步骤S2100,对双目摄像头采集环境场景的当前帧图像进行划分,检测划分得到的每个子图像块对应的特征点。
该实施例中,环境场景例如可以是包括地面、桌子、平台等的场景。采用双目摄像头拍摄环境场景,对双目摄像头采集的当前帧图像进行分割,对分割后得到的每个子图像块进行特征提取,获取每个子图像块对应的特征点。该特征点可以是当前帧图像中比较显著的点,例如当前帧图像中的轮廓点、较暗区域中的亮点、较亮区域中的暗点等,该特征点为用于平面检测的点。
在一个实施例中,该双目摄像头例如可以设置在头戴式显示设备上,在此不做限制。该双目摄像头可以是高分辨率摄像头、低分辨率摄像头,双目摄像头也可以是鱼眼摄像头。
在一个实施例中,当前帧图像包括第一目图像和第二目图像,特征点包括与第一目图像对应的多个第一特征点和与第二目图像对应的多个第二特征点。第一特征点用于平面检测,第二特征点用于计算第一特征点的三维坐标信息。例如,双目摄像头包括左目摄像头和右目摄像头,将左目摄像头采集的当前帧图像作为第一目图像,将右目摄像头采集的当前帧图像作为第二目图像。
在该实施例中,对双目摄像头采集环境场景的当前帧图像进行划分,检测划分得到的每个子图像块对应的特征点的步骤,可以进一步包括:步骤S2110-S2130。
步骤S2110,对第一目图像进行划分,获得多个第一子图像块。
该实施例中,划分后的多个第一子图像块可以是大小相同的图像块,也可以是大小不同的图像块。
在一个更具体的例子中,按预设的划分方式对第一目图像进行划分,获得多个第一子图像块。例如,将第一目图像划分为i*j个大小相同的子图像块。
步骤S2120,检测出每个第一子图像块对应的第一特征点。
该实施例中,对每个第一子图像块进行特征点检测,可以采用FAST(Feature fromAccelerated Segment Test,加速分割测试特征)角点检测算法、SIFT(Scale InvariantFeature Transform,尺度不变特征变换)算法、或者ORB(Oriented FAST and RotatedBRIEF,快速特征点提取和描述)算法进行特征点检测,在此不做任何限定。
在一个更具体的例子中,对第一子图像块进行FAST角点检测,选取子图像块中Harris响应最高的角点为该第一子图像块对应的第一特征点。
步骤S2130,采用极线匹配方法在第二目图像中做特征点匹配,获取第二目图像中与第一特征点匹配对应的第二特征点。
步骤S2140,利用第一特征点和第二特征点,计算第一特征点的三维坐标信息。
在一个实施例中,对第一目图像进行划分,获得多个第一子图像块之前,方法还包括:以第一目图像的中心为原点,将欧式距离大于第一设定像素的点的像素状态设置为第二状态,将第一目图像中剩余的点的像素状态设置为第一状态。
该实施例中,根据点在第一目图像中的位置,设置点的像素状态。像素状态包括第一状态和第二状态。根据第一目图像中点的畸变程度,将第一目图像中畸变较小的点的像素状态设置为第一状态,将第一目图像中畸变较大的点的像素状态设置为第二状态。例如,第一状态为true,第二状态为false。
第一设定像素可以根据工程经验或者试验仿真结果来设定的。例如,以第一目图像的中心为原点,将欧式距离大于m个像素的点的像素状态设置为false,将第一目图像中剩余的点的像素状态设置为true。
在本发明的实施例中,在对第一目图像进行划分之前,设置第一目图像中点的像素状态,能够将图像中畸变严重的点排除,避免利用点的三维坐标信息计算出的平面参数的误差较大,结合后续步骤,可以提高平面检测的准确性。此外,排除图像中畸变严重的点,使本方法可以适用于鱼眼摄像头,能够获得更大的视场角。
在一个实施例中,检测出每个第一子图像块对应的第一特征点的步骤,可以进一步包括:步骤S2121-S2124。
步骤S2121,对第一子图像块进行特征点检测,确定每个第一子图像块中目标点。
在一个更具体的例子中,对第一子图像块进行FAST角点检测,选取子图像块中Harris响应最高的角点为该第一子图像块对应的目标点。
步骤S2122,判断第一子图像块中目标点的像素状态,像素状态包括第一状态和第二状态。
步骤S2123,如果第一子图像块中目标点的像素状态为第一状态,将第一子图像块中的目标点确定为第一特征点;
步骤S2124,如果第一子图像块中目标点的像素状态为第二状态,对下一个第一子图像块进行特征点检测,直至遍历每个第一子图像块。
在本发明的实施例中,根据第一目图像中点的像素状态,确定第一子图像块对应的第一特征点,能够避免畸变严重的点影响计算平面参数的准确性,结合后续步骤,可以提高平面检测的准确性。
在一个实施例中,检测出每个第一子图像块对应的第一特征点之后,方法还包括:以从第一子图像块中获取的第一特征点为原点,将欧式距离小于第二设定像素的点的像素状态设置为第二状态。第二设定像素可以根据工程经验或者试验仿真结果来设定的。例如,以一个第一子图像块对应的第一特征点为原点,将欧式距离小于n个像素的点的像素状态设置为false。
在本发明的实施例中,在确定一个第一子图像块对应的第一特征点之后,再次设置第一目图像中点的像素状态,将第一特征点周围的点的像素状态设置为第二状态,能够避免检测出的第一特征点过于密集,检测出的第一特征点分布更均匀,从而能够提高检测的准确性。
<例子一>
如图3所示,该对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点的步骤,可以进一步包括如下步骤S301~S308。
步骤S301,以第一目图像的中心为原点,将欧式距离大于m个像素的点的像素状态设置为false,将第一目图像中剩余的点的像素状态设置为true。
步骤S302,将第一目图像划分为i*j个大小相同的第一子图像块,并对第一子图像块进行编号,第一子图像块的编号num为0~i*j-1。
步骤S303,对编号为num第一子图像块进行FAST角点检测,选取该第一子图像块中Harris响应最高的角点为该第一子图像块对应的目标点。
步骤S304,判断该第一子图像块中目标点的像素状态是否为true,如果是,进入步骤S305,否则,进入步骤S307。
步骤S305,将该目标点确定为编号为num的第一子图像块对应的第一特征点。
步骤S306,以编号为num的第一子图像块对应的第一特征点为原点,将欧式距离小于n个像素的点的像素状态设置为false。
步骤S307,判断第一子图像的编号是否小于i*j-1,如果是,进入步骤S303,否则,进入步骤S308。
步骤S308,采用极线匹配方法在第二目图像中做特征点匹配,获取第二目图像中与第一特征点匹配的第二特征点。
在对双目摄像头采集环境场景的当前帧图像进行划分,检测划分得到的每个子图像块对应的特征点之后,进入:
步骤S2200,根据特征点在世界坐标系下的三维坐标信息,获得当前帧图像的稀疏点数据集。
本实施例中,稀疏点数据集包括多个特征点的三维坐标信息。该当前帧图像的特征点包括第一目图像中的多个第一特征点。
在一个实施例中,根据特征点在世界坐标系下的三维坐标信息,获得当前帧图像的稀疏点数据集,可以进一步包括:步骤S2210-S2230。
步骤S2210,通过三角化,根据第一特征点和第二特征点,计算第一目摄像头的参考系下第一目图像的第一特征点的三维坐标信息。
步骤S2220,获取采集当前帧图像时双目摄像头的位姿。
在一个更具体的例子中,双目摄像头的位姿可以是双目摄像头的6Dof信息。双目摄像头的位姿可以通过SLAM(Simultaneous Localization And Mapping,可译为同步定位与建图)系统或者光学追踪系统获取。
步骤S2230,根据采集当前帧图像时双目摄像头的位姿,进行坐标系转换,获得当前帧图像中第一目图像的第一特征点的在世界坐标系下的三维坐标信息。第一目图像的第一特征点的在世界坐标系下的三维坐标信息构成稀疏点数据集。
在本发明的实施例中,通过SLAM系统获取采集当前帧图像时双目摄像头的位姿,根据双目摄像头的位姿进行坐标系转换,结合后续步骤,能够准确检测出水平面或者垂直平面。
在根据特征点在世界坐标系下的三维坐标信息,获得当前帧图像的稀疏点数据集之后,进入:
步骤S2300,基于稀疏点数据集对当前帧图像进行平面检测,获取当前帧图像的最优有效平面。
本实施例中,最优有效平面为包含特征点最多的平面。在本发明的实施例中,基于稀疏点数据集对当前帧图像进行平面检测,能够提高平面检测的速度,从而提高平面检测的实时性,并且基于稀疏点数据集进行检测可以适用于计算能力有限的移动设备,避免显示画面的延时,提高用户体验。
在一个实施例中,基于稀疏点数据集对当前帧图像进行平面检测,获取当前帧图像的最优有效平面的步骤,可以进一步包括:S2310-S2330。
步骤S2310,根据从稀疏点数据集中随机抽取的三个特征点,确定当前平面。
在一个更具体的例子中,在稀疏点数据集中随机抽取三个特征点,根据这三个特征点的三维坐标信息,判断选取的三个特征点是否共线,如果选取的三个特征点不共线,则根据这三个特征点确定当前平面,如果选取的三个特征点共线,则在稀疏点数据集中重新抽取特征点。
步骤S2320,根据当前平面的法向量和第一内点的数量,确定当前有效平面,第一内点为与当前平面的距离小于第一设定距离的特征点。
该实施例中,当前平面的法向量可以根据特征点的三维坐标信息进行计算。例如,计算当前平面中的所有内点的协方差矩阵,将当前平面中的所有内点中最小特征值对应的特征向量作为当前平面的法向量。
根据当前平面的法向量确定当前有效平面,具体地,根据计算得到的当前平面的法向量与参考法向量之间夹角的大小,判定当前平面是否为当前有效平面。
该例子中,参考法向量可以根据所要检测的平面的类型确定,例如,检测水平面时,参考法向量为重力方向向量。
根据当前平面的第一内点的数量确定当前有效平面,具体地,根据当前帧图像中的点到当前平面的距离确定第一内点,根据第一内点的数量,判定当前平面是否为当前有效平面。
步骤S2330,反复迭代步骤S2310-S2320,直至满足预设迭代次数,将最后一次迭代得到的当前有效平面更新为当前帧图像的最优有效平面。
该实施例中,每迭代一次步骤S2310-S2320,当前有效平面的第一内点的数量发生变化,需要根据变化后的第一内点重新计算当前有效平面的法向量,以保证检测平面的有效性。
在一个实施例中,在步骤S2330中,还包括:每迭代S1-S2一次,根据当前有效平面的第一内点的占比更新迭代次数,其中,第一内点的占比为第一内点的数量与特征点集中特征点总数的比值。
该实施例中,第一内点的占比越大,迭代次数越少,第一内点的占比越小,迭代次数越多。根据当前有效平面的第一内点的占比更新迭代次数,能够提高平面检测的效率,并且快速检测出特征点最多的有效平面。
<例子二>
该基于稀疏点数据集对当前帧图像进行平面检测,获取当前帧图像的最优有效平面点的步骤,可以进一步包括如下步骤S401~S408。
步骤S401,从当前帧图像的稀疏点数据集中随机抽取三个特征点;
步骤S402,根据这三个特征点的三维坐标信息,判断选取的三个特征点是否共线,若是,进行步骤S403,若否,执行步骤S401;
步骤S403,根据选取的三个特征点确定当前平面,计算当前平面的法向量;
步骤S404,判断当前平面的法向量是否符合要求,若是,执行步骤S405,若否,执行步骤S401;
该步骤中,计算当前平面的法向量与参考法向量之间的夹角,如果当前平面的法向量与参考法向量之间的夹角小于第二设定角度,判断当前平面的法向量符合要求,如果当前平面的法向量与参考法向量之间的夹角不小于第二设定角度,判断当前平面的法向量不符合要求。
参考法向量可以根据所要检测的平面的类型确定,第二设定角度可以根据工程经验或者试验仿真结果来设定。例如,检测水平面时,参考法向量为重力方向向量,第二设定角度为10°,如果当前平面的法向量与重力方向向量之间的夹角小于10°,判断当前平面的法向量符合要求。检测垂直面时,参考法向量为重力方向向量,第一设定角度为80°,如果当前平面的法向量与重力方向向量之间的夹角大于80°,判断当前平面的法向量符合要求。
步骤S405,除选取的三个特征点以外,计算稀疏点数据集中的所有特征点到当前平面的距离,将与当前平面的距离小于第一设定距离的特征点设为当前平面的第一内点;
第一设定距离可以根据工程经验或者试验仿真结果来设定的。例如,2cm。
步骤S406,判断当前平面的第一内点的数量是否大于上一个有效平面的第一内点的数量,若是,根据当前平面的第一内点计算当前有效平面的法向量若否,执行步骤S401;
步骤S407,根据第一内点重新计算当前平面的法向量;
步骤S408,判断当前平面的法向量是否符合要求,若是,将当前平面作为当前有效平面,若否,执行步骤S401;
步骤S409,反复迭代S1-S7,直至满足预设迭代次数,将当前有效平面更新为最优有效平面,最优有效平面为包含特征点最多的平面。
在一个实施例中,基于稀疏点数据集对当前帧图像进行平面检测,获取当前帧图像的最优有效平面之后,该方法还包括:对获取的最优有效平面进行平面聚类,输出当前帧图像的多个有效平面。如图5所示,具体包括步骤S2400-S2800。
步骤S2400,在最优有效平面包含的特征点中任意选取一个特征点,作为起始点。
步骤S2500,将起始点作为种子点,根据设定半径在最优有效平面包含的特征点中确定起始点的临近点。
步骤S2600,将临近点作为种子点,在最优有效平面包含的特征点中确定临近点的临近点,直至确定结束点,结束点为不存在临近点的特征点。
步骤S2700,计算种子点的数量,直至种子点的数量大于预设的最小聚类点数,输出一个有效平面。
步骤S2800,在最优有效平面的剩余特征点中重新选取一个特点作为起始点,执行S2500-S2700,直至遍历述最优有效平面包含的所有特征点,输出当前帧图像的多个有效平面。剩余特征点为输出上一个有效平面时没有选取的特征点。
根据本发明的实施例,基于稀疏点数据集对当前帧图像进行平面检测,不需要存储大量点云数据,能够提高平面检测的速度,从而提高平面检测的实时性,并且基于稀疏点数据集进行检测可以适用于计算能力有限的移动设备,避免显示画面的延时,提高用户体验。
<平面跟踪方法>
图5是本说明书的一个实施例提供的平面跟踪方法的示意图。该实施例提供的平面跟踪方法,通过计算机技术实现,可以由图1所述的电子设备100实施。
该实施例提供的平面跟踪方法,基于前述提供的平面检测方法,该方法包括步骤S3100-S3200。
步骤S3100,获取双目摄像头采集环境场景的连续多帧图像。
步骤S3200,将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面。
本实施例中,对当前帧图像的最优有效平面进行平面聚类,获取当前帧图像的多个有效平面,当前帧图像的有效平面的平面帧号与对应的图像的帧号一致。
在本发明的实施例中,对检测出每一帧图像的多个有效平面,基于每一帧图像的有效平面,进行多帧图像之间的平面融合,能够提高平面融合和扩展的稳定性,融合后平面边缘的贴合性更好,进一步随着环境场景的变化,基于融合后的平面可以实现平面跟踪,从而随着用户视角的变化,平面向各个方向稳定扩展,从而提高用户体验。
在一个实施例中,如图6所示,将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面的步骤,可以进一步包括步骤S3210-S3250。
步骤S3210,将当前帧图像的有效平面依次与上一帧图像的多个有效平面进行比较。
步骤S3220,判断当前帧图像的多个有效平面中是否存在满足平面融合条件的平面。
该例子中,平面融合条件包括:
当前帧图像的有效平面与上一帧图像的任意一个有效平面的高度差小于第一设定高度;当前帧图像的有效平面的法向量与上一帧图像的任意一个有效平面的法向量之间的夹角小于第一设定角度;以及,落入上一帧图像的任意一个有效平面内的点占当前帧图像的有效平面内所有点的比例大于第一设定比例。
该例子中,第一设定高度可以根据工程经验或者试验仿真结果来设定。第一设定角可以根据工程经验或者试验仿真结果来设定。第一设定比例可以根据工程经验或者试验仿真结果来设定。上述三个平面融合条件同时满足,则判定当前帧图像的多个有效平面中存在满足平面融合条件的平面。
步骤S3230,在当前帧图像的多个有效平面中存在满足平面融合条件的平面的情况下,将当前帧图像中满足平面融合条件的平面与上一帧图像的对应平面进行融合,得到第一平面,并将第一平面的平面帧号更新为所述当前帧图像的帧号。
在一个更具体的例子中,将当前帧图像中满足平面融合条件的平面与上一帧图像的对应平面进行融合的步骤,可以进一步包括:步骤S3231-S3220。
步骤S3231,计算当前帧图像中满足平面融合条件的平面内的所有点到上一帧图像的对应平面内任意一点的距离。
步骤S3232,将到上一帧图像的对应平面内任意一点的距离大于第二设定距离的点加入对应平面,得到第一平面。
该例子中,当前帧图像中满足平面融合条件的平面内到上一帧图像的对应平面内任意一点的距离不大于第二设定距离的点被认为是两帧图像中重合的点,根据到上一帧图像的对应平面内任意一点的距离,进行两个平面之间的点融合,能够避免重复点过多。
步骤S3240,在当前帧图像的多个有效平面中不存在满足平面融合条件的平面的情况下,将当前帧图像中不满足平面融合条件的平面作为第二平面。
步骤S3250,根据第一平面和第二平面对上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面。
该例子中,连续多帧图像的跟踪平面包括第一平面、第二平面和上一帧图像中未与当前帧图像中的任意平面融合的平面。
例如,上一帧图像包括a1有效平面和a2有效平面,当前帧图像包括b1有效平面和b2有效平面,当前帧图像的b1有效平面与上一帧图像的a1有效平面r融合成c1有效平面,当前帧图像的b2有效平面与上一帧图像的a2有效平面r融合成c2有效平面,则连续多帧图像的跟踪平面包括c1有效平面和c2有效平面。
例如,上一帧图像包括a1有效平面和a2有效平面,当前帧图像包括b1有效平面和b2有效平面,当前帧图像的b1有效平面与上一帧图像的a1有效平面r融合成c1有效平面,当前帧图像的b2有效平面不与上一帧图像的任一有效平面融合,则连续多帧图像的跟踪平面包括c1有效平面、a2有效平面和b2有效平面。
在一个实施例中,根据第一平面和所述第二平面对上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面的步骤之前,该平面跟踪方法还可以进一步包括:步骤S4100-S4200。
步骤S4100,根据稀疏点数据集中特征点的三维坐标信息,计算第一平面和第二平面的平面参数。
该例子中,平面参数包括平面高度、平面长宽比例等。平面参数根据平面内所有点的三维坐标信息计算得到。平面高度为平面平均高度,具体地,根据平面内包含的点,计算每个点对应的平面高度,再计算所有点对应的平面高度的平均值,该平均值为该平面对应的平面高度。平面长宽比例可以根据平面的四个边角点的三维坐标信息计算得到。
步骤S4200,根据平面参数,剔除第一平面和所述第二平面中的无效平面;其中,该无效平面为平面长宽比例小于预设的长宽比例阈值的平面。
无效平面例如可以是狭长平面或者过小平面,无效平面影响虚拟对象的生成。无效平面可以根据平面长宽比例判定。预设的长宽比例阈值可以根据工程经验或者试验仿真结果来设定。在本发明的实施例中,根据平面参数剔除无效平面,避免无效平面对虚拟对象的生成造成影响,保证跟踪平面的有效性。
在一个实施例中,根据第一平面和所述第二平面对上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面的步骤之前,该平面跟踪方法还可以进一步包括:步骤S4300。
步骤S4300,根据平面帧号,剔除第一平面和第二平面中的已丢失平面;其中,该已丢失平面为所述平面帧号与当前帧图像的帧号的差值大于设定帧数的平面。
该例子中,随着用户视角的变化环境场景发生变化,检测出的平面也发生变化,根据平面帧号剔除已丢失平面,减少数据处理量,提高跟踪平面的有效性。
在一个实施例中,根据第一平面和所述第二平面对上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面的步骤之前,该平面跟踪方法还可以进一步包括:步骤S4500-S4600。
步骤S4500,计算跟踪平面内的点的数量。
步骤S4600,如果跟踪平面内的点的数量超过第一设定数量,剔除跟踪平面的中心点,保留跟踪平面的边缘点。
第一设定数量可以根据工程经验或者试验仿真结果来设定。
在本发明的实施例中,随着平面的融合和扩展,平面内包含的点的数量不断增大,数据占用的存储空间越来越大,剔除平面的中心点而仅保留平面的边缘点,能够减小数据占用的存储空间,从而提高处理速度,实现平面检测、融合和扩展的速度,用户体验更好。
在一个实施例中,根据第一平面和所述第二平面对上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面的步骤之后,该平面跟踪方法还可以进一步包括:步骤S3300-S3400。
步骤S3300,判断第一平面是否与当前帧图像中任意一个未融合的有效平面满足平面融合条件。
步骤S3400,在第一平面与当前帧图像中任意一个未融合的有效平面满足平面融合条件的情况下,将第一平面与所述当前帧图像中对应有效平面进行平面融合。
在本发明的实施例中,将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合之后,当前帧图像中满足平面融合条件的有效平面发生变化,在多帧图像的有效平面融合之后,再次判断更新后当前帧图像的多个有效平面之间是否还存在可以融合的平面,对可以融合的平面进行融合,避免出现平面重叠的现象。
根据本发明的实施例,对检测出每一帧图像的多个有效平面,基于每一帧图像的有效平面,进行多帧图像之间的平面融合,能够提高平面融合和扩展的稳定性,融合后平面边缘的贴合性更好,进一步随着环境场景的变化,基于融合后的平面可以实现平面跟踪,从而随着用户视角的变化,平面向各个方向稳定扩展,从而提高用户体验。
<平面检测装置>
在本实施例中,提供一种平面检测装置700,该平面检测装置700可以是如图1所示的电子设备100。
如图7所示,该平面检测装置700包括处理器710和存储器720。
存储器720,可以用于存储可执行的指令;
处理器710,可以用于根据可执行的指令的控制,执行如本发明前述实施例中提供的平面检测方法。
根据本发明的实施例,基于稀疏点数据集对当前帧图像进行平面检测,不需要存储大量点云数据,能够提高平面检测的速度,从而提高平面检测的实时性,并且基于稀疏点数据集进行检测可以适用于计算能力有限的移动设备,避免显示画面的延时,提高用户体验。
<平面跟踪装置>
在本实施例中,提供一种平面跟踪装置800,该平面跟踪装置800可以是如图1所示的电子设备100。
如图8所示,该平面跟踪装置800包括处理器810和存储器820。
存储器820,可以用于存储可执行的指令;
处理器810,可以用于根据可执行的指令的控制,执行如本发明前述实施例中提供的平面跟踪方法。
根据本发明的实施例,对检测出每一帧图像的多个有效平面,基于每一帧图像的有效平面,进行多帧图像之间的平面融合,能够提高平面融合和扩展的稳定性,融合后平面边缘的贴合性更好,进一步随着环境场景的变化,基于融合后的平面可以实现平面跟踪,从而随着用户视角的变化,平面向各个方向稳定扩展,从而提高用户体验。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (11)
1.一种平面检测方法,所述方法包括:
对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点;
根据所述特征点在世界坐标系下的三维坐标信息,获得所述当前帧图像的稀疏点数据集,所述稀疏点数据集包括多个所述特征点的三维坐标信息;
基于所述稀疏点数据集对当前帧图像进行平面检测,获取所述当前帧图像的最优有效平面,所述最优有效平面为包含特征点最多的平面;其中包括:
S1:根据从所述稀疏点数据集中随机抽取的三个特征点,确定当前平面;
S2:获取参考法向量,根据所述参考法向量确定所述当前平面的法向量;
S3:选取所述稀疏点数据集中除选取的三个特征点以外的特征点,计算除三个特征点以外的特征点与所述当前平面的距离,根据所述距离确定第一内点;
S4:根据所述第一内点更新所述当前平面的法向量,并确定更新后的所述当前平面的法向量符合要求,若是,将所述当前平面作为当前有效平面,若否,执行步骤S1;
S5:反复迭代S1-S4,直至满足预设迭代次数,将所述当前有效平面更新为最优有效平面。
2.根据权利要求1所述的方法,其中,所述当前帧图像包括第一目图像和第二目图像,所述特征点包括第一特征点和第二特征点;
所述对双目摄像头采集环境场景的当前帧图像进行划分,检测划分后得到的每个子图像块对应的特征点,包括:
对所述第一目图像进行划分,获得多个第一子图像块;
检测出每个所述第一子图像块对应的第一特征点;
采用极线匹配方法在所述第二目图像中做特征点匹配,获取所述第二目图像中与所述第一特征点匹配的第二特征点;
利用所述第一特征点和所述第二特征点,计算所述第一特征点的三维坐标信息。
3.根据权利要求2所述的方法,其中,所述对所述第一目图像进行划分,获得多个第一子图像块之前,所述方法还包括:
以所述第一目图像的中心为原点,将欧式距离大于第一设定像素的点的像素状态设置为第二状态,将所述第一目图像中剩余的点的像素状态设置为第一状态。
4.根据权利要求3所述的方法,其中,所述检测出每个所述第一子图像块对应的第一特征点,包括:
对所述第一子图像块进行特征点检测,确定每个所述第一子图像块中目标点;
判断所述第一子图像块中所述目标点的像素状态,所述像素状态包括第一状态和第二状态;
如果所述第一子图像块中所述目标点的像素状态为第一状态,将所述第一子图像块中的所述目标点确定为所述第一特征点;
以从所述第一子图像块中获取的第一特征点为原点,将欧式距离小于第二设定像素的点的像素状态设置为第二状态;
如果所述第一子图像块中所述目标点的像素状态为第二状态,对下一个所述第一子图像块进行特征点检测,直至遍历每个所述第一子图像块。
5.根据权利要求1所述的方法,其中,所述基于所述稀疏点数据集对所述当前帧图像进行平面检测,获取所述当前帧图像的最优有效平面,包括:
S1:根据从所述稀疏点数据集中随机抽取的三个特征点,确定当前平面;
S2:根据所述当前平面的法向量和第一内点的数量,确定当前有效平面,所述第一内点为与所述当前平面的距离小于第一设定距离的特征点;
S3:反复迭代S1-S2,直至满足预设迭代次数,将最后一次迭代得到的所述当前有效平面更新为所述当前帧图像的最优有效平面,其中,每迭代S1-S2一次,根据所述当前有效平面的第一内点的占比更新迭代次数,所述第一内点的占比为所述第一内点的数量与所述特征点集中特征点总数的比值。
6.一种平面跟踪方法,其中,所述方法包括:
获取双目摄像头采集环境场景的连续多帧图像;
对当前帧图像的最优有效平面进行平面聚类,获取所述当前帧图像的多个有效平面,所述有效平面的平面帧号与对应的图像的帧号一致;其中,所述最优有效平面为包含特征点最多的平面;所述最优有效平面的确定包括:
S1:根据从所述稀疏点数据集中随机抽取的三个特征点,确定当前平面;
S2:获取参考法向量,根据所述参考法向量确定所述当前平面的法向量;
S3:选取稀疏点数据集中除选取的三个特征点以外的特征点,计算除三个特征点以外的特征点与所述当前平面的距离,根据所述距离确定第一内点;
S4:根据所述第一内点更新所述当前平面的法向量,并确定更新后的所述当前平面的法向量符合要求,若是,将所述当前平面作为当前有效平面,若否,执行步骤S1;
S5:反复迭代S1-S4,直至满足预设迭代次数,将所述当前有效平面更新为最优有效平面;将所述当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面。
7.根据权利要求6所述的方法,其中,所述将当前帧图像的多个有效平面与上一帧图像的多个有效平面进行融合,确定连续多帧图像的跟踪平面,包括:
将当前帧图像的有效平面依次与上一帧图像的多个有效平面进行比较;
判断所述当前帧图像的多个有效平面中是否存在满足平面融合条件的平面;
在所述当前帧图像的多个有效平面中存在满足平面融合条件的平面的情况下,将所述当前帧图像中满足平面融合条件的平面与所述上一帧图像的对应平面进行融合,得到第一平面,并将所述第一平面的平面帧号更新为所述当前帧图像的帧号;
在所述当前帧图像的多个有效平面中不存在满足平面融合条件的平面的情况下,将所述当前帧图像中不满足平面融合条件的平面作为第二平面;
根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面。
8.根据权利要求7所述的方法,其中,所述平面融合条件包括:
所述当前帧图像的有效平面与所述上一帧图像的任意一个有效平面的高度差小于第一设定高度;
所述当前帧图像的有效平面的法向量与所述上一帧图像的任意一个有效平面的法向量之间的夹角小于第一设定角度;以及,
落入所述上一帧图像的任意一个有效平面内的点占所述当前帧图像的有效平面内所有点的比例大于第一设定比例。
9.根据权利要求7所述的方法,其中,所述根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面之前,所述方法还包括:
根据稀疏点数据集中特征点的三维坐标信息,计算所述第一平面和所述第二平面的平面参数;
根据所述平面参数,剔除所述第一平面和所述第二平面中的无效平面;其中,所述无效平面为平面长宽比例小于预设的长宽比例阈值的平面;
根据平面帧号,剔除所述第一平面和所述第二平面中的已丢失平面;其中,所述已丢失平面为所述平面帧号与当前帧图像的帧号的差值大于设定帧数的平面。
10.根据权利要求7所述的方法,其中,所述根据所述第一平面和所述第二平面对所述上一帧图像的有效平面进行更新,确定连续多帧图像的跟踪平面之后,所述方法还包括:
判断所述第一平面是否与所述当前帧图像中任意一个未融合的有效平面满足平面融合条件;
在所述第一平面与所述当前帧图像中任意一个未融合的有效平面满足平面融合条件的情况下,将所述第一平面与所述当前帧图像中对应有效平面进行平面融合。
11.根据权利要求7所述的方法,其中,所述方法还包括:
计算所述跟踪平面内的点的数量;
如果所述跟踪平面内的点的数量超过第一设定数量,剔除所述跟踪平面的中心点,保留所述跟踪平面的边缘点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014970.2A CN111242908B (zh) | 2020-01-07 | 2020-01-07 | 一种平面检测方法及装置、平面跟踪方法及装置 |
PCT/CN2020/139837 WO2021139549A1 (zh) | 2020-01-07 | 2020-12-28 | 一种平面检测方法及装置、平面跟踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014970.2A CN111242908B (zh) | 2020-01-07 | 2020-01-07 | 一种平面检测方法及装置、平面跟踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111242908A CN111242908A (zh) | 2020-06-05 |
CN111242908B true CN111242908B (zh) | 2023-09-15 |
Family
ID=70866393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014970.2A Active CN111242908B (zh) | 2020-01-07 | 2020-01-07 | 一种平面检测方法及装置、平面跟踪方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111242908B (zh) |
WO (1) | WO2021139549A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242908B (zh) * | 2020-01-07 | 2023-09-15 | 青岛小鸟看看科技有限公司 | 一种平面检测方法及装置、平面跟踪方法及装置 |
CN112017300A (zh) * | 2020-07-22 | 2020-12-01 | 青岛小鸟看看科技有限公司 | 混合现实图像的处理方法、装置及设备 |
CN111967342B (zh) * | 2020-07-27 | 2024-04-12 | 杭州易现先进科技有限公司 | 平面参数设置的方法、装置、电子装置和存储介质 |
EP4318407A1 (en) * | 2021-03-22 | 2024-02-07 | Sony Group Corporation | Information processing device, information processing method, and program |
CN113052977A (zh) * | 2021-03-30 | 2021-06-29 | 联想(北京)有限公司 | 处理方法及装置 |
CN113689466B (zh) * | 2021-07-30 | 2022-07-12 | 稿定(厦门)科技有限公司 | 一种基于特征点的平面跟踪方法、系统 |
CN113610004B (zh) * | 2021-08-09 | 2024-04-05 | 上海擎朗智能科技有限公司 | 一种图像处理方法、机器人及介质 |
CN113762266B (zh) * | 2021-09-01 | 2024-04-26 | 北京中星天视科技有限公司 | 目标检测方法、装置、电子设备和计算机可读介质 |
CN114092505A (zh) * | 2021-11-25 | 2022-02-25 | 土巴兔集团股份有限公司 | 图像后处理方法、装置、电子设备及存储介质 |
CN115810100B (zh) * | 2023-02-06 | 2023-05-05 | 阿里巴巴(中国)有限公司 | 确定物体放置平面的方法、设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996616A (zh) * | 2009-08-24 | 2011-03-30 | 三星电子株式会社 | 利用基于对像素执行的测试的颜色坐标的权重进行子像素着色 |
CN103617624A (zh) * | 2013-12-13 | 2014-03-05 | 哈尔滨工业大学 | 用于高速视觉测量的基于合作目标的实时全局搜索方法 |
CN105399020A (zh) * | 2015-12-31 | 2016-03-16 | 徐州重型机械有限公司 | 三维空间平面追踪控制方法、系统及高空作业设备 |
CN106023256A (zh) * | 2016-05-19 | 2016-10-12 | 石家庄铁道大学 | 面向增强现实辅助维修系统平面目标粒子滤波跟踪的状态观测方法 |
CN110120098A (zh) * | 2018-02-05 | 2019-08-13 | 浙江商汤科技开发有限公司 | 场景尺度估计及增强现实控制方法、装置和电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106659A (zh) * | 2013-01-28 | 2013-05-15 | 中国科学院上海微系统与信息技术研究所 | 基于双目视觉稀疏点匹配的空旷区域目标检测与跟踪方法 |
US20150227792A1 (en) * | 2014-02-10 | 2015-08-13 | Peter Amon | Methods and Devices for Object Detection |
US10915998B2 (en) * | 2016-12-21 | 2021-02-09 | Huawei Technologies Co., Ltd. | Image processing method and device |
CN108898661B (zh) * | 2018-05-31 | 2023-04-18 | 深圳先进技术研究院 | 三维图像构建的方法、装置及具有存储功能的装置 |
CN109741240A (zh) * | 2018-12-25 | 2019-05-10 | 常熟理工学院 | 一种基于层次聚类的多平面图像拼接方法 |
CN111242908B (zh) * | 2020-01-07 | 2023-09-15 | 青岛小鸟看看科技有限公司 | 一种平面检测方法及装置、平面跟踪方法及装置 |
-
2020
- 2020-01-07 CN CN202010014970.2A patent/CN111242908B/zh active Active
- 2020-12-28 WO PCT/CN2020/139837 patent/WO2021139549A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996616A (zh) * | 2009-08-24 | 2011-03-30 | 三星电子株式会社 | 利用基于对像素执行的测试的颜色坐标的权重进行子像素着色 |
CN103617624A (zh) * | 2013-12-13 | 2014-03-05 | 哈尔滨工业大学 | 用于高速视觉测量的基于合作目标的实时全局搜索方法 |
CN105399020A (zh) * | 2015-12-31 | 2016-03-16 | 徐州重型机械有限公司 | 三维空间平面追踪控制方法、系统及高空作业设备 |
CN106023256A (zh) * | 2016-05-19 | 2016-10-12 | 石家庄铁道大学 | 面向增强现实辅助维修系统平面目标粒子滤波跟踪的状态观测方法 |
CN110120098A (zh) * | 2018-02-05 | 2019-08-13 | 浙江商汤科技开发有限公司 | 场景尺度估计及增强现实控制方法、装置和电子设备 |
Non-Patent Citations (3)
Title |
---|
Tao Wang,Haibin Ling,Congyan Lang.Constrained Confidence Mathching for Planar Object Tracking.《2018 IEEE International Conference on Robotics and Automation》.2018,全文. * |
孙少杰 ; 杨晓东 ; .基于计算机视觉的目标方位测量方法.火力与指挥控制.2016,(第03期),全文. * |
宁瑞忻 ; 朱尊杰 ; 邵碧尧 ; 龚冰剑 ; 颜成钢 ; .基于视觉的虚拟现实与增强现实融合技术.科技导报.2018,(第09期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111242908A (zh) | 2020-06-05 |
WO2021139549A1 (zh) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111242908B (zh) | 一种平面检测方法及装置、平面跟踪方法及装置 | |
CN109242961B (zh) | 一种脸部建模方法、装置、电子设备和计算机可读介质 | |
JP6203406B2 (ja) | 拡張現実環境内の平面の広がりを判定するためのシステムおよび方法 | |
US10803556B2 (en) | Method and apparatus for image processing | |
JP2018507476A (ja) | コンピュータビジョンに関する遮蔽処理 | |
CN106488215B (zh) | 图像处理方法和设备 | |
JP2017529620A (ja) | 姿勢推定のシステムおよび方法 | |
CN112487979B (zh) | 目标检测方法和模型训练方法、装置、电子设备和介质 | |
US11044398B2 (en) | Panoramic light field capture, processing, and display | |
CN110361005B (zh) | 定位方法、定位装置、可读存储介质及电子设备 | |
US10748000B2 (en) | Method, electronic device, and recording medium for notifying of surrounding situation information | |
CN111311756A (zh) | 增强现实ar显示方法及相关装置 | |
CN111357034A (zh) | 点云生成方法、系统和计算机存储介质 | |
CN103914876A (zh) | 用于在3d地图上显示视频的方法和设备 | |
US10719975B2 (en) | Information processing apparatus and method of generating three-dimensional model | |
CN114531553B (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN109661815A (zh) | 存在相机阵列的显著强度变化的情况下的鲁棒视差估计 | |
KR20130103217A (ko) | 블러화된 이미지의 제공 장치 및 블러화된 이미지의 제공 방법 | |
JP6405539B2 (ja) | 多視点画像に対するラベル情報の処理装置及びそのラベル情報の処理方法 | |
CN111866492A (zh) | 基于头戴显示设备的图像处理方法、装置及设备 | |
JP2017126264A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2018063635A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US20180330514A1 (en) | Selective 3d registration | |
US9292906B1 (en) | Two-dimensional image processing based on third dimension data | |
KR101918887B1 (ko) | 모노 적외선 카메라를 이용한 거리 측정 장치 및 그 방법 |
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 |