YOLO_V2教程

自我感觉YOLO_v2检测效果还是可以的,目前的用于检测的yolo,ssd都是还不错的,我将yolo_v2尝试了一下,下面我就说说用法。
yolo_v2下载地址:https://github.com/pjreddie/darknet
https://pjreddie.com/darknet/yolo/官网地址,里面有安装的方法以及步骤可以借鉴
https://pjreddie.com/darknet/install/#cuda必要软件安装的地址
https://pjreddie.com/darknet/imagenet/#reference数据集的地址
下载安装包进行编译

git clone https://github.com/pjreddie/darknet.git
cd darknet
make

编译到make就可以啦
还需要对openc以及gpu的调用的话,需要对makefile文件进行修改:

#######原始#########
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0
#######修改后#########
GPU=1
CUDNN=0
OPENCV=1
OPENMP=0
DEBUG=0

yolo_v2训练好的模型下载:

wget https://pjreddie.com/media/files/yolo.weights

测试一张狗的图片

./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
./darknet detector test cfg/coco.data cfg/yolo.cfg yolo.weights data/dog.jpg

Tiny YOLO

wget https://pjreddie.com/media/files/tiny-yolo-voc.weights
./darknet detector test cfg/voc.data cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights data/

实时视频检测以及视频检测
实时视频检测

./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights

视屏检测

./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights <video file>

换成自己要检测视频的路径
对于yolo没有提供保存视频的函数,对视频不好保存,因而想了一个办法就是一帧一帧的保存,保存方法

./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights /home/ccf/CCF/math_model_2017/D/2017_FuJian/download_video/4p-c3.avi -prefix /home/ccf/CCF/math_model_2017/D/2017_FuJian/test_5/4p_c3_result_person/

这篇博客说可以直接保存,但是我没有弄出来,还望有人搞出来,留个言,博客网址:http://blog.csdn.net/hrsstudy/article/details/60876451
对于利用yolo训练好的模型只检测人的方法:
修改源代码:
cfg/coco.data

classes= 1     #修改成1
train  = /home/pjreddie/data/coco/trainvalno5k.txt
valid  = coco_testdev
#valid = data/coco_val_5k.list
names = data/coco.names
backup = /home/pjreddie/backup/
eval=coco

examples/detector.c

void run_detector(int argc, char **argv)//该函数中,倒数第三行.line=542
int classes = option_find_int(options, "classes", 1);//最后一个参数修改成1

void test_detector(char *datacfg, char *cfgfile, char *weightfile, char *filename, float thresh)函数中
draw_detections(im, l.w*l.h*l.n, thresh, boxes, probs, names, alphabet, 1); //最后一个参数修改成1。line=481

重新编译和测试

make clean
make

对将视频变成单张后,可以将图片组合成demo,组合方式如下(matlab代码):

clear
clc

file_name = '/home/ccf/CCF/math_model_2017/D/2017_FuJian/download_video/6p-c0.avi';        
obj = VideoReader(file_name);     

numFrames = obj.NumberOfFrames;  
for k = 1: numFrames
    frame = read(obj,k);
    %imshow(frame);                
%     gray_frame = rgb2gray(frame);
%     imshow(frame);               
    imwrite(frame,strcat('/home/ccf/CCF/math_model_2017/D/2017_FuJian/test_5/6p_c0/',num2str(k),'.jpg'),'jpg');
end

对于如何训练自己数据我还没有不过大家可以参考这篇博客:
http://lib.csdn.net/article/deeplearning/57863?knId=1726

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值