发明内容
本发明的目的是解决现有虚拟场景实弹射击系统中存在无法消除投影机的投影图像畸变误差而存在命中点定位精度不高的技术问题,提出一种基于修正因摄像图像产生图像畸变带来的误差,准确解算出摄像图像之中命中点位置的方法,以及使用该方法的虚拟场景的实弹射击系统,以此实现对投影屏幕上的命中点通过摄像机检测,对命中点进行快速实时的位置解算。
为解决上述问题,本发明公开一种基于拓扑栅格学习的命中点解算方法,包括步骤:
将为栅格的样本图像通过投影机投影在投影屏幕上,通过摄像机对投影屏幕上的样本图像进行摄像,采集每个栅格端点的位置数据,获得采样图像;
分析每个栅格端点对应在样本图像和采样图像之中的位置数据,建立样本图像和采样图像之间非线性的拓扑栅格映射关系;
通过摄像机检测命中在投影屏幕上的命中点,获取摄像图像,依据拓扑栅格映射关系对该命中点在摄像图像中的位置进行摄像畸变修复,解算出该命中点在投影屏幕上相对于投影图像的准确位置。
较优的,若投影屏幕上的命中点的位置不处于摄像图像的栅格端点上,则在摄像图像中将该命中点周围的四个栅格端点的位置依据拓扑栅格映射关系进行摄像畸变修复,并对修复后的该四个栅格端点的位置数据进行线性插值处理,解算出该命中点在投影屏幕上相对于投影图像的准确位置。
较优的,所述摄像机是以行为单位,逐行将样本图像投影在投影屏幕上;所述摄像机逐行扫描投影屏幕的样本图像,采样每行样本图像中每个栅格端点的位置数据。
较优的,所述摄像畸变修复的步骤包括:
利用建立的拓扑栅格映射关系,对摄像图像的所有栅格端点利用四点插值法逐点计算对应的投影图像位置,获得摄像图像与投影图像的映射关系并保存于二个二维映射数组;
根据命中点在摄像图像中的位置数据,通过查询该位置数据在所述二维映射数组中的对应数据,获得命中点在投影屏幕上相对于投影图像的准确位置。
较优的,所述二维映射数组分别反映摄像图像中每个栅格端点的位置在投影图像中的横向位置和纵向位置的对应关系。
较优的,本发明的基于拓扑栅格学习的命中点解算方法还包括步骤:根据解算出的命中点的准确位置,控制将命中点通过投影机投影在投影屏幕上,并控制投影场景作相应变化。
另外,本发明还公开一种实弹射击系统,包括:射击靶屏;投影机;用于产生虚拟作战场景图像,并控制将虚拟场景图像通过投影机投影在射击靶屏上的中央控制单元;网络;通过网络与中央控制单元连接的命中分析单元,其用于通过数据采集摄像机采集射击靶屏上的弹点图像数据进行识别处理,该命中分析单元包括:
数据采集模块,用于将为栅格的样本图像通过投影机投影在射击靶屏上,通过摄像机对射击靶屏上的样本图像进行摄像,采集每个栅格端点的位置数据,获得采样图像;
映射关系模块,用于分析每个栅格端点对应在样本图像和采样图像之中的位置数据,建立样本图像和采样图像之间非线性的拓扑栅格映射关系;
命中点解算模块,用于通过摄像机检测命中在射击靶屏上的命中点,获取摄像图像,依据拓扑栅格映射关系对该命中点在摄像图像中的位置进行摄像畸变修复,解算出该命中点在射击靶屏上相对于样本图像的准确位置;
所述命中分析单元根据解算出的命中点的准确位置信息控制将命中点通过投影机投影在射击靶屏上。
较优的,本发明的实弹射击系统还包括:场景采集摄像机;以及通过网络与命中分析单元和中央控制单元连接的场景管理单元,其包括:
网络控制接口;
场景数据采集模块,用于在对抗射击训练模式时,控制场景摄像机采集射手视频图像,并将数据通过网络控制接口传给对手的场景管理单元并投影作为对抗对手的射击场景,同时该视频数据也传输给中央控制单元供中央监控;
靶生成模块,用于在模拟射击训练模式时,控制生成供射击的虚拟场景图像数据或模拟靶图像;
视频处理模块,对抗射击训练模式,用于对抗对手的场景视频解压及本方射手视频的压缩,虚拟场景射击时,用于场景视频文件的播放及控制;
图像合成模块,用于将命中报靶模块、靶生成模块和视频处理模块输出的数据合成图像。
较优的,所述网络为光纤通信网络。
较优的,本发明的实弹射击系统还包括:用于控制照明、显示以及消声处理的系统电器控制单元。
与现有技术相比,本发明具有以下有益效果:
本发明有效的修正了摄像图像和投影图像之间的畸变误差,从而建立了高精度摄像图像与投影图像坐标解算模型,并且,可大幅度减低对摄像机的要求,从可有效降低系统成本,摄像机的安装也变得简单。同时,通过已建立的映射关系,可快速实时的定位识别。
具体实施方式
本发明是以通过投影输出为一个栅格的样本图像,对投影屏幕上的样本图像进行摄像,获得采样图像;通过逐行分析样本图像数据与对应的采样图像数据,从而建立投影图像与摄像图像之间的映射关系,以此映射关系来修正摄像图像产生图像畸变带来的误差,从而达到对投影屏幕上的命中点进行快速实时的位置解算的目的。
如图1所示,本实施例包括:投影屏幕110;用于受投影控制模块141控制,输出投影图像并投影至所述投影屏幕110的投影机120;用于对所述投影屏幕110上的投影图像进行视频数据采集的摄影机130,其采集的摄像图像数据输入至数据采集模块142;用于建立投影图像与摄像图像之间的非线性的拓扑栅格映射关系,以此修正摄像图像因为产生图像畸变带来误差的映射关系模块143,其包括图像分析模块1431和学习控制模块1432;以及对所述数据采集模块142采集的摄像图像通过查询所述映射关系模块143中的映射关系,从而修正投影图像与摄像图像之间图像畸变误差,达到准确识别摄像图像中每一个像素点在投影图像中准确位置的命中点解算模块144。
为建立所述拓扑栅格映射关系,首先需要投影控制模块141控制将投影机120输出的投影范围划分为若干个横向和纵向均等距的栅格,每个栅格具有四个栅格端点,从而控制投影机120输出一个为栅格的样本图像M并投影在所述投影屏幕110上,如图2A所示,如具有64×48或128×96个栅格端点的样本图像。所述摄影机130对所述投影屏幕110上的样本图像M进行摄像,采集每个栅格端点的数据信息,获得采样图像N,如图2B所示,由于所述摄影机130的摄像会因为产生图像畸变带来误差,因此,图2B中,实线部分代表图像畸变后的采样图像N,虚线部分代表样本图像M的最外界范围。且图2A和图2B中,实线之间的空格代表一个栅格,实线与实线之间的交叉点代表一个栅格端点。
为提高数据采样效率,提高获取所述拓扑栅格映射关系的准确性,所述投影机120逐行输出样本图像M,所述摄影机130以逐行扫描每行样本图像M的每个端点的位置信息,最终得到采样图像N,并将采集得到采样图像N中每个栅格端点数据输出至所述数据采集模块142;由图像分析模块1431通过逐行分析样本图像M数据与对应的采样图像N数据,找出两者的相关性,并由学习控制模块1432学习样本图像M数据与对应的采样图像N数据之间的相关性,从而建立投影图像与摄像图像之间非线性的拓扑映射关系M=f(N)。
在学习建立的拓扑映射关系网络拓扑之后,事先对摄像图像的所有坐标利用四点插值法逐点计算对应投影图像位置,摄像图像与投影图像的映射关系保存于二个二维映射数组AX[x,y]和AY[x,y],以便快速查询,其中,x的取值为0到摄像图像的最大横向分辨率;y的取值为0到摄像图像的最大纵向分辨率。当需要作摄像畸变修复处理时,只需要根据命中点在摄像图像中的位置数据,通过查询该位置数据在所述二维映射数组中的对应数据,获得命中点在投影屏幕上相对于投影图像的准确位置。比如,若命中点在摄像图像中的坐标位置为P(50,100),则只需访问数组AX[50,100]和AY[50,100],即分别获得命中点相对于样本图像的准确位置。
如图3A和图3B所示,A’、B’、C’和D’分别是摄像图像中一个栅格的4个栅格端点,H’则位于该栅格的内部;若通过所述摄像机130对所述投影屏幕110上的图像进行数据采集,获得摄像图像后,若需知道4个栅格端点A’、B’、C’和D’对应在所述投影屏幕110上相对于样本图像的准确位置,则只需要将4个栅格端点A’、B’、C’和D’对应的坐标位置数据,通过查询所述拓扑栅格映射关系作图像畸变修复处理,即可获得其分别相对于样本图像的准确位置A、B、C和D。由于H’则位于该栅格的内部,则其可以根据A’、B’、C’和D’查询拓扑栅格映射关系获得对应的A、B、C和D位置后,对A、B、C和D的位置数据作插值处理,也能计算出H’相对于样本图像的准确位置H。
需要说明的是,栅格越密,则图像畸变修复的程度越高;当每个栅格端点即为一个投影图像的最小像素时,所有命中点都会位于投影图像的栅格端点上。但是考虑数据处理的复杂程度,以及摄像机130的分辨率及单像素投影亮度等实际情况,目前栅格的精度还远不能达到类似于像素的精度。
结合图4,本实施例包括如下步骤:
步骤S410:将为栅格的样本图像M逐行投影在投影屏幕上;对投影屏幕上的样本图像M进行摄像,采集每个栅格端点的位置数据,获得采样图像N。
步骤S420:分析每个栅格端点对应在样本图像M和采样图像N之间的位置数据,建立样本图像M与采样图像N之间的非线性映射关系M=f(N);
步骤S430:通过摄像机检测命中在投影屏幕上的命中点,获取摄影图像。
步骤S440:依据拓扑栅格映射关系对该命中点在摄影图像中的位置进行摄像畸变修复,解算出该命中点在投影屏幕上相对于投影图像的准确位置。
步骤S450:根据解算出的命中点的准确位置,控制将命中点通过投影机投影在投影屏幕上。
其中,结合图5所示,其是对图4中步骤S420的一个具体实施例的流程示意图。本实施例中,所述投影机120输出的投影图像也是按投影屏幕110的行、列显示精度进行输出。本实施例具体包括如下步骤:
步骤S510:所述投影控制模块141控制所述投影机120输出一个样本图像M的一行并投影在所述投影屏幕110之上。
步骤S520:所述数据采集模块142控制所述摄像机130扫描所述投影屏幕110上显示的一行图像像素数据,并对采集获取的数据作预处理。
步骤S530:对采集获取的数据作分析处理。
步骤S540:判断该行样本图像的栅格端点的位置是否识别正确,若是,转步骤S550,否则转步骤S560。
步骤S560:调整亮度等图像采集参数,使步骤S520中采集的数据具有更高精度,以使其在步骤S540时能被正确识别。
步骤S550:建立该行样本图像M与对应的该行采样图像N之间,对应栅格端点位置的映射关系。
步骤S570:判断当前输出行是否是样本图像的最后一行。若否,转步骤S580,若是则转步骤S590。
步骤S580:继续下一行样本图像的输出、数据采集和数据分析处理等。
步骤S590:将对各行样本图像与对应行采样图像中的对应栅格端点的位置建立的映射关系,形成样本图像与采样图像之间的映射关系,也就是投影图像与摄像图像之间的映射关系,并保存该映射关系。
本发明主要可用于虚拟场景射击系统,以达到精确标定命中点或弹孔在投影场景中位置,并作出相应的响应。
参考图6,是将本发明应用于虚拟场景射击系统的一个具体实施例。该实施例解决对抗双方室内室外行动实景互为目标、高精度实时命中解算与弹着显示,着力提高部队实弹对抗的能力。在用于反恐实弹射击训练时,可以对计算机生成的反劫持靶进行射击,或根据视频电影进行交互式射击。改装后的92式手枪和95式突击步枪,也可以在这里进行激光模拟射击。实施例还可以实现多人之间的实弹射击对抗,在楼上楼下两个房间里,通过摄像机和投影仪建立视频交互系统,对两个房间的纸屏幕的弹着点快速精确定位,通过计算机的运算,可以实时判断出弹着点的位置,得出双方的战绩。
本实施例包括主要包括:投影机120、中央控制单元20、数据采集摄像机131和场景采集摄像机132、命中分析单元30、场景管理单元40、网络50和系统电器控制单元60。中央控制单元20、命中分析单元30和场景管理单元40通过网络50连接,网络50的表现形式多样化,比如有有线网络、无线网络、局域网、以太网等等,考虑为实现高速的数据传输,本实施例中网络50采用光纤通信网络。
其中,中央控制单元20包括:用于生成虚拟场景的场景生成模块201,其生成的虚拟场景数据经过视频解压模块202作解压处理后,由投影控制模块141控制输出至投影机120,由投影机120将虚拟场景的图像投影在射击靶屏111之上;同时,中央控制单元20通过网络接口203与网络50进行数据交互通信。
数据采集摄像机131用于采集通过激光模拟射击或实弹射击在射击靶屏111之上的图像数据,将采集的数据传给命中分析单元30中的数据采集模块142,由命中点解算模块144对采集的图像数据根据映射关系模块143中的映射关系,获得激光模拟射击或实弹射击的弹点在模拟场景图像上的对应位置,也即是弹点在射击靶屏111上的位置和坐标信息,通过网络控制接口146、网络50后,控制投影机120将弹点的准确位置投影在射击靶屏111上。
当然,如果是采用实弹射击,则需射击靶屏111采用记载弹点的卷纸,需要在命中分析单元30中设置用于控制卷纸转动的卷纸控制模块145;卷纸为覆盖弹孔而设,当屏幕弹点太多,将会影响命中点的识别,因此需将弹幕交替运动,以覆盖弹孔。
场景管理单元40包括:用于控制场景采集摄像机132采集投影机120所投影产生的虚拟场景图像数据的场景数据采集模块401;采集获得的数据可通过网络控制接口402传给命中分析单元30中的命中点解算模块144,供命中点解算模块144结合虚拟场景图像作图像识别处理;通过网络控制接口402获取命中分析单元30的弹点射击靶屏111上位置和坐标信息,作中报靶处理的命中报靶模块403;以及用于控制在作战训练对手方生成供射击的靶图像的靶生成模块405;用于对命中分析单元30获取的图像数据作解压等视频处理的视频处理模块404;将命中报靶模块403、靶生成模块405和视频处理模块404输出的数据合成图像的图像合成模块406,该图像合成模块406合成的图像可通过射击场景投影机407投影在作战训练对手方的射击靶屏之上。
其中,命中点检测到之后,其不仅可以给射击者或训练者带来直观感受;在模拟靶射击时,是实现自动报环数的前提,且命中结果可保存,并可重播;在视频模拟场景射击,可以令场景管理单元40让视频里的被命中目标做相应反应,如倒地死亡等,因此,检测及获取命中点位置是射击系统的基础。
另外,系统电器控制单元60主要用于控制虚拟作战训练双方所处环境内的灯光、图像显示和消声装置等,其可采用PLC控制,在此不详叙。
因此,本应用实例中,通过用于修正投影机和摄像机之间产生的图像畸变误差的映射关系,可准确的识别出弹点在射击靶屏的位置和坐标,提供了精确的虚拟作战训练模拟。