一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维场景的重建方法和电子设备与流程

2022-05-06 10:10:28 来源:中国专利 TAG:


1.本技术实施例涉及图像信息处理技术领域,尤其涉及一种三维场景的重建方法和电子设备。


背景技术:

2.目前,大量的基于虚拟现实和增强现实的应用不断的涌入市场,三维重建也是一种值得研究的虚拟现实和增强现实。
3.三维重建是指还原一个场景的三维信息,即三维场景的重建。一种三维重建方法常用方法为电子设备(例如个人计算机(personalcomputer,pc)或者单目相机设备等)从基于拍摄三维场景时得到的二维图像序列中还原出该三维场景。
4.如何提高三维重建的准确性,更好完成三维场景的重建是值得研究的方向。


技术实现要素:

5.本技术提供了一种三维场景的重建方法和电子设备,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。
6.第一方面,本技术提供了一种三维场景的重建方法,该方法包括:该电子设备从图像序列中选取第一帧图像以及第二帧图像;该图像序列中包括该电子设备拍摄三维场景时得到的n帧图像;该电子设备基于该第一帧图像以及第二帧图像中匹配的特征点确定三维场景、第一帧图像的位姿和第二帧图像的位姿;其中,一帧图像的位姿包括该电子设备的摄像机在获取这一帧图像时相对于世界坐标系的旋转以及平移;该电子设备基于第m帧图像与已注册图像中匹配的特征点以及该三维场景确定该第m帧图像的位姿;该三维场景包括三维点集合;其中,该已注册图像包括参与三维场景确定以及更新的部分或者全部图像;该第m帧图像为该图像序列中未注册图像中的一帧图像;该电子设备基于该第m帧图像与已注册图像中匹配的特征点以及该第m帧图像的位姿更新该三维场景,得到更新后的三维场景;该电子设备基于该第m帧图像的实时位姿对该更新后的三维场景进行验证,去除该更新后的三维场景中的错误三维点以更新该更新后的三维场景;该错误三维点为该第m帧图像的特征点对应的三维点中的部分或全部;该第m帧图像的实时位姿包括在拍摄该第m帧图像时与拍摄该第m帧图像的相邻帧图像时该摄像机的旋转以及平移;在该电子设备确定该n帧图像都参与了三维场景确定以及更新的情况下,该电子设备得到重建后的三维场景在上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。
7.结合第一方面,该电子设备得到重建后的三维场景之后,该方法还包括:该电子设备结合该n帧图像与该重建后的三维场景之间的重投影误差之和以及n-1组相邻两帧图像的相对位姿以及相对实时位姿对该重建后的三维场景进行优化,得到优化后的三维场景;
其中,该n-1组相邻两帧图像为该图像序列中第一帧图像到第n帧图像间每相邻两帧图像间进行结合所得到的;该相邻两帧图像的相对位姿为该相邻两帧图像的位姿变化关系;该相邻两帧图像的相对实时位姿为该相邻两帧图像的实时位姿变化关系;该电子设备将该优化后的三维场景作为重建后的三维场景。
8.在上述实施例中,三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。电子设备基于重投影误差之和以及相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿差值建立目标函数对重建后的三维场景进行优化,将优化的三维场景作为重建后的三维场景,可以使得重建后的三维场景更加准确。
9.结合第一方面,该电子设备基于该第一帧图像以及第二帧图像中匹配的特征点确定三维场景、第一帧图像的位姿和第二帧图像的位姿,具体包括:将该第一帧图像的摄像机坐标系作为该世界坐标系,该电子设备确定该第一帧图像的位姿中的各参数为0;该第一帧图像的位姿中的各参数为0表示该摄像机在获取该第一帧图像时相对于该世界坐标系没有旋转以及平移;基于该第一帧图像以及第二帧图像中匹配的特征点以及该第一帧图像的位姿,确定该第二帧图像的位姿以及三维场景。
10.在上述实施例中,以第一帧图像的相机坐标系作为世界坐标系,操作过程简单就选取出了重建三维场景时涉及的参考坐标系。后面的图像,例如第二帧图像可以以该世界坐标系作为参考坐标系参与三维场景的重建。
11.结合第一方面,该电子设备从该图像序列中选取第一帧图像以及第二帧图像之前,该方法还包括:该电子设备获取该第一帧图像中特征点的信息以及该第二帧图像中特征点的信息;其中第一帧图像中特征点的信息包括第一特征点的信息,该第一特征点的信息包括第一特征点的在该第一帧图像中的位置以及该第一特征点周围m个像素点的信息;该电子设备基于该第一帧图像中特征点的信息以及该第二帧图像中特征点的信息确定该第一帧图像与该第二帧图像中匹配的特征点;其中,该第一特征点与该第二帧图像中的第二特征点匹配,该第二特征点为该第二帧图像中的一个特征点,该第二特征点的信息包括第二特征点的在该第二帧图像中的位置以及该第二特征点周围m个像素点的信息;该第一特征点与该第二特征点匹配是指该第一特征点周围m个像素点的信息与该第二特征点周围m个像素点的信息的相似性大于或者等于第一阈值;该第一特征点与该第二特征点匹配则该第一特征点与第二特征点在世界坐标系中对应同一三维点。
12.在上述实施例中,电子设备基于两帧图像匹配的特征点在世界坐标系中对应同一个三维点的原理完成对该三维场景的初始化以及后续的更新。
13.结合第一方面,该电子设备从该图像序列中选取第一帧图像以及第二帧图像,具体包括:该电子设备从该图像序列中选取特征点匹配数量最多的两帧图像作为第一帧图像以及第二帧图像;或者,该电子设备从该图像序列中选取特征点匹配数量大于或者等于第二阈值的两帧图像作为第一帧图像以及第二帧图像。
14.在上述实施例中,电子设备选取特征点匹配数量较多的两帧图像进行三维场景的
初始化可以使得初始化得到的三维场景较为准确,便于后续进行更新。
15.结合第一方面,m个像素点的信息中包括第一像素点的信息,该第一像素点的信息包括该第一像素点的位置、颜色以及方向中的一个或者多个。
16.结合第一方面,该电子设备基于第m帧图像与已注册图像中匹配的特征点以及该三维场景确定该第m帧图像的位姿,具体包括:该电子设备基于该第m帧图像中的第一类特征点以及该第一类特征点在该三维场景中对应的三维点确定该第m帧图像的位姿;该第一类特征点为该第m帧图像中满足第一条件的特征点,该满足第一条件为第一已注册图像中有第三特征点与该第一类特征点匹配且该第三特征点在该三维场景中有对应的三维点;该第一已注册图像为该已注册图像中一帧图像;该第一类特征点在该三维场景中对应的三维点为该第三特征点对应的三维点;该电子设备基于该第m帧图像的位姿确定该第m帧图像中的第二类特征点对应的三维点以更新该三维场景,得到更新后的三维场景;该第二类特征点为该第m帧图像中满足第二条件的特征点,该满足第二条件为该第一已注册图像中有第四特征点与该第二类特征点匹配且该第四特征点在该三维场景中没有对应的三维点。
17.在上述实施例中,计算第m帧图像的实时位姿以用于对三维场景进行更新,消除重复纹理的影响,提高三维场景重建的准确性。
18.结合第一方面,该第一类特征点以及该第二类特点中包括w个第五特征点;该电子设备基于该第m帧图像的实时位姿对该更新后的三维场景进行验证,去除该更新后的三维场景中的错误三维点以更新该更新后的三维场景,具体包括:该电子设备基于该第m帧图像的实时位姿将该第五特征点对应的三维点重投影到该第m帧图像中,得到投影后的第五特征点;该电子设备删除该更新后的三维场景中满足第三条件的第五特征点所对应三维点以实现更新该更新后的三维场景;该满足第三条件为该第五特征点与其投影后的第五特征点之间的重投影误差大于或者等于第三阈值;该第五特征点与其投影后的第五特征点之间的重投影误差为该特征点与该投影后的特征点在该第m帧图像中的位置的欧式距离。
19.在上述实施例中,利用实时位姿计算重投影误差,删除重投影误差较大的三维点实现三维场景的更新,可以消除重复纹理的影响,提高三维场景重建的准确性。
20.结合第一方面,该电子设备基于该第m帧图像的实时位姿再次更新该三维场景之前,该方法还包括:该电子设备基于该第m帧图像中的第三类特征点以及该第三类特征点对应的三维点确定该第m帧图像的实时位姿;该第三类特征点为该第m帧图像中满足第四条件的特征点,该满足第四条件为该第m帧图像的相邻帧图像中有第六特征点与该第三类特征点匹配且该第六特征点有对应的三维点。
21.结合第一方面,该电子设备结合该n帧图像与该重建后的三维场景之间的重投影误差之和以及n-1组相邻两帧图像的相对位姿以及相对实时位姿对该重建后的三维场景进行优化,得到优化后的三维场景,具体包括:该电子设备利用该n帧图像与重建后的三维场景之间的重投影误差之和以及该n-1组相邻两帧图像的相对位姿以及相对实时位姿的差值之和构建目标函数;该电子设备调整该重建后的三维场景中包括的三维点以使得该目标函数最小或者小于第四阈值;在该目标函数最小或者小于第四阈值的情况下,该电子设备将调整后的该重建后的三维场景中包括的三维点作为该优化后的三维场景。
22.在上述实施例中,三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相
对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
23.第二方面,本技术提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:从图像序列中选取第一帧图像以及第二帧图像;该图像序列中包括该电子设备拍摄三维场景时得到的n帧图像;基于该第一帧图像以及第二帧图像中匹配的特征点确定三维场景、第一帧图像的位姿和第二帧图像的位姿;其中,一帧图像的位姿包括该电子设备的摄像机在获取这一帧图像时相对于世界坐标系的旋转以及平移;基于第m帧图像与已注册图像中匹配的特征点以及该三维场景确定该第m帧图像的位姿;该三维场景包括三维点集合;其中,该已注册图像包括参与三维场景确定以及更新的部分或者全部图像;该第m帧图像为该图像序列中未注册图像中的一帧图像;基于该第m帧图像与已注册图像中匹配的特征点以及该第m帧图像的位姿更新该三维场景,得到更新后的三维场景;该电子设备基于该第m帧图像的实时位姿对该更新后的三维场景进行验证,去除该更新后的三维场景中的错误三维点以更新该更新后的三维场景;该错误三维点为该第m帧图像的特征点对应的三维点中的部分或全部;该第m帧图像的实时位姿包括在拍摄该第m帧图像时与拍摄该第m帧图像的相邻帧图像时该摄像机的旋转以及平移;在该电子设备确定该n帧图像都参与了三维场景确定以及更新的情况下,得到重建后的三维场景。
24.在上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。
25.结合第二方面,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:结合该n帧图像与该重建后的三维场景之间的重投影误差之和以及n-1组相邻两帧图像的相对位姿以及相对实时位姿对该重建后的三维场景进行优化,得到优化后的三维场景;其中,该n-1组相邻两帧图像为该图像序列中第一帧图像到第n帧图像间每相邻两帧图像间进行结合所得到的;该相邻两帧图像的相对位姿为该相邻两帧图像的位姿变化关系;该相邻两帧图像的相对实时位姿为该相邻两帧图像的实时位姿变化关系;将该优化后的三维场景作为重建后的三维场景。
26.在上述实施例中,三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。电子设备基于重投影误差之和以及相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿差值建立目标函数对重建后的三维场景进行优化,将优化的三维场景作为重建后的三维场景,可以使得重建后的三维场景更加准确。
27.结合第二方面,该一个或多个处理器具体用于调用该计算机指令以使得该电子设
备执行:将该第一帧图像的摄像机坐标系作为该世界坐标系,确定该第一帧图像的位姿中的各参数为0;该第一帧图像的位姿中的各参数为0表示该摄像机在获取该第一帧图像时相对于该世界坐标系没有旋转以及平移;基于该第一帧图像以及第二帧图像中匹配的特征点以及该第一帧图像的位姿,确定该第二帧图像的位姿以及三维场景。
28.在上述实施例中,在上述实施例中,以第一帧图像的相机坐标系作为世界坐标系,操作过程简单就选取出了重建三维场景时涉及的参考坐标系。后面的图像,例如第二帧图像可以以该世界坐标系作为参考坐标系参与三维场景的重建。
29.结合第二方面,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:获取该第一帧图像中特征点的信息以及该第二帧图像中特征点的信息;其中第一帧图像中特征点的信息包括第一特征点的信息,该第一特征点的信息包括第一特征点的在该第一帧图像中的位置以及该第一特征点周围m个像素点的信息;基于该第一帧图像中特征点的信息以及该第二帧图像中特征点的信息确定该第一帧图像与该第二帧图像中匹配的特征点;其中,该第一特征点与该第二帧图像中的第二特征点匹配,该第二特征点为该第二帧图像中的一个特征点,该第二特征点的信息包括第二特征点的在该第二帧图像中的位置以及该第二特征点周围m个像素点的信息;该第一特征点与该第二特征点匹配是指该第一特征点周围m个像素点的信息与该第二特征点周围m个像素点的信息的相似性大于或者等于第一阈值;该第一特征点与该第二特征点匹配则该第一特征点与第二特征点在世界坐标系中对应同一三维点。
30.在上述实施例中,电子设备基于两帧图像匹配的特征点在世界坐标系中对应同一个三维点的原理完成对该三维场景的初始化以及后续的更新。
31.结合第二方面,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:从该图像序列中选取特征点匹配数量最多的两帧图像作为第一帧图像以及第二帧图像;或者,从该图像序列中选取特征点匹配数量大于或者等于第二阈值的两帧图像作为第一帧图像以及第二帧图像。
32.在上述实施例中,电子设备选取特征点匹配数量较多的两帧图像进行三维场景的初始化可以使得初始化得到的三维场景较为准确,便于后续进行更新。
33.结合第二方面,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:基于该第m帧图像中的第一类特征点以及该第一类特征点在该三维场景中对应的三维点确定该第m帧图像的位姿;该第一类特征点为该第m帧图像中满足第一条件的特征点,该满足第一条件为第一已注册图像中有第三特征点与该第一类特征点匹配且该第三特征点在该三维场景中有对应的三维点;该第一已注册图像为该已注册图像中一帧图像;该第一类特征点在该三维场景中对应的三维点为该第三特征点对应的三维点;基于该第m帧图像的位姿确定该第m帧图像中的第二类特征点对应的三维点以更新该三维场景,得到更新后的三维场景;该第二类特征点为该第m帧图像中满足第二条件的特征点,该满足第二条件为该第一已注册图像中有第四特征点与该第二类特征点匹配且该第四特征点在该三维场景中没有对应的三维点。
34.在上述实施例中,计算第m帧图像的实时位姿以用于对三维场景进行更新,消除重复纹理的影响,提高三维场景重建的准确性。
35.结合第二方面,该一个或多个处理器具体用于调用该计算机指令以使得该电子设
备执行:基于该第m帧图像的实时位姿将该第五特征点对应的三维点重投影到该第m帧图像中,得到投影后的第五特征点;删除该更新后的三维场景中满足第三条件的第五特征点所对应三维点以实现更新该更新后的三维场景;该满足第三条件为该第五特征点与其投影后的第五特征点之间的重投影误差大于或者等于第三阈值;该第五特征点与其投影后的第五特征点之间的重投影误差为该特征点与该投影后的特征点在该第m帧图像中的位置的欧式距离。
36.在上述实施例中,利用实时位姿计算重投影误差,删除重投影误差较大的三维点实现三维场景的更新,可以消除重复纹理的影响,提高三维场景重建的准确性。
37.结合第二方面,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:基于该第m帧图像中的第三类特征点以及该第三类特征点对应的三维点确定该第m帧图像的实时位姿;该第三类特征点为该第m帧图像中满足第四条件的特征点,该满足第四条件为该第m帧图像的相邻帧图像中有第六特征点与该第三类特征点匹配且该第六特征点有对应的三维点。
38.结合第二方面,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:利用该n帧图像与重建后的三维场景之间的重投影误差之和以及该n-1组相邻两帧图像的相对位姿以及相对实时位姿的差值之和构建目标函数;调整该重建后的三维场景中包括的三维点以使得该目标函数最小或者小于第四阈值;在该目标函数最小或者小于第四阈值的情况下,该电子设备将调整后的该重建后的三维场景中包括的三维点作为该优化后的三维场景。
39.在上述实施例中,如果三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
40.第三方面,本技术提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
41.上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。如果三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
42.第四方面,本技术提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面
或第一方面的任意一种实施方式所描述的方法。
43.上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。如果三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
44.第五方面,本技术提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
45.上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。如果三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
46.第六方面,本技术提供了一种计算机可读存储介质,包括指令,其特征在于,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
47.上述实施例中,电子设备在基于图像序列对三维场景进行重建的过程中,可以使用图像的实时位姿,以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。如果三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。上述实施例中的目标函数时基于该两方面的表现确定的,在调整三维场景中包括的三维点使得目标函数最小或者小于一个阈值的过程,则实现三维场景优化的过程。
附图说明
48.图1为电子设备拍摄场景时涉及的示意图;图2为不同视角下拍摄物体100时得到的图像;图3为三维场景重建的一个示意图;图4为本技术实施例中三维场景的重建方法的一个示意性流程图;图5本技术实施例提供的特征点的一个示意图;图6为描述特征点的长度时的一个示意图;
图7为电子设备进行三维场景的初始时涉及的一个示意图;图8为对第m帧图像进行注册的一个示意图;图9为基于第m帧图像的实时位姿更新三维场景的一个示意图;图10为重复纹理涉及的一个示意图;图11是本技术实施例提供的电子设备的结构示意图。
具体实施方式
49.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
50.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
51.由于本技术实施例涉及三维重建的应用,为了便于理解,下面先对本技术实施例涉及的相关术语及概念进行介绍。
52.(1)三维场景的重建三维场景的重建即是基于一个三维场景(可以简称为场景)的图像系列,通过三维重建技术推导出该三维场景的三维信息。例如,摄像机可以获取场景a的图像序列,该图像序列中包括至少两帧二维图像,任一帧图像中可以包括场景a的信息,电子设备可以基于三维重建技术对该图像序列进行分析,推到出该场景a的三维信息,还原被拍摄的场景a。
53.图1为电子设备拍摄场景时涉及的示意图。
54.通常来说,电子设备可以进行多视角的拍摄以获取场景的图像序列,这样,可以从图像序列中获取场景的多个视角的信息,以提高场景重建的准确性。如图1所示,物体100(即图1中的长方形)为被拍摄的场景,图标101表示电子设备的摄像机拍摄该场景时的位姿,电子设备的摄像机可以通过图标101对应的位姿拍摄物体100。
55.应该理解的是,图像1中有多个图标101,此处只标注了三个图标101以作解释,其他类似的形状也为图标101,此处不再一一标注。其中,关于摄像机的位姿可以参考下文中对术语(2)的详细描述,此处暂不赘述。
56.对于同一场景,电子设备的摄像机在拍摄该场景时,对应的位姿不同(即拍摄该场景的视角不同),则获取到的图像中该场景呈现的内容不同。电子设备可以按照图1中示出的摄像机的位姿获取图像序列a,该图像序列a中包括n帧图像,其中的一帧图像为物体100在一个视角下的图像。例如,图2为不同视角下拍摄物体100时得到的图像。如图2所述,在摄像机的位姿a如图标201a所指示的情况下,其拍摄的图像可以为图像201b。在摄像机的位姿b如图标202a所指示的情况下,其拍摄的图像可以为图像202b。在摄像机的位姿c如图标203a所指示的情况下,其拍摄的图像可以为图像203b。即图像201b、图像202b以及图像203b所示的为图像序列a中三帧图像。
57.如图3所示,基于图像序列a中的全部或者部分图像重建三维场景,这里所指三维场景可以用该三维场景对应的稀疏的三维点集合(也可以被称为三维点云)表示,该三维点集合中的包括该三维场景对应的若干个三维点。
58.(2)摄像机的位姿摄像机的位姿用于摄像机拍摄图像时,该摄像机的摄像机坐标系相对于世界坐标系的位置以及姿态或者摄像机相对于世界坐标系的位置以及姿态,也可以被称为绝对位姿。摄像机的位姿中包括该摄像机的摄像机坐标系相对于世界坐标系的姿态可以利用旋转矩阵来表示,记为r。摄像机的位姿中包括该摄像机的摄像机坐标系相对于世界坐标系的位置可以利用平移矩阵来表示,记为t。则摄像机的位姿可以利用矩阵r,t来表示。
59.其中,世界坐标系作为一个参考坐标系,其由原点、x轴、y轴以及z轴组成。世界坐标系可以用于描述场景(例如前述涉及的物体100)在真实世界中的位置,对于场景中的点a,可以在世界坐标系中确定该点a对应的三维信息,记为(x,y,z),其中x表示该点a距离x轴的距离,y表示该点a距离y轴的距离,z表示该点a距离z轴的距离。该场景中的若干个点相对于该世界坐标系中的三维信息可以作为该场景的三维点集合。则在同一世界坐标系下,该场景中的若干个点相的三维信息可以重建得到该场景。
60.摄像机的一个位姿包六个参数,分别是三个位置参数以及三个姿态参数。其中,三个位置参数可以为摄像机相对于世界坐标系的x轴的距离,y轴的距离以及z轴的距离。三个姿态参数可以为摄像机相对于世界坐标系的x轴的旋转角度,世界坐标系的y轴的旋转角度以及世界坐标系的z轴的旋转角度。
61.应该理解的是,摄像机在位姿a下拍摄场景得到图像a时,图像a中可以记录场景a在一个视角下的若干个像素点的信息,其中一个像素点a的信息包括该像素点a在图像坐标系中的位置(u,v),或者还可以包括该像素点a的颜色信息等。该像素点a的位置(u,v)、该像素点a在世界坐标系中的三维信息之间存在转换关系:可以通过位姿a以及该像素点a的位置(u,v)得到像素点a在世界坐标系中的三维信息(x,y,z),也可以通过像素点a在世界坐标系中的三维信息(x,y,z)以及位姿a得到该像素点a的位置(u,v)。
62.其中,图像坐标系通常是以图像的左上角作为原点,图像的两边分别为u轴以及v轴建立的坐标系。
63.本技术实施例中,提供了一种三维场景的重建方法,电子设备可以通过摄像机拍摄三维场景的图像序列,该图像序列中包括摄像机在不同的位姿下拍摄的n帧图像。对于该图像序列中的任一帧图像,电子设备可以提取该帧图像中的特征点。然后,基于该图像序列中的两两图像,进行特征点匹配。然后,电子设备选取图像序列中的第一帧图像以及第二帧图像,基于该两帧图像中匹配的特征点对该两帧图像进行注册,得到初始化的三维场景。之后,电子设备对于图像序列中其他图像,进行注册,利用其他图像的特征点以及位姿不断更新三维场景。例如,选取图像序列中第m帧图像(该第m帧图像没有被注册),基于该第m帧图像中与已注册的图像匹配的特征点,对该第m帧图像进行注册,更新该三维场景,得到更新后的三维场景,该更新后的三维场景中包括t个三维点。然后,电子设备还可以基于该第m帧图像的实时位姿,对前述更新后的三维场景中包括的t个三维点进行验证,确定出t个三维点中由于重复纹理产生的错误三维点,删除错误三维点以实现再次更新该三维场景。在一种可能的实现方式中,在图像序列中的全部图像都完成注册之后,则对该三维场景进行优
化。其中,对三维场景进行更新的方式为:结合全部图像与更新后的三维模型之间的重投影误差之和以及n-1组图像的相对位姿,对该更新后的三维场景进行优化,得到优化后的三维场景,其中,该n-1组图像为对第一帧图像到第n帧图像间每相邻两帧图像间进行结合所得到的。
64.其中,一帧图像的实时位姿是指摄像机在拍摄该场景得到该帧图像时与拍摄相邻帧图像时摄像机旋转和平移情况,也可以被称为相对位姿,对该实时位姿的描述可以参考下述对步骤s106中相关的内容,此处暂不赘述。
65.应该理解的是,图像完成注册是指该图像参与了三维场景的更新,对三维场景的更新做出了贡献。其具体解释可以参考下述对步骤s104或105的描述,此处暂不赘述。
66.这样,在对图像序列中的图像进行注册更新以及优化三维场景的过程中,使用了图像的实时位姿对三维场景中包括的全部三维点进行验证,除去全部三维点中由于重复纹理产生的错误三维点,这样可以消除重复纹理对三维场景的重建所产生的不良影响,提高重建三维场景的准确性。
67.下面,对本技术实施例中涉及的三维场景的重建方法进行详细描述。
68.图4为本技术实施例中三维场景的重建方法的一个示意性流程图。
69.该方法涉及的详细过程可以参考下述对步骤s101-步骤s108的描述。
70.s101.电子设备获取图像序列,该图像序列是电子设备拍摄三维场景时得到的n帧图像。
71.在一些实施例中,电子设备可以通过摄像机拍摄三维场景,得到图像序列,该图像序列中包括n帧图像,其中n为大于等于2正整数。图像序列中的每一帧图像中的像素点可以包括该三维场景中的二维信息,可以认为该图像序列中的每一帧图像都是二维图像。例如,该被拍摄的三维场景可以为前述图1中示出的物体100,电子设备可以通过图1中示出的位姿(视角)拍摄该被拍摄场景,得到图像序列。
72.在另一些实施例中,该三维场景的图像序列还可以是其他电子设备获取之后,发送给电子设备的。
73.s102.对于图像序列中任一图像,电子设备提取其中的特征点,得到全部图像的特征点信息。
74.其中,一帧图像中的特征点是指图像中具有尺度不变性的像素点。一个特征点的灰度值可以发生剧烈变化或者在图像边缘上曲率较大。特征点可以反映图像的本质特征,标识图像中的物体,常用于图像匹配。
75.如图5所示,为特征点的一个示意图。
76.其中,一个特征点的信息可以包括但不限于以下两种。
77.(1)特征点在图像中的位置(图像坐标系下的位置)。例如,如图5所述,图像a中的一个特征点可以为p点,其在图像a中的位置可以表示为(u1,v1),图像b中的一个特征点可以为点,其在图像b中的位置可以表示为(u2,v2)。
78.(2)特征点周围m个像素点的信息,该信息包括像素点的位置、颜色以及方向等。特征点周围m个像素点的信息也可以被称为该特征点的描述子,通常可以用128维的数据进行表示。例如,图像a中的特征点p周围m个像素点可以包括区域501中的像素点。图像b中的特征点周围m个像素点可以包括区域502中的像素点。
79.综上所述,可以称特征点的信息包括特征点对应的位置以及特征点对应的描述子。提取图像的特征点即是获取图像的特征点的过程。
80.结合前述图5,详细描述特征点的尺度不变性:图像b相对于图像a变小了,但是特征点p以及特征点周围的m个像素点呈现出的内容是不变的,只是大小发生了变化。
81.步骤s102中,可以提取出图像序列中每一帧图像中的特征点,得到全部图像的特性点信息。在一些可能的情况下,电子设备可以基于尺度不变特征变换(scale-invariant feature transform,sift)算法或加速稳健特征(speeded up robust features, surf)算法等提取每一帧图像中的特征点。也可以利用其他的算法提取每一帧图像中的特征点。例如,特征检测(oriented fast and rotated brief,orb)算法等,本技术实施例对此不作限定。
82.s103.电子设备基于图像序列中的两两图像的特征点进行图像匹配。
83.两两图像间的图像匹配是指将两帧图像中相同的特征点进行匹配,即确定两帧图像中相同的特征点。两个特征点相同是指该两个特征点对应的描述子的相似性大于或者等于第一阈值(例如0.01等)(也可以表示两个特征点周围m个像素点的信息相似性大于或者等于第一阈值)。在一种可能的情况下,可以利用两个特征点对应的描述子间的欧氏距离表示两个特征点对应的描述子的相似性,欧氏距离越小,则表示两个特征点越相似。
84.应该理解的是,特征点相同则表示特征点匹配。
85.电子设备基于图像序列中的两两图像的特征点进行图像匹配的方式包括但不限于以下方式。
86.(1)对于图像序列中每一帧图像,都将该帧图像与其他图像进行图像匹配,确定该帧图像的特征点与其他图像匹配的特征点。例如,这里以图像序列中有三帧图像为例,包括图像1、图像2以及图像3。则在该方式中,可以确定将图像1分别与图像2以及图像3进行图像匹配,确定图像1与图像2中匹配的全部特征点以及图像1与图像3中匹配的全部特征点。对于图像2以及图像3,进行图像匹配,确定图像2与图像3中匹配的全部特征点。
87.(2)电子设备还可以确定图像序列中的相似图像对,然后计算任一相似图像对中匹配的特征点。其中,任一相似图像对中包括两帧相似图像。其中,电子设备可以利用词袋检索算法等方法确定相似图像对。
88.(3)电子设备从图像序列中选取一帧图像,将该帧图像作为第一帧图像,依次计算后一帧图像与相邻帧图像中匹配的特征点,得到每帧图像中每一个特征点的长度,特征点的长度是指该特征点与其他全部图像中连续出现且相同特征点的数目。例如,参考图6所示,以图像序列中包括图像1、图像2、图像3以及图像4为例。以图像1为第一帧图像,图像2为第二帧图像、图像3为第三帧图像,图像4为第4帧图像,电子设备确定这四帧图像中相邻帧图像与后一帧图像中匹配的特征点,即可得到每帧图像中每一个特征点的长度。对于特征点p1,其连续出现在了四帧图像中,则该特征点p1的长度为3。对于特征点p2,其连续出现在了三帧图像中,则该特征点p2的长度为2。对于特征点p3,其连续出现在了两帧图像中,则该特征点p3的长度为1。
89.s104.电子设备选取图像序列中的第一帧图像以及第二帧图像,基于两帧图像中匹配的特征点对该两帧图像进行注册,得到初始化的三维场景。
90.对图像进行注册是指利用图像完成对三维场景的重建,该重建包括初始化以及下
述涉及的更新。
91.电子设备从图像序列中选取两帧图像作为第一帧图像以及第二帧图像的方式包括但不限于以下方式。
92.(1)电子设备可以从图像序列中随机选取两帧图像作为第一帧图像以及第二帧图像。
93.(2)电子设备可以从图像序列中选取特征点匹配数量最多的两帧图像作为第一帧图像以及第二帧图像。
94.(3)记两帧图像中匹配的特征点数量为c,两帧图像中的特征点总数为d,在大于第二阈值的情况下,电子设备可以从图像序列中选取该两帧图像作为第一帧图像以及第二帧图像。
95.(4)记两帧图像中匹配的特征点中,长度大于第三阈值的特征点的数量为e,两帧图像中的特征点总数为d,在大于第四阈值的情况下,电子设备可以从图像序列中选取该两帧图像作为第一帧图像以及第二帧图像。
96.电子设备基于第一帧图像以及第二帧图像中匹配的特征点对该两帧图像进行注册,得到初始化的三维场景的描述如下。
97.电子设备确定第一帧图像对应的摄像机坐标系作为世界坐标系,即电子设备的摄像机在拍摄第一帧图像时相对于世界坐标系没有旋转以及平移。则第一帧图像的位姿(拍摄第一帧图像时摄像机的位姿)涉及的六个参数分别为0。然后利用第一帧图像以及第二帧图像中匹配的特征点,确定第二帧图像的位姿(拍摄第二帧图像时摄像机的位姿)以及匹配的特征点在世界坐标系中的三维点,其中,第二帧图像的位姿描述的是摄像机在拍摄三维场景得到第二帧图像时相对于得到第一帧图像时的旋转以及平移(即相对于世界坐标系的旋转以及平移)。其中,第一帧图像以及第二帧图像中全部匹配的特征点在世界坐标系中的三维点的集合即为初始化的三维场景。第一帧图像对应的摄像机坐标系可以在电子设备拍摄第一帧图像时确定。
98.图7为电子设备进行三维场景的初始时涉及的一个示意图。
99.该过程涉及的公式如下。
100.如图7所示,第一帧图像中的特征点q1与第二帧图像中的特征点q2匹配,其在世界坐标系中都对应三维点q。公式(1)中,s1以及s2表示三维点q在摄像机坐标系中的z坐标值(即深度),k为摄像机的内参矩阵。r2,t2即为第二帧图像的位姿。其中,s1可以根据在第一帧图像中的位置以及摄像机坐标系确定,s2可以根据在第二帧图像中的位置以及摄像机坐标系确定,对于电子设备的摄像机来说,摄像机坐标系以及内参矩阵时已知的参数。因此,公式(1)中的未知数可以包括r2、t2、q,利用两帧图像中w(通常为8个)个匹配的特征点即可确定r2、t2,以及该两帧图像中匹配的特征点在世界坐标系中的三维点的集合。在一种可能的情况下,电子设备可以利用 (random sample consensus,ransac)随机抽样一致算法
或者归一化八点法等算法中的一个或多个算法的结合,从该两帧图像匹配的特征点中确定w个匹配的特征点。
101.s105.电子设备选取图像序列中的第m帧图像,基于该第m帧图像中与已注册的图像匹配的特征点,对该第m帧图像进行注册,更新三维场景。
102.该第m帧图像为图像序列中还没有进行注册的图像中的一帧图像。
103.对该第m帧图像进行注册是指确定该第m帧图像中与已注册的图像匹配的特征点在世界坐标系中三维点的集合,在原来的三维场景中新增了一些新的三维点,即更新了原来的三维场景。同时,还可以得到该第m帧图像的位姿。
104.电子设备从还没有进行注册的图像中选择第m帧图像的方式可以包括但不限于以下方式。
105.(1)随机从没有进行注册的图像中选择一帧图像作为该第m帧图像。
106.(2)按照拍摄时间的靠前的原则选择没有进行注册的图像拍摄时间最靠前的一帧图像作为该第m帧图像。
107.(3)选择没有进行注册的图像中特征点数量最多的一帧图像作为该第m帧图像。
108.图8为对第m帧图像进行注册的一个示意图。
109.下面结合图8详细描述步骤s105。
110.结合前述内容以及如图8所示,第一帧图像中的特征点q1以及第二帧图像中的特征点q2匹配,特征点q1以及特征点q2在世界坐标系中对应三维点q。
111.电子设备首先确定该第m帧图像中与已注册图像集合中匹配的特征点。其中,已注册图像中包括已经注册的全部图像。如图8所示,已注册图像集合中包括第一帧图像以及第二帧图像。该第m帧图像中与第一帧图像中匹配的特征点包括特征点q3以及特征点f2,该第m帧图像中与第二帧图像中匹配的特征点包括特征点q3以及特征点g2,即该第m帧图像中与已注册的全部图像中匹配的特征点包括特征点q3、特征点g2以及特征点f2。
112.然后,电子设备确定该第m帧图像中与已注册图像集合匹配的特征点中的第一类特征点以及第二类特征点。其中,第一类特征点是指该特征点有对应的三维点,例如,图8中示出的特征点q3,该特征点q3对应的三维点为q。第二类特征点是指该特征点没有对应的三维点,例如图8中示出的特征点g2以及特征点f2。
113.其中,电子设备确定该第m帧图像中与已注册图像集合匹配的特征点中的一个特征点(下述称为特征点1)为第一类特征点的方式为:电子设备确定该特征点1与已注册图像中的任一帧图的特征点(下述称为特征点2)匹配,如果该特征点2对应一个三维点(记该三维点为三维点1),则该三维点1也是该特征点1对应的三维点,则电子设备确定该特征点1为第一类特征点。电子设备确定特征点1为第二类特征点的方式为:电子设备确定已注册图像集合中全部已注册图像中与该特征点1匹配的特征点都没有对应一个三维点,则确定该特征点1为第二类特征点。
114.电子设备可以基于该第m帧图像与已注册图像集合匹配的特征点中的第一类特征点确定该第m帧图像的位姿(拍摄m帧图像时摄像机的位姿)。该过程可以参考下述公式(2)。
115.公式(2)中,s表示深度,表示一个第一类特征点(记为特征点3)在该第m帧图像中的图像坐标系下的位置对应的齐次坐标系。表示该特征点3对应的三维点(记为三维点2)在世界坐标系中的位置对应的齐次坐标系。k为摄像机的内参矩阵。rm,tm即为该第m帧图像的位姿。公式(2)中的未知数可以包括rm以及tm。利用j个(例如3个等)第一类特征点及其对应三维点即可确定rm以及tm。在一种可能的情况下,电子设备可以利用角度-n-点(perspective-n-point,pnp)算法,角度-3-点(perspective-3-point,p3p)算法等算法中的一个或多个算法的结合,基于该第m帧图像的特征点中的第一类特征点及其对应三维点确定该第m帧图像的位姿。
116.应该理解的是,此处求取的第m帧图像的位姿其与已注册图像中的任一帧图像都可以相关,是基于世界坐标系而言的。
117.在确定出该第m帧图像的位姿之后,基于该第m帧图像的特征点中第二类特征点,更新三维场景,该过程包括:对于其中的每一个第二类特征点,基于该第m帧图像的位姿,确定该第二类特征点对应的三维点,即利用第二类特征点在第m帧图像中的位置(图像坐标系中的)以及该第m帧图像的位姿将其转换到世界坐标系中,确定其在世界坐标系中的位置。这样,可以得到全部第二类特征点对应的三维点集合,完成三维场景的更新。其中,更新后的三维场景中可以包括全部第一类特征点对应的三维点集合以及全部第二类特征点对应的三维点集合。其中,对于其中的一个第二类特征点,确定其对应的三维点的公式可以参考如下公式(3)。
118.公式(3)中,hm表示第m帧图像中的一个第二类特征点,h表示特征点hm对应的三维点h在世界坐标系中的位置对应的齐次坐标系。i表示已注册图像中的一帧图像(记为图像i),该帧图像中的特征点hi与该第m帧图像中的特征点hm对应。公式(3)中的hi表示特征点hi在图像i中的位置(图像坐标系下的位置)对应的齐次坐标系。hm表示特征点hm在图像i中的位置(图像坐标系下的位置)对应的齐次坐标系。ri,ti表示图像i的位姿。rm,tm表示第m帧图像的位姿,k为摄像机的内参矩阵,公式(3)中的未知数为h。
119.应该理解的是,除了上述公式(3)是一个示例,不应该构成对本技术实施的限定,还可以利用其他的方法确定一个第二类特征点对应的三维点,例如利用前述涉及的公式(2)等。
120.s106.电子设备基于该第m帧图像的实时位姿对前述更新后的三维场景进行验证,去除该三维场景中的错误三维点以再次更新三维场景,该错误三维点为第m帧图像的特征点对应的三维点中的部分或全部。
121.其中,错误三维点中包括三维点a,该三维点a为错误三维点表示电子设备基于实时位姿将该三维点a(投影前的)重投影到该第m帧图像中得到投影后的三维点a之后,该投
影后的三维点a与投影前的三维点a重投影误差大于或者等于第五阈值。
122.对于前述步骤s105得到的三维场景,电子设备可以将该第m帧图像中全部的第一类特征点以及第二类特征点(后文中可以将该第一类特征点以及第二类特征点称为投影前的特征点)对应的三维点基于该实时位姿重投影到该第m帧图像中,得到投影后全部特征点,电子设备可以删除重投影误差大于或者等于第五阈值的全部特征点对应的三维点,作为步骤s106中涉及的更新后的三维场景。例如,对于其中的每一个投影前的特征点(记为特征点4),基于该实时位姿将特征点4对应的三维点重投影到该第m帧图像中,得到其(特征点4)投影后的特征点,计算该特征点4与其(特征点4)投影后的特征点的重投影误差,该重投影误差可以利用该特征点4以及其(特征点4)投影后的特征点在该第m帧图像中的位置的欧式距离来表示,当重投影误差大于第五阈值的情况下,则在前述步骤s105中得到的三维场景中删除该特征点4对应的三维点。电子设备可以将全部特征点对应的三维点进行重投影,删除重投影误差大于第五阈值的全部特征点对应的三维点,更新三维场景。
123.其中,第m帧图像的实时位姿,是基于该第m帧图像的相邻帧图像确定的。其中,相邻帧图像是指在拍摄三维场景得到视频序列中的过程中,该第m帧图像的前j1帧图像,j1为大于等于1的正整数,例如1或者2等。下述内容中以j1等于1为例进行说明。
124.实时位姿描述的是摄像机在拍摄该第m帧图像与拍摄该相邻帧图像时的旋转以及平移。其可以用于消除重复纹理对三维场景的重建所产生的不良影响。
125.应该理解的是,计算每一帧图像的实时位姿时,仍然可以以第一帧图像的的摄像机坐标系作为世界坐标系。即前述涉及的第一帧图像的实时位姿对应的六个参数分别为0以及第二帧图像的实时位姿可以为前述涉及的第二帧图像的位姿。
126.图9为基于第m帧图像的实时位姿更新三维场景的一个示意图。
127.首先,电子设备基于该第m帧图像中与相邻帧图像中匹配的特征点中的第三类特征点,并且确定全部第三类特征点对应的三维点。其中,一个特征点为第三类特征点是指该特征点与相邻帧图像中的特征点匹配,且有对应的三维点。例如图9中的(a)所示出的特征点qr、特征点fr以及特征点gr,其中,特征点qr与相邻帧图像中的特征点q
l
匹配,其对应的三维点为q,特征点gr与相邻帧图像中的特征点g
l
匹配,其对应的三维点为g,特征点qr与相邻帧图像中的特征点q
l
匹配,其对应的三维点为q。
128.然后,电子设备可以基于全部第一类特征点及其对应的三维点确定该第m帧图像的实时位姿。该过程可以参考下述公式(4)。
129.公式(4)中,s表示深度,表示一个第三类特征点(记为特征点5)在该第m帧图像中的位置(图像坐标系下的)对应的齐次坐标系。表示该特征点5对应的三维点(记为三维点3)在世界坐标系中的位置对应的齐次坐标系。k为摄像机
的内参矩阵。,即为该第m帧图像的实时位姿。公式(4)中的未知数可以包括以及。利用j个(例如3个等)第三类特征点及其对应三维点即可确定以及。在一种可能的情况下,电子设备可以利用orb-slam(oriented fast and rotated brief
‑ꢀ
simultaneous localization and mapping)算法或者vins-mono算法等算法中的一个或多个算法的结合,基于该第m帧图像的特征点中的第三类特征点及其对应三维点确定该第m帧图像的实时位姿。
130.然后,电子设备基于该第m帧图像的实时位姿,将第一类特征点以及第二类特征点对应的三维点重投影到该第m帧图像中。例如,三维点f、q以及g重投影到该m帧图像中的对应的投影后的特征点分别为fc、qc以及gc。
131.然后,电子设备计算全部投影后的特征点(包括投影后的第一类特征点以及投影后的第二类特征点)与投影前的特征点(投影前的第一类特征点以及投影前的第二类特征点)的重投影误差,该重投影误差可以表示为投影前的特征点与投影后的特征点在该第m帧图像中的位置的欧式距离。删除重投影误差大于第五阈值的全部特征点对应的三维点,更新三维场景。这里以一个特征点为例进行说明,其他特征点的描述可以参考该过程:例如,如图9中的(b)所示,投影前的特征点为特征点fr,其投影后的特征点为特征点fc。特征点fr以及特征点fc的欧式距离可以表示为图9中的(b)中的距离d。在该距离d大于第五阈值的情况下,电子设备可以删除三维场景中特征点fr对应的三维点f。
132.其中,电子设备对一个特征点对应的三维点进行重投影得到投影后的特征点对应的公式可以参考前述涉及的公式(2)以及公式(3),此处不再赘述。
133.其中,关于重复纹理的相关内容以及使用实时位姿可以消除重复纹理对三维场景的重建所产生的不良影响的相关内容可以参考下述描述:图10为重复纹理涉及的一个示意图。
134.重复纹理是指一帧图像与另一帧图像中存在相似的内容(即多个连续的像素点呈现的画面相同),但该部分内容对应到世界坐标系不是相同的物体。其中一种存在重复纹理的情况可以如图10所示,区域301b、区域302b以及区域303b不是相同的被拍摄物体,但这三个被拍摄物体相似,当不同的图像中包括这三个区域中的一个或多个时,则会存在重复纹理。例如,对于物体100,摄像机的位姿1在如图标301a所指示的情况下,可以拍摄区域301b,得到图像1。摄像机的位姿2在如图标302a所指示的情况下,拍摄区域302b,得到图像2。摄像机的位姿3在如图标303a所指示的情况下,拍摄区域303b,得到图像3。则图像1中包括区域301b、图像2中包括区域302b以及图像3中包括区域303b,但则三个区域不是相同的物体,是相似的物体,则图像1、图像2以及图像3中存在重复纹理。
135.应该理解的是,对于图像a以及图像b中的重复纹理,电子设备在提取图像a以及图像b中的特征点时,如果把重复纹理中的像素点作为了特征点,则在前述步骤s103中,对图像序列中的两两图像间的特征点进行匹配的过程中,会存在把图像a以及图像b中基于重复纹理提取的特征点匹配起来情况,这种情况可以被称为误匹配,在后续步骤s105中可能存在利用误匹配的特征点确定出错误的三维点的情况,降低三维场景重建的准确性。
136.而在步骤s106中,利用该第m帧图像的实时位姿,可以消除前述由于误匹配导致的对三维场景重建的不良影响。因为实时位姿描述的是摄像机在拍摄该第m帧图像与拍摄该
相邻帧图像时的旋转以及平移。相邻帧图像与该第m帧图像拍摄的物体通常来说是相同物体,存在重复纹理的情况较小,不会导致误匹配。当步骤s105中该第m帧图像利用误匹配的特征点确定出错误的三维点时,如果基于该第m帧图像的实时位姿将该错误的三维点重投影到该第m帧图像时得到投影后的特征点时,则与该误匹配的特征点存在较大重投影误差,电子设备可以将该误匹配的特征点对应的错误的三维点删除,从而消除重复纹理对三维场景的重建所产生的不良影响。
137.s107.电子设备确定是否所有图像都完成了注册。
138.在电子设备确定所有图像都完成了注册的情况下,执行步骤s108。
139.在电子设备确定存在图像没有完成注册的情况下,则执行步骤s105-步骤s107。
140.前述涉及的步骤s105至步骤s107是循环执行的过程,知道电子设备确定图中序列中的全部图像都完成了注册,才停止循环,执行步骤s107。
141.s108.电子设备结合全部图像与更新后的三维场景之间的重投影误差之和以及n-1组相邻两帧图像的相对位姿以及相对实时位姿,对该更新后的三维场景进行优化,得到优化后的三维场景,其中,该n-1组相邻两帧图像为对第一帧图像到第n帧图像间每相邻两帧图像间进行结合所得到的。
142.对三维场景进行优化包括调整该三维场景中包括的全部三维点,还可以包括调整图像序列中每一帧图像的位姿。此处以调整该三维场景中包括的全部三维点以及调整图像序列中每一帧图像的位姿为例进行说明。实际情况中可以只调整该三维场景中包括的全部三维点。
143.全部图像与更新后的三维场景之间的重投影误差之和包括图像序列中的每一帧图像中的全部特征点对应的三维点重投影到该帧图像中之后的重投影误差。
144.相对位姿是指相邻两帧图像间的位姿变化关系,相对实时位姿是指相邻两帧图像间的实时位姿变化关系。相邻两帧图像是指拍摄时间上相差j2帧的图像,其中,j2为大于等于1的正整数,例如1或者2等,当j2为1时,若图像序列中包括n帧图像,则可以包括n-1组相邻两帧图像,具有n-1组相邻两帧图像的相对位姿以及相对实时位姿。其中,关于位姿以及实时位姿的相关描述可以参考前述相关内容,此处暂不赘述。
145.应该理解的是,三维场景的重建越准确,则存在以下两方面的表现:第一方面:全部图像与更新后的三维场景之间的重投影误差之和越小。第二方面:相邻两帧图像的相对位姿以及相邻两帧图像的相对实时位姿越接近(差值越小越接近),越接近则表示特征点匹配准确率越高,得到的三维点越准确。
146.基于上述两方面的表现,可以利用三维场景中包括的全部三维点以及每一帧图像的位姿以及实时位姿构建目标函数,该目标函数中包括全部图像与更新后的三维场景之间的重投影误差之和以及n-1组相邻两帧图像的相对位姿以及相对实时位姿的差值之和,当目标函数取值最小时,或者小于第六阈值时,表示三维场景中包括的全部三维点以及每一帧图像的位姿越准确,即可实现三维场景的优化,该过程可以参考下述公式(5)。
147.公式(5)中,a表示第a帧图像,a的取值为1-n。b为第a帧图像中的第b个特征点对应的三维点,则表示第a帧图像中的第b个特征点位置。k为摄像机的内参矩阵,表示第
a帧图像的位姿,表示第a帧图像中的第b个特征点对应的三维点。表示将第a帧图像中的第b个特征点对应的三维点重投影到第a帧图像中得到的特征点的位置。则表示全部图像与更新后的三维场景之间的重投影误差之和。p1表示全部图像与更新后的三维场景之间的重投影误差之和在目标函数中的权重。
148.公式(5)中,中的e1表示第c组相邻两帧图像的相对位姿,tc表示第c帧图像的位姿,t
c 1
表示第c帧图像的相邻帧图像的位姿。表示第c组相邻两帧图像的相对实时位姿,ec表示第c帧图像的实时位姿,e
c 1
表示第c帧图像的相邻帧图像的实时位姿。表示n-1组相邻两帧图像的相对位姿以及相对实时位姿的差值之和,p2表示n-1组相邻两帧图像的相对位姿以及相对实时位姿的差值之和在目标函数中的权重。通常来说p1 p2=1。
149.在一种可能的实现方式中,电子设备可以先为ta以及tb设置一个初始值,然后,不断调整该初始值直到目标数函数最小或者小于第六阈值,即可完成对该三维场景的优化。得到调整后的该三维场景中包括的全部三维点以及调整后的图像序列中每一帧图像的位姿。在一种可能的实现方式中,电子设备可以利用捆绑调整(bundle adjustments,ba)算法等算法对目标函数进行优化。
150.还应该理解的是,前述描述中涉及的字母,例如t,r等的具体含义应该参见涉及该字母处的描述,重复的相同的字母可能不表示相同的含义,具体含义参见涉及该字母处的描述。
151.下面介绍本技术实施例提供的示例性电子设备。
152.图11是本技术实施例提供的电子设备的结构示意图。
153.下面以电子设备为例对实施例进行具体说明。应该理解的是,电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
154.电子设备可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
155.可以理解的是,本技术实施例示意的结构并不构成对电子设备的具体限定。在本技术另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合
实现。
156.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
157.其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
158.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
159.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
160.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。
161.i2s接口可以用于音频通信。
162.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。
163.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。
164.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。
165.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。
166.sim接口可以被用于与sim卡接口195通信,实现传送数据到sim卡或读取sim卡中数据的功能。
167.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
168.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本技术另一些实施例中,电子设备也可以采用上述实
施例中不同的接口连接方式,或多种接口连接方式的组合。
169.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
170.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
171.电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
172.天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
173.移动通信模块150可以提供应用在电子设备上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
174.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。
175.无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),等无线通信的解决方案。
176.在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。
177.电子设备通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
178.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)。
179.电子设备可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
180.isp 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,颜色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
181.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导
体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备可以包括1个或n个摄像头193,n为大于1的正整数。
182.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
183.视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频。
184.npu为神经网络(neural-network ,nn)计算处理器,通过借鉴生物神经网络结构。
185.内部存储器121可以包括一个或多个随机存取存储器(random access memory, ram )和一个或多个非易失性存储器(non-volatile memory, nvm)。
186.随机存取存储器可以包括静态随机存储器(static random-access memory, sram)、动态随机存储器(dynamic random access memory, dram)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
187.快闪存储器按照运作原理划分可以包括nor flash、nand flash、3d nand flash等。
188.随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
189.非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
190.外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
191.电子设备可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
192.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
193.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170a收听音乐,或收听免提通话。
194.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
195.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
196.耳机接口170d用于连接有线耳机。
197.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。
198.陀螺仪传感器180b可以用于确定电子设备的运动姿态。
199.气压传感器180c用于测量气压。
200.磁传感器180d包括霍尔传感器。电子设备可以利用磁传感器180d检测翻盖皮套的
开合。
201.加速度传感器180e可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
202.距离传感器180f,用于测量距离。电子设备可以通过红外或激光测量距离。
203.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。
204.环境光传感器180l用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备是否在口袋里,以防误触。
205.指纹传感器180h用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
206.温度传感器180j用于检测温度。
207.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。
208.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
209.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
210.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
211.sim卡接口195用于连接sim卡。
212.本技术实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得电子设备执行本技术实施例中的三维场景的重建方法。
213.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
214.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
215.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机
指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
216.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献