如何创建自己的OpenCV级联分类器

文章介绍了如何利用OpenCV的级联分类器进行目标检测,特别是针对车辆的识别。这个过程包括正负样本数据的采集,使用opencv_createsamples.exe生成正样本矢量集,然后通过opencv_traincascade.exe进行训练,最后得到cascade.xml级联分类器文件用于目标检测。
摘要由CSDN通过智能技术生成

OpenCV级联分类器概念

目前常用的实用性目标检测与跟踪的方式方法有以下两种
帧差法:识别原理就是基于前后两帧图像之间的差异进行对比,获取图像画面中正在运动的物体从而达到目标检测,缺点是画面中所有运动中物体都能识别,例如需要是被的是车辆运动,但是画面中风吹动树叶飘动也会被计算在甄别范围内,这就导致甄别物出现错误。
CascadeClassifier级联分类器:那么如果只是识别车辆,那就需要把车辆需要相关信息全部统计出来(颜色、形状、大小等信息),存储在一个文件中。这个文件就叫级联分类器。级联分类器也是机器视觉和机器学习中非常重要的一个环节。

OpenCV级联分类器操作步骤

正样本数据采集(需要检测的物体图片)

这里以行车记录仪检测物为例
在这里插入图片描述

负样本数据采集(非检测物的图片)

这里以行车记录仪的非检测物为例
在这里插入图片描述

下载好OpenCV win10系统安装包

从安装包中的opencv\build\x64\vc15\bin 找到
opencv_createsamples.exe
opencv_traincascade.exe
opencv_world342.dll
将以上文件拷贝到正负样本文件路径下

在这里插入图片描述

创建正负样本的图像路径的txt文件

正样本:
在这里插入图片描述

负样本:
在这里插入图片描述

win+R打开,输入cmd,回车进入命令框

调用opencv程序opencv_createsamples.exe程序实现样本数据采集

通过命令行执行命令进行样本采集生成car_samples.vec正样本矢量集文件
opencv_createsamples.exe -info car_list.txt -vec car_samples.vec -num 80 -w 33 -h 33
-info字段填写正样本描述文件;
-vec用于保存制作的正样本;
-num制定正样本的数目;
-w和-h分别指定正样本的宽和高。
在这里插入图片描述
注意:如果是超级管理员权限需要在前面加上一个./

调用opencv程序opencv_traincascade.exe样本训练程序进行训练

在这里插入图片描述
通过命令行执行命令进行训练生成
opencv_traincascade.exe -data data -vec car_samples.vec -bg ng_data.txt -numPos 80 -numNeg 240 -numStages 7 -w 33 -h 33 -minHitRate 0.995 -maxFalseAlarmRate 0.45 -mode ALL
-data:指定保存训练结果的文件夹;
-vec:指定正样本集;
-bg:指定负样本的描述文件夹;
-numPos:指定每一级参与训练的正样本的数目(要小于正样本总数);
-numNeg:指定每一级参与训练的负样本的数目(可以大于负样本图片的总数);
-numStage:训练的级数;
-w:正样本的宽;
-h:正样本的高;
-minHitRate:每一级需要达到的命中率(一般取值0.95-0.995);
-maxFalseAlarmRate:每一级所允许的最大误检率;
-mode:使用Haar-like特征时使用,可选BASIC、CORE或者ALL;
另外,还可指定以下字段:
-featureType:可选HAAR或LBP,默认为HAAR;

生成级联分类器文件

训练结果:
在这里插入图片描述

最终得到的cascade.xml即为级联分类器最终文件

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光如箫声留念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值