trainCascadeObjectDetector

来源:互联网 发布:网络的特点是什么 编辑:程序博客网 时间:2024/06/15 01:58

转自:链接

函数/Functions

函数名称:trainCascadeObjectDetector

功能:训练级联分类器

语法:trainCascadeObjectDetector(outputXMLFilename,positiveInstance,negativeImage);

            trainCascadeObjectDetector(outputXMLFilename,'resume'); 

            trainCascadeObjectDetector(_,Name,Value); 

其中,outputXMLFilename为训练获得的级联识别器XML文件名称,该文件名称必须以.xml作为格式扩展名;positiveInstance为正例,NegativeImages为包含“背景图像”的路径或包含图像文件名的cell数组,Name为用一对单引号包含的字符串,Value为对应Name的值。


Name&Value参数NameValue'ObjectTrainingSize'默认值为’Auto',或者取值为[height,width],表示训练样本所用正例图像的大小‘NegativeSamplesFactor'默认值为2,范围为正实数,取用确定用于每一级识别器所用的反例的数目,计算方式如下:
NegativeSamplesFactor * [每一级识别器训练所用的正例的个数]‘NumCascadeStages'默认值为20,取值为正整数,取值与FalseAlarmRate和TruePositiveRate相关,当取值较大时,出现过拟合问题,即虚警率较高’FalseAlarmRate'默认值为0.5,范围为(0,1],表示反例识别为正例的虚警率‘TruePositiveRate'默认值为0.995,范围为(0,1],表示正例识别为正例的比例’FeatureType'默认值为‘HOG',表示梯度方向直方图特征;’Haar'表示Harr-like特征;‘LBP'表示Local Binary Patterns

举例:

[plain] view plain copy
  1. close all;   
  2. clear all;   
  3. clc;   
  4.   
  5. load('stopSigns.mat');   
  6. imDir = fullfile(matlabroot,'toolbox','vision','visiondemos','stopSignImages');   
  7. addpath(imDir);   
  8.   
  9. negativeFolder = fullfile(matlabroot,'toolbox','vision','visiondemos','non_stop_signs');   
  10. trainCascadeObjectDetector('stopSignDetector.xml',data,negativeFolder,'FalseAlarmRate',0.2,'NumCascadeStages',5);   
  11.   
  12. detector = vision.CascadeObjectDetector('stopSignDetector.xml');   
  13. img = imread('stopSignTest.jpg');   
  14. bbox = step(detector,img);   
  15. detectedImg = insertObjectAnnotation(img,'rectangle',bbox,'stop sign');   
  16. figure;  
  17. imshow(detectedImg);   


0 0
原创粉丝点击