掌桥专利:专业的专利平台
掌桥专利
首页

跟随摄像机遮挡检测方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:21


跟随摄像机遮挡检测方法、装置、设备及存储介质

技术领域

本发明涉及三维技术领域,尤其涉及一种跟随摄像机遮挡检测方法、装置、设备及存储介质。

背景技术

目前,在三维虚拟世界中,摄像机跟随目标物体移动是一项常见技术,然而当摄像机与目标物体之间存在障碍物时,摄像机若不做出位置调整,就可能被障碍物遮挡视线,无法实现对目标物体的跟随效果。

通常,摄像机会移动到距离跟随目标物体最近的障碍物前以避免被遮挡的情况,然而这样的做法可能在障碍物距离跟随的目标物体很近时,产生摄像机穿模的情况,不利于摄像机最终观察效果的呈现。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是相关技术。

发明内容

本发明的主要目的在于提供了一种跟随摄像机遮挡检测方法、装置、设备及存储介质,旨在解决三维虚拟世界中在障碍物距离观察目标物过近时观察摄像机存在穿模现象的技术问题。

为实现上述目的,本发明提供了一种跟随摄像机遮挡检测方法,所述方法包括以下步骤:

根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标;

获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点;

从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点;

从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。

可选地,所述从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标,包括:

计算所述检测到的各碰撞点与所述目标观察点的距离;

选择距离最小值对应的碰撞点作为所述第一遮挡点;

根据所述第一遮挡点的坐标更新所述摄像机在当前场景的跟随坐标。

可选地,所述选择距离最小值对应的碰撞点作为所述第一遮挡点,包括:

获取所述各碰撞点与所述目标观察点的距离;

判断距离第一最小值对应的碰撞点与所述目标物体的相对位置;

基于所述移动方向,在所述距离第一最小值对应的碰撞点位于所述目标物体之前时,判断距离第二最小值对应的碰撞点与所述目标物体的相对位置;

基于所述移动方向,在所述距离第二最小值对应的碰撞点位于所述目标物体之后时,将所述距离第二最小值对应的碰撞点作为所述第一遮挡点。

可选地,所述根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标,包括:

以所述目标物体在当前场景中的实时平面坐标点作为当前场景的坐标系原点,通过所述目标物体的移动方向、所述目标物体的竖直高度方向,结合左手坐标系,确定基于所述目标物体的当前场景动态坐标系;

根据所述确定的当前场景动态坐标系,确定所述摄像机在当前场景的跟随坐标。

可选地,所述获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点,包括:

获取所述目标物体的移动方向,将所述移动方向作为所述摄像机的移动方向;

在所述目标物体的竖直高度方向上选取与所述坐标系原点距离预设数值的位置作为预设聚焦位置,确定所述目标观察点;

通过所述摄像机的移动方向结合所述摄像机与所述预设聚焦位置的连线方向,确定所述摄像机的朝向。

可选地,所述根据所述第一遮挡点的坐标更新所述摄像机在当前场景的跟随坐标,包括:

获取所述摄像机的初始跟随点与所述目标观察点的第一距离值;

将所述第一遮挡点与所述目标观察点的距离值作为第二距离值,结合所述第一距离值,确定跟随坐标影响参数;

基于所述跟随坐标影响参数,更新所述摄像机在当前场景的跟随坐标。

可选地,所述根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标的步骤之后,还包括:

在获得所述摄像机在当前场景的跟随坐标时,通过插值方式将所述摄像机移动至所述跟随坐标在当前场景对应的位置,确定所述摄像机的初始跟随点。

此外,为实现上述目的,本发明还提出一种跟随摄像机遮挡检测装置,所述跟随摄像机遮挡检测装置包括:

坐标确定模块,用于根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标;

朝向确定模块,用于获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点;

碰撞检测模块,用于从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点;

坐标更新模块,用于从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。

此外,为实现上述目的,本发明还提出一种跟随摄像机遮挡检测设备,所述跟随摄像机遮挡检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跟随摄像机遮挡检测程序,所述跟随摄像机遮挡检测程序配置为实现如上文所述的跟随摄像机遮挡检测方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有跟随摄像机遮挡检测程序,所述跟随摄像机遮挡检测程序被处理器执行时实现如上文所述的跟随摄像机遮挡检测方法的步骤。

本发明首先根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标;接着获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点;再从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点;最后从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。由于本发明是先通过摄像机在当前场景的跟随坐标结合目标物体确定摄像机的初始位置和朝向,再从通过摄像机向目标物体上的观察点生成一条射线进行碰撞检测,根据筛选得到的第一遮挡点对摄像机的坐标进行更新,相比现有技术,本发明基于从各碰撞点中筛选得到的第一遮挡点对摄像机坐标进行更新,能够有效避免摄像机在距离观察目标过近时造成的穿模情况。

附图说明

图1为本发明实施例涉及的硬件运行环境的跟随摄像机遮挡检测设备的结构示意图;

图2为本发明跟随摄像机遮挡检测方法第一实施例的流程示意图;

图3为本发明跟随摄像机遮挡检测方法第二实施例的流程示意图;

图4为本发明跟随摄像机遮挡检测方法第三实施例的流程示意图;

图5为本发明跟随摄像机遮挡检测方法第三实施例中基于目标物体建立的当前场景x-y-z坐标系中射线检测示例图;

图6为本发明跟随摄像机遮挡检测装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例涉及的硬件运行环境的跟随摄像机遮挡检测设备的结构示意图。

如图1所示,该跟随摄像机遮挡检测设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对跟随摄像机遮挡检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及跟随摄像机遮挡检测程序。

在图1所示的跟随摄像机遮挡检测设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明跟随摄像机遮挡检测设备中的处理器1001、存储器1005可以设置在跟随摄像机遮挡检测设备中,所述跟随摄像机遮挡检测设备通过处理器1001调用存储器1005中存储的跟随摄像机遮挡检测程序,并执行本发明实施例提供的跟随摄像机遮挡检测方法。

本发明实施例提供了一种跟随摄像机遮挡检测方法,参照图2,图2为本发明跟随摄像机遮挡检测方法第一实施例的流程示意图。

本实施例中,所述跟随摄像机遮挡检测方法包括以下步骤:

步骤S10:根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标。

需要说明的是,本实施例方法的执行主体可以是具有数据处理,数据存储,坐标定位以及程序运行功能的能够对跟随摄像机进行远程控制的终端设备,还可以是能够实现本实施例所述方法的能够进行坐标跟随和射线发射的摄像机本身,本实施例对此不加以限制,此处选择跟随摄像机遮挡检测设备(以下简称检测设备)为例对本发明跟随摄像机遮挡检测方法的各项实施例进行说明。

应该理解的是,目标物体可以为在虚拟现实技术中,摄像机需要进行跟随的具有体积概念的人物或其他种类物体(例如动物、车辆等),本实施例对此不加以限制,此处假设要跟随的目标物体为人物为例对本发明各项实施例进行说明。

可以理解的是,在目标物体移动中,跟随摄像机通常位于目标物体后方的某个位置,在已知目标物体在当前场景位置的前提下,就可以得到跟随摄像机的位置。

具体地,为了体现摄像机与目标物体的跟随特点,便于直接从目标物体的坐标获得摄像机的坐标,步骤S10包括:

步骤S101:以所述目标物体在当前场景中的实时平面坐标点作为当前场景的坐标系原点,通过所述目标物体的移动方向、所述目标物体的竖直高度方向,结合左手坐标系,确定基于所述目标物体的当前场景动态坐标系。

需要说明的是,当前场景可以为目标物体和摄像机所在的三维空间,该三维空间中可以存在多个可移动物体(例如与目标物体类似的其他物体)和不可移动物体(例如墙壁、边界和障碍物等)。目标物体在当前场景进行移动时,可以通过其跟随摄像机捕捉的画面作为基于目标物体视角的当前场景的画面场景区域,从而实现视角的控制。

可以理解的是,目标物体存在体积的概念,而在当前场景的平面中,人物被放置在地面这一平面上时,可以选用目标物体即人物的脚底所在地面点的位置作为当前场景的坐标系原点。人物向着某一方向移动,通常人物是面朝着在当前场景的平面中的移动方向的,可以选择人物面向的移动方向为第一坐标轴,选择人物竖直高度所在的方向即垂直于当前场景平面的方向为第二坐标轴,并可以选择人物在直立时双手平举到与肩通高的方向所在的直线为第三坐标轴。

在具体实现中,可以结合左手坐标系,将上述第三坐标轴确定为X轴,上述第二坐标轴确定为Y轴,上述第一坐标轴确定为Z轴,建立以目标物体为原点的当前场景的动态三维坐标系用于表示当前场景中每个物体(包括可移动物体和不可移动物体)的位置坐标,通过该位置坐标可以反应出当前场景中每个物体与目标物体的相对位置关系。

步骤S102:根据所述确定的当前场景动态坐标系,确定所述摄像机在当前场景的跟随坐标。

可以理解的是,求取摄像机在当前场景的跟随坐标的问题,在已知目标物体的实时坐标的前提下,可以转换为求取摄像机相对目标物体在三维空间中各轴向偏移的位置。

在具体实现中,在当前场景动态坐标系是基于目标物体确定原点时,若跟随摄像机是位于目标物体的正后方,用坐标描述就是摄像机位于坐标系Z轴-distance坐标位置,位于坐标系Y轴+height坐标位置,由于摄像机相对坐标系原点X轴方向没有发生偏移,即位于X轴原点位置。

进一步地,在获得-distance坐标和+height坐标时,可以通过向量运算计算出摄像机的跟随坐标,表达式可以为:跟随摄像机坐标=(height*目标人物Y轴单位向量-distance*目标人物Z轴单位向量)+目标人物坐标,其中目标人物坐标为当前场景动态坐标系的原点坐标。

步骤S20:获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点。

需要说明的是,获得摄像机在当前场景的跟随坐标后,在摄像机随着目标物体的移动方向进行移动的同时,还需要确定摄像机的朝向使得摄像机的镜头聚焦到目标位置上。

应该理解的是,可以在目标物体上预设一个聚焦位置,该聚焦位置可以是人物的头顶、腰间或者脚底等任意一个目标物体上的位置,不同的聚焦位置即为摄像机不同的目标观察点,选取不同的目标观察点在摄像机中呈现的视角画面不同,用户可以基于个性化需求进行设置,本实施例对此不加以限制。

可以理解的是,从摄像机的跟随坐标在当前场景中的位置点到目标物体上该聚焦位置的点的连线的方向,即为摄像机的朝向。

在具体实现中,检测设备获取目标物体在当前场景的移动方向,并结合用户预先选取的目标物体上的聚焦位置作为摄像机的目标观察点,能够确定摄像机的朝向,使通过摄像机在跟随目标物体进行移动时获取到的视角画面是基于单一位置,避免视角混乱的情况发生。

步骤S30:从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点。

需要说明的是,由于摄像机与目标物体间存在着一定距离,在目标物体移动的过程中,可能出现摄像机与目标物体间存在障碍物,使得摄像机在其跟随位置向目标观察点方向进行观察时被遮挡而无法观察到目标物体的情况。

应该理解的是,由摄像机跟随坐标在当前场景中的位置点作为射线的端点,向目标物体上聚焦位置的点发射一条射线,该射线可以检测到摄像机位置点到目标观察点连线上所有障碍物与射线存在碰撞的碰撞点。

步骤S40:从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。

可以理解的是,由于摄像机和目标物体间可能存在多个障碍物,可以先获取通过发送的射线检测到的摄像机位置点到目标观察点连线上所有障碍物与射线存在碰撞的碰撞点。

具体地,为了增强筛选得到的第一遮挡点的可靠性,步骤S40,包括:

步骤S401:计算所述检测到的各碰撞点与所述目标观察点的距离。

可以理解的是,当射线检测到碰撞点时,可以分别记录各个碰撞点的坐标,结合目标观察点对应的坐标,计算各个碰撞点到目标观察点的距离。

步骤S402:选择距离最小值对应的碰撞点作为所述第一遮挡点。

在具体实现中,获取各个碰撞点到目标观察点的距离,并依据距离数值大小将各个碰撞点按照由小到大顺序依次排列,选择位于排列顺序首位的碰撞点即距离最小值对应的碰撞点作为第一遮挡点。

步骤S403:根据所述第一遮挡点的坐标更新所述摄像机在当前场景的跟随坐标。

可以理解的是,考虑到若第一遮挡点与目标观察点的距离较近的情况,若直接将同样具有体积的摄像机移动到第一遮挡点前,可能会使摄像机和目标物体出现碰撞,进而影响通过摄像机对目标物体的有效跟随,可以将第一遮挡点坐标作为参考因素来更新摄像机的跟随坐标。

在具体实现中,检测设备获取第一遮挡点的坐标,由于遮挡点与摄像机位置点、目标观察点在同一射线上,遮挡点的坐标相对坐标系原点X轴方向没有发生偏移,即位于X轴原点位置,因此检测设备获取到第一遮挡点的Y轴坐标和X轴坐标,根据所述第一遮挡点的Y轴坐标和Z轴坐标对摄像机在当前场景的Y轴坐标和Z轴坐标进行更新。

进一步地,还可以引入预设经验值,在由第一遮挡点更新的摄像机的跟随坐标与目标物体的坐标较近时,对摄像机的跟随坐标再更新。

本实施例通过首先根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标,接着获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点,再从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点,最后从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。由于实施例是先通过摄像机在当前场景的跟随坐标结合目标物体确定摄像机的初始位置和朝向,再从通过摄像机向目标物体上的观察点生成一条射线进行碰撞检测,根据筛选得到的第一遮挡点对摄像机的坐标进行更新,并进一步地,以所述目标物体在当前场景中的实时平面坐标点作为当前场景的坐标系原点,通过所述目标物体的移动方向、所述目标物体的竖直高度方向,结合左手坐标系,确定基于所述目标物体的当前场景动态坐标系,能够体现摄像机与目标物体的跟随特点,便于直接从目标物体的坐标获得摄像机的坐标;并计算所述检测到的各碰撞点与所述目标观察点的距离,选择距离最小值对应的碰撞点作为所述第一遮挡点,根据所述第一遮挡点的坐标更新所述摄像机在当前场景的跟随坐标,能够考虑到摄像机与目标物体间存在多个障碍物的情况,相比现有技术,本发明基于从各碰撞点中筛选得到的第一遮挡点对摄像机坐标进行更新,能够有效避免摄像机在距离观察目标过近时造成的穿模情况。

参考图3,图3为本发明跟随摄像机遮挡检测方法第二实施例的流程示意图。

基于上述第一实施例,在确定第一遮挡点时,除了碰撞点与摄像机目标观察点间距离的这个判断因素外,还考虑到碰撞点与目标物体的前后位置关系,步骤S402,包括:

步骤S4021:获取所述各碰撞点与所述目标观察点的距离。

在具体实现中,检测设备获取各个碰撞点到目标观察点的距离,并依据距离数值大小将各个碰撞点按照由小到大顺序依次排列。

步骤S4022:判断距离第一最小值对应的碰撞点与所述目标物体的相对位置。

需要说明的是,该距离第一最小值对应的碰撞点即位于上述排列顺序中第一位的碰撞点。

可以理解的是,由于从摄像机向目标观察点生成的是一条射线,通过该射线检测到的碰撞点可以是位于目标物体的移动方向的前方的碰撞点。可以根据检测到的碰撞点的坐标,判断该碰撞点与目标物体的相对位置。

在具体实现中,检测设备获取距离第一最小值对应的碰撞点的坐标,由于当前场景中是结合目标物体移动方向建立的左手坐标系,在碰撞点Z轴坐标的数值为正值时,判定碰撞点在目标物体之前,在碰撞点Z轴坐标的数值为负值时,判定碰撞点在目标物体之后。

步骤S4023:基于所述移动方向,在所述距离第一最小值对应的碰撞点位于所述目标物体之前时,判断距离第二最小值对应的碰撞点与所述目标物体的相对位置。

需要说明的是,在距离第一最小值对应的碰撞点位于所述目标物体之前时,该距离第一最小值对应的碰撞点不处于摄像机和目标物体之间,不会对摄像机进行遮挡,需要进一步判断会对摄像机造成遮挡的碰撞点。

在具体实现中,检测设备在判定距离第一最小值对应的碰撞点位于目标物体之前,不会对摄像机进行遮挡时,可以按照上述基于距离数值的排列顺序,选取距离第二最小值对应的碰撞点再进行碰撞点与目标物体相对位置的判断。

步骤S4024:基于所述移动方向,在所述距离第二最小值对应的碰撞点位于所述目标物体之后时,将所述距离第二最小值对应的碰撞点作为所述第一遮挡点。

可以理解的是,在所述距离第二最小值对应的碰撞点位于所述目标物体之后时,该距离第二最小值对应的碰撞点处于摄像机和目标物体之间,会对摄像机进行遮挡。

进一步地,若距离第二最值对应的碰撞点仍位于目标物体之前,则可继续按照上述基于距离数值的排列顺序,依次选取碰撞点进行与目标物体相对位置的判断,直至选取的碰撞点位于目标物体之后,选择该位于目标物体之后的距离值较小的碰撞点作为第一遮挡点。

更进一步地,也可在获取所述各碰撞点与所述目标观察点的距离时,获取全部碰撞点的坐标信息,将其中Z轴坐标的数值为正值的碰撞点直接去除,获取位于目标物体之后的全部碰撞点,再选取目标物体之后的全部碰撞点中距离最小值对应的碰撞点作为用于更新摄像机跟随坐标的第一遮挡点。

在具体实现中,检测设备在判定距离第二最小值对应的碰撞点位于目标物体之前,不会对摄像机进行遮挡时,将第二最小值对应的碰撞点作为第一遮挡点,获取该第二最小值对应的碰撞点的坐标。能够结合射线检测的特性,考虑到射线检测到的碰撞点与目标物体的相对位置关系,过滤掉位于目标物体前方的碰撞点,避免摄像机根据位于目标物体前方的碰撞点进行移动时出现的摄像机穿过目标物体的情况。

进一步地,考虑到目标物体的不同,需要选取不同的聚焦位置来确定摄像机的目标观察点以获得更好的视角效果,步骤S20包括:

步骤S201:获取所述目标物体的移动方向,将所述移动方向作为所述摄像机的移动方向。

可以理解的是,由于摄像机需要跟随目标物体,可以将目标物体的移动方向作为摄像机的移动方向,初步确定摄像机的朝向。

步骤S202:在所述目标物体的竖直高度方向上选取与所述坐标系原点距离预设数值的位置作为预设聚焦位置,确定所述目标观察点。

可以理解的是,在当前场景内,目标物体具有体积,因此目标物体具有竖直高度,目标物体不同,其竖直高度值也不同。可以基于目标物体的竖直高度值,选取距离坐标系原点预设数值的位置作为预设聚焦位置。该预设数值的设置可以是用户基于不同的目标物体分别设置的数值,例如:在目标物体为人物时,选择接近人物竖直高度值即人物身高的数值作为预设数值,以模拟接近人物自身基于眼睛的观察视角;在目标物体为车辆时,可以选择车辆高度值一半的数值作为预设数值;还可以在获取到目标物体的竖直高度时,直接将目标物体的竖直高度乘以一个百分比经验值来获得预设数值,本实施例对预设数值的选取不加以限制。

步骤S203:通过所述摄像机的移动方向结合所述摄像机与所述聚焦位置的连线方向,确定所述摄像机的朝向。

在具体实现中,检测设备在由摄像机的移动方向初步确定摄像机的朝向后,由从摄像机到目标物体上的预设聚焦位置的连线方向,进一步确定摄像机的朝向,使得摄像机在跟随目标物体移动时指向同一个观察点,避免视角错乱。

本实施例通过获取所述各碰撞点与所述目标观察点的距离,判断距离第一最小值对应的碰撞点与所述目标物体的相对位置,基于所述移动方向,在所述距离第一最小值对应的碰撞点位于所述目标物体之前时,判断距离第二最小值对应的碰撞点与所述目标物体的相对位置,基于所述移动方向,在所述距离第二最小值对应的碰撞点位于所述目标物体之后时,将所述距离第二最小值对应的碰撞点作为所述第一遮挡点,能够考虑到不同碰撞点与目标物体在目标物体移动方向上的相对位置,避免摄像机穿过需要观察的目标物体的情况;并获取所述目标物体的移动方向,将所述移动方向作为所述摄像机的移动方向,在所述目标物体的竖直高度方向上选取与所述坐标系原点距离预设数值的位置作为预设聚焦位置,确定所述目标观察点,通过所述摄像机的移动方向结合所述摄像机与所述预设聚焦位置的连线方向,确定所述摄像机的朝向,能够考虑到不同目标物体的特点来预设聚焦位置,使得确定的摄像机的朝向更具可靠性,且有利于摄像机在跟随目标物体移动时指向同一个观察点,避免视角错乱。

参考图4,图4为本发明跟随摄像机遮挡检测方法第三实施例的流程示意图。

基于上述实施例,考虑到直接将第一遮挡点坐标作为摄像机在当前场景的跟随坐标,可能在遮挡点与目标物体距离很近时,产生摄像机穿模的情况,影响摄像机观察效果,可以将第一遮挡点的坐标作为参数来计算摄像机的跟随坐标,步骤S403,包括:

步骤S4031:获取所述摄像机的初始跟随点与所述目标观察点的第一距离值。

需要说明的是,摄像机初始跟随点与目标观察点的第一距离值可以通过射线机在当前场景的跟随坐标与目标观察点在当前场景的坐标计算得出。该计算得出的第一距离值为摄像机与目标物体间不存在遮挡物时的理想距离。

步骤S4032:将所述第一遮挡点与所述目标观察点的距离值作为第二距离值,结合所述第一距离值,确定跟随坐标影响参数。

可以理解的是,第二距离值可以为通过第一遮挡点的坐标与目标观察点的坐标计算出来的数值。

参考图5,图5为本发明跟随摄像机遮挡检测方法第三实施例中基于目标物体建立的当前场景x-y-z坐标系中射线检测示例图,其中,Camera为跟随摄像机,Hit1、2、3为通过Camera向目标观察点Target生成的射线检测到的各个碰撞点,经过筛选可以得到Hit2为用于更新摄像机坐标的第一遮挡点。

其中,摄像机初始跟随坐标为Camera_ini_position(0,height,-distance);碰撞点Hit1坐标为Hit1_position(0,height_hit1,-distance_hit1)、碰撞点Hit2坐标为Hit2_position(0,height_hit2,-distance_hit2)、碰撞点Hit3坐标为Hit3_position(0,height_hit3,-distance_hit3);目标观察点坐标为Target_position(0,height_target,0)。

在具体实现中,通过摄像机初始跟随点坐标与目标观察点坐标计算得到第一距离值;并计算各个碰撞点(Hit1、2、3)坐标与目标观察点坐标的距离,选择距离最小值对应的碰撞点即Hit2作为第一遮挡点;接着通过确定的第一遮挡点Hit2坐标与目标观察点坐标计算得到第二距离值;最后根据第一距离值和第二距离值确定跟随坐标影响参数K,该跟随坐标影响参数K是根据第一距离值与第二距离值计算出来的百分比(K=第二距离值/第一距离值)。

步骤S4033:基于所述跟随坐标影响参数,更新所述摄像机在当前场景的跟随坐标。

在具体实现中,获取到跟随坐标影响因素K时,更新后的摄像机在当前场景的跟随坐标可以为Camera_position=(0,height_hit2,-distance*K/0.3f),其中0.3f可以为经验值,避免摄像机距离跟随目标过近。

进一步地,在确定目标物体的坐标并获得摄像机在当前场景的跟随坐标以使摄像机能够快速地跟随目标物体移动时,步骤S10之后,还包括:

步骤S10':在获得所述摄像机在当前场景的跟随坐标时,通过插值方式将所述摄像机移动至所述跟随坐标在当前场景对应的位置,确定所述摄像机的初始跟随点。

可以理解的是,在三维空间中,摄像机跟随目标物体移动,实现思路可以是:以跟随坐标在当前场景对应的位置为基准点,借助运动分解思想,将摄像机的运动分解为摄像机向位置进行平移与摄像机向位置朝向进行旋转两个子运动。然后在每一部分运动中,通过插值方式,逐帧实现摄像机的平移与旋转,从而达到跟随目标物体移动的目的。

在具体实现中,检测设备在由目标物体坐标确定了摄像机在当前场景的跟随坐标时,可以通过插值的方式将摄像机实时移动至该跟随坐标在当前场景对应的位置,该位置即为摄像机的初始跟随点。

本实施例通过获取所述摄像机的初始跟随点与所述目标观察点的第一距离值,将所述第一遮挡点与所述目标观察点的距离值作为第二距离值,结合所述第一距离值,确定跟随坐标影响参数,基于所述跟随坐标影响参数,更新所述摄像机在当前场景的跟随坐标,为了避免障碍物离目标物体距离过近出现的穿模情况,没有直接将摄像机移动确定的第一遮挡点之前,而是计算第一遮挡点与目标观察点之间的距离,以距离作为计算摄像机最终位置的因素参与计算,并通过插值的方式实现摄像机的跟随移动,能够使跟随摄像机在检测到有遮挡物位于摄像机和目标物体之间时,自动靠近需要观察的目标物体而又不会因为距离过近而造成穿模情况发生。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有跟随摄像机遮挡检测程序,所述跟随摄像机遮挡检测程序被处理器执行时实现如上文所述的跟随摄像机遮挡检测方法的步骤。

参考图6,图6为本发明跟随摄像机遮挡检测装置第一实施例的结构框图。

如图6所示,本发明跟随摄像机遮挡检测装置,包括:

坐标确定模块601,用于根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标;

朝向确定模块602,用于获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点;

碰撞检测模块603,用于从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点;

坐标更新模块604,用于从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。

本实施例首先根据目标物体的实时坐标确定摄像机在当前场景的跟随坐标;接着获取所述目标物体的移动方向,并结合预设聚焦位置,确定所述摄像机的朝向以及目标观察点;再从所述摄像机向所述目标观察点生成一条射线,判断所述射线是否检测到碰撞点;最后从检测到的各碰撞点中筛选得到第一遮挡点,基于所述第一遮挡点更新所述摄像机在当前场景的跟随坐标。由于本实施例是先通过摄像机在当前场景的跟随坐标结合目标物体确定摄像机的初始位置和朝向,再从通过摄像机向目标物体上的观察点生成一条射线进行碰撞检测,根据筛选得到的第一遮挡点对摄像机的坐标进行更新,相比现有技术,本发明基于从各碰撞点中筛选得到的第一遮挡点对摄像机坐标进行更新,能够有效避免摄像机在距离观察目标过近时造成的穿模情况。

基于本发明上述跟随摄像机遮挡检测装置第一实施例,提出本发明跟随摄像机遮挡检测装置第二实施例。

在本实施例中,所述坐标更新模块604,用于计算所述检测到的各碰撞点与所述目标观察点的距离;选择距离最小值对应的碰撞点作为所述第一遮挡点;根据所述第一遮挡点的坐标更新所述摄像机在当前场景的跟随坐标。

进一步地,所述坐标更新模块604,还用于获取所述各碰撞点与所述目标观察点的距离;判断距离第一最小值对应的碰撞点与所述目标物体的相对位置;基于所述移动方向,在所述距离第一最小值对应的碰撞点位于所述目标物体之前时,判断距离第二最小值对应的碰撞点与所述目标物体的相对位置;基于所述移动方向,在所述距离第二最小值对应的碰撞点位于所述目标物体之后时,将所述距离第二最小值对应的碰撞点作为所述第一遮挡点。

所述坐标确定模块601,用于以所述目标物体在当前场景中的实时平面坐标点作为当前场景的坐标系原点,通过所述目标物体的移动方向、所述目标物体的竖直高度方向,结合左手坐标系,确定基于所述目标物体的当前场景动态坐标系;根据所述确定的当前场景动态坐标系,确定所述摄像机在当前场景的跟随坐标。

进一步地,所述坐标确定模块601,还用于获取所述目标物体的移动方向,将所述移动方向作为所述摄像机的移动方向;在所述目标物体的竖直高度方向上选取与所述坐标系原点距离预设数值的位置作为预设聚焦位置,确定所述目标观察点;通过所述摄像机的移动方向结合所述摄像机与所述预设聚焦位置的连线方向,确定所述摄像机的朝向。

进一步地,所述坐标更新模块604,还用于获取所述摄像机的初始跟随点与所述目标观察点的第一距离值;将所述第一遮挡点与所述目标观察点的距离值作为第二距离值,结合所述第一距离值,确定跟随坐标影响参数;基于所述跟随坐标影响参数,更新所述摄像机在当前场景的跟随坐标。

进一步地,所述坐标确定模块601,还用于在获得所述摄像机在当前场景的跟随坐标时,通过插值方式将所述摄像机移动至所述跟随坐标在当前场景对应的位置,确定所述摄像机的初始跟随点。

本发明跟随摄像机遮挡检测装置其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……限定”的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。

相关技术
  • 三维模型的遮挡确定方法、装置、计算机设备和存储介质
  • 图像遮挡计算方法、装置、计算设备及存储介质
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 车载摄像机测距方法及装置、存储介质和电子设备
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 摄像机遮挡检测方法、装置、设备及存储介质
  • 图像采集设备遮挡状态检测方法、装置、设备和存储介质
技术分类

06120116484071