欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于深度学习的低功耗智能枪瞄图像处理系统及处理方法独创技术57155字

基于深度学习的低功耗智能枪瞄图像处理系统及处理方法

2021-03-31 06:21:35

基于深度学习的低功耗智能枪瞄图像处理系统及处理方法

  技术领域

  本发明属于瞄准器具技术领域,尤其涉及一种基于深度学习的低功耗智能枪瞄图像处理系统及处理方法。

  背景技术

  目前,随着现代战争中对作战武器自动化和智能化的迫切需求,传统的步枪光学瞄准具及光电瞄准具已经开始向智能瞄准具转变。所谓智能瞄准具就是在传统光学瞄准具基础上,增加图像传感器和智能图像处理模块,在光电瞄准具基础上增加智能图像处理模块,使得瞄准具能进行智能化场景图像处理。能够自动或者辅助狙击手快速发现图像中的目标,进行目标识别和跟踪测量,实时计算目标与子弹弹着点的位置误差,辅助狙击手进行步枪的辅助击发或者自动击发,可以极大提高狙击手对目标的发现概率和射击命中率。

  因为狙击步枪使用环境多变,外界背景复杂,发现目标难度大,所以对狙击手要求很高,通常需要进行长时间训练培养才能正式执行任务。如果能够采用本发明中的智能图像处理模组,实现自动或者辅助发现目标,跟踪目标,则对狙击手的要求就会降低很多,而且攻击效率会极大提高。智能图像处理模组主要是解决以下问题:

  解决发现目标困难的问题。在执行任务时,因为不同环境,不同时间段时外界光照变化大,目标背景复杂,要快速发现目标需要较多的时间积累和精力高度集中。如果能够采用智能目标检测和跟踪技术,对目标的出现进行提示和跟踪,则可有效降低狙击手的负担。

  解决精确跟踪目标和测量的问题。攻击时在知道风速、大气压力,湿度等环境因素的前提下,对攻击目标的当前位置、运动速度等的精确判断是决定攻击成功的关键,需要长期的经验积累和反复试验调整。如果采用智能目标跟踪测量算法,则可以对目标进行精确跟踪,并精确测量目标位置与弹着点的偏差,在确定攻击提前量的前提下有效提高对目标攻击的准确性。

  解决低功耗和长时间工作的问题。因为步枪主要应用于野外,所以减少功耗确保长时间工作,减小体积确保携带方便是一个重要问题。传统的DSP, FPGA,GPU等图像处理芯片功耗大,体积大严重影响智能图像处理技术在枪瞄上的应用。如果能采用低功耗,微型化的图像处理芯片实现智能枪瞄的图像处理功能,则可极大推动步枪瞄准具的推广和应用。

  通过上述分析,现有技术存在的问题及缺陷为:(1)发现目标困难。在执行任务时,因为不同环境,不同时间段时外界光照变化大,目标背景复杂,要快速发现目标需要较多的时间积累和精力高度集中。(2)缺乏精确跟踪目标和测量。攻击时在知道风速、大气压力,湿度等环境因素的前提下,对攻击目标的当前位置、运动速度等的精确判断是决定攻击成功的关键,需要长期的经验积累和反复试验调整。(3)不同狙击手在使用步枪时的校准问题。每个狙击手因为身体和经验不同,所以在使用狙击步枪发现和攻击目标各自需要校准的参数也不同,例如某些狙击手习惯瞄准时偏向上方,而有些则习惯偏向下方,此时对步枪的校准就要求不同,为此,需要建立一个智能数据库,对不同的射手选择不同的校准方案。(4)低功耗和长时间工作。因为步枪主要应用于野外,所以减少功耗确保长时间工作,减小体积确保携带方便是一个重要问题。传统的DSP,FPGA,GPU等图像处理芯片功耗大,体积大严重影响智能图像处理技术在枪瞄上的应用。

  解决以上问题及缺陷的难度为:解决以上问题的难度很大。机器视觉实际上是利用摄像机获取图像,用计算机来进行图像信息的提取和分析,与已经进化了几千年的人类视觉相比,机器视觉在计算机图像处理能力上还远远不及人类对视觉信息的处理能力。人类对视觉信息的处理主要是并行处理,而且有着非常丰富的视觉信息模型经验,而计算机常规是串行处理,模型简单,存储方式和容量有限,因而要在复杂环境下实现快速可靠的目标发现,识别具有很大难度。近几年随着深度学习技术的发展,在经过大量数据学习和建模后,系统对特定的目标识别已经具备了较好的识别结果,例如对于简单背景的人脸识别,通过复杂的深度学习训练和建模,在数据库中人脸的识别率已经达到甚至超过人眼的识别率。但在复杂环境下,计算机目标检测和识别能力还是无法达到人类视觉的能力。

  在对运动目标的跟踪和攻击过程中,因为要不断的计算和判断目标与瞄准点的位置差别,判断攻击击发的时刻,需要快速实时的精确计算。人类视觉主要是依据经验,而计算机则需要准确的计算,因为目标的跟踪涉及到精确的目标特征描述和检测匹配,所以对算法的实时性、准确性和鲁棒性要求极高。

  对于使用者智能校准因为涉及到大数据的分析和数据挖掘,所以需要长期的数据积累和较好的模型训练,而这些都需要较好的算法和模型。

  在枪瞄实现上,因为要求携带方便,工作可靠,智能化程度高,工作时间长等要求,所以对于智能枪瞄的实现要求很高。

  解决以上问题及缺陷的意义为:依据上面的难点可以看出,在引进了最新深度学习,数据挖掘,低功耗高性能处理器后,能够实现智能枪瞄功能。使用智能枪瞄后,对于智能化作战,对于辅助狙击手快速发现目标,准确攻击目标提供了先进的技术手段,可以使使用者快速上手,节省了大量的训练时间和训练物资消耗。此外,本发明还可以推广到其他装备上,用于发现目标和跟踪监视目标。

  发明内容

  针对现有技术存在的问题,为尽快实现智能图像处理技术对狙击步枪的性能提升,本发明提供了一种基于深度学习的低功耗智能枪瞄图像处理系统及处理方法。

  本发明是这样实现的,一种基于深度学习的低功耗智能枪瞄图像处理系统,包括:

  采集接口模块,用于进行枪瞄瞄具图像传感器的多路图像采集;

  核心处理模块,包括低功耗SOC,flash单元,DDR单元,时钟单元以及与采集接口单元的板间连接单元;

  算法软件模块,用于配套硬件模组枪瞄系统的图像处理,包括软件底层驱动模块、配置管理模块、目标检测模块、识别算法设计实现模块、目标跟踪算法设计实现模块、UI界面设计模块以及任务调度设计模块。

  进一步,所述采集接口模块包括:

  枪瞄火控系统的串行通信信号接口、枪瞄瞄具搜索和攻击过程的图像存储记录接口、枪瞄瞄具的图像输出接口、调试接口、电源管理单元以及板间连接单元。

  进一步,所述采集接口模块包括了可见光和红外视频输入采集接口;

  可见光视频输入接口为LVDS,包含四路数据差分信号和一路时钟差分信号;

  红外视频输入为HDMITypeC,通过HDMI解码芯片转为BT1120,送入MIPI 通道;

  红外视频PAL接口连接器为MMcx插头,同轴线缆传输,信号定义即PAL_IN 和GND,分辨率为640X512X30HZ,通过PAL解码芯片转为BT656,送入MIPI通道。

  进一步,所述核心处理模块包括低功耗SOC选择模块,flash单元,DDR单元,时钟单元以及板间连接单元。

  进一步,所述算法软件模块用于UI界面调整、新型目标检测、识别和跟踪,形成适用于应用所需类目标的检测、识别和跟踪测量,包括:底层驱动软件模块,配置管理软件模块,智能目标检测模块、识别算法设计软件模块,目标跟踪算法软件模块,UI界面编辑软件模块以及任务调度软件模块。

  本发明另一目的在于提供一种应用任意一项所述的基于深度学习的低功耗智能枪瞄图像处理系统的基于深度学习的低功耗智能枪瞄图像处理方法,其特征在于,所述基于深度学习的低功耗智能枪瞄图像处理方法包括以下步骤:

  采用深度学习算法和低功耗处理器进行智能枪瞄的目标检测、跟踪和自动击发,实现枪瞄准具的控制。

  本发明另一目的在于提供一种基于深度学习的低功耗智能枪瞄图像处理系统的构建方法,所述基于深度学习的低功耗智能枪瞄图像处理系统的构建方法包括:

  步骤一,利用电路板布线软件分别为采集接口模块、核心处理模块建立独立的文件夹,并根据需要进行布线制板;

  步骤二,采用HIMPP海思软件开发平台,在算法软件代码的基础上,直接编译软件,形成运行代码,下载到核心处理模块flash中,执行智能枪瞄的图像采集、接口配置、任务调度、目标检测、识别和跟踪测量;

  步骤三,在驱动软件,配置管理软件、图像采集软件代码中,根据图像分辨率、帧率、图像类型,对相应软件代码进行修改编译;

  步骤四,在目标检测、识别算法软件代码中,根据所要攻击的目标类型、应用环境,对深度学习的目标检测模型进行训练和更改;

  步骤五,在UI界面编辑软件代码中,根据用户要求对代码进行修改;

  步骤六,在任务调度软件代码中,根据用户接口控制需求对流程调度和协议进行修改。

  本发明另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述基于深度学习的低功耗智能枪瞄图像处理方法。

  本发明另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述基于深度学习的低功耗智能枪瞄图像处理方法。

  结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明采用深度学习算法和低功耗处理器可以实现高效智能枪瞄的目标检测、跟踪和自动击发控制,具有检测识别能力强、智能化程度高、工作效率高、扩展能力强的特点,能够有效解决传统枪瞄图像处理芯片功耗高、无智能化图像处理功能的问题;将深度学习和低功耗处理器引入智能枪瞄设计中,可有效提升智能枪瞄开发中的高效目标检测、跟踪和自动击发水平,智能化进行目标检测、识别和跟踪,有效提升狙击步枪瞄准具的智能化水平,便于推广使用。

  附图说明

  图1是本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统结构框图;

  图中:1、采集接口模块;2、核心处理模块;3、算法软件模块。

  图2是本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统原理图。

  图3是本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统的构建方法流程图。

  图4是本发明实施例提供的可将光输入接口定义图。

  图5是本发明实施例提供的红外HDMI接口图。

  图6是本发明实施例提供的核心模块构成图。

  图7是本发明实施例提供的Hi3519AV100内部结构图。

  图8是本发明实施例提供的图像识别跟踪处理模块程序构架

  图9是本发明实施例提供的MPP内部处理流程图。

  图10是本发明实施例提供的MPP典型的公共视频缓存池数据流图。

  图11是本发明实施例提供的NNIE加速引擎在系统中的位置图。

  图12是本发明实施例提供的系统初始化功能实现流程图。

  图13是本发明实施例提供的连续扫描处理流程图。

  图14是本发明实施例提供的任务调度软件流程图。

  图15是本发明实施例提供的YOLO-3网络结构图。

  图16是本发明实施例提供的darknet-53网络结构图。

  图17是本发明实施例提供的Caffe框架下的目标检测分类模型开发流程图。

  图18是本发明实施例提供的相位相关跟踪算法原理图。

  图19是本发明实施例提供的开机自检画面图。

  图20是本发明实施例提供的图像显示画面图。

  图21是本发明实施例提供的深度学习目标检测画面图。

  图22是本发明实施例提供的目标标记画面图。

  图23是本发明实施例提供的攻击画面图。

  具体实施方式

  为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

  针对现有技术存在的问题,本发明提供了一种基于深度学习的低功耗智能枪瞄图像处理系统及处理方法,下面结合附图对本发明作详细的描述。

  如图1所示,本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统包括:采集接口模块1、核心处理模块2和算法软件模块3。

  采集接口模块1,用于接收枪瞄瞄具图像传感器的诸如红外、微光或者可见光多路图像输入采集,接收枪瞄火控系统的控制信号输入和图像处理状态反馈,提供枪瞄瞄具的图像输出接口功狙击手观察图像和检测跟踪信息,提供模组的调试接口,提供电源管理单元1-1以及板间连接单元1-2,并对枪瞄瞄具搜索和攻击过程的图像进行存储记录,以便进行事后分析评估。

  核心处理模块2,包括低功耗SOC单元2-1,flash单元2-2,DDR单元2-3,时钟单元2-4以及与采集接口单元2-5的板间连接单元2-6,以实现对图像的处理、分析和目标检测、识别与跟踪。

  算法软件模块3,主要配套枪瞄硬件模组,实现智能图像处理的主要功能。包括底层驱动软件,配置管理软件,智能目标检测、识别算法软件,目标跟踪算法软件,UI界面编辑软件,任务调度软件。本发明可用于各种枪瞄智能化设计中的图像采集,智能目标检测、识别和跟踪功能。模组具有低功耗、微型化、智能化的特点。

  本发明实施例提供的所述采集接口模块、核心处理模块、算法软件模块分别为2个硬件板卡设计原理图文件和1个软件开发文件。

  本发明实施例提供的所述采集接口模块包括有多路图像采集单元设计,通信信号接口单元设计,图像存储记录单元设计,图像输出接口单元设计,调试接口单元设计,电源管理单元设计,板间连接单元设计。

  本发明实施例提供的所述核心处理模块包括低功耗SOC选择,flash单元设计,DDR单元设计,时钟单元设计以及板间连接单元设计。

  本发明实施例提供的所述算法软件中,提供底层驱动软件,配置管理软件,智能目标检测、识别算法设计软件,目标跟踪算法软件,UI界面编辑软件,任务调度软件。开发人员可在此基础上继续扩展,实现例如UI界面调整、新型目标检测、识别和跟踪,最终形成适用于应用所需类目标的检测、识别和跟踪测量。

  如图3所示,本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统的构建方法包括以下步骤:

  S101,利用电路板布线软件分别为采集接口模块、核心处理模块建立独立的文件夹,并根据需要进行布线制板。

  S102,采用HIMPP海思软件开发平台,在算法软件代码的基础上,直接编译软件,形成运行代码,下载到核心处理模块flash中,即可执行智能枪瞄的图像采集、接口配置、任务调度、目标检测、识别和跟踪测量功能。

  S103,在驱动软件,配置管理软件、图像采集软件代码中,根据图像分辨率、帧率、图像类型,对相应软件代码进行修改编译。

  S104,在目标检测、识别算法软件代码中,根据所要攻击的目标类型、应用环境,对深度学习的目标检测模型进行训练和更改。

  S105,在UI界面编辑软件代码中,根据用户要求对代码进行修改。

  S106,在任务调度软件代码中,根据用户接口控制需求对流程调度和协议进行修改。

  下面结合实施例对本发明的技术方案作进一步的描述。

  图2给出了各个模块之间的关系,本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统通过采集接口模块与枪瞄瞄具的摄像头、按键、枪瞄火控系统进行图像(可见光/红外)采集和图像(去噪、亮度、对比度、放大、缩小)控制,并具备调试接口,电源管理功能。核心处理模块利用自身多媒体处理器MPP图像预处理功能,图像压缩功能,深度学习目标检测、识别功能,低功耗DSP处理器的目标跟踪测量功能,在检测、识别和跟踪软件的配合下实现智能枪瞄所需要的目标发现、跟踪和测量功能。算法模块基于YOLO-3深度学习算法,KCF目标跟踪算法,在HIMPP集成开发环境下进行编程开发,形成目标运行代码,下载到核心处理器的flash中,实现枪瞄系统所需要的智能图像处理功能。基于本发明的硬件模块和算法软件代码,开发人员仅需要关注和枪瞄项目开发对应的图像接口类型,智能解算流程,通过硬件和软件的二次开发和参数配置即可快速地实现新型号枪瞄需求。

  下面将结合附图3对本发明实施例提供的基于深度学习的低功耗智能枪瞄图像处理系统作进一步说明。

  一、利用EDA电路板布线软件pads分别为采集接口模块、核心处理模块建立独立的文件夹;并根据需要进行布线制板。采用HIMPP海思软件开发平台,在算法软件代码的基础上,直接编译软件,形成运行代码,下载到核心处理模块 flash中,即可执行智能枪瞄的图像采集、接口配置、任务调度、目标检测、识别和跟踪测量功能。在驱动软件,配置管理软件、图像采集软件代码中,根据图像分辨率、帧率、图像类型,对相应软件代码进行修改编译,以满足实际应用需求。在目标检测、识别算法软件代码中,根据所要攻击的目标类型,应用环境(城区、沙漠、树林、草地等),对深度学习的目标检测模型进行训练和更改,以满足实际需求。在UI界面编辑软件代码中,根据用户要求,对代码进行修改以满足实际使用需求。在任务调度软件代码中,根据用户接口控制需求,可以增加和减少已有的控制指令,以满足实际使用需求。

  在开发、调试或运行阶段,根据需要对相关设计和程序进行修改以适应实际需要。本发明采用Pads进行硬件模块的原理图和布线设计,采用HIMPP平台在Linux下进行软件设计。

  开发人员可以依据模块硬件设计文件进行硬件修改和升级,通过软件修改进行程序功能升级。因为已经提供了实际研制和调试测试,所以在使用环境完全相同时只需按照本发明提供的文件进行制板和软件下载,即可实现智能枪瞄的图像处理功能。采用经过验证的原理图和开发源代码,设计者可根据应用需求轻松修改设计资料,改变参数配置满足项目需要。

  二、采集接口模块

  采集接口模块用于进行枪瞄瞄具图像传感器的多路图像采集;其特性是包括了可见光和红外视频输入采集接口。

  其中,可将光视频输入接口为LVDS,包含四路数据差分信号和一路时钟差分信号。分辨率为2591X1944X30HZ。接口定义如图4所示。

  红外视频输入为HDMI TypeC,其接口定义如图5所示。由于数据量比较大,需要占用MIPI通道。通过HDMI解码芯片转为BT1120,送入MIPI通道。

  红外视频PAL接口连接器为MMcx插头,同轴线缆传输,信号定义即PAL_IN 和GND,分辨率为640X512X30HZ,数据量不大,占用一个通道即可,通过PAL 解码芯片转为BT656,送入MIPI通道。

  三、核心处理模块,核心处理模块是本发明的核心处理部件,实现对所采集到的图像的接收、转换、预处理、检测、标记、识别和跟踪测量。硬件包括低功耗SOC,flash单元,DDR单元,时钟单元以及与采集接口单元的连接单元;其基本原理图如图6所示。

  考虑到图像识别跟踪处理模块的产品尺寸小、低功耗、国产化率、后续元器件供货以及售后的维护性和保障性等要求。本发明选用了国产海思AI芯片 Hi3519AV100作为图像识别跟踪处理模块的主处理器;该芯片集成了双核A53,支持Linux操作系统,支持业界领先的多路4K Sensor输入,多路ISP图像处理,支持HDR10高动态范围技术标准,并支持多路全景硬件拼接,支持8K30/4K120 视频录制。其内部结构如图7所示:

  处理器内核

  2*ARM Cortex A53@1.4GHz,32KB I-cache,32KB D-cache/256KB L2 cache,支持Neon加速,集成FPU处理单元。

  视频编解码

  支持JPEG Baseline;

  H.265/H.264编解码最大分辨率:8192x8192;

  H.265/H.264编解码性能:

  3840x2160@60fps+720p@30fps编码;

  3840x2160@60fps解码;

  3840x2160@30fps编码+3840x2160@30fps解码;

  支持CBR/VBR/AVBR/FIXQP/QPMAP等多种码率控制模式;

  H.265/H.264编码输出最大码率分别为:120Mbps/200Mbps;

  支持8个感兴趣区域(ROI)编码。

  NNIE

  支持AlexNet、VGG、ResNet、GoogLeNet等多种分类神经网络;

  支持FasterR-CNN、SSD、Yolo-2等多种目标检测神经网络;

  2.0Tops神经网络运算性能;

  支持完整的API和工具链(编译器、仿真器),易于适配客户定制网络。

  ISP与图像处理

  支持多路时分复用,可处理多路sensor输入视频;

  支持3A(AE/AWB/AF)功能,3A参数用户可调节;

  支持去固定模式噪声(FPN);

  支持两帧曝光WDR及LocalToneMapping,支持强光抑制、背光补偿;

  支持坏点校正、镜头阴影校正;

  支持图像动态对比度增强及边缘增强处理;

  支持色差校正(CAC)及去紫边;

  支持去雾;

  支持6-Dof数字防抖及Rolling-shutter校正;

  支持多路缩放输出,缩放倍数:1/15.5~16x;

  支持最大8个区域的编码前处理OSD叠加;

  提供PC端ISP调节工具。

  视频输入接口

  支持12-lane Image Sensor串行输入;

  最大可支持5路Sensor串行输入;

  最大输入分辨率:7680x4320;

  支持10/12/14bit Bayer RGB DC时序视频输入;

  支持BT.656、BT.1120视频输入;

  支持通过MIPI虚拟通道输入1~4路YUV。

  视频输出接口

  支持HDMI2.0接口,最大可支持4Kx2K(4096x2160)@60fps输出;

  支持4-lane MIPI DSI接口,最大可支持1080p@60fps输出;

  支持6/8/16/24bit数字LCD/BT.656/BT.1120接口,最大可输出 1080p@60fpsRGB/YUV数据;

  支持2个独立高清视频输出通道(DHD0、DHD1);

  支持任意两个接口非同源显示;

  网络接口

  1个千兆以太网接口;

  支持RGMII、RMII两种接口模式;

  支持10/100Mbit/s半双工或全双工;

  支持1000Mbit/s全双工;

  支持TSO,降低CPU开销。

  外围接口

  2个SDIO3.0接口,其中:

  SDIO0支持SDXC卡

  SDIO1支持对接WiFi模组

  1个USB3.0/PCIe2.0复用接口

  可配置为USB3.0only和PCIe2.0x1+USB2.0两种模式;

  用于PCIe2.0接口时,支持RC和EP功能;

  用于USB3.0接口时,支持USB Host/Device可配;

  1个USB2.0接口,支持Host/Device可配;

  支持内部POR(上电复位)信号输出,也支持外部复位输入;

  支持内部RTC,可通过电池独立供电;

  集成4通道LSADC;

  9个UART接口(部分管脚与其他管脚复用);

  支持多个I2C接口、SPI接口、GPIO接口;

  外部存储器接口

  32bit DDR4/LPDDR4接口

  SPI Nor Flash接口

  SPI Nand Flash接口

  NAND Flash接口

  支持eMMC5.1接口

  功耗

  典型场景(4Kx2K(3840x2160)@30fps编码+神经网络算法)功耗:1.9W

  支持多级省电模式

  工作电压

  内核电压为0.8V;

  IO电压为1.8V/3.3V;

  DDR4 SDRAM接口电压为1.2V;

  LPDDR4接口电压为1.1V。

  四、算法软件模块,算法软件模块,用于配套硬件模组的图像处理,包括软件底层驱动模块、配置管理模块、目标检测模块、识别算法模块、目标跟踪算法设计实现模块、UI界面设计模块以及任务调度设计模块。软件设计框架如图8所示。

  应用程序主要是基于海思芯片内部的媒体处理平台MPP、神经网络加速引擎NNIE硬件处理单元、开源计算机视觉库OpenCV、Linux操作系统、深度学习框架Caffe以及YOLO-3目标分类检测算法组成。

  其中,Linux操作系统包含NFS文件系统、神经网络加速引擎NNIE驱动、进程管理、内存管理、HDMI驱动、MIPI驱动和媒体处理平台MPP的驱动。

  媒体处理平台MPP的驱动包括视频输入模块VI驱动、视频处理子系统模块 VPSS驱动、视频编码压缩模块VENC驱动、视频解码模块VDEC驱动和视频输出模块VO驱动。

  应用程序主要实现功能有上电自检、不同场景视频图像获取、图像增强处理、图像色彩格式转换、目标识别检测跟踪、视频图像上目标跟踪框信息叠加合成、合成视频图像数据OLED实时显示、合成视频图像数据编码压缩录像存储与以太网传输、存储的压缩录像解码显示回放,系统指令串口输入与系统状态信息反馈串口输出、系统火控GPIO输出控制和电源管理GPIO输出控制等功能;

  根据图像识别跟踪处理模块中的主要功能,应用程序的主要组成部分有:

  系统初始化部分;

  用户登录信息处理线程;

  串口指令数据输入处理线程;

  串口指令数据输出处理线程;

  红外视频图像处理线程;

  可见光视频图像处理线程;

  串口指令数据与图形字符叠加合成视频图像处理线程;

  合成视频图像压缩录制存储处理线程;

  合成视频图像显示和存储视频回放处理线程;

  目标检测跟踪处理线程;

  海思媒体处理平台的主要内部处理流程如图9所示,主要分为视频输入 (VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出 (VO)、区域管理(REGION)等模块。

  其中:

  VI模块捕获视频图像,可对其做剪切、去噪等处理,并输出多路不同分辨率的图像数据。

  解码模块对编码后的视频码流进行解码,并将解析后的图像数据送VPSS进行图像处理,再送VO显示。可对H.265/H.264/JPEG格式的视频码流进行解码。

  VPSS模块接收VI和解码模块发送过来的图像,可对图像进行图像增强、锐化等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓拍。

  编码模块接收VI捕获并经VPSS处理后输出的图像数据,可叠加用户通过 Region模块设置的OSD图像,然后按不同协议进行编码并输出相应码流。

  VO模块接收VPSS处理后的输出图像,可进行播放控制等处理,最后按用户配置的输出协议输出给外围视频设备。

  视频缓存池

  视频缓存池主要向媒体业务提供大块物理内存管理功能,负责内存的分配和回收,充分发挥内存缓存池的作用,让物理内存资源在各个媒体处理模块中合理使用。MPP典型的公共视频缓存池数据流图如图10所示。

  一组大小相同、物理地址连续的缓存块组成一个视频缓存池。必须在系统初始化之前配置公共视频缓存池。根据业务的不同,公共缓存池的数量、缓存块的大小和数量不同。

  所有的视频输入通道都可以从公共视频缓存池中获取视频缓存块用于保存采集的图像,如图10中所示VI从公共视频缓存池B中获取视频缓存块Bm,缓存块Bm经VI发送给VPSS,输入缓存块Bm经过VPSS处理之后被释放回公共视频缓存池。假设VPSS通道的工作模式是USER,则VPSS通道0从公共视频缓存池B中获取缓存块Bi作为输出图像缓存buffer发送给VENC,VPSS通道1从公共视频缓存池B中获取缓存块Bk作为输出图像缓存buffer发送给VO,Bi经VENC编码完之后释放回公共视频缓存池,Bk经VO显示完之后释放回公共视频缓存池。

  深度学习加速引擎(NNIE或者NPU)

  深度学习加速引擎NNIE是一款基于CNN、RCNN等神经网络结构的深度学习专用加速器,可用于图片分类、目标检测等应用场景,NNIE加速引擎在系统中的位置如图11所示。Hi3519AV100支持1个NNIE。

  特点

  NNIE加速引擎特性如下:

  支持N*N卷积;

  支持Pooling(Max和Average);

  支持Stride;

  支持Pad;

  支持激活函数(Relu、Sigmoid和TanH);

  支持LRN运算;

  支持BN(Batch Normalization);

  支持向量与矩阵的乘加运算(Inner Product);

  支持Concat;

  支持Eltwise;

  支持8bit的数据与参数模式;

  支持数据与参数位宽可配置;

  支持参数压缩和参数稀疏;

  支持输入图像为单通道(灰度图)和三通道(RGB格式);

  支持图像预处理(均值化和像素值缩放);

  支持图像批处理;

  支持中间层结果上报。

  系统初始化功能

  图像识别跟踪处理模块应用程序系统初始化的功能主要有:系统参数初始化、串口初始化、网口初始化、媒体处理平台MPP初始化、火控与系统状态输出GPIO端口初始化、开机自检;系统初始化功能实现流程图如图12所示:

  系统参数和系统菜单初始化

  (1)、系统参数:

  视场选择,默认视场为红外;

  解压显示录像源显示默认为红外视频图像的H265编码压缩文件;

  解压显示录像的视频显示目标设备有液晶屏和OLED微型显示屏,默认选择为OLED微型显示屏;

  电子变倍参数设置:默认为1;可选的变倍系数为1到4;

  检测识别的目标数量为0;

  目标标记默认设置均为0;

  目标跟踪框位置默认x_position和高y_position均设置为0;

  目标跟踪框尺寸默认宽width和高height均设置为0;

  目标跟踪运动速度默认为0m/s;

  (2)、系统菜单初始化:可以选择射击场景有:沙漠、戈壁、草原、丛林和海洋等,默认场景为沙漠;选择的攻击类型有:人、车、靶标等,默认攻击目标为靶标;

  目标选择:阻击手根据实际射击场景选择好场景和攻击类型后,图像识别跟踪处理模块对射击场景中攻击类型进行检测识别,最多可以实现同时对5个攻击目标的识别,当选中一个攻击目标后,由弹道解算模块和激光测距机计算提供火控激发攻击点的坐标,图像识别跟踪处理模块根据攻击点坐标生成攻击分划线,并通过GPIO端口控制枪械激发模块对攻击目标的火控射击。

  (3)串口初始化

  打开串口设备,串口设备文件是“/dev/ttyAMA1”;

  设置串口参数:

  波特率115200;1位起始位;8位数据位;1位停止位;无检验位;

  (4)媒体处理平台MPP初始化

  视频输入VI、图像视频处理子系统VPSS和视频编码压缩模块VENC的初始化:

  视频输入VI配置:处于工作状态的视频输入的数量为1;

  红外视频图像视频输入模块MipiDev号为0;

  可见光视频图像视频输入模块MipiDev号为4;

  红外视频图像分辨率为1280x1024,帧率为30;

  可见光视频图像分辨率为2592x1944,帧率为25;

  红外视频图像视频输入设备号ViDev为0,管道PIPE号ViPIPE为0;

  可见光视频图像视频输入设备号ViDev为1,管道PIPE号ViPIPE为0;

  红外视频图像视频处理子系统Group号VPSS_GRP为0,物理通道号 VPSS_CHN为0;

  可见光视频图像视频输入系统Group号VPSS_GRP为1,物理通道号 VPSS_CHN为0;

  红外视频图像视频处理子系统VPSS物理通道像素格式为YUV420SP,动态范围设置为DYNAMIC_RANGE_SDR8,视频格式为 VIDEO_FORMAT_LINEAR,视频压缩模式为COMPRESS_MODE_SEG;

  可见光视频图像视频输入系统VPSS物理通道像素格式为YUV420SP,动态范围设置为DYNAMIC_RANGE_SDR8,视频格式为 VIDEO_FORMAT_LINEAR,视频压缩模式为COMPRESS_MODE_SEG;

  红外视频图像公共视频图像缓存块申请:缓存池数量为1个,缓存池中缓存块的数量为15个,缓存块的宽度width为1280,缓存块的高度heght为1024,缓存块像素格式为YUV422SP,位宽为10,压缩模式为COMPRESS_MODE_NONE,对齐方式为默认的32位对齐;

  可见光视频图像公共视频图像缓存块申请:缓存池数量为1个,缓存池中缓存块的数量为15个,缓存块的宽度width为2592,缓存块的高度heght为1944,缓存块像素格式为YUV422SP,位宽为10,压缩模式为COMPRESS_MODE_NONE,对齐方式为默认的32位对齐;

  建立红外视频图像视频输入模块VI与对应视频处理子系统VPSS的绑定关系;

  建立可见光视频图像视频输入模块VI与对应视频处理子系统VPSS的绑定关系;

  红外视频图像编码压缩的压缩类型为H265,编码档次为MainProfile,压缩码流模式为帧模式(帧模式与流模式);

  可将光视频图像编码压缩的压缩类型为H265,编码档次为MainProfile,压缩码流模式为帧模式(帧模式与流模式);

  红外视频图像编码压缩的输入图像宽度为1280,输入图像高度为1024,输出图像宽度为1280,输出图像高度为1024,帧缓存大小为1280x1024x2;

  可将光视频图像编码压缩的输入图像宽度为2592,输入图像高度为1944,输出图像宽度为2592,输出图像高度为1944,帧缓存大小为2592x1944x2;

  红外视频图像编码压缩的码率控制模式为固定码率CBR,图像组GOP的长度为30,每一秒1帧I帧作为参考帧,码率统计时间为1秒,源帧帧率和目的帧帧率均为30,码率大小为5M;

  可将光视频图像编码压缩的码率控制模式为固定码率CBR,图像组GOP的长度为25,每一秒1帧I帧作为参考帧,码率统计时间为1秒,源帧帧率和目的帧帧率均为25,码率大小为5M;

  建立红外视频图像视频处理子系统VPSS与对应视频编码压缩模块VENC的绑定关系;

  建立可见光视频图像视频处理子系统VPSS与对应视频编码压缩模块VENC 的绑定关系;

  视频解码模块VDEC和图像视频处理子系统VPSS的初始化:

  红外视频图像公共视频图像缓存块申请:缓存池数量为1个,缓存池中缓存块的数量为10个,缓存块的宽度width为1280,缓存块的高度heght为1024,缓存块像素格式为YUV420SP,位宽为10,压缩模式为COMPRESS_MODE_SEG,对齐方式为0位对齐;

  可见光视频图像公共视频图像缓存块申请:缓存池数量为1个,缓存池中缓存块的数量为10个,缓存块的宽度width为2592,缓存块的高度heght为1944,缓存块像素格式为YUV420SP,位宽为10,压缩模式为COMPRESS_MODE_SEG,对齐方式为0位对齐;

  红外视频图像解码的压缩类型为H265,解码图像宽度为1280,解码图像高度为1024,码流模式为帧模式(帧模式与流模式),视频解码模式为 VIDEO_DEC_MODE_IP,参考帧数量为3个,显示帧的数量为2个,帧缓存的数量为6个;

  可将光视频图像解码的压缩类型为H265,解码图像宽度为2592,解码图像高度为1944,码流模式为帧模式(帧模式与流模式),视频解码模式为 VIDEO_DEC_MODE_IP,参考帧数量为3个,显示帧的数量为2个,帧缓存的数量为6个;

  红外视频图像视频处理子系统VPSS的Group属性中图像宽度width为1280, 图像高度height为1024,动态范围为DYNAMIC_RANGE_HDR10,像素格式为 YUV420SP;

  可见光视频图像视频输入系统VPSS的Group属性中图像宽度width为2592, 图像高度height为1944,动态范围为DYNAMIC_RANGE_HDR10,像素格式为 YUV420SP;

  红外视频图像视频处理子VPSS的系统物理通道输出图像宽度为1280,图像高度为1024,工作模式为自动模式,压缩模式为COMPRESS_MODE_SEG,动态范围为DYNAMIC_RANGE_HDR10,像素格式为YUV420SP,幅型比类型为无幅型比(无法型比、自动模式和手动模式),视频格式为VIDEO_FORMAT_LINEAR;

  可见光视频图像视频处理子VPSS的系统物理通道输出图像宽度为1280,图像高度为1024,工作模式为自动模式,压缩模式为COMPRESS_MODE_SEG,动态范围为DYNAMIC_RANGE_HDR10,像素格式为YUV420SP,幅型比类型为无幅型比(无法型比、自动模式和手动模式),视频格式为 VIDEO_FORMAT_LINEAR;

  建立红外视频解码模块VEDC与视频处理子系统VPSS的绑定关系;

  建立可见光视频解码模块VEDC与视频处理子系统VPSS的绑定关系;

  图像视频输出模块VO的初始化:

  由于OLED微型显示器的分辨率为1280x1024;红外视频图像解码和可见光视频图像解码的视频输出模块VO的接口时序均为1280x1024,帧率均为30;

  若连接外部高清液晶显示屏,红外视频图像解码和可见光视频图像视频输出VO的接口时序均为1280x1024,帧率均为30;

  红外视频图像解码和可见光视频图像的视频输出模块VO设备为高清设备 DHD1(超高清设备DHD0不支持LCD接口);

  暂时针对HDMI接口视频输出的设计,红外视频图像解码和可见光视频图像的视频输出模块VO的接口类型为HDMI接口;

  红外视频图像解码和可见光视频图像的视频输出模块VO的显示设备背景色为COLOR_RGB_BLUE,动态范围为DYNAMIC_RANGE_HDR10,物理通道模式为VO_MODE_1MUX,像素格式为YUV420SP,图像分辨率和显示分辨率都为1280x1024;视频层配置初始的分割模式均为默认的默认为 VO_PART_MODE_SINGLE;

  火控输出GPIO端口初始化

  火控输出GPIO端口初始化为低电平工作;具体步骤是:

  打开GPIO设备,GPIO设备文件是“/dev/gpiochipX”,X为0-14;

  设置GPIO管脚为输出方向;

  读写GPIO管脚电平状态为低电平;

  电池电压检测LSADC初始化

  LSADC(Low Speed ADC)实现对外部模拟信号转换成一定比例的数字值,从而实现对模拟信号的测量,可应用于电量检测,按键检测等。芯片提供1个 LSADC,4个独立通道;

  采样精度设置

  通过LSADC_CTRL9[9:0]可以设置采样精度,可以根据应用需要设置对应的采样精度。

  当采样精度设置成10bit时,采样结果10bit全部有效。

  当采样精度设置小于10bit时,对应的采样结果高位有效,例如:当采样精度设置成8bit时,采样结果的高8bit才有效。

  连续扫描处理,连续扫描处理流程如图13所示,

  在连续读取模式(LSADC_CTRL0[model_sel]=1),CPU根据应用场景设置连续扫描的时间间隔Tscan、毛刺宽度(Tglitch)、有效通道号(ch_vld),启动 LSADC。LSADC在一个时间间隔Tscan内完成一个有效通道(配置 LSADC_CTRL0通道是否有效指示位为有效)的扫描。在下一个扫描时刻到来时,启动对下一个有效通道的扫描。待完成对所有有效通道的扫描后,启动下一轮对有效通道的扫描。

  开机自检

  在以上初始化工作完成后,对图像检测跟踪处理模块中的各个模块进行自检,自检项如下:

  SD卡挂载情况进行检查、检查SD初始化默认状态是否正确;

  检查火控GPIO端口管脚是否设置为输出方向,默认输出电平是否是默认的低电平;

  检查电源控制端口GPIO端口管脚是否设置为输出方向,默认开启红外视频输入设备电源,默认关闭可见光视频输入设备电源;

  通过LSADC电池电压检测功能,进行一次电池电压检测,判断该功能的正常和电池电压的正常;

  四、系统任务调度流程

  功能概述

  系统接收和收集指令,调度执行,完成目标检测、识别和跟踪测量功能,并经过智能计算控制枪械自动击发。

  功能实现

  任务调度软件流程图如图14所示:

  瞄准具加电,开机自检,系统初始化;

  根据键盘输入确定工作场景,上电默认红外工作场景;

  根据确定的工作场景进行相关图像采集和图像预处理(包括直方图均衡、图像对比度拉伸、亮度调整、图像去噪、图像去雾等操作);

  接收键盘命令,确定是否开启深度学习目标检测功能,如果开启目标检测,则根据目标类型要求,深度学习检测算法分别检测所需的人员、车辆、靶标等目标,并标示出目标外框和目标类型;

  接收键盘命令确定是否要进行目标标记,如果进行了目标标记,则启动目标跟踪程序,对目标进行鲁棒跟踪;

  在跟踪过程中,不断检测串口传送来的火控系统攻击分划点和攻击命令,确认接收到攻击确认信息后,开始连续计算目标位置与攻击分化中心的偏差,在确认偏差小于给定门限时,自动发送击发命令给火控系统,实现火控系统的自动击发;

  在整个过程中,可以根据按键命令,对整个调度控制过程进行全程录像记录,以便事后分析和进行升级改进。

  系统所使用的算法

  本发明提供了基于深度学习的目标检测算法,鲁棒性目标跟踪算法和智能击发模型算法,包括以下内容:

  深度学习的目标检测算法及软件编译下载流程

  因为智能枪瞄主要应用在复杂环境下,特别是应用于小目标的检测。由于小目标像素少、特征不明显,与大目标相比,小目标的检测率低,虚警率高。传统的模式识别图像目标检测算法无法满足此类应用,因此本发明提出了一种基于YOLO-3深度学习网络模型的智能目标检测算法,为了加速其运行速度,本发明对原始YOLO-3进行了剪枝处理,减少了参数,提高了检测概率,同时也加快了计算速度。

  YOLO-3采用了Darknet-53的分类网络结构进行目标特征抽取,同时采用 YOLO-2的Pass through结构来检测细粒度特征,并进一步采用了大中小三个不同尺度的特征图来实现目标的可靠快速检测。

  YOLO系列算法的思想如下:首先通过特征提取网络对输入图像提取特征,得到一定大小的特征图(比如13*13),然后将输入图像划分网格成13*13个单元格,接着判断Ground Truth中某个目标的中心坐标落在哪个单元格中,然后由该单元格来预测该目标,每个单元格都会预测固定数量的边界框,这几个边界框中只有和Ground Truth的IOU最大的边界框才会被选定用来预测该目标。

  预测得到的输出特征图有两个维度是提取到的特征,其中一个维度是平面,例如13*13,还有一个维度是深度,例如B*(5+C),其中B表示每个单元格预测的边界框的数量,C表示边界框的对应的类别数(对于VOC数据集是20), 5表示4个坐标信息和1个边界框置信得分(Objectness Score)。

  YOLO-3的模型比之前复杂不少,在速度和精度上的提升也非常明显同时可以通过改变模型的结构以及修枝剪裁算法来权衡速度与精度;

  YOLO-3的结构图如图15所示,其中:

  DBL是Darknetconv2d_BN_Leaky的简称,是YOLO-3的基本组件,其组成是卷积+BN+Leaky relu。对于YOLO-3来说,BN和leaky relu已经是和卷积层不可分离的部分了(最后一层卷积除外),共同构成了最小组件。

  resn:n代表数字,有res1、res2、…、res8等等,表示这个res_block里含有多少个res_unit,这是YOLO-3的大组件。YOLO-3开始借鉴了ResNet的残差结构,使用这种结构可以让网络结构更深(从YOLO-2的darknet-19上升到 YOLO-3的darknet-53)。对于res_block的解释,可以在图12的右下角直观看到,其基本组件也是DBL。

  concat:张量拼接。将darknet中间层和后面的某一层的上采样进行拼接。拼接的操作和残差层add的操作是不一样的,拼接会扩充张量的维度,而add 只是直接相加不会导致张量维度的改变。

  整个YOLO-3_body包含252层,包括add层23层(主要用于res_block的构成,每个res_unit需要一个add层,一共有1+2+8+8+4=23层)。除此之外,BN 层和LeakyReLU层数量完全一样(72层),在网络结构中的表现为:每一层BN 后面都会接一层LeakyReLU。卷积层一共有75层,其中有72层后面都会接 BN+LeakyReLU的组合构成基本组件DBL。看结构图,可以发现上采样和concat 都有2次,和表格分析中对应上。每个res_block都会用上一个零填充,一共有 5个res_block。

  Backbone网络结构

  一般的检测任务模型都会有一个分类网络(模型)作为backbone网络,比如FasterR-CNN用VGG作为backbone网络,YOLO-2用分类网络darknet-19作为 backbone网络;YOLO-3选用darknet-53作为backbone网络;darknet-53网络结构图如图16所示;

  在YOLO-3结构里面,没有池化层和全连接层的。前向传播过程中,张量的尺寸变换是通过改变卷积核的步长来实现的,比如stride=(2,2),这就等于将图像边长缩小了一半(即面积缩小到原来的1/4)。在YOLO-2中要经历5次缩小,会将特征图缩小到原输入尺寸的即1/32。输入为416x416,则输出为13x13(416/32=13)。YOLO-3也和YOLO-2一样,backbone都会将输出特征图缩小到输入的1/32,所以通常要求输入图片的尺寸是32的倍数。

  Darknet-53是特征提取网络,YOLO-3使用了其中的卷积层(共53个,位于各个Res层之前)来提取特征,而多尺度特征融合和检测支路并没有在该网络结构中体现,检测支路采用的也是全卷积的结构,其中最后一个卷积层的卷积核个数是255,是针对COCO数据集的80类:3*(80+4+1)=255。

  YOLO-3在网络训练方面还是采用YOLO-2中的多尺度训练(Multi-ScaleTraining)方法。同时仍然采用了一连串的3*3、1*1卷积,3*3的卷积负责增加特征图通道数(Channels),而1*1的卷积负责压缩3*3卷积后的特征表示。

  (1)卷积层:

  YOLO-3网络的输入像素为416*416,通道数为3的图片(Random参数置 1时可以自适应以32为基础的变化)。每一个卷积层都会对输入数据进行BN操作。每个卷积层卷积采用32个卷积核,每个卷积核大小为3*3,步伐为1。

  (2)Res层:

  一共选用五种具有不同尺度和深度的Res层,它们只进行不同层输出间的求残差操作。

  (3)Darknet-53结构:

  从第0层一直到74层,一共有53个卷积层,其余为Res层。作为YOLO-3 进行特征提取的主要网络结构,Darknet使用一系列的3*3和1*1的卷积的卷积层(这些卷积层是从各主流网络结构选取性能比较好的卷积层进行整合得到。)

  (4)YOLO层(对应-2中的Region层):

  从75层到105层为YOLO-3网络的特征融合层,分为三个尺度(13*13、 26*26和52*52),每个尺度下先堆积不同尺度的特征图,而后通过卷积核(3*3 和1*1)的方式实现不同尺度特征图之间的局部特征融合,(YOLO-2中采用FC 层实现全局特征融合)。最终输出的是特征图是深度为75的张量(3*(1+4+20) =75),其中20是VOC数据集的类别数。

  本发明所采用的SoC以深度学习框架Caffe为主,神经网络加速引擎NNIE 的开发流程如图17所示。在Caffe上训练、使用NNIE的编译工具编译都是离线的。通过设置不同的模式,编译器将*.caffemodel编译成在仿真器、仿真库或板端上可加载执行的数据指令文件。在模型开发前期,可使用仿真器对训练出来的模型进行精度、性能、带宽进行初步评估,符合用户预期后再使用仿真库进行完整功能的仿真,最后将程序移植到板端。

  海思芯片内部的神经网络加速引擎NNIE硬件的调用,需要把Caffe模型编译生成*.wk数据文件,需要准备的文件有标签文件label.txt、数据集文件images、模型文件GraphDF和图片预处理文件MeanFile;

  编译生成*.wk数据文件具体步骤如下:

  第一步:在PC端离线训练网络模型,需要将数据集文件images输入到模型文件GraphDF,通过标签文件label.txt做对比,使用随机梯度下降的算法优化模型。最后会得到一个训练后的模型文件*.caffemodel和一个权重参数文件 *.prototxt。

  第二步:把训练后的两个文件导入到海思提供的RuyiStudio软件中,利用插件mapper的文件格式转换功能,将模型文件模型文件*.caffemodel转换成海思软件平台可以识别*.wk数据文件。

  第三步:部署*.wk数据文件到目标识别跟踪系统板卡中运行。

  图像跟踪算法及软件流程

  为了提高枪械射击精度,本发明选用了目前处理速度和精度都很突出的 KCF算法。其算法原理如下:

  确定目标框大小,使用目标框周边大小2.5倍区域的循环矩阵构建和采集正负样本,利用脊回归模型训练目标分类器。对样本进行巧妙地变换使训练数据矩阵具有循环特性,实现离散傅里叶变换对角线化,从而可以极大地减少计算量和存储量,达到对目标快速有效定位跟踪的目的。

  因为使用了快速傅里叶变换,从而把空间域内的相关运算改变为了频率域的相乘运算,所以可以极大的提高运算速度。其变换原理如下:

  设x和x'表示图像信号,则相位相关的响应为:

  

  其中,F(x)和F(x')分别为x和x'的2维傅里叶变换,F(x')*为F(x') 的复数,∠为相位,为点乘。x和x'的2维相位相关函数r为R的反傅里叶变换。当两个图像信号相似时,相位相关函数为标准的delta函数;当两个图像信号不相似时,峰值下降趋势不规则。峰值的高低显示了图像匹配的相似程度,峰值点的位置表示两个图像之间的位移。

  跟踪过程的任务是根据上一帧目标状态估计当前帧目标状态。采用空间相位相关在当前帧图像中标记目标。如果目标空域位移为(Δm,Δn),则当前帧图像x可以写为:

  x(m′,n′)=y(m+Δm,n+Δn)

  其中,y为目标模板。空域位移(Δm,Δn)将改变当前帧图像x的频域相位谱:如图18所示。

  首先,输入原始图像,通过变换快速傅里叶变换(FFT),转换到频域;然后将相位相关滤波器同理转换到频域;最后,在频域对原始信号进行相位相关操作,获得响应函数,再将频域响应函数通过IFFT变换到空域,得到空域响应函数。空域响应函数的峰值点即为当前帧目标位置。

  KCF算法的实现流程如下:

  在It帧中,在当前位置pt附近采样,训练一个回归器。这个回归器能计算一个小窗口采样的响应。

  在It+1帧中,在前一帧位置pt附近采样,用前述回归器判断每个采样的响应。

  响应最强的采样作为本帧位置pt+1。

  智能击发模型及软件流程

  智能击发模型主要是建立目标瞄准点与攻击分化中心点的速度,方向和直接距离函数,分别按照目标运动模型计算估算目标与攻击分化中心的交会时刻,确定出击发信号的发送时刻。

  基本步骤如下:

  根据鲁棒跟踪算法提供的目标逐帧位置信息,计算目标轨迹变化模型,预测目标速度,加速度以及运动方向;

  根据攻击分化中心位置与预测的目标下一帧位置坐标偏差是否小于给定值;如果小于则产生和发给火控系统击发信号;如果不是,则继续跟踪计算。

  本发明有效解决传统枪瞄图像处理芯片功耗高,工作时间短,无智能化图像处理功能的问题,可以智能化进行目标检测、识别和跟踪,有效提升狙击步枪瞄准具的智能化水平,便于推广使用。

  四、实验效果。

  1)本发明的开机自检画面,如图19所示。

  2)本发明的图像显示画面,如图20所示。

  3)本发明的深度学习目标检测画面,如图21所示。

  4)本发明的目标标记画面,如图22所示。

  5)本发明的攻击画面,如图23所示。

  在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。

  应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

  以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

《基于深度学习的低功耗智能枪瞄图像处理系统及处理方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)