本技术涉及到人工智能,特别是涉及到一种基于物体运动的深度估计方法、装置、设备及介质。
背景技术:
1、在移动机器人视觉感知领域,为了让移动机器人能对场景中的运动的物体有实时感知能力,便于机器人进行路径规划和控制,需要对场景深度进行准确的估计。现有的时序多帧深度估计方法会受场景中运动的物体的影响,即场景中的运动的物体会导致运动中的相机拍摄的两帧图像并不是同一个场景。当图像中的物体本身存在运动时使两帧图像场景出现变化,导致物体深度估计错误,进而导致场景深度估计错误,比如,当相机前方出现一个与相机自身运动同向且速度接近的物体时,模型会倾向将物体深度预测为无穷远,因为在从运动图像恢复深度的过程中会假设场景都是静态的,而这种运动的物体在图像上变化不大,只有无穷远处的物体才会在运动图像中保持相对不变。
技术实现思路
1、本技术的主要目的为提供一种基于物体运动的深度估计方法、装置、设备及介质,旨在解决现有采用时序多帧深度估计方法估计场景深度时,因图像中的物体本身存在运动时使两帧图像场景出现变化,导致物体深度估计错误,进而导致场景深度估计错误的技术问题。
2、为了实现上述发明目的,本技术提出一种基于物体运动的深度估计方法,所述方法包括:
3、获取第i帧初始图像和所述第i帧初始图像对应的各个物体掩膜;
4、根据预设的单帧深度估计模型,对获取的第i-1帧初始图像进行每个像素的深度估计,得到第i-1帧初始深度图;
5、根据预设的物体运动估计模型,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行物体运动估计,得到各个物体运动数据;
6、根据各个所述物体运动数据、所述第i-1帧初始深度图和所述第i-1帧初始图像对应的各个所述物体掩膜,对所述第i-1帧初始图像中的物体进行位置调整,得到第i-1帧调整后图像;
7、将所述第i帧初始图像和所述第i-1帧调整后图像输入预设的时序多视图深度估计模型进行深度估计,得到第i帧目标深度图。
8、进一步地,所述根据预设的单帧深度估计模型,对获取的第i-1帧初始图像进行每个像素的深度估计,得到第i-1帧初始深度图的步骤之前,包括:
9、获取多个第一训练样本、第一计数器和第二计数器,其中,各个所述第一训练样本是时序上相邻的图像,将所述第一计数器初始化为2,将所述第二计数器初始化为1;
10、从各个所述第一训练样本中获取排序与所述第一计数器对应的所述第一训练样本作为第一目标样本,并从各个所述第一训练样本中获取排序与所述第二计数器对应的所述第一训练样本作为参考样本;
11、将所述第一目标样本输入预设的第一模型的深度估计模块进行每个像素的深度估计,得到第一深度图,根据所述第一模型的相机位姿变换估计模块,对所述参考样本和所述第一目标样本进行相机位姿变换数据预测,根据所述相机位姿变换数据和所述第一深度图,将所述参考样本投影到与所述第一目标样本对应的视角下,得到投影图像;
12、基于结构相似性损失函数,根据所述投影图像和所述第一目标样本进行损失函数计算,得到第一损失值,根据所述第一损失值更新所述第一模型的网络参数,将所述第一计数器和所述第二计数器均加1,重复执行所述从各个所述第一训练样本中获取排序与所述第一计数器对应的所述第一训练样本作为第一目标样本的步骤,直至达到预设的第一训练结束条件;
13、将所述第一模型的所述深度估计模块作为所述单帧深度估计模型。
14、进一步地,所述根据预设的物体运动估计模型,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行物体运动估计,得到各个物体运动数据的步骤,包括:
15、基于iou计算方法,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行关联,得到第i-1帧共同物体掩膜集和第i帧共同物体掩膜集;
16、根据所述第i帧共同物体掩膜集,对所述第i帧初始图像进行非物体区域滤除,得到第一保留图像,根据所述第i-1帧共同物体掩膜集,对所述第i-1帧初始图像进行非物体区域滤除,得到第二保留图像;
17、对所述第一保留图像和所述第二保留图像进行通道维度的拼接,得到拼接图像;
18、将所述拼接图像输入所述物体运动估计模型进行物体运动估计,得到各个所述物体运动数据。
19、进一步地,所述将所述拼接图像输入所述物体运动估计模型进行物体运动估计,得到各个所述物体运动数据的步骤之前,还包括:
20、获取多个第二训练样本,其中,所述第二训练样本包括:时序相邻的两帧图像样本;
21、从各个所述第二训练样本中获取任一个所述第二训练样本作为第二目标样本;
22、将所述第二目标样本中的两帧图像样本输入预设的第二模型分别进行头帧深度图估计和物体位姿变换数据估计,并根据所述头帧深度图和所述物体位姿变换数据合成尾帧视角下的物体区域合成图像;
23、基于结构相似性损失函数,根据所述物体区域合成图像和所述第二目标样本中的两帧图像样本对应的物体区域图像进行损失值计算,得到合成损失值;
24、将所述第二目标样本中的两帧图像样本输入所述第二模型进行物体运动估计,得到物体运动估计值;
25、基于l1loss损失函数,根据所述物体运动估计值和所述第二目标样本对应的物体运动伪标签进行损失值计算,得到运动损失值;
26、根据所述合成损失值和所述运动损失值,更新所述第二模型的网络参数,重复执行所述从各个所述第二训练样本中获取任一个所述第二训练样本作为第二目标样本的步骤,直至达到预设的第二训练结束条件,将所述第二模型作为所述物体运动估计模型;
27、其中,所述第二目标样本对应的所述物体运动伪标签,是根据所述第二目标样本中的两帧图像样本、所述第二目标样本对应的相机内参、icp点云配准算法得到的物体位姿变化数据。
28、进一步地,所述根据各个所述物体运动数据、所述第i-1帧初始深度图和所述第i-1帧初始图像对应的各个所述物体掩膜,对所述第i-1帧初始图像中的物体进行位置调整,得到第i-1帧调整后图像的步骤,包括:
29、根据所述第i-1帧初始深度图和所述第i帧初始图像对应的相机内参,对所述第i-1帧初始图像进行点云映射,得到初始点云;
30、根据所述第i-1帧初始图像对应的各个所述物体掩膜,在所述初始点云中定位物体点云,得到第一物体点云;
31、根据各个所述物体运动数据,对每个所述第一物体点云进行位姿变换,得到第二物体点云;
32、根据各个所述第二物体点云,对所述初始点云进行更新,得到目标点云;
33、根据所述第i帧初始图像对应的相机内参,对所述目标点云进行图像投影处理,得到所述第i-1帧调整后图像。
34、进一步地,所述将所述第i帧初始图像和所述第i-1帧调整后图像输入预设的时序多视图深度估计模型进行深度估计,得到第i帧目标深度图的步骤之前,还包括:
35、获取多个第三训练样本;
36、从各个所述第三训练样本中获取任一个所述第三训练样本作为第三目标样本;
37、将所述第三目标样本中的两帧图像样本分别输入预设的第三模型的骨干网络进行特征提取,得到头帧特征和尾帧特征;
38、将所述头帧特征和所述尾帧特征输入所述第三模型的位姿变换模块依次进行特征拼接、位姿变换预测,得到位姿变换预测值;
39、采用所述第三模型的深度估计模块,对所述头帧特征和所述尾帧特征依次构建代价体、编码、尾帧深度解码,得到尾帧深度图;
40、采用所述第三模型的图像合成模块,对所述位姿变换预测值和所述尾帧深度图进行尾帧视角下的图像合成,得到尾帧合成图像;
41、基于光度一致性损失,根据所述尾帧合成图像和所述第三目标样本中的两帧图像样本的尾帧图像样本进行损失值计算,得到第二损失值;
42、根据所述第二损失值更新所述第三模型的网络参数,重复执行所述从各个所述第三训练样本中获取任一个所述第三训练样本作为第三目标样本的步骤,直至达到预设的第三训练结束条件,将所述第三模型作为时序多视图深度估计模型。
43、进一步地,所述获取第i帧初始图像和所述第i帧初始图像对应的各个物体掩膜的步骤之前,包括:
44、采用预设的实例分割方法,对所述第i帧初始图像进行实例分割,得到所述第i帧初始图像中的每个物体对应的所述物体掩膜。
45、本技术还提出了一种基于物体运动的深度估计装置,所述装置包括:
46、数据获取模块,用于获取第i帧初始图像和所述第i帧初始图像对应的各个物体掩膜;
47、第i-1帧初始深度图确定模块,用于根据预设的单帧深度估计模型,对获取的第i-1帧初始图像进行每个像素的深度估计,得到第i-1帧初始深度图;
48、物体运动数据确定模块,用于根据预设的物体运动估计模型,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行物体运动估计,得到各个物体运动数据;
49、第i-1帧调整后图像确定模块,用于根据各个所述物体运动数据、所述第i-1帧初始深度图和所述第i-1帧初始图像对应的各个所述物体掩膜,对所述第i-1帧初始图像中的物体进行位置调整,得到第i-1帧调整后图像;
50、第i帧目标深度图确定模块,用于将所述第i帧初始图像和所述第i-1帧调整后图像输入预设的时序多视图深度估计模型进行深度估计,得到第i帧目标深度图。
51、本技术还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
52、本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
53、本技术的基于物体运动的深度估计方法、装置、设备及介质,其中方法通过根据预设的单帧深度估计模型,对获取的第i-1帧初始图像进行每个像素的深度估计,得到第i-1帧初始深度图;根据预设的物体运动估计模型,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行物体运动估计,得到各个物体运动数据;根据各个所述物体运动数据、所述第i-1帧初始深度图和所述第i-1帧初始图像对应的各个所述物体掩膜,对所述第i-1帧初始图像中的物体进行位置调整,得到第i-1帧调整后图像;将所述第i帧初始图像和所述第i-1帧调整后图像输入预设的时序多视图深度估计模型进行深度估计,得到第i帧目标深度图。通过基于两帧初始图像的物体掩膜进行物体运动估计,实现了引入对每个物体的实例级三维运动估计,通过基于物体运动数据对物体进行位置调整,实现了基于物体运动估计的结果将两帧初始图像中的物体在世界坐标系下发生的位置变化消除,从而使输入时序多视图深度估计模型的两帧图像中的场景保持一致,避免了图像中的物体本身存在运动时使两帧图像场景出现变化,导致物体深度估计错误,进而导致场景深度估计错误的技术问题,提高了第i帧目标深度图的准确性。
1.一种基于物体运动的深度估计方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于物体运动的深度估计方法,其特征在于,所述根据预设的单帧深度估计模型,对获取的第i-1帧初始图像进行每个像素的深度估计,得到第i-1帧初始深度图的步骤之前,包括:
3.根据权利要求1所述的基于物体运动的深度估计方法,其特征在于,所述根据预设的物体运动估计模型,对所述第i帧初始图像对应的各个所述物体掩膜和所述第i-1帧初始图像对应的各个所述物体掩膜进行物体运动估计,得到各个物体运动数据的步骤,包括:
4.根据权利要求3所述的基于物体运动的深度估计方法,其特征在于,所述将所述拼接图像输入所述物体运动估计模型进行物体运动估计,得到各个所述物体运动数据的步骤之前,还包括:
5.根据权利要求1所述的基于物体运动的深度估计方法,其特征在于,所述根据各个所述物体运动数据、所述第i-1帧初始深度图和所述第i-1帧初始图像对应的各个所述物体掩膜,对所述第i-1帧初始图像中的物体进行位置调整,得到第i-1帧调整后图像的步骤,包括:
6.根据权利要求1所述的基于物体运动的深度估计方法,其特征在于,所述将所述第i帧初始图像和所述第i-1帧调整后图像输入预设的时序多视图深度估计模型进行深度估计,得到第i帧目标深度图的步骤之前,还包括:
7.根据权利要求1所述的基于物体运动的深度估计方法,其特征在于,所述获取第i帧初始图像和所述第i帧初始图像对应的各个物体掩膜的步骤之前,包括:
8.一种基于物体运动的深度估计装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。