Pedestrain

dl 

使用darknet训练:

1. Inria

  1. 创建 yolo-inria.cfg

    从cfg/yolo-voc.2.0.cfg拷贝一份,修改batch=64, subdivisions=8, classes=1, 修改最后一个卷积层为filter=30。

    cp cfg/yolo-voc.2.0.cfg cfg/yolo-inria.cfg
  2. 创建data/inria.names

    里面只有一行:person

  3. 为每个图片创建label文件,形式如下:

    每个图片对应一个label文件,一个行人对应一行,object-class全为0。文件分别放在/home/guru_ge/dataset/INRIAPerson/Train/labels目录和/home/guru_ge/dataset/INRIAPerson/Test/labels目录。

    <object-class> <x> <y> <width> <height>
  4. 创建train.txt, test.txt

    所有训练图片的路径,每行一张图片,位置在/home/guru_ge/dataset/INRIAPerson/。
    data/obj/img1.jpg
    data/obj/img2.jpg
    data/obj/img3.jpg

  5. 创建data/inria.data

    修改train.txt, test.txt位置:

    classes= 1
    train = /home/guru_ge/dataset/INRIAPerson/train.txt
    valid = /home/guru_ge/dataset/INRIAPerson/test.txt
    names = data/obj.names
    backup = backup/
  6. 下载在ImageNet上预训练的darknet19模型

    wget http://pjreddie.com/media/files/darknet19_448.conv.23
  7. 开始训练

    ./darknet detector train data/inria.data cfg/yolo-inria.cfg darknet19_448.conv.23 -gpus 0

结果

在INRIA测试集上评测结果:

./darknet detector map cfg/inria.data cfg/yolo-inria.cfg backup/yolo-inria.backup -gpus 0

class_id = 0, name = person, ap = 88.85 %
for thresh = 0.24, precision = 0.95, recall = 0.86, F1-score = 0.90
for thresh = 0.24, TP = 509, FP = 29, FN = 80, average IoU = 76.81 %

mean average precision (mAP) = 0.888518, or 88.85 %
Total Detection Time: 4.000000 Seconds

测试图片:

./darknet detector test cfg/inria.data cfg/yolo-inria.cfg backup/yolo-inria.backup -gpus 0

测试图片

跑另外一个视频:

./darknet detector demo cfg/inria.data cfg/yolo-inria.cfg backup/yolo-inria.backup MOT16-06.mp4 -gpus 0

效果:

检测结果

大小:

416 x 416

速度:

CPU FPS: 0.2
GPU FPS: 90

问题:
小目标检测不到

2. caltech

训练:

	./darknet detector train cfg/caltech.data cfg/yolo-caltech.cfg darknet19_448.conv.23 -gpus 0 -dont_show

每5帧提取一张,训练集45651张图片,测试集4406张图片。batch_size为64,迭代3万次左右开始收敛:

loss

评估:

	./darknet detector map cfg/caltech.data cfg/yolo-caltech.cfg backup_caltech/yolo-caltech_40000.weights -gpus 0

detections_count = 24968, unique_truth_count = 6465
class_id = 0, name = person, 8 ap = 22.66 %
for thresh = 0.24, precision = 0.41, recall = 0.22, F1-score = 0.29
for thresh = 0.24, TP = 1431, FP = 2053, FN = 5034, average IoU = 27.87 %

mean average precision (mAP) = 0.226584, or 22.66 %
Total Detection Time: 137.000000 Seconds

问题:

从map上看表现很差,只有22.66,这可能是因为这个数据集人太小,并且标注中还包含了一些被遮挡的目标,干扰了检测结果。

我们还测试了使用inria数据集训练的模型在caltech上的结果,表现还要更差:

detections_count = 17643, unique_truth_count = 6465
class_id = 0, name = person, 3 ap = 9.09 %
for thresh = 0.24, precision = 0.48, recall = 0.05, F1-score = 0.09
for thresh = 0.24, TP = 315, FP = 340, FN = 6150, average IoU = 35.57 %

mean average precision (mAP) = 0.090909, or 9.09 %
Total Detection Time: 46.000000 Seconds

	./darknet detector demo cfg/caltech.data cfg/yolo-caltech.cfg yolo-caltech_30000.weights

使用caltech训练结果,小目标的检测更准确了,但也存在了误检的问题,这可能是标注中还包含了一些被遮挡的行人,导致训练的模型将这些遮挡物也认为是行人,出现了误检。

检测结果

YOLO训练Pedestrain的更多相关文章

  1. YOLO训练自己的数据集的一些心得

    YOLO训练自己的数据集 YOLO-darknet训练自己的数据 [Darknet][yolo v2]训练自己数据集的一些心得----VOC格式 YOLO模型训练可视化训练过程中的中间参数 项目开源代 ...

  2. Yolo训练自定义目标检测

    Yolo训练自定义目标检测 参考darknet:https://pjreddie.com/darknet/yolo/ 1. 下载darknet 在 https://github.com/pjreddi ...

  3. yolo训练数据集

    最近了解了下yolov3的训练数据集部分,总结了以下操作步骤:(基于pytorch框架,请预先装好pytorch的相关组件) 1.下载ImageLabel软件对图片进行兴趣区域标记,每张图片对应一个x ...

  4. darknet53 yolo 下的识别训练

    [目录] 一. 安装Darknet(仅CPU下) 2 1.1在CPU下安装Darknet方式 2 1.2在GPU下安装Darknet方式 4 二. YOLO.V3训练官网数据集(VOC数据集/COCO ...

  5. 【计算机视觉】【神经网络与深度学习】YOLO v2 detection训练自己的数据2

    1. 前言 关于用yolo训练自己VOC格式数据的博文真的不少,但是当我按照他们的方法一步一步走下去的时候发现出了其他作者没有提及的问题.这里就我自己的经验讲讲如何训练自己的数据集. 2.数据集 这里 ...

  6. 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练

    上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...

  7. YOLO V4的模型训练

    1.YOLO V4模型训练的基本思路 所有机器学习涉及模型训练,一般都有训练集.验证集.测试集,因此需要准备数据集.有了数据集,再调用训练的算法,获取训练的结果.v3.v4模型训练方法相同. 2.YO ...

  8. YOLO: Real-Time Object Detection

    YOLO detection darknet框架使用 YOLO 训练自己的数据步骤,宁广涵详细步骤说明

  9. YOLOv3训练自己的数据

    1.  下载预训练权重文件 YOLOv3使用在Imagenet上预训练好的模型参数(文件名称: darknet53.conv.74,大小76MB)基础上继续训练. darknet53.conv.74下 ...

随机推荐

  1. Exception总结

    NO.1 java.lang.NullPointerException 程序遇上了空指针 NO.2 java.lang.ClassNotFoundException 指定的类不存在 NO.3 java ...

  2. 30.IK分词器配置文件讲解以及自定义词库

    主要知识点: 知道IK默认的配置文件信息 自定义词库     一.ik配置文件     ik配置文件地址:es/plugins/ik/config目录     IKAnalyzer.cfg.xml:用 ...

  3. 让TP5.0在SWOOLE上飞起来

    TP-SWOOLE 目前,TP5.1官方已经提供了think-swoole2.0,集成程度以前优雅很多,不过5.0的集成方式确实有些鸡肋.所以看了下2.0,为5.0开发了一个扩展包,可以采用compo ...

  4. python--(协程 和 I/O多路复用)

    python--(协程 和 I/O多路复用) 一.协程 1. >>>单线程下实现并发, 最大化线程的效率, 检测 IO 并自动切换,程序级别的任务切换, 之前多进程多线程都是系统级别 ...

  5. Master Nginx(6) - The Nginx HTTP Server

    Nginx's architecture The HTTP core module The server Logging Finding files Name resolution Client in ...

  6. 积木大赛 2013年NOIP全国联赛提高组

    题目描述 Description 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第i块积木的最终高度需要是hi.在搭建开 ...

  7. N天学习一个linux命令之xargs

    用途 标准输入流读取参数(空格或者换行符分隔),传递给需要执行的命令 用法 xargs [options] [command [initial-arguments]] 常用选项 --arg-file= ...

  8. sql server 学习课件 PPT

    http://www.cnblogs.com/woodytu/p/4465288.html

  9. HDU 4519

    实现简单,但不得不说是一道好题. 当员工数少于医生数时,直接输出K,因为此时N个员工同时检查,必定是最少的时间了. 当员工数大于医生数时,可以把员工的项目看成一段一段的,每个医生对其进行切割,总能得到 ...

  10. 开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据

    项目地址:http://www.freeteam.cn/ 生成栏目列表数据 提取当前管理网站下同意移动APP訪问的栏目列表,生成json数据到/site/网站文件夹/mobile/channels.h ...