yolov3实现

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

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

GPU的环境进行编译之前,修改makefile文件,如下:

# GPU=0
# CUDNN=0
# OPENCV=0
# OPENMP=0
GPU=1
CUDNN=1
OPENCV=1
OPENMP=1
DEBUG=0

下载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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值