Darknet yolo 环境搭建以及训练测试自己的数据集
来源:互联网 发布:拳皇14出招优化 编辑:程序博客网 时间:2024/06/05 14:27
Darknet yolo环境搭建
Darknet是一个c语言实现的神经网络框架,它运行速度快,易安装,支持CPU和GPU两种模式。
Yolo是运行在Darknet上的一个神经网络,二者搭配一起使用。
在Ubuntu下依次输入以下命令 即可下载Darknet
git clone https://github.com/pjreddie/darknetcd darknetmake
接下来下载权重文件
wget https://pjreddie.com/media/files/yolo.weights
运行检测器
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
输出如下:
以上是检测单张图片的做法,如果想连续检测多张图片,那么可以输入命令而不指定后面的文件:
./darknet detect cfg/yolo.cfg yolo.weights
接下来会提示输入图片路径
在此处输入路径
./data/horses.jpg
此时会显示检测结果,并提示输入下一张想检测的图片的路径,如果想停止检测,可按ctrl+c退出。
默认情况下,YOLO仅显示以0.25以上的置信度检测到的对象。可以通过将该-thresh 标志传递给该yolo命令来进行更改。例如,要显示所有检测,可以将阈值设置为0:
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg -thresh 0
训练测试自己的数据集
准备数据
环境安装好了,接下来试着训练自己的数据集。
首先我们需要准备自己的数据集,使用固定格式的jpg图像,可下载freename重命名工具对文件进行重命名,在名字上最好使用像VOC一样类似000001.jpg、000002.jpg这样。
设置文件结构
按照图片上的目录结构自己建立文件夹
文件夹Annotation中主要存放xml文件;
而ImageSets我们只需要用到Main文件夹,这里面存放的是一些文本文件,通常为train.txt、test.txt等;
JPEGImages文件夹中放我们已按统一规则命名好的原始图像。
其他文件夹暂时不用管。
注:VOC文件夹可命名为voc+年份。如VOC2017。
用labelimg软件进行数据标注,然后把xml文件和原始的jpg文件拷贝到对应的文件夹下。
生成相关文件
按darknet的说明编译好后,接下来在darknet-master/scripts文件夹中新建文件夹VOCdevkit,然后将整个VOC2017文件夹都拷到VOCdevkit文件夹下。
接下来修改scripts文件夹下的voc_label.py文件,来生成相关文件。
将文件中的sets和class改成自己的数据集名和类别。
修改好后在该目录下运行命令:python voc_label.py,之后则在文件夹scripts\VOCdevkit\VOC2007下生成了文件夹lable,里面有各个图片对应的txt文件。同时在scripts\下应该也生成了train_2007.txt这个文件,里面包含了所有训练样本的绝对路径。
配置文件修改
打开cfg文件夹,可以看到下面有许多cfg后缀的文件,类似于caffe中的prototxt
选择tiny-yolo-voc.cfg进行修改
修改最后一层卷积层中的filter,根据自己的参数计算(filter=num×(classes + coords + 1))
以及region下的classes,修改为自己的类别。
接着需要修改cfg文件夹中的voc.data文件。也是按自己需求和路径修改。
运行训练
输入下面的命令进行训练
./darknet detector train ./cfg/voc.data cfg/tiny-yolo-voc.cfg
结果如图:
训练完成后会根据迭代次数保存训练的权重模型,然后就可以拿来测试了。
测试命令:
./darknet detector test cfg/voc.data cfg/tiny-yolo-voc.cfg results/tiny-yolo-voc_6000.weights data/images.jpg
- Darknet yolo 环境搭建以及训练测试自己的数据集
- darknet yolo v2 训练自己的数据
- darknet yolo v2 训练自己的数据
- darknet yolo训练自己的数据
- 详解:YOLO-darknet训练自己的数据
- 【YOLO】详解:YOLO-darknet训练自己的数据
- 【Darknet】【yolo v2】训练自己数据集的一些心得----VOC格式
- darknet yolov2 训练自己的数据集
- darknet使用detector训练与测试自己的数据
- tiny-yolo 训练自己的数据集
- YOLO训练自己的数据集
- yolo训练自己的数据集
- yolo训练自己的数据
- yolo-darknet实现自己数据的train和test
- yolo-darknet实现自己数据的train和test
- yolo-darknet实现自己数据的train和test
- darknet用自己的数据进行训练
- 【YOLO】数据集处理训练自己的数据集
- mybaties
- 欢迎使用CSDN-markdown编辑器
- Assistance Required
- 使用VisualVM监控远程服务器JVM+原创离线安装VisualGC插件
- python斐波那契数列集锦(Fibonacci sequence)
- Darknet yolo 环境搭建以及训练测试自己的数据集
- 【Java】StringUtils工具类常用方法详解
- 洛谷p1006传纸条
- 聊聊ES7与ES8特性
- 3d data set
- 一些问题解答
- java提高篇(十三)-----equals()方法总结
- Boolean类型
- luogu 【p1119】灾后重建