目标检测器训练过程总结(HyperLPR)

1. 项目背景

  开源项目HyperLPR,在车牌粗定位(提取)阶段,依赖于训练好的模型文件cascade.xml,而该文件是一个由基于OpenCV的Haar级联分类器训练出来的模型,HyperLPR作者有在他的博客中谈到了该模型文件的训练过程。
  车牌粗定位大致程序流程:
enter description here
  以下内容记录训练cascade.xml模型文件的过程。

2. 环境准备

  • Python2.7.14
  • OpenCV3.0
  • 其他依赖(image, opencv-python):
    目标检测器训练过程总结(HyperLPR)_第1张图片
  • 开源项目:OpenCV Cascade车牌检测器训练代码
  • Tip:记住安装或下载解压的目录

3. 数据准备

  • 正样片:最好使用项目具体应用,若无,可用开源项目Plate_Recognition-LPRnet下的车牌图像作为正样片,此项目正样片应置于train-detector/china/目录下
  • 负样片:train-detector下的raw-neg已包含

4. prep.py使用说明

4.1. 变量说明

  • 调整国家和车牌长度宽度,将以下代码置于导包语句后
    enter description here
  • OPENCV_DIR:opencv安装目录
    OPENCV_DIR= 'D:\\ProgramData\\OpenCV3.0.0\\opencv\\build\\x64\\vc11\\bin'
  • BASE_DIR:指定prep所在的目录
    BASE_DIR = 'G:\\PycharmProjects\\train-detector\\'
  • OUTPUT_DIR:训练模型输出目录
  • INPUT_NEGATIVE_DIR:负样本放置目录
    INPUT_NEGATIVE_DIR = BASE_DIR + 'raw-neg\\'
  • INPUT_POSITIVE_DIR:正样本输出目录
    INPUT_POSITIVE_DIR = BASE_DIR + COUNTRY + '\\'

4.2. 训练过程(cmd切换到prep所在目录下)

  1. & ‘D:\ProgramData\Python27\python.exe’ prep.py neg
  2. & ‘D:\ProgramData\Python27\python.exe’ prep.py pos
  3. & ‘D:\ProgramData\Python27\python.exe’ prep.py train---->生成的语句复制运行
    enter description here

目标检测器训练过程总结(HyperLPR)_第2张图片
训练过程
目标检测器训练过程总结(HyperLPR)_第3张图片
可能出现的问题:
解决方法:参数numPos调低,如此处正样片有752,可设置numPos为652,原因参见

4.3. 训练结果

train-detector/out/cascade.xml

5. 相关知识点

  • 基于OpenCV的Haar级联分类器
  • OpenALPR的Train-Detector

你可能感兴趣的:(程序算法)