CN117333902A - 一种三维空间定位系统和方法 - Google Patents
一种三维空间定位系统和方法 Download PDFInfo
- Publication number
- CN117333902A CN117333902A CN202311318899.7A CN202311318899A CN117333902A CN 117333902 A CN117333902 A CN 117333902A CN 202311318899 A CN202311318899 A CN 202311318899A CN 117333902 A CN117333902 A CN 117333902A
- Authority
- CN
- China
- Prior art keywords
- camera
- hand
- image
- parallax
- cameras
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 239000000284 extract Substances 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 17
- 230000036544 posture Effects 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 claims description 8
- 238000003708 edge detection Methods 0.000 claims description 8
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 claims description 6
- 210000000746 body region Anatomy 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 abstract description 5
- 238000005286 illumination Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/117—Biometrics derived from hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种三维空间定位系统及方法,包括有双目摄像头模块,包括两个摄像头;双目标定模块,对双目摄像模块进行标定;特征提取描述模块,从双目图像中提取手部目标的特征点,该特征点包括边缘和角点,并对这些特征点进行描述和编码;视差计算模块,通过分析双目图像的视差计算出手部目标的深度信息;三维坐标计算模块,将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标;手部跟踪模块,根据获取到的手部位置的三维坐标,利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息;该三维空间定位系统能够在虚拟环境中快速准确地定位手部,并且对环境变化具有一定的鲁棒。
Description
技术领域
本发明涉及一种三维空间定位系统及方法。
背景技术
随着虚拟现实技术(VR)和增强现实技术(AR)的迅猛发展,人机交互界面正逐渐进入一个新的时代。然而,在这些技术的发展中,输入端仍然存在一些挑战,尤其是如何在虚拟环境中准确地进行手部定位和操作。
目前,主流的手部定位方法主要基于普通的2D图像。具体来说,通过从两个不同视角获取包含手部的2D图像,然后从每个视角中提取手部骨架的二维表示。手部骨架由关节点和连接线组成。接下来,利用双目视觉原理将两个不同视角下的二维手部骨架转换为三维空间中的手部骨架,从而确定手部在三维空间中的位置。
然而,在实际应用中,基于普通2D图像进行手部定位存在一些问题。首先,计算量较大,需要对多个图像进行处理和分析,导致实时性较差。其次,由于2D图像容易受到环境干扰,如光照变化、遮挡等,因此定位结果的鲁棒性较差,容易出现误差。
发明内容
针对现有技术中的不足,本发明的目的是提供一种能够在虚拟环境中快速准确地定位手部,并且对环境变化具有一定的鲁棒的三维空间定位系统及方法。
本发明解决其技术问题所采用的技术方案是:
一种三维空间定位系统,包括有:
双目摄像头模块,包括两个摄像头,分别放置在固定的位置上,并能够同时对场景进行拍摄;
双目标定模块,对双目摄像模块进行标定,以确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
特征提取描述模块,从双目图像中提取手部目标的特征点,该特征点包括边缘和角点,并对这些特征点进行描述和编码;
视差计算模块,通过分析双目图像的视差计算出手部目标的深度信息;
三维坐标计算模块,将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标;
手部跟踪模块,根据获取到的手部位置的三维坐标,利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
本发明所要解决的另一技术问题为提供一种三维空间定位方法,包括以下步骤:
使用两个摄像头,分别放置在固定的位置上,同时对场景进行拍摄;
对双目摄像系统进行标定,确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
从双目图像中提取手部目标的特征点,包括边缘、角点,然后利用特征描述子对这些特征点进行描述和编码;
通过分析双目图像的视差计算出手部目标的深度信息;
将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标,通过三角测量将双目视觉中得到的深度信息转换为三维坐标;
根据获取到的手部位置的三维坐标,对人体手位置进行三维空间定位,并利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
作为优选,对场景进行拍摄的方法为:
确定两个摄像头的位置,并使用支架保持它们的固定;
通过USB接口将两个摄像头连接到计算机;
使用OpenCV控制和配置两个摄像头,并设置摄像头的分辨率和帧率参数;
使用硬件触发信号同步触发两个摄像头同时进行拍摄,并将拍摄数据传输至计算机。
作为优选,对双目摄像系统进行标定的方法为:
准备一个用于标定的具有特征点的标定板;
确保两个摄像头能够同时拍摄到标定板,保持摄像头稳定,并调整其位置和朝向,使其能够捕捉到整个标定板;
使用两个摄像头同时采集多张图像,确保标定板在不同位置和姿态下都能被完整拍摄到;
使用图像处理库,利用角点检测算法从采集的图像中自动提取标定板上的特征点;
根据特征点的位置信息,将两个摄像头分别拍摄的图像进行配对;
使用Tsai标定法对提取的特征点进行计算,以确定相机的内参数矩阵、畸变参数和外参数。
作为优选,确定相机的内参数矩阵、畸变参数和外参数的方法为:
根据摄像头的初始参数估计,使用Tsai标定法的公式计算出初始内参数和外参数的近似值;
使用Levenberg-Marquardt算法对初始内参数和外参数进行迭代优化,优化的目标是最小化图像中特征点的重投影误差;
通过评估标定重投影误差指标,来评估标定精度,当重投影误差指标在0.5像素以内,则认为标定成功;
在优化过程收敛后,得到了相机的内参数矩阵、畸变参数和外参数。
作为优选,利用特征描述子对这些特征点进行描述和编码的方法为:
利用Harris角点检测对左右两个摄像头的图像进行角点检测;
使用Canny边缘检测算法对左右两个摄像头的图像进行边缘检测;
将左右两个摄像头分别提取的角点和边缘特征点使用SIFT算法进行匹配,确定双目图像中对应的特征点对,即左右摄像头观察到同一个手部目标上的特征点;
使用SIFT算法对每个特征点周围的局部区域进行特征描述和编码。
作为优选,通过分析双目图像的视差计算出手部目标的深度信息的方法为:
对于左右两个摄像头的图像,使用立体匹配算法在左右图像中寻找对应的特征点;
基于局部窗口的均方差计算每个像素的匹配代价;
根据匹配代价,通过动态规划计算每个像素的最优匹配视差;
根据已计算得到的视差图,利用摄像头的标定参数和三角测量原理将视差值转化为对应的深度值,从而得到手部目标的深度信息。
作为优选,将深度信息转换为三维坐标的方法为:
获取摄像头的内参数和外参数,内参数包括相机的焦距、主点位置,外参数包括相机之间的基线长度和相对旋转矩阵;
通过立体匹配算法计算出左右两个图像之间的视差图像,视差图像中每个像素的值表示了左右图像对应点的视差;
遍历视差图像中的每个像素点;
对于每个像素点,根据摄像头的内参数和外参数,计算出像素点在世界坐标系下的坐标;
根据视差和基线长度,计算出像素点在相机坐标系下的深度;
结合像素点的图像坐标和深度信息,得到像素点的三维坐标。
作为优选,对人体手位置进行三维空间定位的方法为:
使用基于关节点的方法来检测图像或视频中的人体区域;
使用基于卷积神经网络的方法,在已检测到的人体区域中定位手部位置;
根据手部在双目视觉中的三维坐标,利用摄像头标定参数和几何关系,将手部的三维坐标转换为相机坐标系下的坐标;
将手部的相机坐标系下的坐标转换为世界坐标系下的坐标。
作为优选,利用跟踪算法在连续图像帧中跟踪手部目标的方法为:
在首帧图像中,使用深度学习方法进行手部目标的初始定位;
在首帧中,从手部目标区域提取特征来描述手部的外观;
从第二帧开始,利用卡尔曼滤波器对手部目标进行连续跟踪;
根据当前帧中的手部目标位置和特征,更新跟踪器的状态和模型参数;
根据跟踪器的输出,得到实时的手部位置信息,并将图像坐标转换为相机坐标系下的坐标,并进一步转换为世界坐标系下的坐标。
本发明的有益效果是:
通过利用双目摄像头拍摄的两个视角图像,可以更准确地提取手部目标的特征点,并计算出视差信息。通过将视差与摄像头之间的几何关系结合,可以更精确地将手部目标的二维视差转化为三维空间坐标,从而实现更准确的手部定位;双目视觉系统能够在一定程度上克服光照变化、遮挡等环境干扰因素对手部定位的影响。通过从多个视角获取信息并进行融合,可以提高定位结果的鲁棒性,减少误差;尽管双目图像处理需要更多的计算量,但由于使用了专门的硬件设备(双目摄像头),并采用了高效的特征提取和匹配算法,因此可以在一定程度上保持实时性。
具体实施方式
下面结合具体实施例对本发明作进一步说明,以使本领域技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例
一种三维空间定位系统,包括有:
双目摄像头模块,包括两个摄像头,分别放置在固定的位置上,并能够同时对场景进行拍摄;
双目标定模块,对双目摄像模块进行标定,以确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
特征提取描述模块,从双目图像中提取手部目标的特征点,该特征点包括边缘和角点,并对这些特征点进行描述和编码;
视差计算模块,通过分析双目图像的视差计算出手部目标的深度信息;
三维坐标计算模块,将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标;
手部跟踪模块,根据获取到的手部位置的三维坐标,利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
双目摄像头模块:选取适当的双目摄像头,并在固定位置上进行安装和调试,以确保两个摄像头之间的距离和角度等参数符合要求。
双目标定模块:进行相机标定,即确定双目摄像头的内部参数和外部参数,包括相机焦距、光心、畸变参数、两个摄像头之间的相对位置和姿态关系等。
特征提取描述模块:使用特征点检测算法,比如SIFT(尺度不变特征变换)、SURF(加速稳健特征)、ORB(Oriented FAST and Rotated BRIEF),从双目图像中提取手部目标的特征点。对这些特征点进行描述和编码,比如利用SIFT算法生成特征描述子。
视差计算模块:利用双目图像处理技术,通过计算两个视角图像的像素位移来计算出手部目标的视差信息。通过利用相机标定中得到的摄像头参数和几何关系,可将视差转化为相应的深度信息。
三维坐标计算模块:结合双目视觉系统的几何关系,将深度信息与视差转换为手部目标在三维空间中的坐标。
手部跟踪模块:利用跟踪算法,比如卡尔曼滤波、粒子滤波等,从当前帧和上一帧的手部位置信息中预测下一帧的手部位置,并根据实际观测到的手部位置信息进行修正和更新,从而实现实时的手部跟踪。
一种三维空间定位方法,包括以下步骤:
使用两个摄像头,分别放置在固定的位置上,同时对场景进行拍摄;
对双目摄像系统进行标定,确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
从双目图像中提取手部目标的特征点,包括边缘、角点,然后利用特征描述子对这些特征点进行描述和编码;
通过分析双目图像的视差计算出手部目标的深度信息;
将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标,通过三角测量将双目视觉中得到的深度信息转换为三维坐标;
根据获取到的手部位置的三维坐标,对人体手位置进行三维空间定位,并利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
通过标定算法获得两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数。常用的标定方法包括张正友标定法、Tsai标定法等。标定过程中需要采集一组已知位置或者特征点的图像;从双目图像中提取手部目标的特征点,包括边缘、角点等。常用的特征提取算法有Harris角点检测、SIFT、SURF、ORB等。然后利用特征描述子对这些特征点进行描述和编码,例如使用ORB特征描述子。
通过分析双目图像的视差来计算手部目标的深度信息。视差可以通过匹配对应特征点的方法得到,例如利用差异度最小化算法或者基于优化方法的立体匹配算法;将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标。这个过程需要知道摄像头之间的基线长度和焦距等参数,通过三角测量将双目视觉中得到的深度信息转换为三维坐标;根据获取到的手部位置的三维坐标,对人体手位置进行三维空间定位。利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。常用的跟踪算法包括卡尔曼滤波、粒子滤波、基于深度学习的目标跟踪算法等。
对场景进行拍摄的方法为:
确定两个摄像头的位置,并使用支架保持它们的固定;
通过USB接口将两个摄像头连接到计算机;
使用OpenCV控制和配置两个摄像头,并设置摄像头的分辨率和帧率参数;
使用硬件触发信号同步触发两个摄像头同时进行拍摄,并将拍摄数据传输至计算机。
通过硬件触发信号同步触发两个摄像头同时进行拍摄,确保拍摄的图像在时间上完全一致。这样可以避免由于时间差引起的不同帧之间的不匹配问题,提高后续处理的精度和效果;使用支架将两个摄像头固定在特定位置,避免了摄像头移动或者晃动对拍摄结果的影响。同时,硬件触发信号的使用可以保证每次拍摄的稳定性和可靠性,减少因为摄像头状态或者通信问题导致的数据丢失或者错误。
通过USB接口将两个摄像头连接到计算机,方便控制和配置摄像头参数。可以根据实际需要灵活设置摄像头的分辨率和帧率等参数,以满足不同场景下的需求;同时对场景进行拍摄,节省了拍摄时间。此外,通过硬件触发同步拍摄,可以减少后续处理过程中的时间消耗。
对双目摄像系统进行标定的方法为:
准备一个用于标定的具有特征点的标定板;
确保两个摄像头能够同时拍摄到标定板,保持摄像头稳定,并调整其位置和朝向,使其能够捕捉到整个标定板;
使用两个摄像头同时采集多张图像,确保标定板在不同位置和姿态下都能被完整拍摄到;
使用图像处理库,利用角点检测算法从采集的图像中自动提取标定板上的特征点;
根据特征点的位置信息,将两个摄像头分别拍摄的图像进行配对;
使用Tsai标定法对提取的特征点进行计算,以确定相机的内参数矩阵、畸变参数和外参数。
通过使用具有特征点的标定板,可以提供明确可识别的参考点,进而提高标定的精度。特征点的位置信息可以准确地用于计算相机的内参数、畸变参数和外参数;使用图像处理库中的角点检测算法,可以自动从摄像头采集的图像中提取标定板上的特征点,省去了手动标记特征点的过程,提高了标定的效率。
通过使用两个摄像头同时拍摄多张图像,可以获得不同位置和姿态下的标定板图像。对于双目摄像系统来说,这对于准确计算相机的内参数和外参数非常重要,以便后续的深度信息计算和立体视觉应用;通过多次采集图像并对提取的特征点进行配对,可以增加标定结果的稳定性和可靠性。可以通过标定板在不同位置和姿态下的多组图像来验证标定结果的一致性,以获取更准确的摄像头参数;Tsai标定法是一种常用的摄像头标定方法,可以适用于各种类型的双目摄像系统。因此,这种标定方法具有较强的通用性,可以应用于不同场景和不同类型的双目摄像头。
确定相机的内参数矩阵、畸变参数和外参数的方法为:
根据摄像头的初始参数估计,使用Tsai标定法的公式计算出初始内参数和外参数的近似值;
使用Levenberg-Marquardt算法对初始内参数和外参数进行迭代优化,优化的目标是最小化图像中特征点的重投影误差;
通过评估标定重投影误差指标,来评估标定精度,当重投影误差指标在0.5像素以内,则认为标定成功;
在优化过程收敛后,得到了相机的内参数矩阵、畸变参数和外参数。
使用Levenberg-Marquardt算法对初始参数进行迭代优化,通过最小化特征点的重投影误差来确定相机的内参数和外参数。这种方法可以提高标定的精度,使得相机参数更加准确;Levenberg-Marquardt算法可以根据实际的重投影误差进行迭代优化,因此可以自适应地调整参数以获取更好的拟合效果。这种灵活性使得标定过程更加可靠,能够适应不同摄像头和场景的变化。
通过评估标定的重投影误差指标,可以对标定结果的精度进行评估。当重投影误差指标在0.5像素以内时,可以认为标定成功。这种评估方式提供了一种可靠的标准,用于判断标定结果的质量;在优化过程收敛后,得到了相机的内参数矩阵、畸变参数和外参数。通过迭代优化,这些参数能够具有一致性,可以保证在不同场景下的准确性和可靠性;Tsai标定法结合Levenberg-Marquardt算法是一种常用的相机参数确定方法,适用于各种类型的摄像头和标定板。因此,这种方法具有较强的通用性,可以应用于不同场景和不同类型的双目摄像头。
利用特征描述子对这些特征点进行描述和编码的方法为:
利用Harris角点检测对左右两个摄像头的图像进行角点检测;
使用Canny边缘检测算法对左右两个摄像头的图像进行边缘检测;
将左右两个摄像头分别提取的角点和边缘特征点使用SIFT算法进行匹配,确定双目图像中对应的特征点对,即左右摄像头观察到同一个手部目标上的特征点;
使用SIFT算法对每个特征点周围的局部区域进行特征描述和编码。
Harris角点检测和Canny边缘检测算法可以在图像中准确地检测出角点和边缘特征点,具有较高的鲁棒性。这样可以保证在复杂场景下也能提取到有效的特征点;使用SIFT算法对左右摄像头提取的角点和边缘特征点进行匹配,可以准确地找到左右图像中对应的特征点对。这种匹配精度可以有效地支持后续的立体匹配、三维重建等任务。
SIFT算法可以对每个特征点周围的局部区域进行特征描述和编码。这样可以得到更加丰富和区分度高的特征描述子,能够有效地表示特征点的本质信息;SIFT算法具有尺度不变性,即对于不同尺度下的图像特征点,能够提取出相似的特征描述子。这样可以使得特征点在不同尺度条件下仍然能够进行正确匹配;Harris角点检测、Canny边缘检测和SIFT算法是常用的特征提取和匹配方法,适用于各种类型的图像和场景。因此,这种方法具有较高的通用性,能够应用于不同领域和应用场景中。
通过分析双目图像的视差计算出手部目标的深度信息的方法为:
对于左右两个摄像头的图像,使用立体匹配算法在左右图像中寻找对应的特征点;
基于局部窗口的均方差计算每个像素的匹配代价;
根据匹配代价,通过动态规划计算每个像素的最优匹配视差;
根据已计算得到的视差图,利用摄像头的标定参数和三角测量原理将视差值转化为对应的深度值,从而得到手部目标的深度信息。
该方法可以有效地利用左右摄像头的图像信息,通过对应特征点的匹配计算得到每个像素的视差值,从而能够获得较高精度的深度信息。相比于其他单目深度估计方法,双目视觉方法具有更高的深度估计精度;该方法具有一定的实时性。由于该方法基于局部窗口的均方差计算每个像素的匹配代价,并通过动态规划计算每个像素的最优匹配视差,因此可以在较短的时间内完成立体匹配和深度计算。
该方法适用于各种类型的场景和物体检测任务。无论是室外还是室内、光线较强或弱的情况下,都能够进行有效的深度计算;该方法的实现比较容易,只需要进行摄像头的标定和立体匹配算法的实现即可。同时,由于该方法已经被广泛研究和应用,因此相关的工具和软件也比较丰富,易于使用和调试。
将深度信息转换为三维坐标的方法为:
获取摄像头的内参数和外参数,内参数包括相机的焦距、主点位置,外参数包括相机之间的基线长度和相对旋转矩阵;
通过立体匹配算法计算出左右两个图像之间的视差图像,视差图像中每个像素的值表示了左右图像对应点的视差;
遍历视差图像中的每个像素点;
对于每个像素点,根据摄像头的内参数和外参数,计算出像素点在世界坐标系下的坐标;
根据视差和基线长度,计算出像素点在相机坐标系下的深度;
结合像素点的图像坐标和深度信息,得到像素点的三维坐标。
该方法根据摄像头的内外参数以及计算得到的视差值,可以较为精确地将深度信息转换为三维坐标。因此,对于需要高精度的三维重建和物体识别任务来说,这种方法是比较可靠的;该方法利用了摄像头的内外参数,能够较好地消除因相机畸变、图像失真等问题而导致的深度误差,同时通过立体匹配算法计算出的视差值可以进一步提高深度计算的准确性,因此具有较高的可靠性。
该方法适用于各种类型的场景和物体检测任务。无论是室外还是室内、光线强弱不同的情况下,都能够进行有效的深度计算和三维坐标转换;该方法的实现过程比较简单,只需要获取摄像头的内外参数、完成立体匹配算法、以及对每个像素点进行计算即可。同时,由于该方法已经被广泛研究和应用,相关工具和软件也比较丰富,易于使用和调试。
对人体手位置进行三维空间定位的方法为:
使用基于关节点的方法来检测图像或视频中的人体区域;
使用基于卷积神经网络的方法,在已检测到的人体区域中定位手部位置;
根据手部在双目视觉中的三维坐标,利用摄像头标定参数和几何关系,将手部的三维坐标转换为相机坐标系下的坐标;
将手部的相机坐标系下的坐标转换为世界坐标系下的坐标。
基于关节点的方法和卷积神经网络的手部定位模型可以提供较高的手部位置检测和定位精度。这些方法利用了深度学习算法和大量的训练数据,能够准确地捕捉到手部的关键特征,从而实现精确定位;该方法在检测和定位手部位置时,采用了高效的计算方法和优化算法,具有较快的处理速度和实时性。因此,在实际应用中能够达到实时跟踪和定位手部位置的需求,如手势识别、人机交互等场景。
该方法是通过分析图像或视频中的人体姿态来实现手部定位的,无需直接接触人体,具有较好的用户体验和便利性。这对于某些需要保持身体卫生或避免触摸物体的应用场景尤为重要;该方法适用于不同光照条件和环境中的手部定位。由于基于关节点和卷积神经网络的方法较好地解决了人体姿态变化、遮挡和光照等问题,因此能够在不同场景下稳定地进行手部定位;该方法的原理基于深度学习和计算机视觉技术,可以与其他人体姿态估计、动作识别等相关技术相结合,实现更复杂的人体交互和应用。同时,该方法也可以通过增加更多的关节点来实现全身姿态估计和定位。
利用跟踪算法在连续图像帧中跟踪手部目标的方法为:
在首帧图像中,使用深度学习方法进行手部目标的初始定位;
在首帧中,从手部目标区域提取特征来描述手部的外观;
从第二帧开始,利用卡尔曼滤波器对手部目标进行连续跟踪;
根据当前帧中的手部目标位置和特征,更新跟踪器的状态和模型参数;
根据跟踪器的输出,得到实时的手部位置信息,并将图像坐标转换为相机坐标系下的坐标,并进一步转换为世界坐标系下的坐标。
使用深度学习方法在首帧中进行手部目标的初始定位,可以有效地捕捉到手部的特征。这种准确的初始定位有助于提高跟踪算法的鲁棒性,能够应对一些姿态变化、遮挡和光照等因素造成的干扰;采用卡尔曼滤波器进行连续跟踪,能够快速而且实时地更新手部目标的位置和状态。这样可以实现对手部目标的实时跟踪,适用于需要快速响应和实时更新的应用场景。
根据当前帧中的手部目标位置和特征,通过更新跟踪器的状态和模型参数,可以提高跟踪算法的稳定性。这种自适应的更新机制能够动态地调整跟踪器的参数,以适应不同的场景和手部运动,从而保持跟踪的准确性和稳定性;通过将图像坐标转换为相机坐标系下的坐标,再进一步转换为世界坐标系下的坐标,可以得到手部在真实世界中的位置信息。这对于一些需要将手部跟踪结果与实际环境相对应的应用非常重要,如增强现实、虚拟现实等领域;该方案基于深度学习方法和卡尔曼滤波器进行手部目标的初始定位和连续跟踪,在实践中已被广泛采用。同时,该方案也可以与其他姿态估计、动作识别等算法相结合,进一步提高手部相关应用的性能和效果。
本发明的有益效果是:
通过利用双目摄像头拍摄的两个视角图像,可以更准确地提取手部目标的特征点,并计算出视差信息。通过将视差与摄像头之间的几何关系结合,可以更精确地将手部目标的二维视差转化为三维空间坐标,从而实现更准确的手部定位;双目视觉系统能够在一定程度上克服光照变化、遮挡等环境干扰因素对手部定位的影响。通过从多个视角获取信息并进行融合,可以提高定位结果的鲁棒性,减少误差;尽管双目图像处理需要更多的计算量,但由于使用了专门的硬件设备(双目摄像头),并采用了高效的特征提取和匹配算法,因此可以在一定程度上保持实时性。
本发明的上述实施例并不是对本发明保护范围的限定,本发明的实施方式不限于此,凡此种种根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,对本发明上述结构做出的其它多种形式的修改、替换或变更,均应落在本发明的保护范围之内。
Claims (10)
1.一种三维空间定位系统,其特征在于,包括有:
双目摄像头模块,包括两个摄像头,分别放置在固定的位置上,并能够同时对场景进行拍摄;
双目标定模块,对双目摄像模块进行标定,以确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
特征提取描述模块,从双目图像中提取手部目标的特征点,该特征点包括边缘和角点,并对这些特征点进行描述和编码;
视差计算模块,通过分析双目图像的视差计算出手部目标的深度信息;
三维坐标计算模块,将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标;
手部跟踪模块,根据获取到的手部位置的三维坐标,利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
2.一种三维空间定位方法,其特征在于,包括以下步骤:
使用两个摄像头,分别放置在固定的位置上,同时对场景进行拍摄;
对双目摄像系统进行标定,确定两个摄像头之间的相对位置和姿态关系,以及摄像机的内参数;
从双目图像中提取手部目标的特征点,包括边缘、角点,然后利用特征描述子对这些特征点进行描述和编码;
通过分析双目图像的视差计算出手部目标的深度信息;
将视差与摄像头之间的几何关系结合,将手部目标的二维视差转化为三维空间坐标,通过三角测量将双目视觉中得到的深度信息转换为三维坐标;
根据获取到的手部位置的三维坐标,对人体手位置进行三维空间定位,并利用跟踪算法在连续图像帧中跟踪手部目标,并提供实时的位置信息。
3.根据权利要求2所述的一种三维空间定位方法,其特征在于:对场景进行拍摄的方法为:
确定两个摄像头的位置,并使用支架保持它们的固定;
通过USB接口将两个摄像头连接到计算机;
使用OpenCV控制和配置两个摄像头,并设置摄像头的分辨率和帧率参数;
使用硬件触发信号同步触发两个摄像头同时进行拍摄,并将拍摄数据传输至计算机。
4.根据权利要求3所述的一种三维空间定位方法,其特征在于:对双目摄像系统进行标定的方法为:
准备一个用于标定的具有特征点的标定板;
确保两个摄像头能够同时拍摄到标定板,保持摄像头稳定,并调整其位置和朝向,使其能够捕捉到整个标定板;
使用两个摄像头同时采集多张图像,确保标定板在不同位置和姿态下都能被完整拍摄到;
使用图像处理库,利用角点检测算法从采集的图像中自动提取标定板上的特征点;
根据特征点的位置信息,将两个摄像头分别拍摄的图像进行配对;
使用Tsai标定法对提取的特征点进行计算,以确定相机的内参数矩阵、畸变参数和外参数。
5.根据权利要求4所述的一种三维空间定位方法,其特征在于:确定相机的内参数矩阵、畸变参数和外参数的方法为:
根据摄像头的初始参数估计,使用Tsai标定法的公式计算出初始内参数和外参数的近似值;
使用Levenberg-Marquardt算法对初始内参数和外参数进行迭代优化,优化的目标是最小化图像中特征点的重投影误差;
通过评估标定重投影误差指标,来评估标定精度,当重投影误差指标在0.5像素以内,则认为标定成功;
在优化过程收敛后,得到了相机的内参数矩阵、畸变参数和外参数。
6.根据权利要求2所述的一种三维空间定位方法,其特征在于:利用特征描述子对这些特征点进行描述和编码的方法为:
利用Harris角点检测对左右两个摄像头的图像进行角点检测;
使用Canny边缘检测算法对左右两个摄像头的图像进行边缘检测;
将左右两个摄像头分别提取的角点和边缘特征点使用SIFT算法进行匹配,确定双目图像中对应的特征点对,即左右摄像头观察到同一个手部目标上的特征点;
使用SIFT算法对每个特征点周围的局部区域进行特征描述和编码。
7.根据权利要求6所述的一种三维空间定位方法,其特征在于:通过分析双目图像的视差计算出手部目标的深度信息的方法为:
对于左右两个摄像头的图像,使用立体匹配算法在左右图像中寻找对应的特征点;
基于局部窗口的均方差计算每个像素的匹配代价;
根据匹配代价,通过动态规划计算每个像素的最优匹配视差;
根据已计算得到的视差图,利用摄像头的标定参数和三角测量原理将视差值转化为对应的深度值,从而得到手部目标的深度信息。
8.根据权利要求7所述的一种三维空间定位方法,其特征在于:将深度信息转换为三维坐标的方法为:
获取摄像头的内参数和外参数,内参数包括相机的焦距、主点位置,外参数包括相机之间的基线长度和相对旋转矩阵;
通过立体匹配算法计算出左右两个图像之间的视差图像,视差图像中每个像素的值表示了左右图像对应点的视差;
遍历视差图像中的每个像素点;
对于每个像素点,根据摄像头的内参数和外参数,计算出像素点在世界坐标系下的坐标;
根据视差和基线长度,计算出像素点在相机坐标系下的深度;
结合像素点的图像坐标和深度信息,得到像素点的三维坐标。
9.根据权利要求8所述的一种三维空间定位方法,其特征在于:对人体手位置进行三维空间定位的方法为:
使用基于关节点的方法来检测图像或视频中的人体区域;
使用基于卷积神经网络的方法,在已检测到的人体区域中定位手部位置;
根据手部在双目视觉中的三维坐标,利用摄像头标定参数和几何关系,将手部的三维坐标转换为相机坐标系下的坐标;
将手部的相机坐标系下的坐标转换为世界坐标系下的坐标。
10.根据权利要求9所述的一种三维空间定位方法,其特征在于:利用跟踪算法在连续图像帧中跟踪手部目标的方法为:
在首帧图像中,使用深度学习方法进行手部目标的初始定位;
在首帧中,从手部目标区域提取特征来描述手部的外观;
从第二帧开始,利用卡尔曼滤波器对手部目标进行连续跟踪;
根据当前帧中的手部目标位置和特征,更新跟踪器的状态和模型参数;
根据跟踪器的输出,得到实时的手部位置信息,并将图像坐标转换为相机坐标系下的坐标,并进一步转换为世界坐标系下的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318899.7A CN117333902A (zh) | 2023-10-12 | 2023-10-12 | 一种三维空间定位系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318899.7A CN117333902A (zh) | 2023-10-12 | 2023-10-12 | 一种三维空间定位系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117333902A true CN117333902A (zh) | 2024-01-02 |
Family
ID=89282547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311318899.7A Pending CN117333902A (zh) | 2023-10-12 | 2023-10-12 | 一种三维空间定位系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117333902A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118397603A (zh) * | 2024-05-14 | 2024-07-26 | 浙江科聪控制技术有限公司 | 移动机器人的栈板识别系统及方法 |
CN118424232A (zh) * | 2024-04-25 | 2024-08-02 | 广州航海学院 | 一种基于计算机视觉的水下结构测距系统 |
-
2023
- 2023-10-12 CN CN202311318899.7A patent/CN117333902A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118424232A (zh) * | 2024-04-25 | 2024-08-02 | 广州航海学院 | 一种基于计算机视觉的水下结构测距系统 |
CN118424232B (zh) * | 2024-04-25 | 2025-02-14 | 广州航海学院 | 一种基于计算机视觉的水下结构测距系统 |
CN118397603A (zh) * | 2024-05-14 | 2024-07-26 | 浙江科聪控制技术有限公司 | 移动机器人的栈板识别系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070615B (zh) | 一种基于多相机协同的全景视觉slam方法 | |
CN108765498B (zh) | 单目视觉跟踪方法、装置及存储介质 | |
CN110136208B (zh) | 一种机器人视觉伺服系统的联合自动标定方法及装置 | |
CN109255813B (zh) | 一种面向人机协作的手持物体位姿实时检测方法 | |
CN108734744B (zh) | 一种基于全站仪的远距离大视场双目标定方法 | |
CN104933718B (zh) | 一种基于双目视觉的物理坐标定位方法 | |
CN117333902A (zh) | 一种三维空间定位系统和方法 | |
CN110728715A (zh) | 一种智能巡检机器人像机角度自适应调整方法 | |
Holzmann et al. | Measuring distance with mobile phones using single-camera stereo vision | |
CN108955718A (zh) | 一种视觉里程计及其定位方法、机器人以及存储介质 | |
CN103700140B (zh) | 用于单枪机‑多球机联动的空间建模方法 | |
WO2015134794A2 (en) | Method and system for 3d capture based on structure from motion with simplified pose detection | |
CN110544273B (zh) | 运动捕捉方法、装置以及系统 | |
CN112880687A (zh) | 一种室内定位方法、装置、设备和计算机可读存储介质 | |
CN113361365B (zh) | 定位方法和装置、设备及存储介质 | |
Schraml et al. | An event-driven stereo system for real-time 3-D 360 panoramic vision | |
Li | Real-time spherical stereo | |
CN110544278B (zh) | 刚体运动捕捉方法及装置、agv位姿捕捉系统 | |
CN115345942A (zh) | 空间标定方法、装置、计算机设备和存储介质 | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
Najafi et al. | Automated initialization for marker-less tracking: A sensor fusion approach | |
CN111148970B (zh) | 用于校准成像和空间方位传感器的系统和方法 | |
CN117350996A (zh) | 工业内窥镜视场范围调整方法及系统 | |
Thangarajah et al. | Vision-based registration for augmented reality-a short survey | |
Zhu et al. | Indoor Scene Reconstruction using a Rotating Device and Multiple RGB-D Cameras |
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 |