当前位置:网站首页>HOG特征学习笔记
HOG特征学习笔记
2022-08-05 01:51:00 【Wsyoneself】
- 前述知识:
- 特征描述符通过提取图像有用的信息,并丢弃无关信息来简化图像表示
- 根据任务判断什么特征有用:检测马路上的车道线:边缘检测,边缘信息有用,颜色信息无用
- 定义:
- 方向梯度直方图,可用来表示图像的物体特征,让能够检测出这类物体。
- 是一个类似于canny边缘检测器sift(比例不变和特征变换)的特征描述符,在cv和图像处理中用于目标检测
- 本质:对图像的局部部分中出现的梯度方向进行计数。使用梯度的大小和角度来计算特征(生成直方图)
- HOG描述符关注对象的结构或形状
HOG特征描述符将3通道的彩色图像转为一定长度的特征向量
在HOG特征描述符中,梯度方向的分布,即梯度方向的直方图被视作特征。
图像的角度(x和y的导数),边缘和拐角(强度突变的区域)周围的梯度幅度很大,包含更多关于物体形状的信息。
利用图像梯度就可以只关注边角信息,以勾勒出人的模样
- HOG常和svm配合使用,用于训练高精度的目标分类器.HOG(感觉和sift很像)+SVM的工作流程:
- 对输入的图片进行预处理:
- 裁减
- 缩放到固定尺寸
- 灰度处理(可选,对于彩色图像,相对三通道颜色值分别计算梯度,取梯度值最大的作为该像素的梯度)
- 伽马校正(输出图像是输入图像的幂函数,指数为γ,γ越大,图像越暗):调整图像对比度(减少光照(光照不匀,局部阴影)对图像的影响),使得图像更接近人眼看到的图像
- 计算每个像素点的梯度值(根据3X3的区域进行计算),得到幅度矩阵和角度矩阵:
- 对每个像素点,计算水平梯度和竖直梯度(可使用内核大小为1的sobel算子来获得相同的结果)
- 计算总的梯度强度值和梯度方向(取绝对值,所以范围是[0-180])
- 形成梯度直方图:
- 在一个8X8的cell中计算,则共有8X8X2=128个值(2是包括了梯度强度和梯度方向),通过统计形成梯度直方图,128个值将会变成9个值(此处9只是因为假设将0-180分为了9个bins,来对像素点进行统计m,9个柱的直方图,每个柱的角度范围为20度),降低计算量的同时,对光照等环境变化更加鲁棒。
- 当梯度方向倾向于0度和160度时,表明这些点的梯度方向是向上或向下,表明图像这个位置存在比较明显的横向边缘。
- 对blocks进行normalize
- 向量的每一个值除以向量的模长
- 具体:
- 将8X8的一个区域看做一个cell,再以2X2个cell作为一组,称为block。由于每个cell有9个值(因为8X8X2构建直方图步骤已经变成了9个值(bin)了),2X2个cell则有36个值,hog通过滑动窗口来得到block.
- 对block的梯度直方图进行归一化,由上可知,一个block有4个直方图,将4个直方图拼接成长度为36的向量,然后对整个向量进行归一化
- 滑动窗口,滑动步长为8个像素(就是一个cell),窗口大小是2X2的,每滑动一次,就得到一个长度为36的特征向量。
- 原因:降低光照的影响(图像的梯度对整体光照很敏感,但希望特征描述符不会受到光照变化的影响。所以需要对直方图进行归一化。因为原始像素的倍数变化,归一化之后得到结果是一样的。)
- 计算HOG特征向量:将整幅图像上滑动计算得到的特征向量进行拼接,就得到了整个图像的特征描述符了
- 收集HOG feature(一行高维的vector)放到svm里进行监督学习。
- 所有实践出真知,展示实践结果图:


- 对输入的图片进行预处理:
边栏推荐
猜你喜欢

汇编语言之源程序

迁移学习——Distant Domain Transfer Learning

Interview summary: Why do interviewers in large factories always ask about the underlying principles of Framework?

pytorch的使用:使用神经网络进行气温预测

Why is this problem reported when installing oracle11
![[Word] #() error occurs after Word formula is exported to PDF](/img/6a/168ded19d22826b6af974907f480fb.png)
[Word] #() error occurs after Word formula is exported to PDF

超越YOLO5-Face | YOLO-FaceV2正式开源Trick+学术点拉满
![[Machine Learning] 21-day Challenge Study Notes (2)](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[Machine Learning] 21-day Challenge Study Notes (2)

安装oracle11的时候为什么会报这个问题

Transfer Learning - Joint Geometrical and Statistical Alignment for Visual Domain Adaptation
随机推荐
居民用水问题
开篇-开启全新的.NET现代应用开发体验
3. pcie.v file
KingbaseES V8 GIS数据迁移方案(2. Kingbase GIS能力介绍)
pytorch的使用:卷积神经网络模块
GCC: paths to header and library files
Difference between MBps and Mbps
缺陷检测(图像处理部分)
【七夕如何根据情侣倾听的音乐进行薅羊毛】背景音乐是否会影响情侣对酒的选择
如何基于OpenVINO POT工具简单实现对模型的量化压缩
蓝牙Mesh系统开发四 ble mesh网关节点管理
torch.autograd.grad finds the second derivative
方法重写与Object类
LiveVideoStackCon 2022 Shanghai Station opens tomorrow!
CMS website construction process
金仓数据库 KingbaseES V8 GIS数据迁移方案(3. 基于ArcGIS平台的数据迁移到KES)
Transfer Learning - Distant Domain Transfer Learning
Method Overriding and Object Class
4. PCIe interface timing
习题:选择结构(一)