当前位置:   article > 正文

CCPD2019/2020以及其它国家车牌数据集合集介绍(包含YOLO算法可训的ccpdYOLO格式)_ccpd数据集

ccpd数据集

一、CCPD数据集

1.1、CCPD2019来源

CCPD从中国安徽合肥市的一个停车场收集图像,该公司拥有800多个PFC,每个PFC都收取特定街道的停车费。每个停车费订单不仅记录LP号码,费用,停车时间等,还要求PFC从前面或后面拍摄汽车照片作为证据。 PFC基本上没有假期,通常从清晨(早上07:30)到午夜(晚上10:00)工作。因此,CCPD在不同的照明,不同天气的环境下都有图像。此外,由于拍摄照片的唯一要求是包含LP,PFC可能会从各种位置和角度拍摄,甚至会发生轻微的震颤。因此,CCPD中的图像来自不同的位置和角度,甚至模糊。
在CCPD数据集中,每张图片仅包含一张车牌,车牌的车牌省份主要为皖。CCPD中的每幅图像都包含大量的标注信息,但是CCPD数据集没有专门的标注文件,每张图像的文件名就是该图像对应的数据标注。
标注最困难的部分是注释四个顶点的位置。为了完成这项任务,数据发布者首先在10k图像上手动标记四个顶点的位置。然后设计了一个基于深度学习的检测模型,在对该网络进行良好训练后,对每幅图像的四个顶点位置进行自动标注。最后,数据发布者雇用了7名兼职工人在两周内纠正这些标注。CCPD提供了超过250k个独特的车牌图像和详细的注释。每张图像的分辨率为720(宽度)× 1160(高)× 3(通道)。实际上,这种分辨率足以保证每张图像中的车牌清晰可辨,但是该数据有些图片标注可能不准。不过总的来说CCPD数据集非常推荐研究车牌识别算法的人员学习使用。
CCPD官方开源仓库
CCPDECCV2018论文

1.2 、CCPD2019类别简介

在这里插入图片描述

示例:
在这里插入图片描述

1.4、CCPD2019标签含义

CCPD数据集没有专门的标注文件,每张图像的文件名就是该图像对应的数据标注。
,如图片【025-95_113-154&383_386&473-386&473_177&454_154&383_363&402-0_0_22_27_27_33_16-37-15.jpg】,其文件名的含义如下:

  • 025:车牌区域占整个画面的比例;
  • 95_113: 车牌水平和垂直角度, 水平95°, 竖直113°
  • 154&383_386&473:标注框左上、右下坐标,左上(154, 383), 右下(386, 473)
    86&473_177&454_154&383_363&402:标注框四个角点坐标,顺序为右下、左下、左上、右上
  • 0_0_22_27_27_33_16:车牌号码映射关系如下: 第一个0为省份 对应省份字典provinces中的’皖’,;第二个0是该车所在地的地市一级代码,对应地市一级代码字典alphabets的’A’;后5位为字母和文字, 查看车牌号ads字典,如22为Y,27为3,33为9,16为S,最终车牌号码为皖AY339S
  • 37为亮度,数值越大车牌越亮(可能不准确,仅供参考);
  • 15为模糊度,数值越小车牌越模糊(可能不准确,仅供参考)。

读取CCPD中的一张图片,并绘制了其车牌的边界框,关键点,车牌名,数据集可视化工具:


from PIL import Image, ImageDraw, ImageFont
import os

provincelist = [
    "皖", "沪", "津", "渝", "冀",
    "晋", "蒙", "辽", "吉", "黑",
    "苏", "浙", "京", "闽", "赣",
    "鲁", "豫", "鄂", "湘", "粤",
    "桂", "琼", "川", "贵", "云",
    "西", "陕", "甘", "青", "宁",
    "新"]

wordlist = [
    "A", "B", "C", "D", "E",
    "F", "G", "H", "J", "K",
    "L", "M", "N", "P", "Q",
    "R", "S", "T", "U", "V",
    "W", "X", "Y", "Z", "0",
    "1", "2", "3", "4", "5",
    "6", "7", "8", "9"]

# --- 绘制边界框

def DrawBox(im, box):
    draw = ImageDraw.Draw(im)
    draw.rectangle([tuple(box[0]), tuple(box[1])],  outline="#FFFFFF", width=3)

# --- 绘制四个关键点


def DrawPoint(im, points):

    draw = ImageDraw.Draw(im)

    for p in points:
        center = (p[0], p[1])
        radius = 5
        right = (center[0]+radius, center[1]+radius)
        left = (center[0]-radius, center[1]-radius)
        draw.ellipse((left, right), fill="#FF0000")

# --- 绘制车牌


def DrawLabel(im, label):
    draw = ImageDraw.Draw(im)
   # draw.multiline_text((30,30), label.encode("utf-8"), fill="#FFFFFF")
    font = ImageFont.truetype('simsun.ttc', 64)
    draw.text((30, 30), label, font=font)

# --- 图片可视化


def ImgShow(imgpath, box, points, label):
    # 打开图片
    im = Image.open(imgpath)
    DrawBox(im, box)
    DrawPoint(im, points)
    DrawLabel(im, label)
    # 显示图片
    im.show()
    im.save('result.jpg')


def main():
    # 图像路径
    imgpath = 'E:/datasets/ccpd_green/val/0136360677083-95_103-255&434_432&512-432&512_267&494_255&434_424&449-0_0_3_25_30_24_24_32-98-218.jpg'

    # 图像名
    imgname = os.path.basename(imgpath).split('.')[0]

    # 根据图像名分割标注
    _, _, box, points, label, brightness, blurriness = imgname.split('-')

    # --- 边界框信息
    box = box.split('_')
    box = [list(map(int, i.split('&'))) for i in box]

    # --- 关键点信息
    points = points.split('_')
    points = [list(map(int, i.split('&'))) for i in points]
    # 将关键点的顺序变为从左上顺时针开始
    points = points[-2:]+points[:2]

    # --- 读取车牌号
    label = label.split('_')
    # 省份缩写
    province = provincelist[int(label[0])]
    # 车牌信息
    words = [wordlist[int(i)] for i in label[1:]]
    # 车牌号
    label = province+''.join(words)

    # --- 图片可视化
    ImgShow(imgpath, box, points, label)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96

原图:
在这里插入图片描述
可视化效果图:
在这里插入图片描述
如果需要将CCPD用于训练检测,根据上述介绍的标签含义读取每个图片的文件名后整理为需要的格式即可。
这里有偿提供yolo格式的CCPD2019/2020数据集,需要其他格式比如VOC、COCO的也可以私信博主。

1.5、CCPD2019下载链接

CCPD2019百度云盘(提取码:jinx)
如果需要将CCPD用于YOLO系列

二、CCPD2020

CCPD2020和CCPD2019类似,区别在于CCPD2019均是蓝牌,CCPD2020新增且仅有新能源车牌即绿牌。CCPD2020中的图像被拆分为train/val/test数据集,train/val/test数据集中图片数分别为5769/1001/5006。
CCPD2020百度云盘

三、其它车牌相关数据

3.1

在这里插入图片描述
百度云盘(提取码:jinx)
该数据集包含433 张图像,图像中带有汽车牌照的边界框注释。注释以 PASCAL VOC 格式提供。可有偿提供YOLO格式。

3.2

在这里插入图片描述

百度云盘(提取码:jinx)

该数据集包含453 个文件- JPEG 格式的图像,图像中带有汽车牌照的边界框注释。注释以PASCAL VOC格式提供。可有偿提供YOLO格式。

3.3

在这里插入图片描述
百度云盘(提取码:jinx)

该数据集包含 313 张 224x224 的伊朗车牌图像。注释适用于 224x224 图像,它们采用 PASCAL VOC XML 格式。处理后的图像为 224x224,放置在 Vehicle Plates 文件夹中,其注释采用 Pascal VOC XML 注释格式,位于 Vehicle Plates 注释文件夹中。可有偿提供YOLO格式。

3.4 其它数据集

  • 合成土耳其车牌

数据集下载链接: http://suo.nz/2ENtNG

  • 美国 50 个州的车牌 + DC

数据集下载链接: http://suo.nz/2MjGSn

数据来自两个来源:维基百科和plateshack.com。一些车牌可以追溯到 1900 年代初期。数据集相对较小,具有类内可变性;因此,适合与数据增强技术一起测试不寻常的损失函数(arcface、cosface、sphereface 等)。
在这里插入图片描述

  • 印度车牌

数据集下载链接: http://suo.nz/2TPTX4

数据集包含 10,000 张印度车牌图像。
在这里插入图片描述

  • 印尼车牌号

数据集下载链接: http://suo.nz/31m6LD
Indramayu / Cirebon Area (E) 车牌号
在这里插入图片描述

  • 带标签的印度车牌

数据集下载链接: http://suo.nz/3fIzsH

该数据集是多个数据集的复杂化,其中图像是从谷歌图像手动下载的 100 张图像,并使用 makeense.ai 在线标签网站手动标记它们。

  • 斯里兰卡车牌数据集

数据集下载链接: http://suo.nz/2hySR8

该数据集是使用主要在 ikman.lk patpat.lk 和 google 上找到的车牌图像收集的。
在这里插入图片描述

  • 孟加拉车牌

数据集下载链接: http://suo.nz/2ijvkZ

该数据集包含孟加拉车牌的图像。共有 295 张图片。
在这里插入图片描述

  • 拉脱维亚车牌

数据集下载链接:http://suo.nz/3fIzrJ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/655581
推荐阅读
相关标签
  

闽ICP备14008679号