基于object_detection API的车牌检测 (一)

 

 

最近在用google开源的object_detection做车牌检测系统,在此记录一下整个流程,期间踩过不少坑,也一并分享给各位。

一:环境配置:

Python:3.6.2版本

Tensorflow cpu版本:1.12.0

Anaconda:5.0.0

二;、下载object_detection API

网址:https://github.com/tensorflow/models

点击Clone or download,再点击Download ZIP,下载完成后,解压得到models-master文件夹,放到jupyter notebook工作路径里。

三:配置protobufs

网址:https://github.com/protocolbuffers/protobuf/releases,

object_detection API使用protobufs来配置模型和训练参数,这将其编译成.py文件些文件以“.proto”的扩展名放在 models-master/research/object_detection/protos下,

在使用框架之前,必须使用protobuf库将其编译成.py文件。

点击protoc-3.6.1-win32-zip自动下载,下载完成后解压,将解压后的bin文件夹下的protoc.exe放到models-master/research路径下,打开Anaconda Prompt,定位到research路径下,输入

protoc object_detection/protos/*.proto --python_out=.

这时可能会报错,因为windows命令不支持正则匹配,这时你可以将*.proto改成具体的,proto文件名一条一条执行,但是在linux系统中可以执行上面的命令,只不过应该下载相应的linux版本的protoc了。

四、检测API是否正常

1、将models-master/research/slim中的nets文件夹复制出来放到models/research下

2、将models-master/research/object_detection/builders下的model_builder_test.py复制到models-master/research下

3、将objetc_detection文件夹和nets文件夹都复制到D:/Anaconda3/Lib/site-packages下,注意D:/Anaconda3是我安装Anaconda的路径。

打开Anaconda Prompt,定位到research所在的文件夹,输入python model_builder_test.py,如果出现OK,那么API已经配置成功。

五、制作车牌的数据集

首先在网上爬取车牌图片,如图所示

 

 

 

 

使用 Labellmg这款软件对图片进行打标签,框出其中的车牌,下载最新版本的Windows_v1.8.0,解压运行如下:

点击Create RectBox,框出车牌,并在labellmg里填上要标注的图片的名称,我写的是plate,点击ok保存,再继续后面的打标签。

 这样就完成了车牌的数据集,当然应该将数据集分成训练集和测试集以便后面的操作。

后续内容

 

posted @ 2018-11-29 15:23  流林逍  阅读(1554)  评论(1编辑  收藏  举报