记录:百度3天AI进阶实战营——车牌识别

本文介绍了如何在Python3.7环境下,使用PaddlePaddle2.0.0版本的AI框架处理CCPD2019车牌数据集,包括数据上传、解压、生成标签文档,以及如何配置环境(升级PaddlePaddle,安装PaddleOCR,预训练模型下载)以进行车牌识别模型的训练。
摘要由CSDN通过智能技术生成
  • 开发语言:Python3.7

  • AI框架:PaddlePaddle2.0.0

  • 资源规格:GPU V100

图片**

**

2.打开Notebook

图片

3.创建一个Notebook,选择Python3

图片

第二步:上传数据集至Notebook

1.下载数据集至本地

https://aistudio.baidu.com/aistudio/datasetdetail/123686

图片

2.上传数据集至Notebook并解压

在这里插入图片描述

!unzip -q /home/work/chepaishibie.zip

3.生成标签文档

  • 本次使用的数据集为CCPD2019车牌数据集

  • 该数据集在合肥市的停车场采集得来,采集时间早上7:30到晚上10:00。停车场采集人员手持Android POS机对停车场的车辆拍照并手工标注车牌位置。拍摄的车牌照片涉及多种复杂环境,包括模糊、倾斜、阴雨天、雪天等等。CCPD数据集一共包含将近30万张图片,每种图片大小720x1160x3。一共包含8项,具体如下:

图片

  • CCPD数据集没有专门的标注文件,每张图像的文件名就是对应的数据标注(label)

    • 例如: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 由分隔符’-'分为几个部分:
    1. 025为区域
  1. 95_113 对应两个角度, 水平95°, 竖直113°

  2. 154&383_386&473对应边界框坐标:左上(154, 383), 右下(386, 473)

  3. 386&473_177&454_154&383_363&402对应四个角点坐标

  4. 0_0_22_27_27_33_16为车牌号码 映射关系如下: 第一个为省份0 对应省份字典皖, 后面的为字母和文字, 查看ads字典.如0为A, 22为Y…

  • 仅使用到数据集中正常车牌即ccpd_base的数据

import os, cv2

import random

words_list = [

“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” ]

con_list = [

“皖”, “沪”, “津”, “渝”, “冀”,

“晋”, “蒙”, “辽”, “吉”, “黑”,

“苏”, “浙”, “京”, “闽”, “赣”,

“鲁”, “豫”, “鄂”, “湘”, “粤”,

“桂”, “琼”, “川”, “贵”, “云”,

“西”, “陕”, “甘”, “青”, “宁”,

“新”]

count = 0

total = []

paths = os.listdir(‘/home/work/chepaishibie’)#真实数据集路径

#for path in paths:

for item in os.listdir(os.path.join(‘/home/work/chepaishibie’)):#真实数据集路径

if item[-3:] ==‘jpg’:

new_path = os.path.join(‘/home/work/chepaishibie’, item) #训练图片路径的路径

_, _, bbox, points, label, _, _ = item.split(‘-’)

points = points.split(‘_’)

points = [_.split(‘&’) for _ in points]

tmp = points[-2:]+points[:2]

points = []

for point in tmp:

points.append([int(_) for _ in point])

label = label.split(‘_’)

con = con_list[int(label[0])]

words = [words_list[int(_)] for _ in label[1:]]

label = con+‘’.join(words)

line = new_path+‘\t’+‘[{“transcription”: “%s”, “points”: %s}]’ % (’ ', str(points))

line = line[:]+‘\n’

total.append(line)

random.shuffle(total)

with open(‘/home/work/data/train.txt’, ‘w’, encoding=‘UTF-8’) as f:

for line in total[:-200]:

f.write(line)

with open(‘/home/work/data/dev.txt’, ‘w’, encoding=‘UTF-8’) as f:

for line in total[-200:]:

f.write(line)

检查data下的两个txt文件

图片

第三步:配置环境

1.升级PaddlePaddle

!pip install paddlepaddle-gpu==2.2.1.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

2.下载PaddleOCR

!git clone https://gitee.com/PaddlePaddle/PaddleOCR.git

3.下载预训练模型

cd /home/work/PaddleOCR

!wget -P ./pretrain_models/ https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar!wget -P ./pretrain_models/ https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_attn.tar

cd pretrain_models

!tar -xf ch_det_mv3_db.tar && rm -rf ch_det_mv3_db.tar!tar -xf rec_mv3_tps_bilstm_attn.tar && rm -rf rec_mv3_tps_bilstm_attn.tar

第四步:保存Notebook并关闭、停止运行

图片

图片

Day02

================================================================

第一步:重新安装环境

1.启动Notebook并打开

图片

2.重新执行以下安装命令

图片

图片

第二步:安装PaddleOCR相关依赖文件

1.修改requirements文件

图片

删除opencv-contrib-python==4.4.0.46

图片

2.执行以下两个安装命令

cd /home/work/PaddleOCR

!pip install -r requirements.txt

!pip install opencv-contrib-python==4.2.0.32

第三步:修改模型训练的yml文件

进入路径PaddleOCR/configs/det/

打开det_mv3_db.yml

图片

1.修改模型路径和保存路径

图片
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

713813419648)]

[外链图片转存中…(img-Zogyz6XZ-1713813419649)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值