zoukankan      html  css  js  c++  java
  • 【OpenCV】基于HOG与SVM的行人检测学习

    最近听了关于HOG与SVM的报告,比较深刻的学习了算法原理与实现方式。这里根据一些资料作下总结,方便日后拾起:


    A.方向梯度直方图(HOG,Histogram of Gradient)

    将图像依次划分为检测窗口(window)、块(block)、胞元(cell)3个层次

    大体流程:

    1. 逐像素计算方向梯度;
    2. 对cell中的像素根据梯度划分区间,给出统计直方图;
    3. 对于每个block中重叠的cell进行对比度归一化
    4. 把所有直方图向量组成HOG特征向量。

    HOG特征向量:

    60e6e3d54ca9518b964b3&690

    OpenCV对于HOG描述子(即特征向量)维度的计算:

    size_t HOGDescriptor::getDescriptorSize() const
    {
        CV_Assert(blockSize.width % cellSize.width == 0 &&
            blockSize.height % cellSize.height == 0);
        CV_Assert((winSize.width - blockSize.width) % blockStride.width == 0 &&
            (winSize.height - blockSize.height) % blockStride.height == 0 );
        return (size_t)nbins*
            (blockSize.width/cellSize.width)*
            (blockSize.height/cellSize.height)*
            ((winSize.width - blockSize.width)/blockStride.width + 1)*
            ((winSize.height - blockSize.height)/blockStride.height + 1);
    }

    如以下HOG检测器:检测窗口(64,128),块尺寸(16,16),块步长(8,8),cell尺寸(8,8),直方图bin个数9

    HOGDescriptor hog(Size(64,128),Size(16,16),Size(8,8),Size(8,8),9);//HOG检测器,用来计算HOG描述子的

    其特征向量维度即:clip_image002


     

    B.支持向量机SVM(Support Vector Machine)

    它是一个有监督的学习模型,通常用来进行模式识别、分类、以及回归分析。

    大体可以理解为:利用正负样本(特征)学习,确定分割两种训练样本的最佳超平面,从而用于新对象的分类、识别。这里便是提取正负样本的HOG特征进行训练,然后同样根据待分类对象的HOG特征进行归类或识别。


    C.具体资料

    支持向量机(SVM)介绍与实现: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html

    方向梯度直方图(HOG)学习笔记: http://blog.sina.com.cn/s/blog_60e6e3d50101bkpn.html

    训练SVM分类器进行HOG行人检测(实例): http://blog.csdn.net/pb09013037/article/details/41256945

    OpenCV HOGDescriptor 参数图解: http://blog.csdn.net/raodotcong/article/details/6239431

  • 相关阅读:
    03.redis集群
    02.redis数据同步
    01.redis数据类型
    06.MySQL主从同步
    05.MySQL优化
    04.MySQL慢查询
    lamp服务器站点目录被植入广告代码
    tar命令简单用法
    linux基础优化
    Linux 思想与法则
  • 原文地址:https://www.cnblogs.com/KC-Mei/p/4534009.html
Copyright © 2011-2022 走看看