YOLO, short for You Only Look Once, is a real-time object recognition algorithm proposed in paper You Only Look Once: Unified, Real-Time Object Detection , by Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi.
The open-source code, called darknet, is a neural network framework written in C and CUDA. The original github depository is here.
yolo基本原理
- 端到端,输入图像,一次性输出每个栅格预测的一种或多种物体
- 坐标x,y代表了预测的bounding box的中心与栅格边界的相对值。
$$ confidence= Pr(Object)*IOU_{truth}^{pred} $$ - 每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。
voc数据集制作
- 下载VOC2007数据集,把所有文件夹里面的东西删除,保留所有文件夹的名字。
- 把你所有的图片都复制到JPEGImages里面,使用lableImg工具进行数据集标注。
- 生成Annotations下的文件已标注边界框的图片数据集
- 生成ImageSets/Main/4个文件。在VOC2007下建个文件test.py,然后运行
准备训练
- 预训练模型,用于迁移学习中的微调,可选YOLO v3已训练完成的COCO模型权重,即:
测试训练效果
本博客支持$$ \LaTeX $$ 排版格式。
参考:
- 目标检测之VOC2007格式数据集制作https://blog.csdn.net/gulingfengze/article/details/79639111
- Keras/Tensorflow+python+yolo3训练自己的数据集 https://blog.csdn.net/Patrick_Lxc/article/details/80615433
- YOLOv3: 训练自己的数据(绝对经典版本1)https://blog.csdn.net/maweifei/article/details/81137563
- YOLO V3可视化训练过程中的参数,绘制loss、IOU、avg Recall等的曲线图 https://blog.csdn.net/qq_34806812/article/details/81459982
- yolo v3批量检测和保存数据https://blog.csdn.net/mieleizhi0522/article/details/79989754
- yolo v3批量检测 返回数据https://blog.csdn.net/cgt19910923/article/details/80528559
- 基于jetson tx2的深度模型部署https://jkjung-avt.github.io/yolov3/