发明内容
本发明针对以上问题,提出了一种基于超视距视频技术的智能放牧监控系统。通过架设数台超视距摄像机对数平方公里区域的牧群进行监控拍摄,首先通过对拍摄的牧群图像进行梯度特征值统计以调整摄像机的焦距、自动获取较高清晰度的牧群图像;然后通过图像拼接技术拼接所有架设摄像机拍摄的图像、以还原整个牧场放牧区域的图像信息;最后分别通过模板反投影法及摄像机双目标定算法实现对牧群的计数、定位。
为了解决上述技术问题,本发明提出以下技术方案:
一种基于超视距视频技术的智能放牧监控系统,它包括视频获取模块、视频处理模块和信息管理模块;
所述视频获取模块包括多台超视距摄像机及图像采集卡,超视距摄像机通过图像采集卡与计算机连接;
所述视频处理模块包括计算机及安装在计算机内的视频处理软件;
所述信息管理模块用于记录牧群的位置、数量、视频,并对牧群数量、运动状态等信息进行判断及预警。
所述超视距摄像机固定安装于牧场周围的平台上,同时向牧场内拍摄,所安装的超视距摄像机数量及方位以能拼接出完整的指定牧场区域图像为准,多超视距摄像机实时拍摄的视频经图像采集卡转为数字信号后供计算机中的图像处理系统进行处理、记录。
所述视频处理模块的视频处理包括以下处理步骤:
步骤1:自动调节视频清晰度。为判断所拍摄的牧群在视频中是否清晰,系统每隔一段时间都会对所拍摄的图像灰度梯度特征值进行统计,若统计的梯度特征值大于设定阈值K1,则认为牧群图像清晰度满足要求,否则,系统将自动调整摄像机焦距再次拍摄图像,直至统计的梯度特征值大于设定阈值K1,图像的梯度特征值统计通过式(1)进行计算:
其中,I(i,j)为图像在点(i,j)处的灰度值,E为统计的灰度梯度特征值,E值越大,图像越清晰,待所有超视距摄像机调节到都能满足清晰度要求时,转入下一步;
步骤2:牧场图像自动拼接。对同一时刻多台超视距摄像机获取的牧场图像进行自动拼接,以获得完整的牧场图像。过程中每次采用两幅图像(对应于两个超视距摄像机)以特征点为基准进行拼接,当两幅图像拼接完毕,再将当前拼接结果与下一超视距摄像机获取的图像拼接,直至拼接出完整牧场图像。两幅待拼接图像中轮廓曲率大于一定值的点均为特征点,进一步计算每一个特征点的9×9邻域内像素点的梯度作为特征点的描述信息,若某一待拼接图像中某个特征点的描述信息与另一待拼接图像中某个特征点的描述信息相似,则这两个特征点为相对应特征点,且在实际空间中是同一点。寻找到多个相对应的特征点,即可将两幅图像拼接;
步骤3:牧群计数。在通过图像拼接还原某时刻整个牧场的画面信息后,图像处理系统将对牧场图像中的牧群进行计数。在放牧前预先拍摄单只放牧动物的图像作为模板,计算其色调概率密度直方图,然后以该概率密度直方图为基准模板,对所拍摄牧场图像进行反投影计算,即可获得仅包含牧群的区域图像,最后再利用分水岭算法分割牧群区域中每一只动物的轮廓,通过计算轮廓的个数以确定牧群的数量。分水岭算法为:
I′(i,j)={[I(i,j)-I(i-1,j)]2[I(i,j)-I(i,j-1)]2}×0.5 (2)
其中,I(i,j)为图像在点(i,j)处的灰度值,I′(i,j)为图像在点(I,j)处的轮廓(若存在的话),分水岭算法对微弱边缘反应敏感,图像中物体表面细微的灰度变化,易得到封闭连续的轮廓边缘。
步骤4:牧群定位。通过步骤2和步骤3可获得两幅待拼接图像中只存在于牧群区域相对应的特征点,计算这些相对应特征点的视差值,并通过已知的超视距摄像机内部参数,即可根据式(3)求得以当前主摄像机为基准的牧群的空间坐标:
其中,(X,Y,Z)为牧群区域中某只动物在当前主摄像机坐标系中的空间坐标,L为当前拼接的两台超视距摄像机之间的实际空间距离,(u0,v0)为当前主摄像机图像平面中心在其自身坐标系中的像素坐标,d为相对应特征点的视差值,k为摄像机像元的大小,f为摄像机当前时刻焦距,(u,v)为该只动物在主摄像机图像平面中的像素坐标。通过式(3)可计算出牧群区中每只动物的实际世界坐标,即可确定牧群的位置区间。实际中设两台拼接摄像机中的某台相机绝对坐标系为主坐标系,若需要通过n次拼接,则有n个主坐标系(该n个主坐标系可能有部分是重合的),最后将所有坐标系以某一唯一指定的超视距摄像机绝对坐 标为参考进行映射(映射关系在摄像机安装确定时即可测量获得并不再改变),则定位结果即为以该指定超视距摄相机绝对坐标系为参考的空间位置。
所述信息管理模块包括以下功能:
(1)保存牧群数量及位置信息。当视频处理模块实现对牧群的计数与定位后,信息管理模块将对当前时刻牧群的数量及位置信息进行记录,并保存相关视频;
(2)牧群状态的预警。通过牧群的计数与定位信息判断牧群数量是否减少,若减少则通过计算机对牧主进行报警并提供位置信息。
所述信息管理模块包括以下功能:
(1)保存牧群数量及位置信息。当视频处理模块实现对牧群的计数与定位后,信息管理模块将对当前时刻牧群的数量及位置信息进行记录,并保存相关视频;
(2)牧群状态的预警。通过牧群的计数与定位信息判断牧群数量是否减少,若减少则通过计算机对牧主进行报警并提供位置信息。
本发明有如下有益效果:
(1)提出并实现了一套完善的基于超视距视频技术的牧群定位、计数与安全监控系统,能够对远距离地对开放牧场中的牧群进行监控,除非发现意外或事故,无需人工干预,无需指定放牧路径和方式,监控区域大。
(2)结果直观、可追溯、系统简单、成本低、智能化程度高。
具体实施方式
下面结合附图对本发明的实施方式做进一步的说明。
如图1所示的基于超视距视频技术的智能放牧监控系统,包括视频获取模块、视频处理模块、信息管理模块。
所述视频获取模块包括多台超视距摄像机1及图像采集卡,超视距摄像机1通过图像采集卡与计算机3连接;
所述视频处理模块包括计算机及安装在计算机3内的视频处理软件;
所述信息管理模块用于记录牧群的位置、数量、视频,并对牧群数量、位置等信息进行判断及预警。
所述超视距摄像机1固定安装于牧场2周围的平台上,同时向牧场2内拍摄,所安装的超视距摄像机1的数量及方位以能拼接出完整的指定牧场2图像为准。多台超视距摄像机1实时拍摄的视频经图像采集卡转为数字信号后供计算机3中的图像处理系统进行处理、记录。
下面以某羊群在牧场放牧为具体实施例介绍本发明的工作方式和效果:
步骤1:自动调节视频清晰度。某时刻拍摄羊群原图像如图3左图所示,按式(1)对其进行梯度特征值统计:
式中,I(i,j)为图像在点(i,j)处的灰度值,E为梯度特征值,E值越大,图像越清晰。设定阈值K1=5×107,实际统计的梯度特征值为E=3.87×107小于设定的K1,超视距摄像机1自动调焦、拍摄并不断重复计算图像统计梯度特征值,当E>5×107时停止(此时实际统计梯度特征值E=5.56×107),对应调整后拍摄的图3所右图所示,已足够清晰。同一时刻,同样用另一超视距摄像机1从其他角度拍摄并调节直至满足清晰度条件的图像,转入下一步;
步骤2:牧场图像自动拼接:设置K2=3000,按式2计算待拼接图像中相对应的特征点:
式(2)中,H(x,y)表示为特征点的曲率,如图4所示,所计算的实际H(x,y)=3856,满足H(x,y)>K2的条件,直观的特征点结果如图4中的各类彩色空心圆点所示,再计算其中每一个特征点邻域9×9区域内共80个其他像素点的梯度方向作为特征点的描述信息,此时,若待拼接图像中某个特征点的描述信息与另一待拼接图像中某个特征点的描述信息相似,则认为这两个特征点为相对应特征点(结果如图4,两幅待拼接图像中同颜色的空心圆点即为对应特征点),然后通过图像校正使相对应特征点在各自图像中横坐标相同,之后即可通过图像平移的方式进行拼接。此后把拼接结果图片当作一幅待拼接图片,与其它超视距摄像机1在同一时刻拍摄的清晰图像进行拼接,直至获得完整牧场3图像后,转入下一步;
步骤3:羊群计数:对于本实施例,在放牧前预先拍摄单只羊的图像作为模板,计算其色调概率密度直方图;然后通过此概率密度直方图反投影出所拍摄牧场图像中所有的羊群区域;最后再根据分水岭算法分割羊群区域中每一只羊的轮廓,通过计算轮廓的个数以确定羊的数量,图5所示为本实施例的计数过程和效果,可以看出,通过单只羊的色调概率密度直方图模板可以较好的反投影出整个牧场2中的羊群,此后,即可用基本的分水岭算法求得整个羊群的轮廓。
为了防止相互遮挡(致部分轮廓重叠)的牧群个体所形成的轮廓对最终计数结果造成影响,制定如下计数方案:
1)图像处理系统将对每个轮廓求最大外接矩形,当某个轮廓的最大外接矩形的图像长度大于设定阈值R1(本发明中设置R1=150/φ,其中φ为与当前摄像机拍摄时所使用的分辨率相关的调节系数,具体取值规则见后文)时,则将其图像长度与系统设定的一系列阈值R1,R2,…,Rn(本发明中设置Rk+1=2×Rk,k=1,2,…,n-1)相比较,若图像长度大于设定阈值Rk但小于Rk+1时,则牧群的计数值加k;
2)当某个轮廓的最大外接矩形的图像长度计数完成时,则对其图像宽度进行计数,计数过程与图像长度计数相同(本发明中设置宽度阈值P1=90/φ);
3)由于被计数牧群个体距离相机远近不同,故其所形成轮廓大小也不一致。为了排除这种大小不一致对初始设定阈值R1与P1的影响,图像处理系统将计算轮廓最大外接矩形中心点的像素坐标,当拍摄图像的分辨率为W×H时,若此时所 计数轮廓中心点像素坐标的纵坐标处于[0.75H,H]时,则φ=1,若其纵坐标处于[0.45H,0.75H]时,则φ=3,若其纵坐标处于[0.2H,0.45H]时,则φ=5,若其纵坐标处于[0,0.2H]时,则φ=10。
通过以上步骤对图5中已得到的其中一个轮廓进行计数(轮廓图中方框区域)。由于当前所拍摄图像分辨率为1024×682,所计数轮廓的最大外接矩形中心点的像素纵坐标为524∈[0.75H,H],故φ=1,R1=150,此时计算最大外接矩形的轮廓长度为182∈[R2,R3],轮廓宽度为110∈[P1,P2],故此轮廓计数为2。
对所有得到的牧群轮廓进行上述累加、计数过程,即可确定牧群的数量。
步骤4:基于超视距视频的羊群实时定位:通过步骤2和步骤3可获得两幅待拼接图像中只存在于羊群区域的相对应特征点,计算这些相对应特征点的视差值,并通过已知的摄像机内部参数,即可根据式3中摄像机双目标定算法得到羊群的实际世界坐标:
式(3)中,(X,Y,Z)为羊群区域中某只羊的实际坐标,L为当前拼接的两台架设摄像机之间的距离,(u0,v0)为主摄像机(设置两台架设摄像机中其中一台的相机坐标系为世界坐标系,则此摄像机为主摄像机)图像平面中心像素点的坐标,d为相对应特征点的视差值,即图6中x1、x2两个像素点图像横坐标的差值,k为摄像机像元的大小,f为摄像机当前时刻焦距,(u,v)为羊群在主摄像机图像平面中的像素坐标。通过式(3)计算羊群区域中每只羊的实际世界坐标,即可确定羊群的位置区间。
如图6所示为羊群中某个个体的定位效果图,其中,两台摄像机所拍摄图像的分辨率为(1024,546),主摄像机图像平面中心点坐标(u0,v0)=(512,273),像元大小k=0.1mm,焦距f=200mm,主摄像机中待定位羊群个体的图像坐标x1=(582,36), 从摄像机中待定位羊群个体的图像坐标x2=(380,36),则可知视差值d=202,又摄像机间的距离L=15m,故由式3可知在以主摄像机坐标系为世界坐标系时,待定位羊群个体的世界坐标为(X,Y,Z)=(5.2,-17.5,148.5)m,超视距红外摄像机的放大倍数为30,故实际羊群个体的世界坐标为(X,Y,Z)=(5.2,-17.5,4455.3)m。
本实施例中,所述信息管理模可实现以下功能:
1、保存羊群数量及位置信息:当视频处理模块实现对羊群的计数与定位后,信息管理模块将对当前时刻羊群的数量及位置信息进行记录,并保存相关视频;
2、羊群状态的预警:通过羊群的计数与定位信息判断羊群是否将要运动至摄像机监控范围外的危险区域或者羊群数量是否大幅度减少,若出现上述两种情况,将通过计算机对牧主进行警告,否则执行步骤3;
本发明提出并实现了一种基于超视距视频技术的智能放牧监控系统,首先通过信息管理模块控制超视距摄像机对牧场进行拍摄,并通过梯度特征值判断所拍摄视频是否清晰,若不清晰,则图像处理系统将调整超视距摄像机的焦距以进行重新拍摄;当所拍摄视频为清晰视频时,图像处理系统将拼接所有架设摄像机拍摄的图像以还原整个牧场图像,并通过模板反投影法及双目标定法分别对牧场中的牧群进行计数和定位;最后信息管理模块将记录此时刻牧群的计数和定位信息、保存相关视频,并判断是否需要对牧主进行预警。在间隔一定时间后,信息管理模块将再次控制超视距摄像机对牧场进行拍摄。
进一步的,对于步骤4中基于超视距视频的羊群实时定位作进一步的说明:
例如:若假设图像拼接时摄像机1的图像与摄像机2的图像先拼接,再将拼接结果与摄像机3的图像拼接……,依此类推直至拼接出完整牧场图像;另外,在摄像机安装好后,事先通过人工已测出式(3)中必要的固定参数并代入式(3)实时计算出摄像机2的坐标系在摄像机1坐标系中的坐标,即获得了任意时刻摄像机2的坐标向摄像机1坐标的转换关系T1,同理类推,已知第n+1个摄像机坐标向第n个摄像机坐标的转换关系Tn,则可将摄像机1的空间坐标系视为绝对坐标系,则所定位的某只动物在摄像机1中的坐标Pij为:
其中j表示第j只动物,Qij表示第j只动物在第i个摄像机本身坐标系中的坐标。据此,可获得牧场中所有动物相对于摄像机1的坐标,即定位最终结果全部以摄像机1的位置为参考给出。
通过上述的说明内容,本领域技术人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改都在本发明的保护范围之内。本发明的未尽事宜,属于本领域技术人员的公知常识。