Sort代码详解学习

SORT:一个简单,在线和实时跟踪

参考于SORT详解: 代码解读_如何利用html码转载别人的博客-CSDN博客_sort代码解析

SORT论文翻译论文翻译:sort : SIMPLE ONLINE AND REALTIME TRACKING_如何利用html码转载别人的博客-CSDN博客

SORT代码下载GitHub - abewley/sort: Simple, online, and realtime tracking of multiple objects in a video sequence.

2D MOT 2015数据集下载https://motchallenge.net/data/2D_MOT_2015/#download

Sort算法是建立在(基于检测的跟踪框架)下

Sort原文采用fast RCNN检测算法,在参考文章中作者改进后使用SSD、给予tensorflow框架。

!!!原文的代码是离线的,检测结果被用来做后面的数据处理跟踪;我们只需要得到检测结果即可,检测速度不会被SORT算入计算时间。检测和跟踪是两个阶段。

 一、目录

1、data文件夹

       里面存储 检测器对视频的检测结果。(本代码tracking by detection 两阶段分离,是对检测结果的跟踪处理。离线处理过程,不过可以通过改进代码改成在线的,可以参考deepsort。)

       有11个子文件夹,是11个场景。里面包含txt文件。红框数字帧数,表示第几帧

Sort代码详解学习_第1张图片

2、LISENCE文件

3、README.md

4、requirements.txt

里面写的是运行前的准备工作,需要安装的库

scipy                                  提供操作numpy的函数
filterpy==1.4.1                   卡尔曼滤波器
numba==0.38.1                
scikit-image==0.14.0
scikit-learn==0.19.1           机器学习库、维度压缩、特征选择等

5、sort.py核心

二、sort.py代码讲解

1、头文件

2、def linear_assignment(cost_matrix):

3、def iou_batch(bb_test, bb_gt):

4、box格式转换为[x,y,s,r]

def convert_bbox_to_z(bbox): #

5、box格式转换为[x1,y1,x2,y2]

def convert_x_to_bbox(x,score=None):

6、 卡尔曼滤波

class KalmanBoxTracker(object):

①初始边界框、初始化跟踪器

②更新

③预测

④得到状态

7、关联检测和跟踪

def associate_detections_to_trackers():

8、Sort

    

你可能感兴趣的:(学习)