CN118096838A - 一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 - Google Patents
一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 Download PDFInfo
- Publication number
- CN118096838A CN118096838A CN202410463059.8A CN202410463059A CN118096838A CN 118096838 A CN118096838 A CN 118096838A CN 202410463059 A CN202410463059 A CN 202410463059A CN 118096838 A CN118096838 A CN 118096838A
- Authority
- CN
- China
- Prior art keywords
- fish
- feature
- track
- target
- characteristic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 241000251468 Actinopterygii Species 0.000 claims abstract description 303
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 230000033001 locomotion Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 241000791868 Selene orstedii Species 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241001327273 Parachela oxygastroides Species 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,包括如下步骤:输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征;对下一帧图片进行处理,得到下一帧的真实目标特征;对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果;根据所述匹配结果对所述特征轨迹和下一帧的所述真实目标特征进行处理,得到鱼类新的特征轨迹。通过对鱼类的轨迹特征进行预测,然后将得到的预测目标特征和根据图片处理得到的真实目标特征进行匹配,当两者能够很好地匹配时,说明该真实目标特征属于该轨迹特征,这样就能实现轨迹的跟踪,通过该方法,能够准确的实现鱼群中鱼类轨迹的跟踪。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于卡尔曼滤波器的鱼类轨迹跟踪方法。
背景技术
鱼群多目标跟踪是通过机器视觉和深度学习对水域中的鱼群进行实时定位、识别和追踪的过程,可以实现鱼类行为分析、疾病诊断、鱼群计数和环境监控等功能。但面对鱼群之间存在的相互遮挡和重叠、个体之间特征相似度较高及鱼群在水域中的运动轨迹复杂等难题时,对鱼群的跟踪会出现检测精度下降、ID切换频繁和轨迹碎片化等问题。
目前已经开展了大量的多目标跟踪算法的研究,但应用场景大多集中在非鱼类目标,如多目标跟踪算法在设计时通常考虑以人类行为模式或车辆运动规律等特定场景,而这些模型不一定能够准确适应水中鱼群的复杂运动和行为。
发明内容
鉴于以上现有技术的缺陷,本发明提供一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,以解决鱼群中鱼类轨迹难以准确追踪的技术问题。
为实现上述目的及其它相关目的,本发明提供了一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,包括如下步骤:输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征;对下一帧图片进行处理,得到下一帧的真实目标特征;对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果;根据所述匹配结果对所述特征轨迹和下一帧的所述真实目标特征进行处理,得到鱼类新的特征轨迹。
于本发明一实施例中,所述特征轨迹包括第一特征轨迹,所述第一特征轨迹位于当前帧的目标特征包括鱼体以及鱼头和鱼尾中的至少一个;所述输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征的步骤包括:利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测。
于本发明一实施例中,所述第一特征轨迹包括丰富特征轨迹,所述丰富特征轨迹位于当前帧的目标特征包括鱼体、鱼头和鱼尾;所述利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测的步骤包括:输入所述丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到所述丰富特征轨迹在下一帧的预测目标特征;连接当前帧的鱼头中心和鱼尾中心得到第一直线;连接当前帧的鱼体中心和下一帧的预测目标特征中心得到第二直线;根据所述第一直线的角度和所述第二直线的角度,求解修正后的角度;计算经过当前帧的鱼体中心、且倾角为修正后的角度的直线,得到第三直线;将下一帧的预测目标特征中心投影到所述第三直线上,得到投影点,并将下一帧的预测目标特征中心修正到所述投影点位置。
于本发明一实施例中,所述第一特征轨迹包括半丰富特征轨迹,所述半丰富特征轨迹位于当前帧的目标特征包括鱼体和鱼头、或鱼体和鱼尾;所述利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测的步骤包括:输入所述半丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到所述半丰富特征轨迹在下一帧的预测目标特征;连接当前帧的鱼体中心、以及鱼头中心或鱼尾中心得到第一直线;连接当前帧的鱼体中心和下一帧的预测目标特征中心得到第二直线;根据所述第一直线的角度和所述第二直线的角度,求解修正后的角度;计算经过当前帧的鱼体中心、且倾角为修正后的角度的直线,得到第三直线;将下一帧的预测目标特征中心投影到所述第三直线上,得到投影点,并将下一帧的预测目标特征中心修正到所述投影点位置。
于本发明一实施例中,所述真实目标特征包括第一目标特征,所述第一目标特征包括鱼体以及鱼头和鱼尾中的至少一个;所述对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果的步骤包括:计算所述第一特征轨迹的下一帧预测目标特征和所述第一目标特征的特征相似度得到外观特征矩阵;使用匈牙利匹配算法对所述外观特征矩阵进行匹配得到匹配结果。
于本发明一实施例中,所述特征轨迹包括低丰富特征轨迹,所述低丰富特征轨迹位于当前帧的目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;所述输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征的步骤包括:利用正常的卡尔曼滤波器对所述低丰富特征轨迹进行预测。
于本发明一实施例中,所述真实目标特征包括低丰富目标特征,所述低丰富目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;所述对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果的步骤包括:利用正常的卡尔曼滤波器对未匹配的所述第一特征轨迹进行预测;根据未匹配的所述第一特征轨迹和所述低丰富特征轨迹的下一帧预测目标特征,得到第一特征检测框;根据未匹配的所述第一目标特征和所述低丰富目标特征,得到第二特征检测框;计算所述第一特征检测框和所述第二特征检测框的交并比得到交并比矩阵;使用匈牙利匹配算法对所述交并比矩阵进行匹配得到匹配结果。
于本发明一实施例中,所述根据所述匹配结果对所述特征轨迹和下一帧的所述真实目标特征进行处理,得到鱼类新的特征轨迹的步骤包括:对于已匹配的特征轨迹和真实目标特征,将所述真实目标特征添加到所述特征轨迹中得到新的特征轨迹;对于未匹配的第一特征轨迹,将其标记为丢失;对于未匹配的低丰富特征轨迹,若在图片边缘且运动方向与图片中心点和目标之间的向量夹角小于90°,将其标记为终止,否则标记为丢失;对于未匹配的第一目标特征,将其标记为新的特征轨迹;对于未匹配的低丰富目标特征,若小于等于设定阈值则将其标记为背景,若大于设定阈值且在图片边缘处,则将其标记为新的特征轨迹,否则标记为误检目标特征并删除。
为实现上述目的及其它相关目的,本发明还提供了一种电子设备,包括处理器、存储器和通信总线;所述通信总线用于将所述处理器和存储器连接;所述处理器用于执行所述存储器中存储的计算机程序,以实现如上述中任一项实施例提供的方法。
为实现上述目的及其它相关目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使计算机执行如上述任一项实施例提供的方法。
本发明的有益效果:本发明提出的一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,该方法通过对鱼类的轨迹特征进行预测,然后将得到的预测目标特征和根据图片处理得到的真实目标特征进行匹配,当两者能够很好地匹配时,说明该真实目标特征属于该轨迹特征,这样就能实现轨迹的跟踪,通过该方法,能够准确的实现鱼群中鱼类轨迹的跟踪。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的流程图;
图2为本发明一实施例提供的另一种流程图;
图3为本发明一实施例提供的卡尔曼滤波器预测结果修正示意图;
图4为本发明一实施例提供的鱼类真实目标特征的检测流程图;
图5为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。除实施例中使用的具体方法、设备、材料外,根据本技术领域的技术人员对现有技术的掌握及本发明的记载,还可以使用与本发明实施例中所述的方法、设备、材料相似或等同的现有技术的任何方法、设备和材料来实现本发明。
应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。除非另外定义,本发明中使用的所有技术和科学术语与本技术领域技术人员通常理解的意义相同。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其中一些实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
附图中的流程图和框图,示意了按照本发明公开的各种实施例的方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
请参见图1,本发明一实施例提供了一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,包括如下步骤:S101、输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个特征轨迹在下一帧的预测目标特征。卡尔曼滤波器是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法,其预测公式如下: ,,其中,F为状态转移矩阵,B为控制矩阵,P为状态协方差矩阵,Q为过程噪声协方差矩阵。/>表示通过卡尔曼滤波器得到的轨迹预测值,即下一帧的预测目标特征。可以理解地,预测目标特征,即预测的鱼类检测框,在跟踪任务中,/>的前4个值分别表示检测框的中心点坐标x、检测框的中心点坐标y、检测框的宽高比w/h和检测框的高h。
该鱼类轨迹跟踪方法还包括如下步骤:S102、对下一帧图片进行处理,得到下一帧的真实目标特征。真实目标特征,即对下一帧图片进行处理得到的鱼类检测框,一般可通过目标识别算法得到。S103、对预测目标特征和真实目标特征进行匹配得到匹配结果,通过对两个目标特征的匹配,也即实现了特征轨迹和真实目标特征的匹配。S104、根据匹配结果对特征轨迹和下一帧的真实目标特征进行处理,得到鱼类新的特征轨迹,对于匹配结果来说,不是所有的预测目标特征和真实目标特征都会进行匹配,例如某些鱼在下一帧已经游出图片范围之外,或者运动至被遮挡的位置,这样就会出现部分匹配、部分未匹配的情况,因此,需要做进一步的处理,以得到鱼类新的特征轨迹。
该方法通过对鱼类的轨迹特征进行预测,然后将得到的预测目标特征和根据图片处理得到的真实目标特征进行匹配,当两者能够很好地匹配时,说明该真实目标特征属于该轨迹特征,这样就能实现轨迹的跟踪,通过该方法,能够准确的实现鱼群中鱼类轨迹的跟踪。
在本发明一具体实施例中,特征轨迹包括第一特征轨迹,第一特征轨迹位于当前帧的目标特征包括鱼体以及鱼头和鱼尾中的至少一个,即对于第一特征轨迹来说,其位于当前帧的鱼类检测框中需要包括鱼体,例如可以是以下三种情况之一:(1)包括鱼体、鱼头和鱼尾;(2)包括鱼体和鱼头;(3)包括鱼体和鱼尾。输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个特征轨迹在下一帧的预测目标特征的步骤包括:利用修正的卡尔曼滤波器对第一特征轨迹进行预测。由于鱼类在水中会出现如拐弯、突然上游或突然下游等运动行为,因此卡尔曼滤波器在处理鱼类的非线性运动时预测精度会有所下降,为了避免这种情况,本实施例中引入了修正的卡尔曼滤波器,根据鱼头-鱼尾向量、或鱼体-鱼头向量、或鱼体-鱼尾向量及时的修正预测结果,使得预测结果更贴近鱼体在水中的真实运动情况。
请参见图2和图3,在本发明一具体实施例中,第一特征轨迹包括丰富特征轨迹,丰富特征轨迹位于当前帧的目标特征包括鱼体、鱼头和鱼尾,丰富特征轨迹表示这条鱼基本无遮挡,其鱼头、鱼体和鱼尾都暴露在视野中,因此进行预测和匹配都更加精准。对于丰富特征轨迹来说,利用修正的卡尔曼滤波器对第一特征轨迹进行预测的步骤包括:输入丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到丰富特征轨迹在下一帧的预测目标特征,预测目标特征即图3中的predict_center。连接当前帧的鱼头中心head_center和鱼尾中心tail_center得到第一直线;再连接当前帧的鱼体中心fish_center和下一帧的预测目标特征中心predict_center得到第二直线,第一直线、第二直线在图3中的夹角d1和d2可以用公示表示为:
,
,
上述公式中,hc[0]和hc[1]分别是鱼头中心head_center的x,y坐标,tc[0]和tc[1]分别是鱼尾中心tail_center的x,y坐标,fc[0]和fc[1]分别是鱼体中心fish_center的x,y坐标,fc’[0]和fc’[1]分别是鱼体中心预测目标特征中心predict_center的x,y坐标。
接着根据第一直线的角度d1和第二直线的角度d2,求解修正后的角度dnorm,例如可以采用如下公式计算修正后的角度:dnorm=dtresh×d1+(1-dtresh)×d2,其中dtresh为预设阈值,例如在本实施例中,将dtresh取0.5,即dnorm就是角度d1和角度d2的均值。
最后,计算经过当前帧的鱼体中心fish_center、且倾角为修正后的角度dnorm的直线,得到第三直线;再将下一帧的预测目标特征中心投影到第三直线上,得到投影点correct_center,并将下一帧的预测目标特征中心修正到投影点位置,也即,保持下一帧的预测框长宽不变,但改变其中心点坐标,由predict_center修正至correct_center。投影点correct_center的计算过程用公式表示如下:,/>,/>,/>,,/>,该式中,/>和/>就是修正后的下一帧的预测目标特征中心。
在本发明一具体实施例中,第一特征轨迹包括半丰富特征轨迹,半丰富特征轨迹位于当前帧的目标特征包括鱼体和鱼头、或鱼体和鱼尾;利用修正的卡尔曼滤波器对第一特征轨迹进行预测的步骤包括:输入半丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到半丰富特征轨迹在下一帧的预测目标特征;连接当前帧的鱼体中心、以及鱼头中心或鱼尾中心得到第一直线;连接当前帧的鱼体中心和下一帧的预测目标特征中心得到第二直线;根据第一直线的角度和第二直线的角度,求解修正后的角度;计算经过当前帧的鱼体中心、且倾角为修正后的角度的直线,得到第三直线;将下一帧的预测目标特征中心投影到第三直线上,得到投影点,并将下一帧的预测目标特征中心修正到投影点位置。该实施例中,与上个实施例基本类似,上个实施例中,当前帧的预测目标特征中同时包括了鱼头、鱼体和鱼尾,因此可以根据它们的中心坐标来进行修正。本实施例则不同,半丰富轨迹特征在当前帧的预测目标特征中,至包括鱼体和鱼头、或鱼体和鱼尾,因此不能按照上一个实施例中的方式进行计算,只需要在计算角度d1时,通过鱼体和鱼头(或鱼头和鱼尾)的中心点进行计算即可,其他步骤则是相同的。
在本发明一具体实施例中,特征轨迹还包括低丰富特征轨迹,低丰富特征轨迹位于当前帧的目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个特征轨迹在下一帧的预测目标特征的步骤包括:利用正常的卡尔曼滤波器对低丰富特征轨迹进行预测,即不适用上述修正过程对预测结果进行修正。
在本发明一具体实施例中,真实目标特征包括第一目标特征,第一目标特征包括鱼体以及鱼头和鱼尾中的至少一个;对预测目标特征和真实目标特征进行匹配得到匹配结果的步骤包括:计算第一特征轨迹的下一帧预测目标特征和第一目标特征的特征相似度得到外观特征矩阵,例如可以通过如下公式计算得到:,式中,A、B表示两个体间的外观特征向量,θ为余弦角度,余弦角度越小,表示两者之间越相似。
再使用匈牙利匹配算法对外观特征矩阵进行匹配得到匹配结果,匈牙利匹配算法是一种用于求解二分图的最大匹配问题的组合优化算法。这种算法通过寻找增广路径来求取二分图的最大匹配,是部图匹配中最常见的算法之一,它的基本流程包括:初始化、寻找增广路径、增加边和减少边四个步骤。
可以理解地,第一目标特征包括丰富目标特征和半丰富目标特征,其中,丰富目标特征包括鱼体、鱼头和鱼尾,半丰富目标特征包括鱼体和鱼头、或鱼体和鱼尾的。
在进行匹配的时候,先对丰富特征轨迹在下一帧的预测目标特征和丰富目标特征进行匹配,记录匹配结果;然后对半丰富特征轨迹在下一帧的预测目标特征和半丰富目标特征进行匹配,并且在执行这一步的匹配时,可以将上一步未匹配的丰富特征轨迹和丰富目标特征再次进行匹配,同样记录下匹配结果,其中包括部分特征匹配成功、部分特征未匹配。
在本发明一具体实施例中,真实目标特征包括低丰富目标特征,低丰富目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;对预测目标特征和真实目标特征进行匹配得到匹配结果的步骤包括:利用正常的卡尔曼滤波器对未匹配的第一特征轨迹进行预测;根据未匹配的第一特征轨迹和低丰富特征轨迹的下一帧预测目标特征,得到第一特征检测框;根据未匹配的第一目标特征和低丰富目标特征,得到第二特征检测框;计算第一特征检测框和第二特征检测框的交并比得到交并比矩阵;使用匈牙利匹配算法对交并比矩阵进行匹配得到匹配结果。该实施例中,对于上一实施例中,未匹配的第一特征轨迹,重新用正常的卡尔曼滤波器进行预测,并再次进行匹配,同时还对低丰富特征轨迹的预测目标特征和低丰富目标特征进行匹配。
在本发明一具体实施例中,根据匹配结果对特征轨迹和下一帧的真实目标特征进行处理,得到鱼类新的特征轨迹的步骤包括:对于已匹配的特征轨迹和真实目标特征,将真实目标特征添加到特征轨迹中得到新的特征轨迹;对于未匹配的第一特征轨迹,将其标记为丢失,对于丢失的特征轨迹,在后续帧中还可以继续进行匹配,只是在下一帧中目标可能被遮挡了,并且此种情况下,一般也不会出现在边缘处,边缘处的鱼类对应的一般都是低丰富特征;对于未匹配的低丰富特征轨迹,若在图片边缘且运动方向与图片中心点和目标之间的向量夹角小于90°,将其标记为终止,表示该鱼已经游出图片区域以外,该轨迹就终止了,否则标记为丢失;对于未匹配的第一目标特征,需要重新与未匹配的特征轨迹进行匹配,如果仍然匹配失败,将其标记为新的特征轨迹;对于未匹配的低丰富目标特征,首先判断阈值,若小于等于设定阈值则将其标记为背景,若大于设定阈值,则需要重新与未匹配的轨迹进行匹配,如果匹配失败但其出现的位置在图片边缘处,则将其标记为新的特征轨迹,否则标记为误检目标特征并删除。可以理解地,上述匹配失败以后,还可以重复匹配多次,以保证所有特征轨迹都能很好的匹配上真实目标特征。
本发明中的匹配策略,将特征轨迹和真实目标特征区分为丰富特征、半丰富特征和低丰富特征,并采用分级匹配策略。先匹配丰富特征,再匹配剩余的低丰富特征。优先处理丰富特征的目标,可以更准确地跟踪目标,提高了跟踪鲁棒性,有效降低计算量,并有效解决了鱼群集群行为带来的遮挡问题。采用修正的卡尔曼滤波器,可以很好地处理鱼类在水体中的非线性运动,当鱼体出现转弯、突然上下游等行为时,修正后的卡尔曼滤波器可以根据鱼头和鱼尾之间的向量关系对预测轨迹进行修正,从而提高了轨迹预测的准确性。
请参见图4,在本发明一具体实施例中,对下一帧图片进行处理,得到下一帧的真实目标特征的步骤包括:S201、利用神经网络模型分别检测图片中的鱼头、鱼体以及鱼尾,得到鱼头检测框H、鱼体检测框F以及鱼尾检测框T;S202、根据鱼头检测框H、鱼体检测框F以及鱼尾检测框T的位置和大小计算鱼头-鱼体关联矩阵HF和鱼体-鱼尾关联矩阵TF,因为鱼体和鱼头、鱼体和鱼尾都是具有区域联系的,而鱼尾和鱼头没有区域联系,因此该步骤中,建立两个关联矩阵。S203、根据鱼头-鱼体关联矩阵HF对鱼头和鱼体进行匹配,并根据鱼体-鱼尾关联矩阵TF对鱼体和鱼尾进行匹配;S204、根据鱼头和鱼体的匹配结果以及鱼体和鱼尾的匹配结果,对鱼头检测框、鱼体检测框以及鱼尾检测框进行合并,得到真是目标特征。
在本发明一具体实施例中,在鱼头-鱼体关联矩阵HF中,第i行、第j列的元素值为第i个鱼头检测框H和第j个鱼体检测框F的交并比;鱼体-鱼尾关联矩阵中TF,第j行、第k列的元素值为第j个鱼体检测框F和第k个鱼尾检测框T的交并比。具体地,以矩阵HF为例,交并比计算公式如下:IOU(H,F)=(BH∩BF)/(BH∪BF),计算得到两个矩阵后,就可以对矩阵进行匹配了,由于TF矩阵的匹配过程和HF矩阵的匹配过程相同,下文只对鱼头和鱼体的匹配过程进行说明。
在本发明一具体实施例中,遍历鱼头-鱼体关联矩阵HF的元素值;找出第一元素,第一元素不为0、且第一元素所在行和列的其他元素均为0,匹配第一元素所在行和列对应的鱼头和鱼体后,将第一元素置为0,根据第一元素进行匹配的鱼头和鱼体,为强关联,用公式表示如下:
,/>, ,/>。其中t为预设区间,在后面的优选实施例中会详细说明。
可以理解地,对于同一条鱼的鱼头和鱼体来说,通过算法分别识别得到的鱼头检测框和鱼体检测框一般都会有一定的交集,其交集的大小是根据算法相关的。假使某个算法识别的同一条鱼,鱼头和鱼体无相交区域,那么可以对鱼头检测框和鱼体检测框进行扩大,使得两者具有相交区域。并且,对于同一条鱼来说,鱼头和鱼体的交并比应该在预设区间内,如果交并比过大或过小,则说明这个鱼头和鱼体不是同一条鱼的。
上述判断步骤,主要是先判断那些无遮挡、无交集且完整的鱼,可以看到,这条鱼的鱼头与其他所有鱼的鱼体都无交集,这条鱼的鱼体和其他所有鱼的鱼头也无交集,因此这种鱼的鱼头和鱼体是强关联的,可信度非常高。
找出第一元素对强关联的鱼头和鱼体进行匹配后,再找出第二元素,第二元素不为0、且第二元素所在行或所在列的其他元素均为0,匹配第二元素所在行和列对应的鱼头和鱼体后,将已匹配的行和列的元素置为0。用公式表示如下:,,/>,。
可以理解地,上述匹配为半强关联匹配,其主要针对某一行或某一列上的非零元素。例如可以用如下话来理解:某一个鱼头只与某一个鱼体存在交并比,但是这个鱼体与多个鱼头都存在交并比,这种情况下,也可以认为这个鱼头和鱼体是同一条鱼的,并且在匹配完成后,将这些元素置为0,表示该鱼头和鱼体已匹配完成。
找出第二元素对强关联和半强关联的鱼头和鱼体进行匹配后,再遍历鱼头-鱼体关联矩阵的行/列,找出第三元素,第三元素不为0、且第三元素在预设区间内、且第三元素为其所在行/列中最接近预设值的,匹配第三元素所在行和列对应的鱼头和鱼体。该方法用公式表示如下:
,/>,/>,,其中t0即预设值。可以理解地,找第三元素时,可以逐行寻找,也可以逐列寻找,不可混合着寻找。
经过对第一元素、第二元素以及第三元素的寻找和匹配,还会余下一些未匹配的鱼头和鱼体,说明这些鱼头或鱼体属于不同的鱼,这是这些鱼因为被遮挡,只有鱼头或鱼体露出。如此,即实现了所有鱼头和鱼体的匹配,鱼体和鱼尾的匹配方式与上述步骤的思路完全一致。
在本发明一具体实施例中,找出第一元素和第二元素后,将第一元素和第二元素分别与预设区间进行比较,当第一元素和第二元素位于预设区间时,才匹配第一元素或第二元素所在行和列对应的鱼头和鱼体。虽然在对第一元素和第二元素进行匹配时,其匹配关系分别为强关联和半强关联,但为了进一步确保匹配结果的准确性,此处引入对预设区间的判断,在上面的公式中已经有所体现。
经过以上步骤的处理,会得到鱼头、鱼体、鱼尾检测框,以及他们的匹配关系,最终需要得到真实目标特征,有两种常见的合并方式:其一,将具有匹配关系的鱼头、鱼体或鱼尾检测框进行拟合,得到一个大的检测框作为鱼的检测框;其二,直接将鱼头、鱼体、鱼尾检测框的数据进行保存并作为鱼的检测数据;或者同时保存鱼的检测框以及鱼头、鱼体、鱼尾检测框。
可以理解地,步骤S201中的神经网络模型需要进行训练,才可以实现鱼头、鱼体和鱼尾的检测,神经网络模型例如可以是YOLOv7,具体步骤如下。
首先在一个长1.2米、宽0.5m、高0.7米的玻璃鱼缸内部贴上白色壁纸,目的是防止玻璃对鱼体的镜面反射作用,并在鱼缸的拐角处放置高清水下摄像头,并使摄像头具有30°的向上仰角以记录鱼群在水体的运动情况。
其次,对采集的视频以间隔1s的方式进行提帧,并通过GitHub开源项目anylabeling对提取的图片进行标注,要标注的数据有鱼体(fish)、鱼头(head)和鱼尾(tail)信息,完成标注后,将生成的JSON文件通过python转换为YOLOv7模型所需要的数据格式,并预留30%数据作为验证集,进行模型验证。
最后,设置YOLOv7模型的学习率、批量大小、优化器类型、正则化方式及损失函数,并在训练前通过预训练权重对模型热身,之后使用准备好的训练集进行训练,训练完成后,使用预留的验证集结合精度(Precision)、召回率(Recall)、F1分数(F1 Score)进行模型评估,之后选择评估最好的模型参数和权重,得到可训练好的神经网络模型。可以理解地,该神经网络模型有三个,分别用于识别鱼头、鱼体和鱼尾。
请参见图5,本发明一实施例提供了一种电子设备,包括处理器、存储器和通信总线;通信总线用于将处理器和存储器连接;处理器用于执行存储器中存储的计算机程序,以实现如上基于卡尔曼滤波器的鱼类轨迹跟踪方法。
本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序用于使计算机执行如上基于卡尔曼滤波器的鱼类轨迹跟踪方法。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,包括如下步骤:
输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征;
对下一帧图片进行处理,得到下一帧的真实目标特征;
对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果;
根据所述匹配结果对所述特征轨迹和下一帧的所述真实目标特征进行处理,得到鱼类新的特征轨迹。
2.根据权利要求1所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述特征轨迹包括第一特征轨迹,所述第一特征轨迹位于当前帧的目标特征包括鱼体以及鱼头和鱼尾中的至少一个;所述输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征的步骤包括:
利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测。
3.根据权利要求2所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述第一特征轨迹包括丰富特征轨迹,所述丰富特征轨迹位于当前帧的目标特征包括鱼体、鱼头和鱼尾;所述利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测的步骤包括:
输入所述丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到所述丰富特征轨迹在下一帧的预测目标特征;
连接当前帧的鱼头中心和鱼尾中心得到第一直线;
连接当前帧的鱼体中心和下一帧的预测目标特征中心得到第二直线;
根据所述第一直线的角度和所述第二直线的角度,求解修正后的角度;
计算经过当前帧的鱼体中心、且倾角为修正后的角度的直线,得到第三直线;
将下一帧的预测目标特征中心投影到所述第三直线上,得到投影点,并将下一帧的预测目标特征中心修正到所述投影点位置。
4.根据权利要求2所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述第一特征轨迹包括半丰富特征轨迹,所述半丰富特征轨迹位于当前帧的目标特征包括鱼体和鱼头、或鱼体和鱼尾;所述利用修正的卡尔曼滤波器对所述第一特征轨迹进行预测的步骤包括:
输入所述半丰富特征轨迹至正常的卡尔曼滤波器中进行预测,得到所述半丰富特征轨迹在下一帧的预测目标特征;
连接当前帧的鱼体中心、以及鱼头中心或鱼尾中心得到第一直线;
连接当前帧的鱼体中心和下一帧的预测目标特征中心得到第二直线;
根据所述第一直线的角度和所述第二直线的角度,求解修正后的角度;
计算经过当前帧的鱼体中心、且倾角为修正后的角度的直线,得到第三直线;
将下一帧的预测目标特征中心投影到所述第三直线上,得到投影点,并将下一帧的预测目标特征中心修正到所述投影点位置。
5.根据权利要求2所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述真实目标特征包括第一目标特征,所述第一目标特征包括鱼体以及鱼头和鱼尾中的至少一个;所述对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果的步骤包括:
计算所述第一特征轨迹的下一帧预测目标特征和所述第一目标特征的特征相似度得到外观特征矩阵;
使用匈牙利匹配算法对所述外观特征矩阵进行匹配得到匹配结果。
6.根据权利要求5所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述特征轨迹包括低丰富特征轨迹,所述低丰富特征轨迹位于当前帧的目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;所述输入鱼类的特征轨迹至卡尔曼滤波器中进行预测,得到每个所述特征轨迹在下一帧的预测目标特征的步骤包括:
利用正常的卡尔曼滤波器对所述低丰富特征轨迹进行预测。
7.根据权利要求6所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述真实目标特征包括低丰富目标特征,所述低丰富目标特征包括鱼头、或鱼尾、或鱼体、或鱼头和鱼尾;所述对所述预测目标特征和所述真实目标特征进行匹配得到匹配结果的步骤包括:
利用正常的卡尔曼滤波器对未匹配的所述第一特征轨迹进行预测;
根据未匹配的所述第一特征轨迹和所述低丰富特征轨迹的下一帧预测目标特征,得到第一特征检测框;
根据未匹配的所述第一目标特征和所述低丰富目标特征,得到第二特征检测框;
计算所述第一特征检测框和所述第二特征检测框的交并比得到交并比矩阵;
使用匈牙利匹配算法对所述交并比矩阵进行匹配得到匹配结果。
8.根据权利要求7所述的基于卡尔曼滤波器的鱼类轨迹跟踪方法,其特征在于,所述根据所述匹配结果对所述特征轨迹和下一帧的所述真实目标特征进行处理,得到鱼类新的特征轨迹的步骤包括:
对于已匹配的特征轨迹和真实目标特征,将所述真实目标特征添加到所述特征轨迹中得到新的特征轨迹;
对于未匹配的第一特征轨迹,将其标记为丢失;
对于未匹配的低丰富特征轨迹,若在图片边缘且运动方向与图片中心点和目标之间的向量夹角小于90°,将其标记为终止,否则标记为丢失;
对于未匹配的第一目标特征,将其标记为新的特征轨迹;
对于未匹配的低丰富目标特征,若小于等于设定阈值则将其标记为背景,若大于设定阈值且在图片边缘处,则将其标记为新的特征轨迹,否则标记为误检目标特征并删除。
9.一种电子设备,其特征在于,包括处理器、存储器和通信总线;所述通信总线用于将所述处理器和存储器连接;所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求6-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于使计算机执行如权利要求6-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410463059.8A CN118096838B (zh) | 2024-04-17 | 2024-04-17 | 一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410463059.8A CN118096838B (zh) | 2024-04-17 | 2024-04-17 | 一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118096838A true CN118096838A (zh) | 2024-05-28 |
CN118096838B CN118096838B (zh) | 2024-07-19 |
Family
ID=91156480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410463059.8A Active CN118096838B (zh) | 2024-04-17 | 2024-04-17 | 一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118096838B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955688A (zh) * | 2014-05-20 | 2014-07-30 | 楚雄师范学院 | 一种基于计算机视觉的斑马鱼群检测与跟踪方法 |
WO2016056301A1 (ja) * | 2014-10-10 | 2016-04-14 | Necソリューションイノベータ株式会社 | 魚計数装置、魚計数方法、魚数の予測装置、魚数の予測方法、魚計数システムおよび魚数予測システム |
CN106780542A (zh) * | 2016-12-29 | 2017-05-31 | 北京理工大学 | 一种基于嵌入卡尔曼滤波器的Camshift的机器鱼跟踪方法 |
CN110866943A (zh) * | 2019-11-21 | 2020-03-06 | 无锡中科水质环境技术有限公司 | 用于水质监测的鱼类位置跟踪方法 |
CN113160274A (zh) * | 2021-04-19 | 2021-07-23 | 桂林电子科技大学 | 一种基于YOLOv4的改进DeepSort目标检测跟踪方法 |
CN116309695A (zh) * | 2022-12-16 | 2023-06-23 | 杭州电子科技大学 | 一种用于鱼类生物识别追踪与状态判断的方法 |
-
2024
- 2024-04-17 CN CN202410463059.8A patent/CN118096838B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955688A (zh) * | 2014-05-20 | 2014-07-30 | 楚雄师范学院 | 一种基于计算机视觉的斑马鱼群检测与跟踪方法 |
WO2016056301A1 (ja) * | 2014-10-10 | 2016-04-14 | Necソリューションイノベータ株式会社 | 魚計数装置、魚計数方法、魚数の予測装置、魚数の予測方法、魚計数システムおよび魚数予測システム |
CN106780542A (zh) * | 2016-12-29 | 2017-05-31 | 北京理工大学 | 一种基于嵌入卡尔曼滤波器的Camshift的机器鱼跟踪方法 |
CN110866943A (zh) * | 2019-11-21 | 2020-03-06 | 无锡中科水质环境技术有限公司 | 用于水质监测的鱼类位置跟踪方法 |
CN113160274A (zh) * | 2021-04-19 | 2021-07-23 | 桂林电子科技大学 | 一种基于YOLOv4的改进DeepSort目标检测跟踪方法 |
CN116309695A (zh) * | 2022-12-16 | 2023-06-23 | 杭州电子科技大学 | 一种用于鱼类生物识别追踪与状态判断的方法 |
Non-Patent Citations (2)
Title |
---|
KEI TERAYAMA, ET AL.: "Multiple fish tracking with an NACA airfoil model for collective behavior analysis", IPSJ TRANSACTIONS ON COMPUTER VISION AND APPLICATIONS, 31 December 2016 (2016-12-31), pages 1 - 7 * |
李金龙;尹韶平;董春鹏;: "基于修正极坐标滤波的水下目标运动要素解算方法", 鱼雷技术, no. 02, 31 December 2010 (2010-12-31), pages 10 - 12 * |
Also Published As
Publication number | Publication date |
---|---|
CN118096838B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Christiansen et al. | Unsuperpoint: End-to-end unsupervised interest point detector and descriptor | |
US11823429B2 (en) | Method, system and device for difference automatic calibration in cross modal target detection | |
Kong et al. | Vanishing point detection for road detection | |
CN112926410A (zh) | 目标跟踪方法、装置、存储介质及智能视频系统 | |
CN112270249A (zh) | 一种融合rgb-d视觉特征的目标位姿估计方法 | |
CN107452015B (zh) | 一种具有重检测机制的目标跟踪系统 | |
CN108694724A (zh) | 一种长时间目标跟踪方法 | |
CN114677554A (zh) | 一种基于YOLOv5与Deepsort的统计滤波红外小目标检测跟踪方法 | |
CN114708300B (zh) | 一种可抗遮挡的自适应目标跟踪方法及系统 | |
CN115063454B (zh) | 多目标跟踪匹配方法、装置、终端及存储介质 | |
CN105913455A (zh) | 基于局部图像增强的目标跟踪方法 | |
CN111964680A (zh) | 一种巡检机器人的实时定位方法 | |
CN114998276A (zh) | 一种基于三维点云的机器人动态障碍物实时检测方法 | |
CN117036404A (zh) | 一种单目热成像同时定位与建图方法和系统 | |
CN118311955A (zh) | 无人机控制方法、终端、无人机及存储介质 | |
CN112417948B (zh) | 一种基于单目视觉的水下航行器精确导引入环的方法 | |
CN117636267A (zh) | 车辆目标跟踪方法、系统、装置及存储介质 | |
Zhang et al. | Target tracking for mobile robot platforms via object matching and background anti-matching | |
CN117444450A (zh) | 一种焊缝焊接方法、电子设备和存储介质 | |
CN118096838B (zh) | 一种基于卡尔曼滤波器的鱼类轨迹跟踪方法 | |
CN113744301B (zh) | 移动机器人的运动轨迹估计方法、装置和存储介质 | |
CN116128919A (zh) | 基于极线约束的多时相图像异动目标检测方法及系统 | |
CN111862158B (zh) | 一种分阶段目标跟踪方法、装置、终端及可读存储介质 | |
CN118552711B (zh) | 用于机器人导航视觉定位的图像处理方法及系统 | |
CN117726656B (zh) | 基于超分辨率图像的目标跟踪方法、装置、系统和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |