当前位置:网站首页>[OpenCV] Cascade classifier training model
[OpenCV] Cascade classifier training model
2022-08-03 13:17:00 【I this year 16 years old】
目录
二:OpenCVCascade classifier operation steps
三:Analysis of the working principle of sample collection
四:Analysis of the working principle of sample collection II
5.1 The first step in creating your own cascaded classifier
5.2 Create your own cascaded classifier second step
5.3 Create your own cascaded classifier Step 3
5.4 Create your own cascaded classifier Step 4
5.5 Create your own Cascade Classifier Step 5
一:OpenCV级联分类器概念
At present, there are the following two methods for practical target detection and tracking
二:OpenCVCascade classifier operation steps
三:Analysis of the working principle of sample collection
使用基于HaarObject Detection by Cascading Classifiers of Features This is a machine learning based approach,其中从许多正负图像中训练级联函数.It is then used to detect objects in other images.
在这里,We will give an example of face detection.最初,该算法需要大量正图像(面部图像)和负图像(无面部图像)来训练分类器. 然后,我们需要从中提取特征.为此,使用下图所示的Haar功能. 它们就像我们的卷积核一样. 每个特征都是通过从黑色矩形下的像素总和中减去白色矩形下的像素总和而获得的单个值.
四:Analysis of the working principle of sample collection II
现在,每个内核的所有可能大小和位置都用于计算许多功能.(试想一下它产生多少计算?即使是一个24x24的窗口也会产生超过160000个特征).对于每个特征计算,我们需要找到白色和黑色矩形下的像素总和.为了解决这个问题,They introduced the overall image.无论你的图像有多大,它都会将给定像素的计算减少到仅涉及四个像素的操作.很好,不是吗?它使事情变得更快.
But in all these features we compute,大多数都不相关.例如,考虑下图.第一行显示了两个良好的特征.选择的第一个特征似乎着眼于眼睛区域通常比鼻子和脸颊区域更暗的性质.选择的第二个特征依赖于眼睛比鼻梁更黑的属性.但是,将相同的窗口应用于脸颊或其他任何地方都是无关紧要的.那么,我们如何从16万多个功能中选择最佳特征?它是由Adaboost算法实现的.
为此,我们将所有特征应用于所有训练图像.对于每个特征,它会找到最佳的阈值,该阈值会将人脸分为正面和负面.显然,会出现错误或分类错误.我们选择错误率最低的特征,这意味着它们是对人脸和非人脸图像进行最准确分类的特征. (此过程并非如此简单.在开始时,每个图像的权重均相等.在每次分类后,错误分类的图像的权重都会增加.然后执行相同的过程.将计算新的错误率.还要计算新的权重.继续进行此过程,直到达到所需的精度或错误率或找到所需的功能数量为止.
最终分类器是这些弱分类器的加权和.之所以称为弱分类,是因为仅凭它不能对图像进行分类,而是与其他分类一起形成强分类器.该论文说,甚至200个功能都可以提供95%的准确度检测.Their final setup has approx6000个功能. (想象一下,从160000Multiple functions reduced to 6000个功能.This is a great gain).
五:创建自己的级联分类器
5.1 The first step in creating your own cascaded classifier
5.2 Create your own cascaded classifier second step
将以上文件拷贝到正负样本文件路径下
5.3 Create your own cascaded classifier Step 3
创建正负样本的图像路径的txt文件
5.4 Create your own cascaded classifier Step 4
通过命令行执行命令进行样本采集生成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分别指定正样本的宽和高
5.5 Create your own Cascade Classifier Step 5
通过命令行执行命令进行训练生成
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;
Create your own Cascade Classifier Step 5 效果展示如下:
最终得到的cascade.xmlThat is the final file of the cascade classifier
边栏推荐
- 有趣的opencv-记录图片二值化和相似度实现
- 欧曼自动挡、银河大马力、行星新产品 欧曼全新产品以燎原之势赢领市场
- How to make the history record time-stamped before
- JS get browser type
- 来广州找工作有一个多月了,今天终于有着落了,工资7000
- An introduction to the pen tool, pencil tool and brush tool
- Blog records life
- 便携烙铁开源系统IronOS,支持多款便携DC, QC, PD供电烙铁,支持所有智能烙铁标准功能
- 为冲销量下探中低端市场,蔚来新品牌产品定价低至10万?
- leetcode16最接近的三数之和 (排序+ 双指针)
猜你喜欢
BOM系列之sessionStorage
An动画基础之元件的图形动画与按钮动画
[Practical skills] APP video tutorial for updating APP in CANFD, I2C, SPI and serial port mode of single-chip bootloader (2022-08-01)
Jmeter use
leetcode 11. The container that holds the most water
An工具介绍之钢笔工具、铅笔工具与画笔工具
软件测试面试(四)
Image fusion GAN-FM study notes
图像融合GAN-FM学习笔记
GameFi 行业下滑但未出局| June Report
随机推荐
可视化图表设计Cookbook
An工具介绍之形状工具及渐变变形工具
层次分析法
GameFi 行业下滑但未出局| June Report
基于php网上零食商店管理系统获取(php毕业设计)
An introduction to the pen tool, pencil tool and brush tool
An animation based button animation combined with basic code
基于php校园医院门诊管理系统获取(php毕业设计)
Key points for account opening of futures companies
An animation optimization of shape tween and optimization of traditional tweening
Yahoo! Answers-数据集
【OpenCV】 级联分类器训练模型
OpenCV perspective transform
4年工作经验,多线程间的5种通信方式都说不出来,你信吗?
云计算服务主要安全风险及应对措施初探
Notepad++ 安装jsonview插件
期货公司开户关注的关键点
客户:我们系统太多,能不能实现多账号互通?
HCIP-第十二天-MPLS+VNP
链游NFT元宇宙游戏系统开发技术方案及源码