码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
计算机视觉学习记录(四):未有深度学习之前
文章目录
1.图像分割
1.1 传统图像分割的方法
1.1.1 基于阈值的分割方法
1.1.2 基于边缘的分割方法
1.1.3 基于区域的分割方法
1.1.4 基于图论的分割方法
2. 人脸检测
2.1 Haar-like特征
2.2 Haar级联分类器
2.3 Boosting分类器示意
2.4 弱分类器和强分类器
2.5 级联分类器的检测机制
3. 行人检测
3.1 梯度
3.2 HOG
3.3 SVM基本模型
3.4 DPM
1.图像分割
所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性;
经典的数字图像分割算法一般是基于灰度值的两个基本特性之一∶不连续性和相似性。
1.1 传统图像分割的方法
1.1.1 基于阈值的分割方法
阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中;
1.1.2 基于边缘的分割方法
所谓边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变;
1.1.3 基于区域的分割方法
此类方法是将图像按照相似性准则分成不同的区域,主要包括种子区域生长法、区域分裂合并法和分水岭法等几种类型;
区域生长
是根据一种事先定义的准则将像素或者子区域聚合成更大区域的过程,并且要充分保证分割后的区域满足以下条件:内部连通、互斥,且各子集的并集能构成全集;
分水岭算法
是一种图像区域分割算法,分水岭算法可以将图像中的边缘转化成“山脉”,将均匀区域转化成“山谷”,这样有助于分割目标;在分割过程中,他会把跟临近像素间的相似性作为重要参考依据,从而将在空间位置上相近并且灰度值相近(求梯度)的像素点互相连接起来构成一个封闭的轮廓;
1.1.4 基于图论的分割方法
此类方法把图像分割问题与图的最小割(min cut)问题相关联。首先将图像映射为带权无向图,图中每个节点对应于图像中的每个像素,每条边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度;
Graph Cuts分割
GrabCut 分割
关于K-Means的几个问题
K值怎么定?
主要取决于经验,通常的做法是多尝试几个K值,看分成几类的结果更好解释,更符合分析目的等;
初始的K个质心怎么选?
最常用的方法是随机选,初始质心的选取对最终聚类结果有影响,因此算法一定要多执行几次,哪个结果更合理,就用哪个结果。有一些优化的方法,例如∶选择彼此距离最远的点;
K-Means会不会陷入一直选质心的过程?
不会,K-Means一定会收敛,大致思路是利用SSE的概念(也就是误差平方和),可证明这个函数是可以最终收敛的函数;
2. 人脸检测
2.1 Haar-like特征
特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形内的像素和减去黑色矩形内的像素和;
同一个像素如果被包含在不同的Haar-like的特征模板中,会被重复计算多次;
积分图是根据四个角点就能计算区域内的像素之和的方法;
Haar-like模板可表示出人脸的某些特征;
2.2 Haar级联分类器
cs231n推荐论文.rar
rar
0星
超过10%的资源
113.95MB
下载
Adaboost是一种基于级联分类模型的分类器;
级联分类器就是将多个强分类器连接在一起进行操作;
每一个强分类器都由若干个弱分类器加权组成;
2.3 Boosting分类器示意
2.4 弱分类器和强分类器
弱分类器,就是在这海量的特征中选取一个特征,用这个特征能够区分出人脸or非人脸,且错误率最低;
一个弱学习器的要求仅仅是∶它能够以稍低于50%的错误率来区分人脸和非人脸图像;
训练一个弱分类器就是在当前权重分布的情况下,确定f的最优阈值,使得这个弱分类器对所有训练样本的分类误差最低;
最后将每轮得到的最佳弱分类器按照一定方法提升(Boosting)为强分类器。
2.5 级联分类器的检测机制
级联分类器中每一个强分类器都是对于"非人脸"(即负样本)更敏感,使得每次被强分类器拒绝的,都几乎一定不是人脸,经过所有强分类器考验的,才是"人脸";
一幅图像中待检测的区域很多都是负样本,只有正样本才会送到下一个强分类器进行再次检验;
这样由级联分类器在分类器的初期就抛弃了很多负样本的复杂检测。所以,级联分类器的速度是非常快的;
3. 行人检测
3.1 梯度
3.2 HOG
3.3 SVM基本模型
支持向量机基本模型是针对线性可分情况下的最优分界面提出的。在这一条件下,正类和反类训练样本可用超平面完全正确地分开。满足上述条件的分界面就是最优分界面,经过两类样本中距离最优分类面最近的点,且平行于最优分界面的超平面H1,H2(边界超平面)上的训练样本称为支持向量,即图中带圈的点;
3.4 DPM
DPM检测流程
对于任意一张输入图像,提取其DPM特征图,然后将原始图像进行高斯金字塔上采样,然后提取其DPM特征图;
对于原始图像的DPM特征图和训练好的Root filter做卷积操作,从而得到Root filter的响应图;
对于2倍图像的DPM特征图,和训练好的Part filter做卷积操作,从而得到Part filter的响应图;
然后对其精细高斯金字塔的下采样操作,这样Rootfilter的响应图和Part filter的响应图就具有相同的分辨率了;
然后将其进行加权平均,得到最终的响应图。亮度越大表示响应值越大;
相关阅读:
性能压测工具 —— wrk
Swift 学习笔记
java计算机毕业设计计算机组成原理教学演示软件源码+数据库+系统+lw文档+mybatis+运行部署
postgres 多面、多线转换成单线或者单面
.NET Equal、==、ReferenceEqual
Golang基础3-函数、nil相关
cloud的初级使用方法
致敬给发文助手
机器学习sklearn——day01
新能源汽车行业出口ERP管理解决方案
原文地址:https://blog.csdn.net/weixin_45013904/article/details/126305207
最新文章
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
小工具
小游戏
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
京公网安备 11010502049817号