yolov3实现

网址:https://pjreddie.com/darknet/yolo/
按照该网址实现,很方便

git clone https://github.com/pjreddie/darknet
cd darknet
make
# 下载weight模型
wget https://pjreddie.com/media/files/yolov3.weights
# 下载weight模型yolov3_tiny(GPU显存小,在实现视频实时识别时,可选用)
wget https://pjreddie.com/media/files/yolov3-tiny.weights
# 然后就是简单的测试了
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg # 简写版
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg # 完整版
# 改变检测阈值
# 默认情况下,YOLO仅显示检测到的置信度为.25或更高的对象。您可以通过将-thresh <val>标志传递给yolo命令来更改此设置。
例如,要显示所有检测,您可以将阈值设置为0:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg -thresh 0

这里写图片描述
摄像头实时监控不附图啦
Real-Time Detection on a Webcam
(记得环境编译要求:cuda、opencv)

# 与上测试命令相似,无data输入而已,自动调用摄像头
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights

视频监控

# ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights 1.mov

在voc数据集上训练yolo

# 下载数据集
wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-2012.tar
tar xf VOCtrainval_06-Nov-2007.tar
tar xf VOCtest_06-Nov-2007.tar

生成label文件

wget https://pjreddie.com/media/files/voc_label.py
python voc_label.py
查看已下载好的文件
ls
2007_test.txt   VOCdevkit
2007_train.txt  voc_label.py
2007_val.txt    VOCtest_06-Nov-2007.tar
2012_train.txt  VOCtrainval_06-Nov-2007.tar
2012_val.txt    VOCtrainval_11-May-2012.tar
# 像2007_train.txt这样的文本文件列出了该年份的图像文件和图像集。Darknet需要一个文本文件,其中包含您要训练的所有图像。在这个例子中,让我们训练除了2007测试集之外的所有东西,以便我们可以测试我们的模型。
cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt

修改Pascal数据的Cfg,我们必须更改cfg / voc.data配置文件以指向您的数据:

classes= 20
train  = <path-to-voc>/train.txt
valid  = <path-to-voc>2007_test.txt
names = data/voc.names
backup = backup

如coco.data文件中的内容,上述需修改即可。

classes= 80
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

对于训练,我们使用在Imagenet上预训练的卷积权重。我们使用darknet53模型的权重。您可以在此处下载卷积图层的权重(76 MB)。(去原网页找)

 wget https://pjreddie.com/media/files/darknet53.conv.74

训练

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74

猜你喜欢

转载自blog.csdn.net/u010801994/article/details/81775437