Title

研究目标识别领域相关知识+github代码研读(10.11~10.18)

这周任务(到下周三汇报):

会发给我资料,需要整理下面内容:

1、研究什么样的问题?

(1)目标检测/识别问题:

在目标检测任务中,一张图像里往往不只一个感兴趣的物体对象,目标不仅仅是识别图像中所有感兴趣的物体(找出所有感兴趣的物体),还要找出它们在图像中所在的具体位置(通过方框来表示)

目标检测的应用:

无人驾驶:通过识别拍摄到的视频图像中的车辆、行人、道路和障碍物的位置来规划行进路线

无人售后:通过目标检测识别客户选购的物品

机器人:通常通过目标检测来检测感兴趣的目标

安防领域:使用目标检测来检测异常目标,比如歹徒或者炸弹

位置通常用边缘框表示

 

边缘框(真实位置):(左上x,左上y,右下x,右下y)或(中间x,中间y,宽,高) 

通常来说目标识别的数据集要比图片分类要小很多,因为标注的成本很高  

目标检测数据集:

  每行表示一个物体:

    图片文件名,物体类别,边缘框

    COCO(cocodataset.org):80个物体,330K图片,1.5M物体

plt.Rectangle

 

锚框(预测位置):

一类目标检测算法是基于锚框

步骤

(1)提出多个被称为锚框的区域

(2)预测每个锚框里是否含有关注的物体

(3)如果是,预测从这个锚框到真实边缘框的偏移

计算两个框之间的相似度:

交并比

每个锚框是一个训练样本,将每个锚框,要么标注成背景,要么关联上一个真实边缘框

我们可能会产生大量的锚框,这导致大量的父类样本

 

2、通过什么方面技术解决的?

使用了BoxMOT框架:(一种可插式的STOA多目标跟踪框架)

SOTA = state of art 最先进的,最高水平的、顶级的

(1)跟踪器:otsort, deepocsort, ocsort, hybridsort, bytetrack, strongsort

sort :Simple Online and Realtime Tracking

(2)目标检测器:Yolov8、Yolo-NAS、YOLOX

(3)ReID模型提取特征,行为分析

ReID  = Re-identification(重识别),其定义是利用算法,在图像库中找到要搜索的目标的技术,比如行人重识别,就是检测出行人,是属于图像检索的一个子问题。

CLIP = Contrastive Language-Image Pre-training,一种基于对比文本-图像进行预训练的模型。

CLIP的训练数据是文本-图像对(一张图像和它对应的文本描述),希望通过对比学习,模型能够学习到文本-图像对的匹配关系。

所以CLIP-ReID就是通过CLIP,一种基于对比文本-图像对进行预训练的模型,来实现在图像库中找到要搜索的目标。

 

为什么使用它?

(1)该框架支持主流的目标检测模型,例如:Yolov8、Yolo-NAS、YOLOX

(2)该框架支持大多数的跟踪方法(跟踪器):BoTSORT, DeepOCSORT, OCSORT, HybridSORT, ByteTrack, StrongSORT

总结:

BoxMOT可以看作一个软件封装器,将多种目标检测模型与不同的目标跟踪器组合,实现多目标跟踪

 

3、解决到什么程度了?(评价指标、展现出的效果)

评价指标:

(1)MOTA↑:Multi-Object Tracking Accuracy(表示多目标跟踪准确率,包括漏检、误检和跟踪错误等多个方面)

(2)IDF1↑:IDF1 Score(IDF1得分,表示正确识别的检测与平均真实数和计算检测数之比)

(3)HOTA↑:Higher Order Tracking Accuracy (针对MOTA有些情况下不足以衡量出多目标跟踪的性能的情况提出的,更好地对齐评价得分和人视觉上的观感

在公开数据集MOT17

 

后面根据这些内容,去针对性地学相关机器学习知识,读论文,做东西

 

给了个github,关于BoxMOT的

https://github.com/mikel-brostrom/yolo_tracking

介绍:

这个仓库里含有一系列可插入式的,先进的,应用在目标识别上的多目标跟踪器。

我们提供了例子关于如何将这个包和流行的目标识别模型(,比如Yolov8,Yolo-NAS,YOLOX)一起使用。

 

代码研读:

from IPython.display import Image, clear_output
display中的Image(path)作用是从路径中获取图片,display(Image('bird_small.png'))
display中的cleae_output()作用是清屏,
import torch
 
 
fmpeg -ss 00:00:00 -i test.avi -t 00:00:01 -vf fps=30 out.avi

-i指定的文件被认为是输入文件,所有没有用-i指定的是输出文件

-t后面跟的时间是需要裁剪的时间

-ss是开始时间

-vf是过滤器,设定每秒帧数30

 30分钟带你入门,20个 FFmpeg操作命令,包你学会 - 知乎 (zhihu.com)

posted @ 2023-10-12 22:34  长大想当太空人  阅读(376)  评论(0)    收藏  举报