蜜蜂运动轨迹的无标识图像检测方法及系统的制作方法

文档序号:6368424阅读:201来源:国知局
专利名称:蜜蜂运动轨迹的无标识图像检测方法及系统的制作方法
技术领域
本发明涉及图像检测技术领域,特别涉及一种蜜蜂运动轨迹的无标识图像检测方法及系统。
背景技术
社会性昆虫在自然界有很重要的生物学意义。近年来,对于社会性昆虫的组织及通信行为等方面的研究已获得了高度的关注。蜜蜂的摇摆舞这一行为是作为社会性昆虫行为研究不可或缺的一部分,对其分析与解密是十分必要的,这就需要对蜜蜂的舞蹈行为特点有一定的了解。通常,需要进行实验观察来对蜜蜂的行为进行研究,以得到蜜蜂行为的特点。在实验过程中,为了得到用于分析蜜蜂行为特点的数据,研究人员需要对蜜蜂的运动进行手动标记,这一环节往往需要投入大量的人力物力,具有工作量大、效率低、可靠性差、精度低等缺点,由于蜜蜂是群居生活,行为高度灵活,无标记跟踪检测一直是未能解决的难题。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何实现对蜜蜂运动轨迹的无标识跟踪检测,降低检测的工作量,并提高效率值、可靠性及精度。(二)技术方案为解决上述技术问题,本发明提供了一种蜜蜂运动轨迹的无标识图像检测方法,所述方法包括以下步骤S1:获取初始帧图像,并在所述初始帧图像上确定待检测蜜蜂的头部点和尾部占.S2:寻找距离所述头部点最近、亮度值最大、且位于所述头部点和尾部点之间的像素点,将寻找到的像素点设为所述待检测蜜蜂在所述初始帧图像中的目标点;S3:获取当前帧图像,设所述当前帧图像的前一帧图像为参考帧图像,选择以所述参考巾贞图像上的目标点的位置为中心、且以N个像素点为边长的正方形作为检测窗口,在所述参考帧图像上选择所述检测窗口内的部分为模板,在所述当前帧图像上选择所述检测窗口内的部分为子图,所述当前帧图像为非初始帧图像,所述N为大于I的奇整数;S4 :计算所述模板和子图之间的匹配差异参数;S5 :移动所述检测窗口的中心,在所述当前帧图像上选择移动后的检测窗口内的部分作为子图,返回执行步骤S4,直至选择出匹配差异参数最小的子图;S6:以所述匹配差异参数最小的子图的中心位置作为准目标点,将所述准目标点对应的匹配差异参数和预设的匹配差异参数阈值进行比较,若小于所述预设的匹配差异参数阈值,则将所述准目标点作为所述待检测蜜蜂在所述当前帧图像中的目标点,执行步骤S8,否则执行步骤S7 ;
S7:在所述准目标点周围查找亮度值最大的像素点作为所述待检测蜜蜂在所述当前帧图像中的目标点;S8:判断所述当前帧图像是否为最后一帧图像,若是,则将所述待检测蜜蜂在所述当前帧图像中的目标点和所述当前帧之前的图像中的目标点作为所述待检测蜜蜂的运动轨迹,并结束所述方法,否则返回步骤S3。优选地,所述亮度值的计算公式为E = 2 X R-B其中,R为像素的红色分量,B为像素的蓝色分量,E为像素的亮度值。优选地,步骤S4具体包括以下步骤S41 :绕所述中心的顺时针或逆时针方向依次读取所述模板内像素的红色分量和蓝色分量,并分别保存至数组R[i]和B[i]中,其`中,i为索引号,所述索引号为存入数据内的序号、且初始值为O;S42 :查询所述模板中最外层像素的红色分量最大的像素点Wmax,将所述像素点Wfflax对应的红色分量Rmax及所述红色分量Rmax的索引号之后的值按原顺序依次保存至数组SR[i]中,再将所述红色分量Rmax的索引号之前的值按原顺序依次保存至数据SR[i]中,将所述像素点Wmax对应的蓝色分量Bmax及所述蓝色分量Bmax的索引号之后的值按原顺序依次保存至数组SB[i]中,再将所述蓝色分量Bmax的索引号之前的值按原顺序依次保存至数组SR[i]中;S43:绕所述中心的顺时针或逆时针方向依次读取所述子图内像素的红色分量和蓝色分量,并分别保存至数组R’ [i]和B’ [i]中,其中,i为索引号;S44 :查询所述子图中最外层像素的红色分量最大的像素点Ψ _,将所述像素点w, _对应的红色分量R' _及所述红色分量R' _的索引号之后的值按原顺序依次保存至数组SR’ [i]中,再将所述红色分量R' _的索引号之前的值按原顺序依次保存至数据SR’ [i]中,将所述像素点W, _对应的蓝色分量B, _及所述蓝色分量B, _的索引号之后的值按原顺序依次保存至数组SB’ [i]中,再将所述蓝色分量B' _的索引号之前的值按原顺序依次保存至数组SB’ [i]中;S45 :根据以下公式计算子图和模板之间的匹配差异参数,
权利要求
1.一种蜜蜂运动轨迹的无标识图像检测方法,其特征在于,所述方法包括以下步骤 S1:获取初始帧图像,并在所述初始帧图像上确定待检测蜜蜂的头部点和尾部点; S2 :寻找距离所述头部点最近、亮度值最大、且位于所述头部点和尾部点之间的像素点,将寻找到的像素点设为所述待检测蜜蜂在所述初始帧图像中的目标点; S3:获取当前帧图像,设所述当前帧图像的前一帧图像为参考帧图像,选择以所述参考帧图像上的目标点的位置为中心、且以N个像素点为边长的正方形作为检测窗口,在所述参考帧图像上选择所述检测窗口内的部分为模板,在所述当前帧图像上选择所述检测窗口内的部分为子图,所述当前帧图像为非初始帧图像,所述N为大于I的奇整数; S4 :计算所述模板和子图之间的匹配差异参数; S5:移动所述检测窗口的中心,在所述当前帧图像上选择移动后的检测窗口内的部分作为子图,返回执行步骤S4,直至选择出匹配差异参数最小的子图; 56:以所述匹配差异参数最小的子图的中心位置作为准目标点,将所述准目标点对应的匹配差异参数和预设的匹配差异参数阈值进行比较,若小于所述预设的匹配差异参数阈值,则将所述准目标点作为所述待检测蜜蜂在所述当前帧图像中的目标点,执行步骤S8,否则执行步骤S7 ; 57:在所述准目标点周围查找亮度值最大的像素点作为所述待检测蜜蜂在所述当前帧图像中的目标点; 58:判断所述当前帧图像是否为最后一帧图像,若是,则将所述待检测蜜蜂在所述当前帧图像中的目标点和所述当前帧之前的图像中的目标点作为所述待检测蜜蜂的运动轨迹,并结束所述方法,否则返回步骤S3。
2.如权利要求1所述的方法,其特征在于,所述亮度值的计算公式为E = 2 X R-B 其中,R为像素的红色分量,B为像素的蓝色分量,E为像素的亮度值。
3.如权利要求1所述的方法,其特征在于,步骤S4具体包括以下步骤 541:绕所述中心的顺时针或逆时针方向依次读取所述模板内像素的红色分量和蓝色分量,并分别保存至数组R[i]和B[i]中,其中,i为索引号,所述索引号为存入数据内的序号、且初始值为O ; 542:查询所述模板中最外层像素的红色分量最大的像素点Wmax,将所述像素点Wmax对应的红色分量Rmax及所述红色分量Rmax的索引号之后的值按原顺序依次保存至数组SR[i]中,再将所述红色分量Rmax的索引号之前的值按原顺序依次保存至数据SR[i]中,将所述像素点Wmax对应的蓝色分量Bmax及所述蓝色分量Bmax的索引号之后的值按原顺序依次保存至数组SB[i]中,再将所述蓝色分量Bmax的索引号之前的值按原顺序依次保存至数组SR[i]中; 543:绕所述中心的顺时针或逆时针方向依次读取所述子图内像素的红色分量和蓝色分量,并分别保存至数组R’ [i]和B’ [i]中,其中,i为索引号; S44:查询所述子图中最外层像素的红色分量最大的像素点W' _,将所述像素点W, _对应的红色分量R' _及所述红色分量R' _的索引号之后的值按原顺序依次保存至数组SR’ [i]中,再将所述红色分量R' _的索引号之前的值按原顺序依次保存至数据SR’ [i]中,将所述像素点W, _对应的蓝色分量B, _及所述蓝色分量B, _的索引号之后的值按原顺序依次保存至数组SB’ [i]中,再将所述蓝色分量B' _的索引号之前的值按原顺序依次保存至数组SB’ [i]中; S45 :根据以下公式计算子图和模板之间的匹配差异参数, D=另卿]-SRVi+另卿]-紐m| /=O -ο 其中,D为匹配差异参数。
4.如权利要求3所述的方法,其特征在于,步骤S5包括以下步骤 S51 :将所述检测窗口的当前中心点四周的八个像素分别作为所述检测窗口的中心,在所述当前帧图像上分别选择对应的检测窗口内的部分作为子图,返回执行步骤S43 ; S52:将所述当前中心点对应的匹配差异参数及所述当前中心点四周的八个像素各自对应的匹配差异参数进行比较,若所述当前中心点对应的匹配差异参数最小,则执行步骤S6,否则执行步骤S53 ; S53:将所述当前中心点四周的八个像素中匹配差异参数最小的像素作为当前中心点,返回步骤S51。
5.如权利要求1所述的方法,其特征在于,步骤S6中,通过以下公式将所述准目标点对应的匹配差异参数和预设的匹配差异参数阈值进行比较, Dmin < Μ*Ν2 其中,Μ*Ν2为预设的匹配差异参数阈值,Dmin为所述准目标点对应的匹配差异参数,M为大于O的实数。
6.如权利要求1所述的方法,其特征在于,设所述待检测蜜蜂的头部点和尾部点之间的像素数为所述待检测蜜蜂的长度dis ; 步骤S7具体包括以下步骤 571:在所述当前帧图像上以所述准目标点为中心向四周的像素点进行逐层扫描; 572:在扫描当前层的像素点时,对所述当前层的像素点进行比较,以获得所述当前层的像素点中亮度值最大的像素点Cniax ; 573:若所述像素点Cmax的亮度值大于预设的亮度阈值,则将所述像素点Cmax作为所述待检测蜜蜂在所述当前帧图像中的目标点,执行步骤S8,否则继续扫描下一层,并返回步骤S72,直至扫描完第dis/2层后,执行步骤S74,所述dis/2的取值通过向下取整; 574:比较获得经过扫描的各层像素点中亮度值最大的像素点Fmax,若所述像素点Fmax位于预设层数内,则将所述像素点Fmax作为所述待检测蜜蜂在所述当前帧图像中的目标点,并执行步骤S8,否则将所述像素点Fmax作为当前核心点,执行步骤S75 ; 575:将所述当前核心点及四周的八个像素各自对应的亮度值进行比较,若所述当前核心点的亮度值最大,则将所述当前核心点作为所述待检测蜜蜂在所述当前帧图像中的目标点,执行步骤S8,否则将所述当前核心点四周的八个像素中亮度值最大的像素作为当前核心点,重复执行步骤S75。
7.如权利要求1所述的方法,其特征在于,步骤S8在结束所述方法之前还包括以下步骤 S81:将所述待检测蜜蜂的运动轨迹上的运动轨迹点的X和y坐标分别存入数组X[]和YG中,将所述运动轨迹点与运动起始点X和y坐标差的绝对值依次存入数组Dx[]和DY[]中; 582:分别获取所述数组Dx[]和DY[]中的波峰和波谷; 583:对所述波峰和波谷组成的区间进行分类,以获得所述区间的方向和摇摆特征参数,将各个相同方向的区间的摇摆特征参数分别进行求和,找出求和值中最大的方向,并将所述求和值最大的方向对应的区间作为摇摆区间,判断所述摇摆区间的摇摆特征参数是否大于预设的摇摆特征参数阈值,若是,则将所述摇摆区间作为有效摇摆区间,否则将所述摇摆区间作为无效摇摆区间,直至将所有摇摆区间均判断完毕,若所述摇摆区间的摇摆特征参数均未大于预设的摇摆特征参数阈值,则视为所述待检测蜜蜂未进行摇摆舞,结束所述方法,否则执行步骤S84; S84:通过所述有效摇摆区间计算所述待检测蜜蜂的摇摆舞时间和摇摆角度。
8.如权利要求7所述的方法,其特征在于,步骤S82中获取所述数组Dx[]中的波峰和波谷,具体包括以下步骤 58201:设所述数组Dx 口中的变量It, t、Ib、b的初值均为O ; 58202:对所述数组Dx[]中前一波谷之后的数据进行扫描,判断当前运动轨迹点是否满足以下公式,Dx [k] > Dx[k-1], 则执行步骤S8203,否则执行步骤S8204,其中,k为所述当前运动轨迹点的序号,Ib^k<M-1,Ib为前一波谷点序号,M为所述数组Dx[]的所存储的数据个数; 58203:若Dx[k] > t,则将k赋值给It,将Dx[k]赋值给t,并返回步骤S8202进行继续扫描; 58204:若t-Dx[k] > T1且t-b > T2,则将It作为波峰点序号,t为波峰值,其中,T1和T2分别为第一阈值和第二阈值; 58205:对所述数组Dx[]中前一波峰之后的数据进行扫描,判断当前运动轨迹点是否满足以下公式,Dx [k] < Dx[k-1], 则执行步骤S8206,否则执行步骤S8207,其中,It彡k < M_l,It为前一波峰点序号,M为所述数组Dx[]的所存储的数据个数; 58206:若Dx[k] <比则将1^赋值给113,将0)(旧赋值给b,并返回步骤S8205进行继续扫描; 58207:若Dx[k]-b > T1且t-b > T2,则将Ib作为波谷点序号,b为波谷值,并返回步骤S8202,直至所述数组Dx[]中所有的数据均被扫描过; 步骤S82中获取所述数组DY[]中的波峰和波谷,具体包括以下步骤 具体包括以下步骤 58211:设所述数组Dy []中的变量It, t、Ib、b的初值均为O ; 58212:对所述数组DY[]中前一波谷之后的数据进行扫描,判断当前运动轨迹点是否满足以下公式,Dy[k] > DY[k-l], 则执行步骤S8213,否则执行步骤S8214,其中,k为所述当前运动轨迹点的序号,Ib^k<M-1,Ib为前一波谷点序号,M为所述数组DY[]的所存储的数据个数;S8213:若DY[k] > t,则将k赋值给It,将DY[k]赋值给t,并返回步骤S8212进行继续扫描; 58214:若t-DY[k] > T1且t-b > T2,则将It作为波峰点序号,t为波峰值,其中,T1和T2分别为第一阈值和第二阈值; 58215:对所述数组DY[]中前一波峰之后的数据进行扫描,判断当前运动轨迹点是否满足以下公式,Dy[k] < DY[k-l], 则执行步骤S8216,否则执行步骤S8217,其中,It彡k < M-1, It为前一波峰点序号,M为所述数组DY[]的所存储的数据个数; 58216:若Dy[k] < b,则将k赋值给Ib,将Dy[k]赋值给b,并返回步骤S8215进行继续扫描; 58217:若DY[k]-b > T1且t-b > T2,则将Ib作为波谷点序号,b为波谷值,并返回步骤S8212,直至所述数组DY[]中所有的数据均被扫描过。
9.如权利要求7所述的方法,其特征在于,步骤S83中,对所述波峰和波谷组成的区间进行分类,以获得所述区间的方向和摇摆特征参数,具体包括以下步骤 5831:对所述数组Dx[]进行分类,设所述数组Dx[]中当前区间的左端点序号为Is,所述数组Dx[]中当前区间的右端点序号为Ie,若满足下式,X[Ie] > X[IS], 则将所述当前区间的方向作为向右,否则将所述当前区间的方向作为向左,XtIe]和X[IS]分别为所述数组X口中序号为Ie和Is对应的值; 5832:判断所述当前区间中当前运动轨迹点是否满足下列式(I)或式(2),
10.一种蜜蜂运动轨迹的无标识图像检测系统,其特征在于,所述系统包括 初始帧图像获取模块,用于获取初始帧图像,并在所述初始帧图像上确定待检测蜜蜂的头部点和尾部点; 初始帧图像目标点确定模块,用于寻找距离所述头部点最近、亮度值最大、且位于所述头部点和尾部点之间的像素点,将寻找到的像素点设为所述待检测蜜蜂在所述初始帧图像中的目标点; 当前帧图像获取模块,用于获取当前帧图像,设所述当前帧图像的前一帧图像为参考帧图像,选择以所述参考帧图像上的目标点的位置为中心、且以N个像素点为边长的正方形作为检测窗口,在所述参考帧图像上选择所述检测窗口内的部分为模板,在所述当前帧图像上选择所述检测窗口内的部分为子图,所述当前帧图像为非初始帧图像,所述N为大于I的奇整数; 计算模块,用于计算所述模板和子图 之间的匹配差异参数; 移动模块,用于移动所述检测窗口的中心,在所述当前帧图像上选择移动后的检测窗口内的部分作为子图,返回计算模块,直至选择出匹配差异参数最小的子图; 阈值比较模块,用于以所述匹配差异参数最小的子图的中心位置作为准目标点,将所述准目标点对应的匹配差异参数和预设的匹配差异参数阈值进行比较,若小于所述预设的匹配差异参数阈值,则将所述准目标点作为所述待检测蜜蜂在所述当前帧图像中的目标点,执行判断返回模块,否则执行查找模块; 查找模块,用于在所述准目标点周围查找亮度值最大的像素点作为所述待检测蜜蜂在所述当前巾贞图像中的目标点; 判断返回模块,用于判断所述当前帧图像是否为最后一帧图像,若是,则将所述待检测蜜蜂在所述当前帧图像中的目标点和所述当前帧之前的图像中的目标点作为所述待检测蜜蜂的运动轨迹,并结束所述方法,否则返回当前帧图像获取模块。
全文摘要
本发明公开了一种蜜蜂运动轨迹的无标识图像检测方法及系统,涉及图像检测技术领域。本发明通过对帧图像进行检测,逐帧确定待检测蜜蜂的目标点,完成了对蜜蜂运动轨迹的无标识跟踪检测;通过对目标运动轨迹的统计与分析,确定蜜蜂摇摆舞的摇摆区间,从而获得蜜蜂摇摆时间以及摇摆角度等信息,实现了蜜蜂摇摆舞的无标识检测,降低了检测的工作量,并提高了效率值、可靠性及精度。
文档编号G06T7/00GK103034992SQ20121015945
公开日2013年4月10日 申请日期2012年5月21日 优先权日2012年5月21日
发明者陈兵旗, 明晓嫱, 王尧, 田 浩 申请人:中国农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1