利用COCO数据集对YOLOv3进行性能测试,计算mAP值,绘制PR曲线

安装darknet

详细步骤和解释请参考 YOLOv3官网
详细 Darknet 编译请参考 大佬博客
博主介绍的非常详细,在此就不多赘述,我只是个无情的搬运工…

COCO数据集的下载和配置

根据 YOLOv3官网 通过脚本文件获取COCO数据集。这里使用的是COCO2014数据集

tips如果数据集下载速度特别慢,可以打开 get_coco_dataset.sh,在网站下载好数据集,再逐条运行每一条命令即可。

#!/bin/bash

# Clone COCO API
git clone https://github.com/pdollar/coco
cd coco

mkdir images
cd images

# Download Images
wget -c https://pjreddie.com/media/files/train2014.zip
wget -c https://pjreddie.com/media/files/val2014.zip

# Unzip
unzip -q train2014.zip
unzip -q val2014.zip

cd ..

# Download COCO Metadata
wget -c https://pjreddie.com/media/files/instances_train-val2014.zip
wget -c https://pjreddie.com/media/files/coco/5k.part
wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
wget -c https://pjreddie.com/media/files/coco/labels.tgz
tar xzf labels.tgz
unzip -q instances_train-val2014.zip

# Set Up Image Lists
paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt
paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt

对COCO验证集进行检测

在darknet目录下运行下面的命令行

./darknet -i 0 detector valid cfg/coco.data cfg/yolov3.cfg yolov3.weights # '-i 0'代表使用0GPU

运行完上述命令之后会生成results/coco_results.json文件,该文件保存了检测结果

计算mAP

该方法源于:https://blog.csdn.net/xidaoliang/article/details/88397280

1.安装pycocotools

pip install pycocotools

2.编写python脚本用于计算mAP,注意根据自己的实际情况修改两个文件路径

import matplotlib.pyplot as plt
from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval
import numpy as np
import skimage.io as io
import pylab,json
pylab.rcParams['figure.figsize'] = (10.0, 8.0)
def get_img_id(file_name):
    ls = []
    myset = []
    annos = json.load(open(file_name, 'r'))
    for anno in annos
  • 9
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值