【技术领域】
本发明涉及水上救援领域,特别涉及一种基于fpga的中小型水域自主救生系统及救生方法。
背景技术:
根据国家卫生部估计,我国平均每天有超过150人死于溺水,1年超过5.7万人,人数仅次于交通事故,位居非正常死亡人数的第二,据国际救生联合会的统计,世界上每年有上百万人被水夺去生命。我国土地幅员辽阔,对外开放的公园人工湖、水库和湖泊数量大,但由于安全措施不到位、监控存在盲区和死角、救生意识淡漠等原因,更造成了溺水死亡事故频繁发生,造成巨大的社会影响。
当人员落水后,应快速使用救援设备对落水人员进行救援,救生装置主要分为传统救生装置和新型救生装置。
传统的救援装置包括有救生衣、救生圈、救生筏、救援直升机和救生舰艇。救生衣方便灵活,适应性好。但是存在浮力不足等致命性问题。救生圈价格低廉,使用广泛,但救援投掷缺少准确度。救生筏体积庞大,使用和存储有诸多困难。救援直升机能够迅速飞临现场,快速搜救,悬停救生,受海况影响小,但是成本高,适合海洋遇险或者自然灾害危急情况救援,需要宽阔的场地保障直升机安全。救生舰艇适应恶劣天气和海况的快速出动和执行求救任务,但是救援舰艇不易接近落水人员,体积庞大,难以搬移。
新型救援装备包括:智能救生网、弹射救生装置和智能水上救援机器人。智能救生网精确性良好,但智能传感器价格高,难推广。弹射救生装置救援中仍需要人工进行搜索和定位。智能水上救援机器人依靠声音识别系统筛选可靠性低,易误判。
对于以上的国内外水上救生装置和设备的现状,在中小型水域方面的救援装备发展还有很大的改进与再设计空间。
技术实现要素:
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供了一种基于fpga的中小型水域自主救生系统及救生方法,实现了对中小水域落水人员的全自动救援,提高了救援效率。
本发明的技术方案是:
一种基于fpga的中小型水域自主救生系统,包括图像采集模块、fpga主控制模块和救援船,fpga主控制模块分别与图像采集模块和救援船相交互;其中图像采集模块用于采集水域的图像数据;fpga主控制模块用于辨识图像数据中是否有人员落水,当fpga主控制模块辨识结果为有人员落水,fpga主控制模块发送导航信息,救援船根据导航信息进行救援。
进一步,所述fpga主控制模块包括图像滤波单元、特征提取单元和特征辨识单元;
图像滤波单元用于对图像采集模块采集的图像数据进行滤波,确定疑似落水人体目标部分;
特征提取单元对确定的疑似落水人体目标部分进行特征提取,并对提取的每一个特征进行初步辨识;
特征辨识单元用于对特征提取单元的初步辨识结果进行最终辨识,最终确定疑似落水人体目标是否为落水人体目标。
进一步,还包括报警监控模块;报警监控模块与fpga主控制模块连接,fpga主控制模块将辨识后的图像数据实时传送至报警监控模块,当fpga主控制模块辨识图像数据结果为有人员落水时,并发送报警信号至报警监控模块,报警监控模块报警。
进一步,救援船上设置单片机控制模块、电磁阀和气囊;单片机控制模块接收fpga主控制模块发送的导航信息,控制救援船驶的行驶路线;单片机控制模块控制电磁阀工作对气囊进行充气或放气。
进一步,包括红外测距模块,红外测距模块用于测量救援船与落水人人员的安全距离。
进一步,fpga主控制模块通过spi无线通讯方式与救援船和报警监控模块连接。
一种基于基于fpga的中小型水域自主救生系统的救生方法,包括以下步骤:
步骤1、红外摄像头实时采集监控水域的图像数据;
步骤2、fpga主控制模块对采集的图像数据进行滤波,确定疑似落水人体目标部分;
步骤3、fpga主控制模块对确定的疑似落水人体目标部分进行特征提取,并对提取的每一个特征进行初步辨识;
步骤4、fpga主控制模块根据步骤3初步辨识的结果进行最终辨识,确定疑似落水人体目标是否为落水人体目标;
步骤5、当步骤4辨识有人员落水,fpga主控制模块根据图像数据生成导航信息并发送至救援船;
步骤6、救援船根据导航信息前往救援,救援完成后,救援船发送完成信号至fpga主控制模块;
步骤7、fpga主控制模块接收到救援完成信号,发出返航的导航信息至救援船,救援船返航。
进一步,所述图像滤波首先采用改进的中值滤波算法对图像数据进行滤波处理,经过滤波的图像数据采用帧间差分法对相邻两帧图像数据进行差分运算,然后对得到的差分图像进行开闭运算,经过开闭运算的图像数据即为疑似落水人体目标部分。
进一步,所述步骤3中特征提取分别提取疑似落水目标部分的面积特征、边缘梯度特征和温度特征并进行初步辨识;
一、面积特征计算:
对疑似落水人体目标部分图像数据进行遍历,寻找左上角(x1,y1)和右下角坐标(x2,y2),基于两点坐标对疑似落水人体目标部分生成最小外接矩形并标记,利用最小外接矩形面积近似代替目标面积s1,计算公式如下所示:
s1=(x2-x1)*(y2-y1)
将得到的目标面积s1与人体面积下限阈值m进行比较,
s为反应目标面积达到人体面积下限阈值m的逻辑变量,据此判断在目标面积特征下疑似落水人体目标部分是否为落水人体目标部分;
二、边缘梯度分布计算:
对疑似落水人体目标部分图像数据做梯度直方图处理,进行边缘梯度分布计算,首先将疑似落水人体目标部分划分为小的方格,并对这些方格计算其各自的方向梯度特征,计算过程采用sobel梯度算子,对每个划分的方格中每个像素点的灰度进行卷积得到所有像素点的幅值大小和梯度方向角度,计算公式如下:
其中f(x,y)为像素灰度值,ix和iy分别表示水平和垂直方向上的梯度值,m(x,y)表示梯度的大小,θ(x,y)表示梯度的方向角度;
然后将圆周2π按照每π/8划分为16维,并将所求得的各个像素点梯度的方向角度按角度范围分类,即疑似落水人体目标部分图像数据被分为16维数据,最后求出每一维个数占总数据个数的比重bθi(i=0,1,2...15),
其中mi1、mi2分别表示实验得出的一般人体各维边缘梯度分布所占比重上下限值,bθ为反应边缘梯度分布规律达到人体各维边缘梯度分布规律的逻辑变量,通过比重百分比分布规律判断在边缘梯度分布下,疑似落水人体目标部分是否为落水人体目标部分;
三、温度分布计算:
遍历疑似落水人体目标部分图像数据,按照人体各部分温度分布不同,区分出不同灰度值阈值区间,并按照各阈值对目标部分图像数据进行分类,求出每一阈值区间所包含的图像数据像素个数,最后求出每一阈值区间所包含的图像数据像素个数占总数据个数的比重bti(i=0,1,2...15);
其中ti1、ti2分别表示实验得出的红外图像中人体各温度区域分布所占比重上下限值,bt为反应温度分布规律达到人体各温度区域分布规律的逻辑变量,通过比重百分比分布规律判断在温度分布下,疑似落水人体目标部分是否为落水人体目标部分。
进一步,所述步骤4中特征辨识采用以下逻辑关系式确定疑似落水人体目标部分是否为落水人体目标部分;
y=s∧bθ∧bt
其中y是表示特征提取结果是否为落水人体目标的逻辑变量。
与现有技术相比,本发明至少具有以下有益效果:
本发明公开的一种基于fpga的中小型水域自主救生系统,通过采集监控水域的图像数据,fpga控制模块对采集的图像信息进行辨识是否有人员落水,当fpga控制模块确定有人员落水时发送导航信息至救援船进行救援。本发明系统选择基于fpga的视频监控,利用fpga并行处理数据的能力实现对监测水域落水人员的实时判断与报警及控制救援,具有较强的实时性和准确性。岸边停靠的自主救援小船随时待命,当确认有人员落水则立即启动救援。整个系统无需人员参与,实现了整个系统的智能性,而且整个系统具有较强的实用性,能够广泛推广应用在中小型无人管控、禁止下水等区域。
图像滤波单元对图像数据进行滤波识别确定疑似目标,然后特征提取单元提取特征再次对图像进行再次识别,最后由特征辨识单元做最终辨识是否有人员落水,提高了整个系统的准确性。
fpga控制模块进一步将处理的图像数据实施传送给报警监控模块,同时当辨识有人落水时并发送报警信号至报警监控模块输出报警,提高了整个系统的可靠性。
救援船根据导航信息就行自主救援,提高了救援的效率;导航信息和红外测距模块配合使用,红外测距模块控制救援船和落水人员的安全距离,防止救援船对落水人员造成撞击。
本发明公开的一种基于fpga的中小型水域自主救生方法,通过fpga主控制模块对图像数据依次进行图像滤波、特征提取和特征识别后确认水域是否有人落水,当确认有人落水fpga主控制模块输出导航信息,救援船根据导航信息自主救援。本发明的方法利用fpga处理数据的能力实现对监测水域落水人员的实时判断与报警及控制救援,具有较强的实时性和准确性。
【附图说明】
图1是自主救生系统的结构框图;
图2是fpga主控制模块控制流程图;
图3是监控报警模块控制流程图;
图4是救援船模块控制流程图。
【具体实施方式】
下面结合附图和具体实施例对本发明技术方案进一步说明。
请参阅图1所示,参见图1,本发明提供的一种基于fpga的中小型水域自主救生系统包括以图像采集模块、fpga主控制模块、监控报警模块、救援船;其中,图像采集模块与fpga主控制模块连接,fpga主控制模块分别与监控报警模块和救援船通过无线通讯连接,实现数据传输,无线通讯采用spi方式。
图像采集模块对所监控水域进行实时监控并采集监控水域的图像数据,将采集到的图像数据传输给fpga主控制模块,采集模块为红外摄像头,fpga主控制模块对红外摄像头进行参数配置。
如图2所示,fpga主控制模块包括图像滤波单元、特征提取单元、特征辨识单元、无线通讯单元、sdram存储单元和导航生成单元;
图像滤波单元对图像采集模块采集的图像数据进行滤波,确定疑似落水人体目标部分,特征提取单元对确定的疑似落水人体目标部分进行特征提取并进行初步辨识;特征辨识单元用于对提取的特征进行最终辨识,确定疑似落水人体目标是否为落水人体目标,无线通讯单元将特征辨识后的图像数据实时传送至监控报警模块;当辨识到有人员落水,fpga主控制模块向报警监控模块输出报警信号,同时导航生成单元根据特征辨识后的图像数据生成导航信息,并通过无线通讯方式向将导航信息发送至救援船;救援船根据导航信息前往救援,救援完成后,导航生成单元生成返程导航信息,救援船根据返程导航信息返航;sdram存储单元对特征辨识的图像数据进行存储。
1、图像滤波
fpga主控制模块中首先采用改进的中值滤波算法对图像数据进行滤波处理,提高图像信号信噪比。然后对经过滤波的图像采用帧间差分法对相邻两帧图像数据进行差分运算,其次对得到的差分图像进行开闭运算,减少图像数据中的噪声信号,经过开闭运算的图像数据即为疑似落水人体目标部分。
2、特征提取
fpga主控制模块对疑似落水人体目标部分图像数据从目标尺寸、边缘梯度分布和温度分布三方面进行特征提取。
特征1:目标面积计算
对疑似落水人体目标部分图像数据进行遍历,寻找左上角(x1,y1)和右下角坐标(x2,y2),基于两点坐标对疑似落水人体目标部分生成最小外接矩形并标记,利用最小外接矩形面积近似代替目标面积s1,计算公式如下所示:
s1=(x2-x1)*(y2-y1)
将得到的目标面积s1与人体面积下限阈值m进行比较,
s为反应目标面积达到人体面积下限阈值m的逻辑变量,并据此判断在目标面积特征下疑似落水人体目标部分是否为落水人体目标部分。
特征2:边缘梯度分布计算
对疑似落水人体目标部分图像数据做梯度直方图(histogramoforientedgradient,hog)处理,进行边缘梯度分布计算,算法首先将疑似落水人体目标部分划分为小的方格,并对这些方格计算其各自的方向梯度特征,计算过程采用sobel梯度算子,对该方格中每个像素点的灰度进行卷积得到所有像素点的幅值大小和梯度方向角度,计算公式如下:
其中ix和iy分别表示水平和垂直方向上的梯度值,m(x,y)表示梯度的大小,θ(x,y)表示梯度的方向角度。
然后将圆周2π按照每π/8划分为16维,并将所求得的各个像素点梯度的方向角度按角度范围分类,即疑似落水人体目标部分图像数据被分为16维数据,最后求出每一维个数占总数据个数的比重bθi(i=0,1,2...15),
其中mi1、mi2分别表示实验得出的一般人体各维边缘梯度分布所占比重上下限值,bθ为反应边缘梯度分布规律达到人体各维边缘梯度分布规律的逻辑变量,通过比重百分比分布规律判断在边缘梯度分布下,疑似落水人体目标部分是否为落水人体目标部分。
特征3:温度分布计算
遍历疑似落水人体目标部分图像数据,按照人体各部分温度分布不同,生成的红外图像人体区域各像素灰度值之间存在明显差别,而同一区域水面温度、光照强度等因素近似相等,所生成的红外图像各像素灰度值之间差别不大,从而区分出不同灰度值阈值区间,并按照各阈值对目标部分图像数据进行分类,求出每一阈值区间所包含的图像数据像素个数,最后求出每一阈值区间所包含的图像数据像素个数占总数据个数的比重bti(i=0,1,2...15),
其中ti1、ti2分别表示实验得出的一般红外图像中人体各温度区域分布所占比重上下限值,bt为反应温度分布规律达到人体各温度区域分布规律的逻辑变量,通过比重百分比分布规律判断在温度分布下,疑似落水人体目标部分是否为落水人体目标部分。
3、特征辨识
fpga主控制模块通过对遍历疑似落水人体目标部分图像数据进行特征提取后,采用以下逻辑关系式最终确定疑似落水人体目标部分是否为落水人体目标部分。
y=s∧bθ∧bt
其中y是表示特征提取结果是否为落水人体目标的逻辑变量。
当fpga主控制模块的特征辨识处理结果为监控水域无人员落入水中时,fpga主控制模块继续对下一帧采集到的图像数据做处理,进入处理循环。
当fpga主控制模块的特征辨识检测结果为有人落入水中时,fpga主控制模块根据特征辨识后的图像数据生成导航信息,并通过无线通讯方式向救援船发送导航信息,同时向监控报警模块发送报警信号;fpga主控制模块各控制过程中由sdram完成各类数据存储。
参见图3,当fpga主控模块检测结果为有人员落水,监控报警模块收到警报信号后,开启岸边语音报警模块,提醒行人注意险情,同时通过vga接口将处理后的图像数据传递给液晶显示屏,对待监控水域实现实时监控的效果。
如图4所示,救援船上安装单片机控制模块、无线通讯模块、红外测距模块、电磁阀、充气气囊和驱动电机;当单片机控制模块接收到fpga主控模块发出导航信号后确定救援船行驶轨迹,单片机控制模块启动电机工作,救援船行驶至人员落水地点,测距模块实时测量救援船和落水人员距离,当测得的距离小于等于安全距离时,控制模块控制救援船减速停止,避免救援船碰到落水人员造成二次伤害。当救援船驶近落水人员时,单片机控制模块打开电磁阀,对救援船自身携带的充气气囊进行充气,便于落水人员抓取,利于救援,救起落水人员后单片机控制模块向fpga主控制模块发送救生完成信号,fpga主控制模块生成返回的导航信息并发送至单片机控制模块,救援船再次根据导航信息回到岸边,等待岸边行人将落水人员救起,自主救援系统救援任务至此结束。
本发明选择基于fpga的视频监控,利用fpga并行处理数据的能力实现对监测水域落水人员的实时判断与报警及控制救援,具有较强的实时性。通过fpga的算法实现对人体特征提取,达到辨识监测区域是否存在落水人员的目的,具有较高的准确性。与此同时,将辨识有人落水的结果通过警务室报警告知岸边行人,岸边停靠的自主救援小船随时待命,当确认有人员落水则立即启动救援。整个系统几近无需人员参与,实现了整个系统的智能性,而且整个系统具有较强的实用性,该系统可推广至高校、公园的人工湖、中小型水库、旅游景点水域以及乡间用于饲养的池塘等禁止人员戏水的中小型水域,成为一种集自动检测、落水报警以及落水救援为一体的智能公共安全防范产品,具有极强的使用和推广价值。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。