目标跟踪方法及装置与流程

文档序号:14348274阅读:150来源:国知局
目标跟踪方法及装置与流程

本发明涉及飞行控制技术领域,具体而言,涉及一种目标跟踪方法及装置。



背景技术:

鱼眼摄像装置是一种短焦距的并且视角接近或等于180°的镜头,它是一种极端的广角镜头。鱼眼摄像装置拍摄的范围大,利用鱼眼摄像装置进行物体跟踪,可以在转动角度小的情况下扩大跟踪范围。

但是,目前的鱼眼摄像装置目标跟踪技术中,跟踪效果差。



技术实现要素:

本发明的目的在于提供一种目标跟踪方法及装置,其旨在改善现有技术中存在的上述问题。

本发明提供一种技术方案:

本发明实施例提供了一种目标跟踪方法,所述方法包括:获取鱼眼摄像装置的第一视场角数据;获取鱼眼摄像装置采集的第一图像;根据所述第一视场角数据对所述第一图像进行矫正和渲染,得到第一场景图像;响应在所述第一场景图像中选取跟踪目标的操作,获取所述跟踪目标的第一目标位置;获取鱼眼摄像装置采集得到的第一图像的后一帧图像作为第二图像;根据所述第二图像和所述第一图像得到所述鱼眼摄像装置的偏移数据;根据所述偏移数据和所述第一视场角数据,得到第二视场角数据;根据所述第二视场角数据对所述第二图像进行矫正和渲染,得到第二场景图像;根据所述第一目标位置和所述偏移数据得到所述跟踪目标在所述第二场景图像中的第二目标位置。

本发明实施例还提供了一种目标跟踪装置,所述装置包括:获取第一数据模块,用于获取鱼眼摄像装置的第一视场角数据;获取第一图像模块,用于获取鱼眼摄像装置采集的第一图像;生成第一场景图像模块,用于根据所述第一视场角数据对所述第一图像进行矫正和渲染,得到第一场景图像;获取跟踪目标模块,用于响应在所述第一场景图像中选取跟踪目标的操作,获取所述跟踪目标的第一目标位置;获取第二图像模块,用于获取鱼眼摄像装置采集得到的第一图像的后一帧图像作为第二图像;获取偏移数据模块,用于根据所述第二图像和所述第一图像得到所述鱼眼摄像装置的偏移数据;获取第二数据模块,用于根据所述偏移数据和所述第一视场角数据,得到第二视场角数据;生成第二场景图像模块,用于根据所述第二视场角数据对所述第二图像进行矫正和渲染,得到第二场景图像;跟踪模块,用于根据所述第一目标位置和所述偏移数据得到所述跟踪目标在所述第二场景图像中的第二目标位置。

本发明实施例提出的一种目标跟踪装置及方法,所述方法通过获取鱼眼摄像装置的第一视场角数据和由鱼眼摄像装置采集的第一图像,首先根据第一视场角数据对第一图像进行矫正和渲染得到第一场景图像,响应在第一场景图像中选取跟踪目标的操作,获取所选取的跟踪目标的第一目标位置,然后获取鱼眼摄像装置采集得到的第一图像的后一帧图像作为第二图像,根据第二图像和第一图像得到述鱼眼摄像装置的偏移数据,其次,根据偏移数据和第一视场角数据,得到第二视场角数据,再根据第二视场角数据对第二图像进行矫正和渲染,得到第二场景图像,最后根据第一目标位置和偏移数据得到跟踪目标在第二场景图像中的第二目标位置,实现对目标跟踪。该方法的目标跟踪效果好。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种无人机100的方框结构示意图。

图2示出了本发明实施例提供的一种目标跟踪方法流程图。

图3示出了本发明实施例中步骤s300包括的子步骤的流程图。

图4示出了步骤s600包括的子步骤的流程图。

图5示出了本发明实施例中步骤s800的子步骤的流程图。

图6示出了本发明实施例提供的目标跟踪装置200方框示意图。

图7示出了生成第一场景图像模块230的方框结构示意图。

图8示出了获取偏移数据模块260的方框结构示意图。

图9示出了生成第二场景图像模块280的方框结构示意图。

图标:100-无人机;101-存储器;102-处理器;103-外设接口;104-鱼眼摄像装置;105-显示屏;200-目标跟踪装置;210-获取第一数据模块;220-获取第一图像模块;230-生成第一场景图像模块;231-获取第一信息单元;232-生成第二信息单元;233-第一渲染单元;240-获取跟踪目标模块;250-获取第二图像模块;260-获取偏移数据模块;261-获取第三信息单元;262-求取偏移数据单元;270-获取第二数据模块;280-生成第二场景图像模块;281-获取第二信息单元;282-生成第四信息单元;283-第二渲染单元;290-跟踪模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参阅图1,图1为本发明实施例提供的一种无人机100的方框结构示意图。在本发明实施例中,无人机100可以是。无人机100包括目标跟踪装置200、存储器101、处理器102、外设接口103、鱼眼摄像装置104和显示屏105。

所述存储器101、处理器102、外设接口103、鱼眼摄像装置104和显示屏105各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述目标跟踪装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述无人机100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器102用于执行存储器101中存储的可执行模块,例如所述目标跟踪装置200包括的软件功能模块或计算机程序。

其中,存储器101可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器101用于存储程序,所述处理器102在接收到执行指令后,执行所述程序,本发明任一实施例揭示的流程定义的服务器所执行的方法可以应用于处理器102中,或者由处理器102实现。

处理器102可以是一种集成电路芯片,具有信号处理能力。上述的处理器102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器102也可以是任何常规的处理器等。

所述外设接口103用于将各种输入/输出装置耦合至处理器102以及存储器101。在一些实施例中,外设接口103以及处理器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。鱼眼摄像装置104用于采集图像。

显示屏105用于实现用户与无人机100之间的交互,具体可以是,但不限于显示屏105将无人机100的运动信息、跟踪目标的运动信息以及鱼眼摄像装置104采集的图像等进行显示。

在本发明实施例中,无人机100可用于目标跟踪,具体的,通过鱼眼摄像装置104采集图像,根据鱼眼摄像装置104采集的图像进行目标跟踪,具体的方法如下所述。

请参阅图2,图2示出了本发明实施例提供的一种目标跟踪方法流程图。在本发明实施例中,目标跟踪方法包括以下步骤:

步骤s100:获取鱼眼摄像装置104的第一视场角数据。

在本发明实施例中,鱼眼摄像装置104的第一视场角数据包括鱼眼摄像装置104的焦距信息和畸变信息。

步骤s200:获取鱼眼摄像装置104采集的第一图像。

在本发明实施例中第一图像可以是由鱼眼摄像装置104采集实时采集的,也可以是由鱼眼摄像装置104预先采集的。

步骤s300:根据第一视场角数据对第一图像进行矫正和渲染,得到第一场景图像。

在本发明实施例中,步骤s300包括步骤s310、步骤s320和步骤s330三个子步骤。具体的,请参阅图3,图3示出了本发明实施例中步骤s300包括的子步骤的流程图。以下对步骤s310、步骤s320和步骤s330进行详细阐述。

步骤s310:获取第一图像的第一位置信息和第一像素信息。

在本发明实施例中,第一图像的第一位置信息可以是第一图像中所有像素点的位置信息,也可以是第一图像中若干点的位置信息,例如,第一图像的四个角的位置信息、第一图相中特征点的位置信息等等。第一图像中的第一像素信息是指第一图像中第一位置信息对应的点的像素信息。

步骤s320:根据第一视场角数据对第一位置信息进行矫正,得到第二位置信息。

在本发明是实施例中,第一位置信息可以是一个集合,即一个位置矩阵。作为一种实施方式,根据第一视场角数据对第一位置信息进行矫正的方法可以是,但不限于:通过求取第一视场角数据与第一位置信息的乘积,得到新的位置矩阵,以新的位置矩阵作为第二位置信息。

步骤s330:根据第一像素信息和第一视场角数据对第二位置信息进行渲染,得到第一场景图像。

作为一种实施方式,第一视场角数据还包括光线入射角度,根据第一像素信息和第一视场角数据对第二位置信息进行渲染的步骤,可以是:采用opengles2.0来实现,具体的,获取第二位置信息中每一个位置对应的在第一图像中的点的第一像素信息,根据该第一像素信息以及该第一位置信息的光线入射角度对第二位置信息进行渲染。

步骤s400:响应在第一场景图像中选取跟踪目标的操作,获取跟踪目标的第一目标位置。

在本发明实施例中,在响应在第一场景图像中选取跟踪目标的操作,获取跟踪目标的第一目标位置步骤之前,目标跟踪方法还包括:显示第一场景图像。

步骤s500:获取鱼眼摄像装置104采集得到的第一图像的后一帧图像作为第二图像。

步骤s600:根据第二图像和第一图像得到鱼眼摄像装置104的偏移数据。

在本发明实施例中,步骤s600包括步骤s610和步骤s620两个子步骤。请参阅图4,图4示出了步骤s600包括的子步骤的流程图。以下对步骤s610和步骤s620进行详细阐述。

步骤s610:获取第二图像的第三位置信息。

在本发明实施例中,第二图像的第三位置信息与第一图像的第一位置信息相对应,具体的,第二图像的第二位置信息可以是第二图像中所有像素点的位置信息,也可以是第二图像中若干点的位置信息,例如,第二图像的四个角的位置信息、第二图相中特征点的位置信息等等。

步骤s620:求取第一位置信息与第三位置信息之间的旋转矩阵作为偏移数据。

在本发明实施例中,将第一位置信息与第三位置信息之间的旋转矩阵作为偏移数据,则偏移数据可以根据第一位置信息与第二位置信息之间的旋转变化得到。

步骤s700:根据偏移数据和第一视场角数据,得到第二视场角数据。

在本发明实施例中,步骤s700具体的,可以是但不限于:将偏移数据的各个分量分别与第一视场角数据中与之对应的各个分量相加,得到第二视场角数据。

步骤s800:根据第二视场角数据对第二图像进行矫正和渲染,得到第二场景图像。

在本发明实施例中,步骤s800包括步骤s810、步骤s820和步骤s830三个子步骤。请参阅图5,图5示出了本发明实施例中步骤s800的子步骤的流程图。以下对步骤s810、步骤s820和步骤s830进行详细阐述。

步骤s810:获取第二图像的第二像素信息。

在本发明实施例中,第二像素信息与第三位置信息相对应。

步骤s820:根据第三位置信息和第二视场角数据计算得到第四位置信息。

作为一种实施方式,第四位置信息可以是第三位置信息和第二视场角数据的乘积。

步骤s830:根据第二像素信息和第二视场角数据对第四位置信息进行渲染,得到第二场景图像。

作为一种实施方式,根据第二像素信息和第二视场角数据对第四位置信息进行渲染的步骤,可以是:采用opengles2.0来实现,具体的,获取第三位置信息中每一个位置对应的在第二图像中的点的第二像素信息,根据该第二像素信息以及该第三位置信息的光线入射角度对第三位置信息进行渲染。

步骤s900:根据第一目标位置和偏移数据得到跟踪目标在第二场景图像中的第二目标位置。

在本发明实施例中,根据第一目标位置和偏移数据得到跟踪目标在第二场景图像中的第二目标位置的步骤,具体的,可以是:求取第一目标位置与偏移数据之积作为第二目标位置。第二目标位置就是跟踪目标在第二场景图像中的位置。

通过采用以上方案,能够通过鱼眼摄像装置104跟踪目标,跟踪效果好。

请参阅图6,图6示出了本发明实施例提供的目标跟踪装置200方框示意图。

在本发明实施例中,目标跟踪装置200包括获取第一数据模块210、获取第一图像模块220、生成第一场景图像模块230、获取跟踪目标模块240、获取第二图像模块250、获取偏移数据模块260、获取第二数据模块270、生成第二场景图像模块280和跟踪模块290。获取第一数据模块210、获取第一图像模块220、生成第一场景图像模块230、获取跟踪目标模块240、获取第二图像模块250、获取偏移数据模块260、获取第二数据模块270、生成第二场景图像模块280和跟踪模块290依此连接。以下对获取第一数据模块210、获取第一图像模块220、生成第一场景图像模块230、获取跟踪目标模块240、获取第二图像模块250、获取偏移数据模块260、获取第二数据模块270、生成第二场景图像模块280和跟踪模块290进行详细阐述。

获取第一数据模块210,用于获取鱼眼摄像装置104的第一视场角数据。在本发明实施例中,获取第一数据模块210可以用于执行步骤s100,具体的请参照步骤s100所述内容,在此不再赘述。

获取第一图像模块220,用于获取鱼眼摄像装置104采集的第一图像。在本发明实施例中,获取第一图像模块220可以用于执行步骤s200,以上步骤s200所述的内容适用于获取第一图像模块220,在此不再赘述。

生成第一场景图像模块230,用于根据第一视场角数据对第一图像进行矫正和渲染,得到第一场景图像。在本发明实施例中,生成第一场景图像模块230可以用于执行步骤s300。在步骤s300中所述的内容适用于生成第一场景图像模块230,在此不再赘述。

请参阅图7,图7示出了生成第一场景图像模块230的方框结构示意图。

在本发明实施例中,生成第一场景图像模块230包括获取第一信息单元231、生成第二信息单元232和第一渲染单元233。获取第一信息单元231与生成第二信息单元232连接,生成第二信息单元232与第一渲染单元233连接。以下对获取第一信息单元231、生成第二信息单元232和第一渲染单元233进行阐述。

获取第一信息单元231,用于获取第一图像的第一位置信息和第一像素信息。在本发明实施例中,获取第一信息单元231可以用于执行步骤s310,上述步骤s310所述的内容适用于获取第一信息单元231,在此不再赘述。

生成第二信息单元232,用于根据第一视场角数据对第一位置信息进行矫正,得到第二位置信息。在本发明实施例中,生成第二信息单元232可以用于执行步骤s320,步骤s320所述内容适用于生成第二信息单元232,在此不再赘述。

第一渲染单元233,用于根据第一像素信息和第一视场角数据对第二位置信息进行渲染,得到第一场景图像。在本发明实施例中,第一渲染单元233可以用于执行步骤s330,步骤s330所述内容适用于第一渲染单元233,具体的请参阅上述步骤s330所述内容,在此不再赘述。

获取跟踪目标模块240,用于响应在第一场景图像中选取跟踪目标的操作,获取跟踪目标的第一目标位置。在本发明实施例中,获取跟踪目标模块240可以用于执行步骤s400。步骤s400所述内容适用于获取跟踪目标模块240,在此不再赘述。

获取第二图像模块250,用于获取鱼眼摄像装置104采集得到的第一图像的后一帧图像作为第二图像。在本发明实施例中,获取第二图像模块250可以用于执行步骤s500。步骤s500所述的内容适用于获取第二图像模块250,具体的请参阅上述步骤s500中所述的内容,在此不再赘述。

获取偏移数据模块260,用于根据第二图像和第一图像得到鱼眼摄像装置104的偏移数据。在本发明实施例中,获取偏移数据模块260可以用于执行步骤s600,上述步骤s600中所述的内容适用于获取偏移数据模块260,具体的参阅上述步骤s600,在此不再赘述。

请参阅图8,图8示出了获取偏移数据模块260的方框结构示意图。

在本发明实施例中,获取偏移数据模块260包括获取第三信息单元261和求取偏移数据单元262,获取第三信息单元261和求取偏移数据单元262连接。以下对获取第三信息单元261和求取偏移数据单元262进行阐述。

获取第三信息单元261,用于获取第二图像的第三位置信息。在本发明实施例中,获取第三信息单元261可以用于执行步骤s610,步骤s610所述内容适用于获取第三信息单元261,具体请参阅上述步骤s610所述内容,在此不再赘述。

求取偏移数据单元262,用于求取第一位置信息与第三位置信息之间的旋转矩阵作为偏移数据。在本发明实施例中,求取偏移数据单元262可以用于执行步骤s620,步骤s620所述内容适用于求取偏移数据单元262,具体参照以上步骤s620所述内容,在此不再赘述。

获取第二数据模块270,用于根据偏移数据和第一视场角数据,得到第二视场角数据。在本发明实施例中,获取第二数据模块270可以用于执行步骤s700,上述步骤s700所述的内容适用于获取第二数据模块270,在此不再赘述。

生成第二场景图像模块280,用于根据第二视场角数据对第二图像进行矫正和渲染,得到第二场景图像。在本发明实施例中,生成第二场景图像模块280可以用于执行步骤s800,具体的请参阅步骤s800所述内容,上述步骤s800所述内容适用于生成第二场景图像模块280,在此不再赘述。

请参阅图9,图9示出了生成第二场景图像模块280的方框结构示意图。

在本发明实施例中,生成第二场景图像模块280包括:获取第二信息单元281、生成第四信息单元282和第二渲染单元283。获取第二信息单元281与生成第四信息单元282连接,生成第四信息单元282与第二渲染单元283连接。以下对获取第二信息单元281、生成第四信息单元282和第二渲染单元283进行详细阐述。

获取第二信息单元281,用于获取第二图像的第二像素信息。在本发明实施例中,获取第二信息单元281可以用于执行步骤s810,步骤s810所述内容适用于获取第二信息单元281,在此不再赘述。

生成第四信息单元282,用于根据第三位置信息和第二视场角数据计算得到第四位置信息。在本发明实施例中,生成第四信息单元282可以用于执行步骤s820,步骤s820所述内容适用于生成第四信息单元282,在此不再赘述。

第二渲染单元283,用于根据第二像素信息和第二视场角数据对第四位置信息进行渲染,得到第二场景图像。第二渲染单元283可以用于执行步骤s830,上述步骤s830所述内容适用于第二渲染单元283,在此不再赘述。

跟踪模块290,用于根据第一目标位置和偏移数据得到跟踪目标在第二场景图像中的第二目标位置。在本发明实施例中,跟踪模块290可以用于执行步骤s900,上述步骤s900所述内容适用于跟踪模块290,具体请参与而上述步骤s900所述内容,在此不再赘述。

综上所述,本发明实施例提出的一种目标跟踪装置及方法,所述方法通过获取鱼眼摄像装置的第一视场角数据和由鱼眼摄像装置采集的第一图像,首先根据第一视场角数据对第一图像进行矫正和渲染得到第一场景图像,响应在第一场景图像中选取跟踪目标的操作,获取所选取的跟踪目标的第一目标位置,然后获取鱼眼摄像装置采集得到的第一图像的后一帧图像作为第二图像,根据第二图像和第一图像得到述鱼眼摄像装置的偏移数据,其次,根据偏移数据与第一视场角数据,得到第二视场角数据,再根据第二视场角数据对第二图像进行矫正和渲染,得到第二场景图像,最后根据第一目标位置和偏移数据得到跟踪目标在第二场景图像中的第二目标位置,实现对目标跟踪。该方法的目标跟踪效果好。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1