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

图像处理方法、装置及可移动平台与流程

2022-02-21 00:04:52 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置及可移动平台。


背景技术:

2.用户在拍摄图像或者视频的过程中,通常会面临拍摄视角范围内出现非目标拍摄对象的场景,这些非目标拍摄对象也被拍摄到最终的图像或视频中,影响最终的拍摄效果。举个例子,假设用户在拍摄某个建筑,可能建筑旁边会出现一些路人、车辆、垃圾桶或者电线杆一类的非目标拍摄对象,这些非目标拍摄对象会遮挡被拍摄的建筑,或者出现在拍摄的图像中,影响图像的显示效果。为了提升图像或者视频的拍摄效果,以更加符合用户拍摄需求,有必要提出一种去除图像中的非目标拍摄对象的方案。


技术实现要素:

3.有鉴于此,本技术提供一种图像处理方法、装置及可移动平台。
4.根据本技术的第一方面,提供一种图像处理方法,所述方法包括:
5.获取摄像装置在第一位姿采集的第一图像,并在所述第一图像中确定待滤除对象对应的第一像素区块;
6.获取所述摄像装置在第二位姿采集的第二图像,所述第二图像包括目标对象对应的第二像素区块,所述目标对象为所述第一图像中被所述待滤除对象遮挡的对象;
7.通过所述第二像素区块对所述第一图像中所述第一像素区块做替换处理,以生成替换处理后的第一图像。
8.根据本技术的第二方面,提供一种图像处理方法,其特征在于,所述方法包括:
9.确定第一图像中的动态对象对应的第一像素区块;
10.确定所述第一像素区块所在像素位置在多张第二图像中的对应像素位置的像素区块,所述多张第二图像与所述第一图像通过摄像装置在同一位姿采集得到;
11.从所述多张第二图像中确定所述对应像素位置的像素区块为静态区域的第三图像;
12.利用所述第三图像中的所述对应像素位置的像素区块替换所述第一图像中的所述第一像素区块。
13.根据本技术的第三方面,提供一种图像处理装置,所述图像处理装置包括处理器、存储器、存储于所述存储器所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,实现以下步骤:
14.获取摄像装置在第一位姿采集的第一图像,并在所述第一图像中确定待滤除对象对应的第一像素区块;
15.获取所述摄像装置在第二位姿采集的第二图像,所述第二图像包括目标对象对应的第二像素区块,所述目标对象为所述第一图像中被所述待滤除对象遮挡的对象;
16.通过所述第二像素区块对所述第一图像中所述第一像素区块做替换处理,以生成替换处理后的第一图像。
17.根据本技术的第四方面,提供一种图像处理装置,所述图像处理装置包括处理器、存储器、存储于所述存储器所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,实现以下步骤:
18.确定第一图像中的动态对象对应的第一像素区块;
19.确定所述第一像素区块所在像素位置在多张第二图像中的对应像素位置的像素区块,所述多张第二图像与所述第一图像通过摄像装置在同一位姿采集得到;
20.从所述多张第二图像中确定所述对应像素位置的像素区块为静态区域的第三图像;
21.利用所述第三图像中的所述对应像素位置的像素区块替换所述第一图像中的所述第一像素区块。
22.根据本技术的第五方面,提供一种可移动平台,所述可移动平台包括摄像装置以及本技术实施例中任一项图像处理装置。
23.应用本技术提供的方案,通过获取摄像装置在不同位姿采集的图像,利用包括被待滤除对象遮挡的目标对象的第二图像补全第一图像中被遮挡的目标对象,以消除第一图像中的待滤除对象,不仅适用于滤除动态对象,同时,也适用于滤除静态对象,通过该方法可以实现根据用户需求自动滤除图像的非拍摄目标对象的目的,可以提升图像的显示效果和用户体验。
附图说明
24.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1是本技术一个实施例的一种滤除图像中的非拍摄目标对象的示意图。
26.图2是本技术一个实施例的图像处理方法流程图。
27.图3是本技术一个实施例的确定待滤除对象对应的第一像素区块的示意图。
28.图4是本技术一个实施例的提示用户调整至第二位姿的提示界面的示意图。
29.图5是本技术一个实施例的一种调整摄像装置至第二位姿的示意图。
30.图6是本技术一个实施例的一种确定第二位姿示意图。
31.图7是本技术一个实施例的一种确定待滤除对象和目标对象的对应像素区域的示意图。
32.图8是本技术一个实施例的一种确定第二朝向的示意图。
33.图9是本技术一个实施例的一种确定摄像装置采集的图像是否可以作为第二图像的示意图。
34.图10是本技术一个实施例的一种确定摄像装置采集的图像是否可以作为第二图像的示意图。
35.图11(a)是本技术一个实施例的一种滤除动态对象的示意图。
36.图11(b)是本技术一个实施例的一种确定第三图像的示意图。
37.图12是本技术一个实施例的一种图像处理方法的流程图。
38.图13是本技术一个实施例的一种应用场景示意图。
39.图14是本技术一个实施例的一种滤除动态对象的示意图。
40.图15是本技术一个实施例的一种框选待滤除对象以及被遮挡的背景区域的示意图。
41.图16是本技术一个实施例的滤除静态对象的示意图
42.图17是本技术一个实施例的一种图像处理装置的逻辑结构示意图
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.用户在拍摄视频或图像的过程中,拍摄视角范围内可能存在一些非拍摄目标对象,这些非拍摄目标对象也被拍摄到图像中,影响图像的显示效果。这些非拍摄目标对象可能是动态的,比如行走的路人、车辆等,也可能是静态的,比如垃圾桶、电线杆、建筑等。如图1中(a)所示,用户想拍摄房子11及其周围的风景,但是房子前面的垃圾桶12和路人也被拍摄到图像13中,严重影响图像的视觉效果。因此,有必要去除图像中的这些非拍摄目标对象,如图1中(b)所示,使图像具有更好的拍摄效果,提升用户体验。
45.为了去除图像中的非拍摄目标对象(以下称为待滤除对象),本技术实施例提供了一种图像处理方法,在第一位姿采集第一图像,然后在可以观测到第一图像中被待滤除对象遮挡的目标对象的第二位姿采集第二图像,以利用第二图像补全第一图像中被待滤除对象遮挡的目标对象,从而达到去除待滤除对象的目的。
46.具体的,所述方法的流程图如图2所示,包括以下步骤:
47.s202、获取摄像装置在第一位姿采集的第一图像,并在所述第一图像中确定待滤除对象对应的第一像素区块;
48.s204、获取所述摄像装置在第二位姿采集的第二图像,所述第二图像包括目标对象对应的第二像素区块,所述目标对象为所述第一图像中被所述待滤除对象遮挡的对象;
49.s206、通过所述第二像素区块对所述第一图像中所述第一像素区块做替换处理,以生成替换处理后的第一图像。
50.本技术实施例的图像处理方法可以由采集第一图像和第二图像的摄像装置执行,该摄像装置可以是任一具有图像或视频采集功能的设备,比如该摄像装置可以是摄像头,或者是设有摄像头的相机、手机、平板、笔记本电脑、智能穿戴设备等终端,也可以是设有摄像头的无人机、无人车、手持云台等可移动平台。当然,在某些实施例中,本技术实施例的图像处理方法也可以由与摄像装置通信连接的其他设备执行,比如,可以是云端服务器,摄像装置采集到第一图像和第二图像后发送给云端服务器处理,当然,如果摄像装置为可移动平台,本技术实施例的图像处理方法也可以由与该可移动平台通信连接的控制终端执行,本技术不做限制。
51.本技术实施例中的待滤除对象是指用户期望从第一图像中去除的对象,该待滤除对象可以是动态对象,也可以是静态对象,待滤除对象可以是一个或者多个。
52.本技术实施例中的目标对象是指第一图像中被待滤除对象遮挡的对象,目标对像可以是一个或者多个。
53.获取摄像装置采集的第一图像后,可以在第一图像中确定待滤除对象对应的第一像素区块,然后获取包含被待滤除对象遮挡的目标对象的第二图像,利用第二图像中目标对象对应的第二像素区块对第一图像中的第一像素区块做替换处理,从而可以消除第一图像中的待滤除对象。
54.本技术通过获取摄像装置在不同位姿采集的图像,利用包括被待滤除对象遮挡的目标对象的图像补全另一张图像中的目标对象,以消除另一张图像中的待滤除对象,不仅适用于滤除动态对象,同时,也可以滤除静态对象,通过该方法可以实现根据用户需求自动滤除图像的非拍摄目标对象,可以提升图像的显示效果和用户体验。
55.确定第一图像中的待滤除对象可以由用户自行选择,也可以由设备自动识别。在某些实施例中,设备可以自动从第一图像中识别待滤除对象,比如,可以预先设置待滤除对像的一些识别规则,然后根据这些规则识别待滤除对象,比如,可以自动从第一图像中识别垃圾桶、电线杆、行走的车辆等一类对象作为待滤除对象,也可以将位于图像边缘位置的对象识别为待滤除对象。当然,在自动识别出待滤除对象后,也可以先向用户展示所识别待滤除对象,比如在用户界面显示框选待滤除对象的图像,待用户确认后再执行后续步骤。
56.在某些实施例中,可以根据用户的指令在第一图像中确定待滤除对象,比如,用户可以在图像点击或者框选期望滤除的对象。其中,第一像素区块,可以是只包括待滤除对象的像素区块,也可以是包括待滤除对象及其周边部分背景的像素区块。比如,如图3所示,第一像素区块可以是只包括待滤除人物的人形轮廓区域31,也可以是包括待滤除人物及其周边背景区域的矩形区域32。
57.在某些实施例中,确定待滤除对象的用户指令可以包括用户通过人机交互界面输入的选框,所述选框用于框选待滤除对象。比如,用户可以直接在用户界面绘制选框框选待滤除对象,其中,用户绘制的选框可以是矩形选框,圆形选框或者是不规则形状的选框,具体可以根据实际需求设置。
58.在某实施例中,可以将用户通过选框框选的图像区域作为待滤除对象对应的第一像素区块,由于用户绘制的选框可能不够精准,可能存在待滤除对象的部分边缘区域未框选到,但是一些背景区域反而框选进来的场景,进而在对第一像素区块进行替换处理时,替换处理后的图像中可能存在未替换完全的待滤除对象,导致图像替换后出现瑕疵,为了避免这一现象,在用户输入选框框选待滤除对象后,可以先对第一图像进行超像素分割处理,得到多个图像区域,然后根据这多个图像区域对选框框选的像素区块进行调整。其中,超像素分割处理的原理是对像素进行分组处理,将具有相似纹理、颜色、亮度等特征的相邻像素分为一组,作为一个图像区域,从而可以将图像划分为多个图像区域,然后可以根据这多个图像区域调整选框中框选的像素区块。对第一图像进行超像素分割处理时,可以采用目前通用的算法实现,在此不再赘述。
59.在某些实施例中,在根据超像素分割处理得到的多个图像区域来调整选框中框选的像素区块时,可以根据各图像区域落入选框的部分与该图像区域的占比来调整选框框选
的像素区块。比如,可以先确定每个图像区域落入选框的部分与该图像区域的占比,如果占比大于预设比例,比如大于50%,认为该图像区域被选框选中,则将该图像区域置于选框内,如果小于,认为该图像区域未被选框选中,则将图像区域置于选框外,从而调整选框框选的像素区块。当然,在某些实施例,为了尽可能保证待滤除对象对应的第一像素区块在选框内,通过上述方式调整选框框选的像素区块后,还可以对选框进行扩大处理,扩大选框框选的像素区块,以作为第一像素区块。
60.通过对图像进行超像素处理后,再对用户输入选框进行微调,调整选框框选的内容,这样用户在框选待滤除对象时,无需用户进行精准地框选,也可以比较准确地确定出用户想要选中的图像区域,从而准确确定待滤除对象对应的第一像素区块,方便了用户的操作。
61.为了可以方便将控制摄像装置调整到不同的位姿,以在不同位姿采集图像,在某些实施例中,摄像装置可以搭载于可移动平台上,可以通过控制可移动平台运动以控制摄像装置运动,以调整到可以观测到被待滤除对象遮挡的第二位姿并采集得到第二图像。
62.在某些实施例中,可移动平台可以是任一包括动力部件且该动力部件可以驱使可移动平台运动的电子设备。比如,可移动平台可以是无人机、无人车、无人船或者是智能机器人等任一种。
63.在某些实施例中,摄像装置也可以通过云台搭载于可移动平台,比如,可移动平台可以设有云台,摄像装置可以固定在云台上,既可以通过控制可移动平台运动控制摄像装置运动,也可以通过控制云台运动使得摄像装置与可移动平台产生相对运动,从而控制摄像装置运动,以调整到第二位姿。
64.在某些实施例中,第二位姿可以包括第二位置和第二朝向,在摄像装置通过云台搭载于可移动平台的场景,控制摄像装置运动时,可以通过控制可移动平台运动,使摄像装置位于第二位置,可以通过控制云台转动,使摄像装置的朝向调整至第二朝向。以可移动平台为无人机为例,无人机上可以设置云台,摄像装置可以安装于云台上,在确定第二位姿后,可以通过控制无人机飞到第二位置,到达第二位置后,可以控制云台转动,使摄像装置的朝向调整到第二朝向。
65.在获取第二图像时可以采用多种方式。比如,既可以先确定可以观测到目标对象的第二位姿,然后直接控制摄像装置调整至第二位姿采集得到第二图像,当然,也可以不断改变摄像装置的位姿以得到摄像装置在不同位姿采集的多帧图像,然后每采集一帧图像,判断该图像是否包括完整的目标对象,直至获取到包括完整目标对象的图像,则作为第二图像。
66.在某些实施例中,为了采集到包括被待滤除对象遮挡的目标对象,可以先自动确定摄像装置可以观测到目标对象的第二位姿,然后控制摄像装置运动以调整到所述第二位姿,以采集第二图像。比如,摄像装置可以搭载在无人机、无人车等可移动平台中,因此,可以自动计算摄像装置该处于哪个位置和姿态,才可以观测到完整的目标对象,然后自动控制无人机、无人车移动到对应位置,并采集得到第二图像。
67.在某些实施例中,也可以先自动确定无人机可以采集到目标对象的第二位姿,然后向用户发出指示第二位姿的提示信息,以便用户控制所述摄像装置运动以调整至第二位姿并采集第二图像。举个例子,以用户使用手机、相机等摄像装置进行拍摄的场景为例,可
以先自动计算出第二位姿,然后通过交互界面向用户发出指示第二位姿的提示信息,提示信息可以是文字信息,也可以是图像信息,比如,可以在交互界面显示“从当前位置向东移动100米”,“从当前位置向右移动50米”等提示信息,这样用户便可以根据提示信息控制摄像装置移动到对应位置再进行拍摄。当然,如果用户使用可移动平台进行拍摄,则用户可以根据提示信息操控可移动平台对应的控制终端,通过控制终端控制可移动平台移动到对应位置。
68.当然,在某些实施例中,第二位姿包括第二位置和第二朝向,向用户发出指示第二位姿的提示信息时,可以向用户展示标识有第二位置的图像,以及展示调整至第二朝向对应的旋转角度信息。为了让提示信息更加直观,便于用户快速定位到第二位姿,提示信息也可以是图像信息,比如,可以在交互界面向用户展示标识有第二位姿中的第二位置的图像,其中,可以观测到目标对象的第二位置可以是一片区域,因此,可以在图像中框选出这片区域,如图4所示。同时,还可以向用户展示调整至第二位姿中的第二朝向对应的旋转角度信息,以便用户根据展示的位置信息和角度信息调整摄像装置以采集第二图像。
69.由于可以拍摄到目标对象的位置与待滤除对象和目标对象的相对位置有关,比如,待滤除对象与目标对象的距离较远时,移动较小的距离即可以采集到包含完整目标对象的图像,待滤除对象与目标对象的距离较近时,可能需要移动较远的距离才可采集到包含完整的目标对象的图像。因此,在某些实施例中,在确定第二位姿时,可以先确定待滤除对象的位置信息和目标对象的位置信息,然后根据待滤除对象的位置信息和目标对象的位置信息确定第二位姿。
70.当然,待滤除对象的尺寸对可以完整拍摄到目标对象的位置也有影响,比如待滤除对象尺寸较大,可能得移动到较远的位置才可完整拍摄到目标对象,而待滤除对象尺寸较小,可能只需移动较小的距离即可完整拍摄到目标对象。因此,在某些实施例中,根据待滤除对象的位置信息和目标对象的位置信息确定第二位姿时,可以确定待滤除对象的尺寸,然后根据待滤除对象的尺寸、待滤除对象的位置信息以及目标对象的位置信息确定第二位姿。
71.如图5所示,图中垃圾桶51为待滤除对象,房子52为被遮挡的目标对象,图中的黑点表示摄像装置所在的位置。假设当前摄像装置在“位置1”拍摄到第一图像,第一图像中目标对象52被待滤除对象51遮挡,在确定可以完整拍摄到目标对象52的第二位姿时,可以让摄像装置绕过待滤除对象51(比如绕到待滤除对象后面,如图中的“位置2”),以拍摄到完整的目标对象52,当然,也可以沿着当前拍摄位置移动一段距离,到达“位置3”,以便目标对象52可以落入摄像装置的视角范围。在某些实施例中,第一位姿包括第一位置和第一朝向,第二位姿包括第二位置和第二朝向,第二位置位于经过第一位置且与待滤除对象所在平面平行的直线上,第二朝向指向所述待滤除对象所在的位置,即可以沿着摄像装置当前所在的第一位置平移一段距离,到达第二位置,再将摄像装置的朝向调整成指向待滤除对象。
72.在某些实施例中,在确定第二位置时,可以根据待滤除对象的位置信息、所述目标对象的位置信息以及所述待滤除对象的尺寸确定移动距离,然后根据第一位置和移动距离确定第二位置。举个例子,如图6所示,图中的小长方体61为待滤除对象,待滤除对象的宽度为l,待滤除对象与摄像装置的距离为d1,大长方体62为被遮挡的目标对象,目标对象与摄像装置的距离为d2,将待滤除对像和目标对象转为俯视视角下的视图,其中,俯视视角下的
目标对象如图中的63所示,俯视视角下的待滤除对像如图中的65所示,目标对象中被待滤除对象遮挡的区域如图中的64所示,图中的“位置a”为第一位置,像平面示意图66为摄像装置在第一位置采集的图像的示意图,像平面示意图67为摄像装置在“位置b”采集的图像的示意图,其中,“位置b”为摄像装置刚好可以观测到目标对象被遮挡区域左边缘的位置,“位置b”可以从第一位置平移距离d到达,从图6中可知,移动的距离d可以通过公式(1)求解:
[0073][0074]
其中,待滤除对象与摄像装置的距离d1以及目标对象与摄像装置的距离d2可以通过摄像装置在不同位姿采集的多张图像确定。待滤除对象的宽度l可以根据待滤除对象与摄像装置的距离以及待滤除对象的成像尺寸确定。
[0075]
从图6中可知,“位置b”与待滤除对象右边缘连线右侧的区域都可以观测到被遮挡区域,因而,第二位置可以是该区域内的任一位置。在确定移动距离d后,可以根据第一位置当前的三维空间坐标以及移动距离d确定“位置b”的三维空间坐标,进一步确定第二位置对应的三维空间坐标,并控制摄像装置移动至第二位置。
[0076]
在某些实施例中,在确定待滤除对象与摄像装置的距离d1以及目标对象与摄像装置的距离d2时,可以获取摄像装置在不同位姿采集的多帧图像,从其中一帧图像中确定一个包括待滤除对象的区域,比如,如图7所示,确定一个包括待滤除对象70的区域71,然后在确定一环绕区域71点的环状区域72。在确定待滤除对象与摄像装置的距离d1时,可以先从区域71提取多个特征点,特征点的提取可以采用现有的特征点提取算法,在此不再赘述。然后可以确定提取的特征点在其余的多帧图像中的匹配点,然后根据这些特征点在其余各图像的匹配点确定各特征点的光流向量,根据特征点的光流向量拟合待滤除对象(即区域71)的中心相对于各图像的光流向量,从而可以确定待滤除对象(即区域71)的中心在其余多帧图像中的匹配点,根据待滤除对象的中心的特征点和匹配点,可以采用ba(bundle adjustment)算法确定出摄像装置的内外参数,并根据摄像装置的内外参确定待滤除对象的中心的深度距离,即为待滤除对象与摄像装置的距离d1。对于目标对象与摄像装置的距离d2,则可以从环状区域72中提取特征点,然后采用类似的手段确定目标对象与摄像装置的距离d2,在此不再赘述。
[0077]
在某些实施例中,在确定第二朝向时,可以根据第一位置以及待滤除对象在摄像装置采集的图像画面中的位置确定第二朝向。比如,摄像装置在移动的过程中,可以实时检测待滤除对象在采集的图像画面中的位置,可以不断调整摄像装置的朝向,以保持待滤除对象在图像画面的中心,从而当摄像装置移动到第二位置时,第二朝向也可以确定。比如,可以根据第一图像中待滤除对象的中心在图像画面的位置以及第一位姿对应的位姿参数确定摄像装置移动至第二位置时,待滤除对象的中心要位于画面中心第二朝向对应的姿态角,从而确定第二朝向。
[0078]
在某些实施例中,在确定第二朝向时,也可以根据第一位置、待滤除对象左右端点的位置以及目标对象左右端点的位置确定第二朝向。举个例子,如图8所示,可以先根据第一位置和第二位置的三维坐标确定第二位置位于第一位置的哪一侧,当第二位置位于第一位置右侧时,可以根据待滤除对象的左端点a、目标对象的右端点d确定一连线ad,第二朝向为沿着该连线ad指向待滤除对像。由于待滤除对象的左端点a、目标对象的右端点d的三维
坐标可以确定,因而两个端点连线对应的姿态角也可以求解出来。当然,当第二位置位于第一位置左侧时,可以根据待滤除对象的左端点b、目标对象的右端点c,确定一连线bc,第二朝向为沿着该连线bc指向待滤除对象。同样的,可以根据待滤除对象的左端点b、目标对象的右端点c的三维坐标确定连线bc对应的姿态角。
[0079]
当然,在获取第二图像时,也可以采用不断调整摄像装置的位姿采集图像然后判断采集的图像是否可以作为第二图像的方式获取第二图像。比如,在某些实施例中,也可以不断改变摄像装置的位姿,以得到摄像装置在不同位姿采集的多帧图像,摄像装置每采集一帧图像,可以判断该图像是否包括目标对象对应的第二像素区块,如果包括,则将该图像作为第二图像。
[0080]
其中,判断图像中是否包括第二像素区块可以由用户自行判定,也可以由执行该图像处理方法的设备自动判定。以摄像装置搭载于无人机等可移动平台为例,用户可以调整无人机的位姿,在不同位姿采集图像,然后无人机可以将采集的图像回传至控制终端,用户判定图像中包括目标对象时,即可以点击该图像,将其作为第二图像。当然,也可以通过对采集的图像进行一定处理和识别,自动判定采集的图像是否可以作为第二图像。比如,在某些实施例中,在采集到第一图像并从第一图像确定待滤除对象对应的第一像素区块后,可以在第一像素区块提取多个第一特征点,并且在第一像素区块的周边区域提取多个第二特征点,针对摄像装置改变位姿后采集的每一帧图像,可以确定第一特征点在该图像中的第一匹配点以及第二特征点在该图像中的第二匹配点,然后根据第一匹配点和第二匹配点的在图像中的位置关系确定该图像是否包括第二像素区块。
[0081]
在某些实施例中,第一特征点可以是位于第一像素区块第一侧之内的特征点,第二特征点可以是位于第一像素区块第二侧之外的特征点,在根据第一匹配点和第二匹配点的位置关系确定图像是否包括第二像素区块时,可以判定第二匹配点是否位于第一匹配点的第一侧,如果是,则判定该图像包括第二像素区块。其中,所述第一侧为所述第二侧的对侧,比如第一侧为第一像素区块的左侧,则第二侧为第一像素区块的右侧,第一侧为第一像素区块的上侧,则第二侧为第一像素区块的下侧。举个例子,如图9所示,图9中(a)为第一图像90的示意图,可以从第一图像90中确定第一像素区块91,在第一像素区块91的第一侧(即左侧)之内提取多个第一特征点92,以及在第一像素区块的第二侧(即右侧)之外提取多个第二特征点93,当摄像装置改变位姿采集一帧图像后,如图中(b)为该图像94的示意图,可以确定第一特征点在该图像94的第一匹配点95以及第二特征点在该图像94的第二匹配点96,然后判定第一匹配点95和第二匹配点96的位置关系,如图所示,第二匹配点96位于第一匹配点95的第一侧(左侧),则认为此时目标对象并未被待滤除对象遮挡,因而可以确定该图像中包括目标对象对应的第二像素区块。
[0082]
在某些实施例中,第二特征点为多个,这多个第二特征点可以位于环绕第一像素区域的环状像素区块中,在根据第一匹配点和第二匹配点的位置关系确定图像是否包括第二像素区块时,当判定第二匹配点中预设数量的第二匹配点位于所述第一匹配点的一侧时,则判定第二图像中包括第二像素区块。其中,预设数量可以根据实际需求确定,比如,可以是90%的第二匹配点都位于第一匹配点一侧。如图10所示,图中(a)为第一图像100的示意图,可以从第一图像100中确定第一像素区块101,在第一像素区块101内提取多个第一特征点102,在第一像素区块101周围的环状像素区块103提取多个第二特征点104,当摄像装
置改变位姿采集一帧图像后,如图中(b)为该图像105的示意图,可以确定第一特征点102在该图像105的第一匹配点106以及第二特征点104在该图像105的第二匹配点107,然后判定第一匹配点106和第二匹配点107的位置关系,如图所示,当超过一定数量的第二匹配点107(比如超过第二匹配点总数量的90%)位于第一匹配点106的一侧,则认为此时目标对象并未被待滤除对象遮挡,因而可以确定该图像中包括目标对象对应的第二像素区块。
[0083]
由于在某些场景,可能即便调整摄像装置的位姿,也无法完整拍摄到被待滤除对象遮挡的目标对象,比如,当待滤除对象与目标对象之间的距离非常近时,则无法通过调整摄像装置的位姿拍摄到完整的目标对象,以补全第一图像中被待滤除对象遮挡的目标对象。这种场景下,可以向用户发出提示信息,提示用户当前场景无法滤除第一图像中的待滤除对象。所以,在某些实施例中,当预设的第一条件触发后,则向用户发出无法滤除待滤除对象的提示信息,其中,提示信息可以以弹窗的形式显示,比如可以在用户交互界面显示弹窗信息,提示用户无法滤除当前选择的待滤除对象。
[0084]
在某些实施例中,第一预设条件可以是以下至少一种:待滤除对象与目标对象的第一距离小于第一预设阈值,或目标对象的与摄像装置的第二距离小于第二预设阈值,或第一距离与第二距离之间的距离大小关系不满足预设第二条件。当然,第一预设阈值、第二预设阈值和第二条件可以根据实际场景灵活设置,比如待滤处对象与目标对象的距离小于1米,则无法拍摄到完整的目标对象,则可以将第一预设阈值设置为1米。第二预设阈值和第二预设条件可以通过类似的手段设置,在此不再赘述。
[0085]
在某些实施例中,利用第二图像中的第二像素区块对第一图像的第一像素区块做替换处理之前,可以先在采集的第二图像中确定第二像素区块。其中,确定第二像素区域的方式比较多,在某些实施例中,在第二图像中确定第二像素区块时,可以先确定第一图像的像素点与第二图像的像素点之间的映射关系,根据该映射关系确定第一像素区块在第二图像的映射区域,作为所述第二像素区块,然后利用第二像素区块替换第一图像中的第一像素区块。
[0086]
在某些实施中,在确定第一图像的像素点与第二图像的像素点之间的映射关系时,可以先在第一图像中第一像素区块的周边区域提取第三特征点,并在第二图像中确定第三特征点的第三匹配点,然后根据第三特征点和第三匹配点确定该映射关系。其中,第一图像的像素点与第二图像的像素点之间的映射关系可以通过单应性矩阵表征,举个例子,假设第一图像上的像素点的像素坐标为p1,第二图像上的像素点的像素坐标为p2,单应性矩阵为h,则第一图像的像素点和第二图像的像素点满足合公式(2):
[0087]
p2=hp1公式(2)
[0088]
由于单应性矩阵h有8个未知数,因此至少需要4对特征点和匹配点才能求解。所以可以从第一图像中第一像素区块的周边区域(比如环绕第一像素区块周围一圈的区域)提取至少4个第三特征点,然后确定这至少4个像素点在第二图像的第三匹配点,根据第三特征点和第三匹配点求解出h。
[0089]
当然,在某些实施例中,为了求解得到的单应性矩阵h更加准确,可以利用ransac(random sample consensus,随机抽样一致)算法,去除第三特征点和第三匹配点中匹配度较差的点,通过筛选出的匹配度较准确的第三特征点和第三匹配点来求解h,以得到更加准的h,保证结果的有效性。
[0090]
在确定h后,即可以根据h确定第一图像中的第一像素区块在第二图像的映射区域,然后将该映射区域作为第二像素区块,替换第一图像中的第一像素区块,以补全第一图像中被待滤除对象遮挡的目标对象。
[0091]
在某些实施例中,在第二图像中确定第二像素区块时,也可以先在第一图像中确定一环绕第一像素区块的环状像素区块,然后在第二图像中确定与该环状像素区块相匹配的匹配环状区块,然后将第二图像中该匹配环状区块包围的像素区块作为第二像素区块。
[0092]
由于去除待滤除对象的图像通常为用户用于后续使用的图像,因而,第一图像可以选取拍摄效果比较好图像,比如,可以是被拍摄目标比较清晰、且比较全面图像,所以,在某些实施例中,摄像装置可以在第一位姿采集多张图像,然后从这多张图像中选出第一图像,其中,第一图像可以由用户自行选择,也可以由执行该图像处理方法的设备根据图像的清晰度、亮度、画面构图等信息自动选择。
[0093]
当然,针对动态对象,由于对象自身会移动,因而比较适合通过摄像装置在同一位姿采集的多张图像进行消除,可以无需移动摄像装置。针对静态对象,由于对象自身不会移动,则可以通过移动摄像装置以采集摄像装置在不同位姿的图像消除静态对象。所以,在某些实施中,用户确定第一图像后,在第一图像中确定待滤除对象对应的第一像素区块之前,可以先确定待滤除对象的类别信息,该类别信息用于标识待滤除对象为动态对象或静态对象,根据待滤除对象的类别信息,采用对应的处理方式对待滤除对象进行消除处理。其中,确定待滤除对象是动态对象还是静态对象可以根据摄像装置在第一位姿采集的多张图像确定。
[0094]
在某些实施例中,通过摄像装置在第一位姿采集的多张图像确定待滤除对象的类别时,可以根据第一图像中的待滤除对象的各像素点相对于这多张图像中的其他图像的光流向量确定待滤除对象的类别信息。比如,可以统计待滤除对象的各像素点相对于其他图像的光流向量,如果光流向量的模长大于预设阈值,则认为该滤除对象为动态对象。
[0095]
在某些实施例中,若待滤除对象为静态对象,则执行在第一图像中确定待滤除对象对应的第一像素区块,获取摄像装置在第二位姿采集的包括第二像素区块的第二图像,并通过第二像素区块对第一图像中第一像素区块做替换处理,以生成替换处理后的第一图像的步骤。
[0096]
在某些实施例中,如果确定待滤除对象为动态对象,则可以确定待滤除对象在第一图像中对应的第三像素区块,然后确定摄像装置在第一位姿采集的除第一图像以外的其他图像中位于该第三像素区块所在像素位置的对应像素位置上的第四像素区块,从其他图像中确定该第四像素区块为静态区域的第三图像(即第三像素区块的对应区域未被遮挡的图像),利用第三图像中的第四像素区块替换第一图像中的第三像素区块。如图11(a)所示,可以在第一图像中确定待滤除对象对应的第三像素区块110,然后确定第三像素区块110所在像素位置在其他图像(比如图中的图像1、图像2、图像3)中对应像素位置的第四像素区块(如图中的111),然后可以判定第四像素区块111是否为静态区域,如果是,则将该图像作为第三图像,比如图像1中的第四像素区块111为静态区域,则将图像1作为第三图像,并用图像1中的第四像素区块111替换第一图像中的第三像素区块110。
[0097]
在某些实施例中,在这多张图像中除第一图像以外的其他图像确定第四像素区块为静态区域的第三图像时,可以先确定其他图像中的动态区域,然后针对第一图像中的每
个待滤除对象,可以按照其他图像与第一图像采集顺序由近及远的顺序,确定第三像素区块所在像素位置在其他图像中的对应像素位置的像素区块,直至该对应像素位置的像素区块与动态区域不重叠(即未被遮挡),则将该其他图像作为第三图像。举个例子,如图11(b)所示,假设第一图像为摄像装置采集的第k帧图像,其他图像分别为摄像装置采集的第k 1帧、第k 2帧、第k 3帧等,可以先确定第k 1帧、第k 2帧、第k 3帧中的动态区域,确定每一帧的动态区域时,可以计算当前帧各像素点与其邻近的一帧或多帧图像的光流向量,若像素点的光流向量模长大于一定阈值,则认为这个像素点是运动的,然后对判定为运动的像素点进行聚类处理,得到多个像素点集合,集合中像素点数量大于一定值的(数量太少可能是噪声可以忽略)区域则认为是运动区域。假设图像中矩形区域和圆形区域为动态区域,其余区域为静态区域,确定第一图像中待滤除对象对应的第三像素区块121,第三像素区块所在像素位置121在第k 1帧、第k 2帧、第k 3帧中的对应像素位置的像素区块为虚线框框选的区域122,在确定第三图像时,可以首先判断第一图像的前一帧或者后一帧图像(比如第k 1帧)中第三像素区块121所在像素位置的对应像素位置的像素区块122是否与第k 1帧中的动态区域重叠,如果重叠,则判断第k 2帧中第三像素区块121所在像素位置的对应像素位置的像素区块122是否与动态区域重叠,当判定第k 2帧符合需求,则将第k 2帧作为第三图像,用这一帧中对应像素位置的像素区块替换第一图像的第三像素区块。
[0098]
摄像装置在第一位姿采集图像时,通常是连续采集多帧图像,构成一个图像序列,由于这个图像序列中相邻两帧或多帧图像的差异可能比较小,动态对象在相邻两帧的位置变化不大,所以不太适合用相邻帧滤除第一图像的动态对象,如果逐一对这些图像帧进行判断,比较耗费资源。因此,在获取摄像装置采集的多张图像时,可以从摄像装置采集的图像序列中筛选出一些可以体现动态对象变化的图像,以便更高效的利用这些图像来滤除动态对象。所以,在某些实施例中,这多张图像中除所述第一图像的其他图像可以是与第一图像的差异超过预设阈值的图像,或者是与第一图像间隔指定帧的图像。比如,可以以第一图像作为基准,如果图像序列中某帧图像中指定对象的角度或者位移与第一图像中该对象的角度或者位移超过预设阈值,则获取该图像作为上述多张图像中的一张,也可以获取与第一图像间隔指定帧的图像,比如,第一图像为图像序列的第5帧,则其他图像依次为第10帧、第15帧、第20帧、第25帧等。
[0099]
在某些实施例中,由于在通过采集不同位姿的图像来滤除图像中的静态对象时,图像中的动态对象会对静态对象的滤除产生一定的干扰,导致不能很好的滤除静态对象,所以,在某些实施例中,在采用上述方法滤除静态对象之前,可以先滤除图像中的动态对象。
[0100]
此外,本技术还提供一种图像处理方法,该方法可以用于自动去除图像中的动态对象,所述方法如图12所示,包括以下步骤:
[0101]
s1202、确定第一图像中的待滤除动态对象对应的第一像素区块;
[0102]
s1204、确定所述第一像素区块所在像素位置在多张第二图像中的对应像素位置的像素区块,所述多张第二图像与所述第一图像通过摄像装置在同一位姿采集得到;
[0103]
s1206、从所述多张第二图像中确定所述对应像素位置的像素区块为静态区域的第三图像;
[0104]
s1208、利用所述第三图像中的所述对应像素位置的像素区块替换所述第一图像
中的所述第一像素区块。
[0105]
本技术实施例的图像处理方法可以由采集第一图像和第二图像的摄像装置执行,该摄像装置可以是任一具有图像采集功能的设备,比如该摄像装置可以是摄像头,或者是设有摄像头的相机、手机、平板、笔记本电脑、智能穿戴设备等终端,也可以是设有摄像头的无人机、无人车等可移动平台。当然,在某些实施例中,本技术的图像处理方法也可以由与摄像装置通信连接的其他设备执行,比如,可以是云端服务器,摄像装置采集到第一图像和第二图像后发送给云端服务器处理,当然,如果摄像装置为可移动平台,本技术的图像处理方法也可以由于与可移动平台通信连接的控制终端执行,本技术不做限制。
[0106]
本技术实施例中的待滤除动态对象为用户期望从图像中去除的对象,待滤除动态对象可以由用户确定,也可以自行选择,待滤除动态对象可以是一个或者多个。
[0107]
可以从摄像装置在某个固定的位姿连续采集的图像序列中选取第一图像,其中第一图像可以由用户自行选择,也可以由执行该图像处理方法的设备自动选择,比如自动从图像序列中选择清晰度、构图或者拍摄角度较好的图像作为第一图像。
[0108]
确定第一图像后,可以确定第一图像中的待滤除动态对象对应的第一像素区块,然后从图像序列中确定多帧第二图像,并从第二图像中确定第一像素区块所在像素位置的对应像素位置的像素区块为静态区域的第三图像(即对应像素位置的像素区块未被遮挡的图像),然后利用第三图像中第一像素区块的对应像素位置的像素区块替换第一图像中的第一像素区块,以去除动态对象。
[0109]
由于图像序列中相邻两帧或多帧图像的差异可能比较小,可能动态对象在邻近帧的位置变化不大,因而,第一图像的相邻帧可能无法用于滤除待滤除动态对象,为了可以更加快速的筛选出可以用于滤除第一图像中的待滤除动态对象的图像帧,在某些实施例中,可以从图像序列选取一些与第一图像差异较大的图像作为第二图像,比如第二图像可以是与第一图像的差异超过预设阈值的图像,或者是与第一图像间隔指定帧的图像。比如,可以第一图像作为基准,如果图像序列中某帧图像中的某个对象的角度或者位移与第一图像中该对象的角度或者位移超过预设阈值,则获取该图像作为第二图像,也可以获取与第一图像间隔指定帧的图像,比如,第一图像为图像序列的第5帧,则第二图像依次为第10帧、第15帧、第20帧、第25帧等。
[0110]
在某些实施例,确定第一图像中的动态对象对应的第一像素区块时,可以针对每一帧第二图像分别执行以下操作:计算第一图像各像素点相对于第二图像的光流向量,从第一图像的各像素点中确定光流向量的模长大于预设阈值的目标像素点,对目标像素点进行聚类处理,得到动态对象对应的第一像素区块。比如,可以计算第一图像各像素点与其邻近的一帧或多帧图像的光流向量,若像素点的光流向量模长大于一定阈值,则认为这个像素点是运动的,然后对判定为运动的像素点进行聚类处理,得到多个像素点集合,集合中像素点数量大于一定值的(数量太少可能是噪声可以忽略)区域则认为是动态对象。
[0111]
在某些实施例中,利用第三图像中的对应像素位置的像素区块域替换第一图像中的第一像素区块时,可以确定这多张第二图像中的动态区域,针对每个第一像素区块,可以分别按照以下方式确定其对应的第三图像,按照第二图像与第一图像采集顺序由近及远的顺序,确定第一图像的动态对象所在像素位置在第二图像中的对应像素位置的像素区块,直至该对应像素位置的像素区块与动态区域不重叠,则将该第二图像作为第三图像。
[0112]
通过本技术实施例提供的方法,可以从摄像装置在同一位姿采集的多帧图像中确定一张基准图像(即第一图像),然后从基准图像确定待滤除的动态对象对应的第一像素区块,通过判定其他图像中第一像素区块所在像素位置的对应像素位置的像素区块是否为静态区域,可以快速地筛选出第一像素区块所在像素位置的对应像素位置的像素区块未被遮挡的图像,然后使用该图像的对应像素位置的像素区块替换第一图像中的第一像素区块,可以快速、高效地去除第一图像中的动态对象。
[0113]
为了进一步解释本技术实施提供的图像处理方法,以下结合一个具体的实施例加以解释。
[0114]
通常用户在拍摄图像或视频时,存在一些非目标拍摄对象也会在拍摄视角内,导致最后拍摄的图像存在一些非拍摄目标对象,遮挡了用户想要拍摄的目标。因此,需要对这些非目标拍摄对象进行去除处理,以下提供一种去除图像中的非拍摄目标对象(即待滤除对象)的方法,其中,待滤对象可以动态对象,也可以是静态对象。以用户采用搭载了摄像头的无人机进行图像采集的场景为例,如图13所示,用户可以通过控制终端132控制无人机131上搭载的摄像装置133采集图像,无人机131可以将摄像装置133采集的图像回传给控制终端,以便显示给用户。滤除图像中的对象可以由控制终端执行,以下分别介绍动态对象和静态对象的滤除方法,由于动态对象会对静态对象的滤除造成一定的干扰,因而,可以先滤除动态对象,再滤除静态对象。
[0115]
滤除动态对象:
[0116]
1、可以控制摄像装置在某个固定位姿采集一系列的图像序列,然后由用户从图像序列筛选出一张基准图像i0,或者由控制终端自动从图像序列中筛选出基准图像i0。
[0117]
2、从图像序列中选取多帧关键帧,其中关键帧为与基准图像i0差异较大的图像帧,比如,可以是某个对象的角度或者位移与基准图像i0中该对象的角度或位移相差一定阈值的图像帧,或者与基准图像间隔指定帧的图像帧,比如基准图像i0为第k帧,关键帧可以是与第k帧间隔5、10、15、20的图像帧。
[0118]
3、分别计算基准图像i0中各像素点与筛选出来的其余关键帧的光流向量,若单个像素的光流向量模长大于一定阈值,则认为这个像素在不同时刻发生了变化,即为运动的,将判定为运动的像素点进行聚类处理,得到多个像素点结合,集合中像素点大于一定值,则认为集合中像素点对应的区域是运动物体。
[0119]
4、其余的关键帧也分别和自身前后的两帧(也可以是多帧)关键帧计算光流向量,判定出各关键帧的动态区域与静态区域。
[0120]
5、从第k0帧(即基准图像i0)最近的关键帧开始找可以填补k0帧的动态对象的关键帧,可以通过判定第k0帧的每个动态对象在该帧的对应区域是否是静态区域确定。如图14所示,图中三角形、正方形以及圆形区域表示动态区域,其余区域为静态区域,比如,针对第k0帧的圆形动态区域,首先确定该圆形区域在第k-1帧中的对应区域,如图中的圆形虚线区域,该区域为静态区域,所以可以使用第k-1帧来填补第k0帧的圆形动态区域。同理,剩余的三角形动态区域与正方形动态区域则需要分别通过第k-5帧,与第k7帧来填补。
[0121]
6、确定出可以用于填补第k0帧的每个动态对象的关键帧后,可以使用每个动态对象在关键帧的对应区域来替换k0帧的动态对象,从而达到滤除动态对象的目的。
[0122]
滤除静态对象
[0123]
7、确定待滤除对象对应的像素区域以及被遮挡的背景对应的像素区域。
[0124]
可以在基准图像i0中确定待滤除的静态对象,可以由控制终端自动识别,也可以用户在交互界面框选确定。如图15所示,用户可以在基准图像i0中框选待滤除静态对象(如图(1)),由于用户框选的选框不太准确,因而可以自动对选框进行调整,比如对基准图像i0进行超像素分割处理,得到多个图像区域,然后判定每个区域落入选框中的部分与图像区域的比例,比例大于一定值则将该图像区域划入选框内,否则划入选框外。通过上述方式调整后的选框如图(2)所示。自动调整得到比较精准的选框后,可以再适当扩大一些选框,比如扩大5%,保证静态对象完全在选框中,同时也会有一些背景落在选框内,这个背景就是我们需要补全的部分,如图中(3)所示。可以在此基础上再扩展一部分,得到背景区域,如图(4)所示的回形区域。
[0125]
8、确定静态对象和背景区域的深度距离。
[0126]
针对上一步检测出的静态对象对应的像素区域和背景区域对应的像素区域,可以提取特征点,并做多帧图像之间的特征点跟踪匹配,以及前后帧的特征点跟踪匹配,确定静态对象的深度距离以及背景区域的深度距离。具体如下:
[0127]
(1)特征点提取
[0128]
根据框选出的静态对象,在基准图像上静态对象的对应区域进行特征点提取,特征点提取可以采用通用的算法,比如harris算法、sift算法、surf算法、orb算法等。
[0129]
为了减少计算量,可以采用sparse的方法,先提取图像的特征点,一般可以选用角点(corner detection)作为特征点,可选的角点检测算法corner detection algorithm有:fast(features from accelerated segment test)、susan、以及harris operator等,以下以使用harris corner detection algorithms算法为例:
[0130]
定义矩阵a为构造张量,如公式(3)
[0131][0132]
其中ix和iy分别为图像上某一点在x和y方向上的梯度信息,可以定义函数mc如下公式(4):
[0133]
mc=λ1λ
2-κ(λ1 λ2)2=det(a)-κtrace2(a)
ꢀꢀꢀꢀ
公式(4)
[0134]
其中det(a)为矩阵a的行列式,trace(a)为矩阵a的迹,κ为调节灵敏度的参数,设定阈值为mth,当mc》mth时,可以认为此点为特征点。
[0135]
(2)klt(kanade

lucas

tomasi feature tracker)特征点跟踪匹配算法
[0136]
可以跟踪多帧图像之间的特征点,以便计算其移动情况(光流),可以取h作为前后两幅图的偏移量,前一图像为f(x),后一图像为g(x)=f(x h)
[0137]
针对每个特征点,通过公式(5)迭代可以得到特征点在前后图像帧的位移h,
[0138][0139]
为了确保结果的可靠性,可以先令后一张图像为f(x),前一张图像为g(x),算出某一个特征点,在后一张图像相对于前一张的偏移h,再反过来,计算改特征点,在前一张图像
相对于后一张的偏移h’,理论上h=-h’,满足此条件方可说明跟踪的点正确,其中,h即为光流向量h=(δu,δv)。
[0140]
(3)更新特征点
[0141]
跟踪过程中,由于视角变化,有些特征点不再能够观测到,有些特征点是新增加进来的,因此,可以不断更新特征点。
[0142]
(4)计算静态对象的中心的位置
[0143]
由于静态对象中心不一定有特征点。所以针对静态对象的中心,需要采用拟合的光流向量确定静态对象的中心在各图像中的位置,以便能进行ba算法求取静态对象中心的三维坐标。
[0144]
可以通过从图像中框选的静态对象的对应区域内的其他特征点的光流向量来估算静态对象的中心点。具体如公式(6):
[0145]
x0=∑nwixiꢀꢀꢀꢀꢀ
公式(6)
[0146]
xi为框内的特征点的光流向量,wi是权重,可以根据特征点与中心点的2d图像位置来确定权重,具体如公式(7):
[0147][0148]
其中,σ根据经验调节,是可调参数,di表示特征点i到中线点的距离(ui,vi)表示特征点i的2d图像像素坐标,(u0,v0)是目标框中心点的2d图像像素坐标。
[0149]
通过上述步骤(1)-(4),可以计算静态对象中心的视差与光流,得到静态对象中心的三维深度信息。
[0150]
采用类似方法,可以计算背景区域的三维深度信息。
[0151]
9、确定可以观测到背景区域时摄像装置的位姿。
[0152]
可以参考图6,假设摄像装置采基准图像i0时位于“位置1”,摄像装置可以观测到全部的被遮挡区域的视角,可以通过从“位置1”进行平移变换到达“位置2”。其中d1,d2上是一步求得的静态对象的深度距离与背景区域的深度距离。根据静态对象在图像中的尺寸以及静态对象的深度距离可以就出静态对象的最大宽度l。从“位置1”移动到“位置2”的移动距离d可以通过公式(1)求解:
[0153][0154]
从上述公式(1),当静态对象与背景区域非常接近的时候,即d2≈d1时,d会接近无穷远,所以当静态对象与背景区域距离太近,则无法滤除静态对象,这时可以向用户发出无法滤出的提示信息。
[0155]
图6中示意的是无人机往右飞行,所以能看到全部被遮挡的背景区域的极限位置是被遮挡的背景区域的左边缘刚好被观测到。当然无人机也可以往左飞,相应的极限视角就是刚好看到被遮挡的背景区域的右边缘。确定平移距离d后,可以同时调整相机朝向,把待滤除对象对应的像素区域的右边缘居中即可。通过上述方法即可完成了相机位姿的调整,达到了调整视角的目的。
[0156]
10、计算单应性矩阵h
[0157]
上一步确定了可以观测到被遮挡的背景区域的位姿,可以自动控制无人机调整到该位姿,在该位姿拍摄得到图像in。
[0158]
可以从基准图像i0中的背景区域对应的像素区域提取特征点,并在图像in做特征点匹配,得到匹配点队列。根据特征点和匹配点确定单应性矩阵h:
[0159][0160]
h矩阵表示摄像装置在不同位姿采集的两幅图像上,匹配的两个像素点之间映射关系,具体如公式(8):
[0161]
x0=hxnꢀꢀꢀꢀꢀꢀꢀ
公式(8)
[0162]
x0是图像i0背景区域上的一个特征点,xn是图像in中与x0匹配的点。用h矩阵表示两点之间的映射关系实际需要这些像素点在空间中的同一平面上。当摄像装置距离拍摄目标比较远的时候,就可以把背景区域看成平面来处理。所以当d1比较小的时候(比如小于100m),也要提示用户,滤除效果较差或无法滤除。
[0163]
或者将背景上的三维点(特征点求取了深度信息,即可转化为三维信息)拟合平面,拟合平面时用的容忍参数(即凹凸不平的最大程度)可以根据背景的深度来取(比如去背景深度的2%),如果不能拟合平面,提示用户,滤除效果较差或无法滤除。h矩阵有8个未知数,至少需要4对点就能算。
[0164]
可以采用ransac(random sample consensus,随机抽样一致)算法,有效滤除匹配度较差的特征点和匹配点,进一步提高结果的有效性,得到更加精准的h矩阵。
[0165]
11、利用图像in填补图像i0中被遮挡的背景区域,以滤除静态对象。
[0166]
如图16所示,通过上一步骤确定的单应性矩阵h,可以将图像in全部按照h矩阵投影到图像i0对应的摄像装置的位姿(camera pose)上,得到图像in’,然后将图像in’中的待滤除对象对应的像素区域,替换覆盖图像i0对应的区域,即可实现静态对象的移除。
[0167]
此外,本技术还提供了一种图像处理装置,如图17所示,所述图像处理装置包括处理器171、存储器172、存储于所述存储器172所述处理器171可执行的计算机程序,所述处理器执行所述计算机程序时,实现以下步骤:
[0168]
获取摄像装置在第一位姿采集的第一图像,并在所述第一图像中确定待滤除对象对应的第一像素区块;
[0169]
获取所述摄像装置在第二位姿采集的第二图像,所述第二图像包括目标对象对应的第二像素区块,所述目标对象为所述第一图像中被所述待滤除对象遮挡的对象;
[0170]
通过所述第二像素区块对所述第一图像中所述第一像素区块做替换处理,以生成替换处理后的第一图像。
[0171]
在某些实施例中,所述处理器用于获取所述摄像装置在第二位姿采集的第二图像时,具体用于:
[0172]
确定所述第二位姿;
[0173]
控制所述摄像装置运动以调整至所述第二位姿并采集所述第二图像。
[0174]
在某些实施例中,所述处理器用于获取所述摄像装置在第二位姿采集的第二图像时,具体用于:
[0175]
确定所述第二位姿;
[0176]
向用户发出指示所述第二位姿的提示信息,以使所述用户根据所述提示信息控制所述摄像装置运动以调整至所述第二位姿并采集所述第二图像。
[0177]
在某些实施例中,所述处理器用于确定所述第二位姿时,具体用于:
[0178]
获取所述待滤除对象的位置信息以及所述目标对象的位置信息;
[0179]
根据所述述待滤除对象的位置信息以及所述目标对象的位置信息确定所述第二位姿。
[0180]
在某些实施例中,所述处理器用于根据所述待滤除对象的位置信息以及所述目标对象的位置信息确定所述第二位姿,具体用于:
[0181]
根据所述待滤除对象的位置信息、所述目标对象的位置信息以及所述待滤除对象的尺寸确定所述第二位姿。
[0182]
在某些实施例中,所述第一位姿包括第一位置和第一朝向,所述第二位姿包括第二位置和第二朝向;
[0183]
所述第二位置位于经过所述第一位置且所述待滤除对象所在平面平行的直线上,第二朝向指向所述待滤除对象所在的位置。
[0184]
在某些实施例中,所述第二位置通过以下方式确定:
[0185]
根据所述待滤除对象的位置信息、所述目标对象的位置信息以及所述待滤除对象的尺寸确定移动距离;
[0186]
根据所述第一位置和所述移动距离确定所述第二位置。
[0187]
在某些实施例中,所述第二朝向通过以下方式确定:
[0188]
根据所述第一位置以及所述待滤除对象在所述摄像装置采集的图像画面中的位置确定所述第二朝向;或
[0189]
根据所述第一位置、所述待滤除对象左右端点的位置以及所述目标对象左右端点的位置确定所述第二朝向。
[0190]
在某些实施例中,所述第二位姿包括第二位置和第二朝向,所述处理器用于向用户发出指示所述第二位姿的提示信息,时,具体用于:
[0191]
向用户展示标识有所述第二位置的图像,以及展示调整至所述第二朝向对应的旋转角度信息。
[0192]
在某些实施例中,所述处理器用于获取所述摄像装置在第二位姿采集的第二图像时,具体用于:
[0193]
控制所述摄像装置运动以改变所述摄像装置的位姿并采集得到多帧图像,针对每一帧图像,判断所述图像中是否包括所述第二像素区块;
[0194]
将包括所述第二像素区块的图像作为所述第二图像。
[0195]
在某些实施例中,所述处理器用于判断所述图像中是否包括所述第二像素区块时,具体用于:
[0196]
在所述第一像素区块中确定第一特征点,以及所述第一像素区块的周边区域确定第二特征点;
[0197]
针对每一帧所述图像,确定所述第一特征点在所述图像中的第一匹配点,以及所述第二特征点在所述图像中的第二匹配点;
[0198]
根据所述第一匹配点和所述第二匹配点的在图像中的位置关系确定所述图像是否包括所述第二像素区块。
[0199]
在某些实施例中,所述第一特征点位于所述第一像素区块第一侧之内,所述第二特征点位于所述第一像素区块第二侧之外,其中,所述第一侧为所述第二侧的对侧;
[0200]
所述处理器用于根据所述第一匹配点和所述第二匹配点的位置关系确定所述图像是否包括所述第二像素区块时,具体用于:
[0201]
当判定所述第二匹配点位于所述第一匹配点的第一侧时,判定所述图像包括所述第二像素区块。
[0202]
在某些实施例中,多个所述第二特征点位于环绕所述第一像素区域的环状像素区块中,所述处理器用于根据所述第一匹配点和所述第二匹配点的位置关系确定所述图像是否包括所述第二像素区块时,具体用于:
[0203]
当多个所述第二匹配点中预设数量的所述第二匹配点位于所述第一匹配点的一侧时,则判定所述第二图像中包括所述第二像素区块。
[0204]
在某些实施例中,所述摄像装置搭载于可移动平台,所述处理器用于控制所述摄像装置运动时,具体用于:
[0205]
控制所述可移动平台运动以控制所述摄像装置运动。
[0206]
在某些实施例中,所述摄像装置通过云台搭载于可移动平台,所述处理器用于控制所述摄像装置运动时,具体用于:
[0207]
控制所述可移动平台运动,和/或,控制所述云台使所述摄像装置与所述可移动平台之间产生相对运动,以控制所述摄像装置运动。
[0208]
在某些实施例中,所述摄像装置通过云台搭载于可移动平台,所述第二位姿包括第二位置和第二朝向,所述处理器用于控制所述摄像装置运动以使所述摄像装置调整至所述第二位姿时,具体用于:
[0209]
控制所述可移动平台运动,以使所述摄像装置位于所述第二位置;以及控制所述云台转动,以使所述摄像装置的朝向调整至所述第二朝向。
[0210]
在某些实施例中,所述可移动平台包括无人机、无人车、无人船中的任一种。
[0211]
在某些实施例中,所述处理器用于在所述第一图像中确定待滤除对象对应的第一像素区块时,具体用于:
[0212]
响应于用户的指令,从所述第一图像中确定待滤除对象对应的第一像素区块。
[0213]
在某些实施例中,所述指令包括用户通过人机交互界面输入的选框,所述选框用于框选所述静态目标对象。
[0214]
在某些实施例中,所述第一像素区块为所述选框框选的像素区块,所述装置还用于:
[0215]
对所述第一图像进行超像素分割处理,得到多个图像区域,基于所述多个图像区域调整所述选框框选的像素区块。
[0216]
在某些实施例中,所述处理器基于所述多个图像区域调整所述选框框选的像素区块时,具体用于:
[0217]
根据所述多个图像区域中各图像区域落入所述选框的部分与各图像区域的占比调整所述选框框选的像素区块。
[0218]
在某些实施例中,所述装置还用于:
[0219]
当预设第一条件触发后,向用户发出无法滤除所述待滤除对象的提示信息。
[0220]
在某些实施例中,所述预设第一条件包括以下一种或多种:
[0221]
所述待滤除对象与所述目标对象的第一距离小于第一预设阈值;
[0222]
或所述目标对象的与所述摄像装置的第二距离小于第二预设阈值;
[0223]
或,所述第一距离与所述第二距离之间的距离大小关系不满足预设第二条件。
[0224]
在某些实施例中,所述装置还用于:
[0225]
在所述第二图像中确定所述第二像素区块。
[0226]
在某些实施例中,所述处理器用于在所述第二图像中确定所述第二像素区块时,具体用于:
[0227]
确定所述第一图像的像素点与所述第二图像的像素点之间的映射关系;
[0228]
根据所述映射关系确定所述第一像素区块在所述第二图像的映射区域,作为所述第二像素区块。
[0229]
在某些实施例中,所述处理器用于确定所述第一图像的像素点与所述第二图像的像素点之间的映射关系时,具体用于:
[0230]
在所述第一像素区块的周边区域提取第三特征点,并在所述第二图像中确定所述第三特征点的第三匹配点;
[0231]
基于所述第三特征点和所述第三匹配点确定所述映射关系。
[0232]
在某些实施例中,所述处理器用于在所述第二图像中确定所述第二像素区块时,具体用于:
[0233]
在所述第一图像中确定一环绕所述第一像素区块的环状像素区块;
[0234]
在所述第二图像中确定与所述环状像素区块相匹配的匹配环状区块;
[0235]
将述第二图像中所述匹配环状区块包围的像素区块作为所述第二像素区块。
[0236]
在某些实施例中,所述处理器用于获取摄像装置在第一位姿采集的第一图像时,具体用于:
[0237]
获取摄像装置在第一位姿采集的多张图像;
[0238]
在所述多张图像中确定所述第一图像。
[0239]
在某些实施例中,所述处理器用于在所述第一图像中确定待滤除对象对应的第一像素区块之前,还用于:
[0240]
通过所述多张图像确定所述待滤除对象的类别信息,所述类别信息用于标识所述待滤除对象为动态对象或静态对象;
[0241]
若所述待滤除对象为静态对象,则执行所述在所述第一图像中确定待滤除对象对应的第一像素区块,获取所述摄像装置在第二位姿采集的包括第二像素区块的第二图像,并通过所述第二像素区块对所述第一图像中所述第一像素区块做替换处理,以生成替换处理后的第一图像的步骤。
[0242]
在某些实施例中,所述装置还用于:
[0243]
若所述待滤除对象为动态对象,则执行以下步骤:
[0244]
确定待滤除对象在所述第一图像中对应的第三像素区块;
[0245]
确定所述第三像素区域所在像素位置在所述多张图像中除所述第一图像外的其
他图像中对应像素位置上的第四像素区块;
[0246]
从所述其他图像中确定所述第四像素区块为静态区域的第三图像;
[0247]
利用所述第三图像中的所述第四像素区块替换所述第一图像中的所述第三像素区块。
[0248]
在某些实施例中,所述处理器用于通过所述多张图像确定所述待滤除对象的所述类别时,具体用于:
[0249]
根据所述待滤除对象的各像素点相对于所述多张图像中除所述第一图像外的其他图像的光流确定所述待滤除对象的类别信息。
[0250]
在某些实施例中,所述处理器用于从所述其他图像中确定所述第四像素区块为静态区域的第三图像时,具体用于:
[0251]
确定所述其他图像中的动态区域;
[0252]
针对每个所述待滤除对象,执行以下步骤:
[0253]
按照所述其他图像与所述第一图像采集顺序由近及远的顺序,确定所述第三像素区块所在像素位置在所述其他图像中的对应像素位置的像素区块,直至所述对应像素位置的像素区块与所述动态区域不重叠,则将所述其他图像作为所述第三图像。
[0254]
在某些实施例中,所述其他与所述第一图像的差异超过预设阈值;或
[0255]
所述其他图像为与所述第一图像间隔指定帧的图像。
[0256]
其中,所述图像处理装置进行图像处理的具体细节参考上述图像处理方法中各实施例的描述,在此不再赘述。
[0257]
进一步的,本技术还提供了另一种图像处理装置,所述图像处理装置包括处理器、存储器、存储于所述存储器所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,实现以下步骤:
[0258]
确定第一图像中的动态对象对应的第一像素区块;
[0259]
确定所述第一像素区块所在像素位置在多张第二图像中的对应像素位置的像素区块,所述多张第二图像与所述第一图像通过摄像装置在同一位姿采集得到;
[0260]
从所述多张第二图像中确定所述对应像素位置的像素区块为静态区域的第三图像;
[0261]
利用所述第三图像中的所述对应像素位置的像素区块替换所述第一图像中的所述第一像素区块。
[0262]
在某些实施例中,所述处理器用于确定所述第一图像中的动态对象对应的第一像素区块时,具体用于:
[0263]
针对所述每一帧所述第二图像执行以下操作:
[0264]
计算所述第一图像各像素点相对于所述第二图像的光流;
[0265]
从所述第一图像各像素点确定所述光流的模长大于预设阈值的目标像素点;
[0266]
对所述目标像素点进行聚类处理,得到所述动态对象对应的第一像素区块。
[0267]
在某些实施例中,所述处理器用于从所述多张第二图像中确定所述对应像素位置的像素区块为静态区域的第三图像;具体用于:
[0268]
确定所述多张第二图像中的动态区域;
[0269]
针对每个所述第一像素区块,执行以下步骤:
[0270]
按照所述第二图像与所述第一图像采集顺序由近及远的顺序,确定所述第一像素区块所在的像素位置在所述第二图像中的对应像素位置的像素区块,直至所述对应像素位置的像素区块与所述动态区域不重叠,则将所述第二图像作为所述第三图像。
[0271]
在某些实施例中,所述第二图像与所述第一图像的差异超过预设阈值;或
[0272]
所述第二图像为与所述第一图像间隔指定帧的图像。
[0273]
其中,所述图像处理装置进行图像处理的具体细节参考上述图像处理方法中各实施例的描述,在此不再赘述。
[0274]
另外,本技术还提供了一种可移动平台,所述可移动平台可以是无人机、无人车、无人船、智能机器人、手持云台等任一设备。所述可移动平台包括摄像装置以及图像处理装置,所述图像处理装置可以实现本技术实施例中的任一项图像处理方法,具体实现细节参考上述图像处理方法中各实施例的描述,在此不再赘述。
[0275]
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中图像处理方法。
[0276]
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0277]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0278]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0279]
以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献