1.本发明涉及图像标注技术领域,更为具体地,涉及一种基于传感器的裸手数据标注方法及系统。
背景技术:2.由于裸手追踪技术在vr/ar/mr场景体验中的轻交互占据着比较重要的位置,所以对裸手追踪的精度、延时以及对环境的兼容稳定性要求均比较高,为了更好的解决这一问题,目前裸手追踪的主流方案大都会采用基于ai的算法架构,需要采集大量的图像训练数据,通过对每一张图像数据进行标注,然后进行卷积神经网络的训练学习,通过多次训练和大数据集,最终希望获取一个高精度,高稳定性的裸手追踪的卷积神经网络模型。
3.目前,裸手追踪的ai网络模型的精度和稳定性与训练数据量的大小、训练数据对应的场景环境的丰富度,以及裸手姿态的丰富度息息相关。通常要求识别率95%以上的准确率和稳定性,训练数据量最少在200万张图像以上。目前比较常用的训练数据的采集获取方式主要有两种:一种是通过untity图形图像渲染合成获取,另外一种是直接通过深度相机采集深度图像数据,通过人工标注每一张图像上每一只手的关键位置坐标,然后通过半监督式进一步进行数据采集和数据标注精度的确认和纠正。
4.但是,以上两种数据采集方式,采集的数据标注效率、质量、采集环境场景背景的丰富程度都存在一定的局限性,浪费人力物力,不能快速获取大量的高质量训练数据,进而导致训练出的ai网络模型达不到训练精度的期望。
技术实现要素:5.鉴于上述问题,本发明的目的是提供一种基于传感器的裸手数据标注方法及系统,以解决目前采用人工进行数据标注存在的局限性,影响后期模型训练精度等问题。
6.本发明提供的基于传感器的裸手数据标注方法,包括:对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据;同时,通过深度相机采集裸手的深度图像,同时通过传感器采集与深度图像对应的裸手的传感器所在骨骼点的6dof数据;基于6dof数据以及坐标转换数据,获取裸手的预设个数骨骼点相对深度相机的坐标下的三维位置信息;基于预设个数骨骼点的三维位置信息,确定预设个数骨骼点在深度图像上的二维位置信息;通过二维位置信息及三维位置信息对深度图像中的所有骨骼点进行关节信息标注。
7.此外,优选的技术方案是,对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据的过程包括:通过张正友标定方法获取深度相机的内参;控制安装有传感器的样本裸手按照预设方式在距离深度相机预设范围内进行运动;通过深度相机拍摄样本裸手的样本深度图像,并基于图像处理算法获取传感器所在位置的骨骼点在样本深度图像中的二维坐标;基于二维坐标和pnp算法获取深度相机和传感器之间的坐标转换数据;其中,坐标转换数据包括深度相机和传感器的坐标系之
间的旋转参数和平移参数。
8.此外,优选的技术方案是,预设范围为50cm~70cm。
9.此外,优选的技术方案是,获取预设个数骨骼点相对深度相机的坐标下的三维位置信息的过程包括:采集裸手的各手指的各关节的骨长数据及各手指的厚度数据;根据骨长数据、厚度数据及坐标转换数据获取裸手的各手指的tip骨骼点和dip骨骼点的三维位置信息;基于tip骨骼点和dip骨骼点的三维位置信息及骨长数据获取裸手的对应手指的pip骨骼点和mcp骨骼点的三维位置信息。
10.此外,优选的技术方案是,手指的tip骨骼点的三维位置信息的获取公式为:
11.tip=l(s)+d1v1+rv212.手指的dip骨骼点的三维位置信息的获取公式为:
13.tip=l(s)+d1v1+rv214.其中,d1+d2=b,b表示tip骨骼点与dip骨骼点之间的骨长数据,l(s)表示手指的指尖位置的传感器相对深度相机的坐标下的三维位置信息,r表示手指的厚度数据的一半,v1表示指尖位置的6dof数据中在y轴方向上的旋转分量,v2表示指尖位置的6dof数据中在z轴方向上的旋转分量。
15.此外,优选的技术方案是,基于三维位置信息及骨长数据获取裸手的对应手指的pip骨骼点和mcp骨骼点的三维位置信息的过程包括:基于骨长数据获取pip骨骼点与dip骨骼点之间的差值的第一范数||pip
‑
dip||;基于第一范数以及dip骨骼点的三维位置信息确定pip骨骼点的三维位置信息;同时,基于骨长数据获取pip骨骼点与mcp骨骼点之间的差值的第二范数||pip
‑
mcp||;基于第二范数以及pip骨骼点的三维位置信息确定mcp骨骼点的三维位置信息。
16.此外,优选的技术方案是,预设个数骨骼点包括21个骨骼点;其中,21个骨骼点包括裸手的5个手指的各3个关节点和1个指尖位置点,以及裸手的1个腕关节点。
17.此外,优选的技术方案是,腕关节点的关节信息包括:腕关节点处的传感器在深度图像上的二维位置信息,以及腕关节点处的传感器的6dof数据相对深度相机坐标下的三维位置信息。
18.此外,优选的技术方案是,预设在裸手指定位置的传感器包括:设置在裸手的5个手指的指尖位置的传感器以及设置在裸手的手掌中心背面位置的传感器;并且,传感器包括电磁传感器或者光纤传感器。
19.根据本发明的另一方面,提供一种基于传感器的裸手数据标注系统,包括:坐标转换数据获取单元,用于对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据;深度图像及6dof数据采集单元,用于通过深度相机采集裸手的深度图像,同时通过传感器采集与深度图像对应的裸手的传感器所在骨骼点的6dof数据;三维位置信息获取单元,用于基于6dof数据以及坐标转换数据,获取裸手的预设个数骨骼点相对深度相机的坐标下的三维位置信息;二维位置信息获取单元,用于基于预设个数骨骼点的三维位置信息,确定预设个数骨骼点在深度图像上的二维位置信息;关节信息标注单元,用于通过二维位置信息及三维位置信息对深度图像中的所有骨骼点进行关节信息标注。
20.利用上述基于传感器的裸手数据标注方法及系统,通过深度相机采集裸手的深度
图像,同时通过传感器采集传感器所在骨骼点的6dof数据,进而基于6dof数据以及坐标转换数据,获取预设个数骨骼点相对深度相机的坐标下的三维位置信息和二维位置信息,并通过二维位置信息及三维位置信息对深度图像中的所有骨骼点进行关节信息标注,数据标注效率、质量、采集环境场景背景的丰富程度都能得到保证,有利于提高利用标注信息进行ai网络模型训练的精度。
21.为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
22.通过参考以下结合附图的说明,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
23.图1为根据本发明实施例的基于传感器的裸手数据标注方法的流程图;
24.图2示出了根据本发明实施例的骨长数据测量示意图;
25.图3示出了根据本发明实施例的裸手的骨骼点模型示意图;
26.图4为根据本发明实施例的基于传感器的裸手数据标注系统的原理图;
27.图5为根据本发明实施例的电子装置的示意图。
28.在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
29.在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
30.为详细描述本发明的基于传感器的裸手数据标注方法及系统,以下将结合附图对本发明的具体实施例进行详细描述。
31.图1示出了根据本发明实施例的基于传感器的裸手数据标注方法的流程。
32.如图1所示,本发明实施例的基于传感器的裸手数据标注方法,包括:
33.s110:对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据。
34.其中,在本发明的基于传感器的裸手数据标注方法中,涉及的传感器可采用追踪数据质量稳定的电磁传感器或者光纤传感器等多种类型的传感器,具体可设置6个6dof的电磁传感器(模组)、一个信号转送器和两个硬件同步电磁跟踪单元,6个电磁传感器可通过两个硬件同步电磁跟踪单元进行物理同步,即确保6个电磁传感器输出的6dof数据是同一物理时刻发生的运动数据;在应用过程中,传感器的外径尺寸小于3mm,该尺寸越小越好,能够让佩戴传感器的手指,不被深度相机捕捉到它的图像信息,确保数据采集的精度和准确性。
35.此外,深度相机可采用常规普通的相机,深度图像的参数可根据相机进行选取或者自行设定等,例如深度图像数据的采集帧率可设置为60hz,分辨率可设置为640*480等。
36.具体地,对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据的过程包括:
37.1、通过张正友标定方法获取深度相机的内参。
38.2、控制安装有传感器的样本裸手按照预设方式在距离深度相机预设范围内进行运动;其中,预设范围可设置为50cm~70cm。
39.具体地,样本裸手运动的预设方式主要是指:样本裸手的运动保证在每一帧的深度相机拍摄的图像上,使其6个传感器对应的样本裸手的位置都能清晰成像,尽量不要存在样本裸手相对深度相机遮挡的现象。
40.3、通过深度相机拍摄样本裸手的样本深度图像,并基于图像处理算法获取传感器所在位置的骨骼点在样本深度图像中的二维坐标。
41.4、基于二维坐标和pnp算法获取深度相机和传感器之间的坐标转换数据;其中,坐标转换数据包括深度相机和传感器的坐标系之间的旋转参数和平移参数。
42.具体地,将5个6dof传感器分别按照一定固定方式佩戴在样本裸手的5根手指的指尖位置,另外1个6dof传感器佩戴在样本裸手的手掌中心的背面位置,然后通过深度相机拍摄佩戴有传感器的样本裸手的样本深度图像,并获取传感器所在位置点(骨骼点)的二维坐标,最终根据该二维坐标确定深度相机和传感器之间的坐标转换数据。
43.s120:通过深度相机采集裸手的深度图像,同时通过传感器采集与深度图像对应的裸手的传感器所在骨骼点的6dof数据。
44.其中,深度相机采集的裸手的深度图像可以实时同步获取6个传感器的6dof数据相对深度相机坐标下的6个三维位置信息和在深度图像上的二维位置信息。需要说明的是,该步骤s120可以与s110步骤同时进行,也可先进行设备标定处理再采集的深度图像和6dof数据。
45.s130:基于6dof数据以及坐标转换数据,获取裸手的预设个数骨骼点相对深度相机的坐标下的三维位置信息。
46.具体地,获取预设个数骨骼点相对深度相机的坐标下的三维位置信息的过程包括:
47.1、采集裸手的各手指的各关节的骨长数据及各手指的厚度数据;
48.2、根据骨长数据、厚度数据及坐标转换数据获取裸手的各手指的tip骨骼点和dip骨骼点的三维位置信息;
49.3、基于tip骨骼点和dip骨骼点的三维位置信息及骨长数据获取裸手的对应手指的pip骨骼点和mcp骨骼点的三维位置信息。
50.其中,图2示出了根据本发明实施例的骨长数据测量示意结构,图3示出了根据本发明实施例的裸手的骨骼点模型示意结构。
51.如图2和图3共同所示,本发明实施例的预设个数骨骼点包括21个骨骼点;其中,21个骨骼点包括裸手的5个手指的各3个关节点和1个指尖位置点,以及裸手的1个腕关节点。并且,在每一根手指中,由上至下依次的骨骼点表示为tip骨骼点、dip骨骼点、pip骨骼点和mcp骨骼点,根据仿生规则,假定每一个手指上的4个骨骼点均位于同一个平面上,图3中仅示出了一根手指的骨骼点结构。
52.在本发明的一个具体实施方式中,手指的tip骨骼点的三维位置信息的获取公式
为:
53.tip=l(s)+d1v1+rv254.另外,手指的dip骨骼点的三维位置信息的获取公式为:
55.tip=l(s)+d1v1+rv256.其中,d1+d2=b,b表示tip骨骼点与dip骨骼点之间的骨长数据,l(s)表示手指的指尖位置的传感器相对深度相机的坐标下的三维位置信息,r表示手指的厚度数据的一半,v1表示指尖位置的6dof数据中在y轴方向上的旋转分量,v2表示指尖位置的6dof数据中在z轴方向上的旋转分量。
57.可知,当获取tip骨骼点和dip骨骼点的三维位置信息后,可据此及骨长数据进一步获取当前手指的其他骨骼点的三维位置信息。
58.具体地,基于三维位置信息及骨长数据获取裸手的对应手指的pip骨骼点和mcp骨骼点的三维位置信息的过程包括:
59.1、基于骨长数据获取pip骨骼点与dip骨骼点之间的差值的第一范数||pip
‑
dip‖;进而基于第一范数以及dip骨骼点的三维位置信息确定pip骨骼点的三维位置信息。同时,
60.2、基于骨长数据获取pip骨骼点与mcp骨骼点之间的差值的第二范数||pip
‑
mcp‖;进而基于第二范数以及pip骨骼点的三维位置信息确定mcp骨骼点的三维位置信息。
61.根据上述各步骤的处理,可获取裸手的所有手指的骨骼点的三维位置信息,即获取裸手的21个骨骼点的三维位置信息。
62.需要说明的是,由于腕关节点的位置比较特殊,该骨骼点的关节信息包括:腕关节点处的传感器在深度图像上的二维位置信息,以及基于坐标转换数据获取的腕关节点处的传感器的6dof数据相对深度相机坐标下的三维位置信息。换言之,裸手手掌的腕关节的传感器的三维位置信息对应的深度图像的二维位置坐标和相对深度相机坐标系下的三维位置信息即为深度相机坐标系下的腕关节信息。
63.s140:基于预设个数骨骼点的三维位置信息,确定预设个数骨骼点在深度图像上的二维位置信息。
64.在获取所有骨骼点的三维位置信息后,可通过在对应深度图像上进行投影,获取与三维位置信息对应的二维位置信息;当前,深度图像上也可直接获取传感器所在骨骼点的二维位置信息,本发明中并不对该信息的各种获取方式进行特殊限定。
65.s150:通过二维位置信息及三维位置信息对深度图像中的所有骨骼点进行关节信息标注。
66.可知,本发明的基于传感器的裸手数据标注方法,能够直接获取每一张图像数据的各个关键点的二维坐标和三维坐标信息,可提高深度数据的数据标注精度和标注效率,且标注精度的一致性也能得到保证。
67.为提供标注数据的准确性,在本发明的基于传感器的裸手数据标注方法中,6个传感器稳定按照800hz采集裸手的运动6dof数据,在采集过程中不能出现传感器6dof数据的漂移和抖动现象。此外,还需要一个高性能的pc电脑与深度相机和传感器连接,用于分别采集深度相机的深度图像数据和电磁追踪单元的6个传感器的运动数据。
68.其中,高性能的pc电脑同时采集6个传感器的6dof数据和深度相机的深度图像数据,同时分别赋予6dof数据和深度图像数据一个系统时间戳,6个6dof数据的时间戳是同一
个系统时间戳,由于深度相机和传感器没有物理同步,两个数据的同步是通过根据每一个深度图像数据对应的时间戳,查找和该时间戳对应最近的6dof数据,两个时间戳的差值最大在0.7ms,即可认为该两组数据是裸手在空间运动同一时刻发生的手部姿态运动数据。
69.与上述基于传感器的裸手数据标注方法相对应,本发明还提供一种基于传感器的裸手数据标注系统。
70.具体地,图4示出了根据本发明实施例的基于传感器的裸手数据标注系统的示意逻辑。如图4所示,基于传感器的裸手数据标注系统200包括:
71.坐标转换数据获取单元210,用于对深度相机和预设在裸手指定位置的传感器进行设备标定处理,获取传感器相对深度相机的坐标转换数据。
72.深度图像及6dof数据采集单元220,用于通过深度相机采集裸手的深度图像,同时通过传感器采集与深度图像对应的裸手的传感器所在骨骼点的6dof数据。
73.三维位置信息获取单元230,用于基于6dof数据以及坐标转换数据,获取裸手的预设个数骨骼点相对深度相机的坐标下的三维位置信息。
74.二维位置信息获取单元240,用于基于预设个数骨骼点的三维位置信息,确定预设个数骨骼点在深度图像上的二维位置信息。
75.关节信息标注单元250,用于通过二维位置信息及三维位置信息对深度图像中的所有骨骼点进行关节信息标注。
76.对应地,本发明还提供一种电子装置,图5示出了根据本发明实施例的电子装置的示意结构。
77.如图5所示,本发明的电子装置1可以是vr/ar/mr头戴式一体机设备、服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。其中,该电子装置1包括:处理器12、存储器11、网络接口14及通信总线15。
78.其中,存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
79.在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的基于传感器的裸手数据标注程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
80.处理器12在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于传感器的裸手数据标注程序10等。
81.网络接口14可选地可以包括标准的有线接口、无线接口(如wi
‑
fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
82.通信总线15用于实现这些组件之间的连接通信。
83.图5仅示出了具有组件11
‑
15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
84.可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
85.可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light
‑
emitting diode,oled)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
86.可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
87.在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统以及基于传感器的裸手数据标注程序10;处理器12执行存储器11中存储的基于传感器的裸手数据标注程序10时实现如基于传感器的裸手数据标注方法及系统方法所示的步骤。
88.本发明还提供的计算机可读存储介质的具体实施方式与上述基于传感器的裸手数据标注方法、系统及电子装置的具体实施方式大致相同,在此不再赘述,各方法、系统及电子装置之间也可相互参考。
89.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
90.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
91.如上参照附图以示例的方式描述根据本发明的基于传感器的裸手数据标注方法及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的基于传感器的裸手数据标注方法及系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。