8月20日计算机视觉理论学习笔记——图像分割

article/2025/3/3 18:16:51

文章目录

  • 前言
  • 一、图像分割
    • 1、传统图像分割
      • (1)、基于阈值的分割方法
      • (2)、基于边缘的分割方法
      • (3)、基于区域的分割方法
      • (4)、基于图论的分割方法
  • 二、人脸检测
    • 1、级联分类器
      • (1)、Boosting 分类器
  • 三、行人检测
    • 1、梯度
    • 2、HOG 方向梯度直方图
      • (1)、梯度计算
      • (2)、Block 拆分
      • (3)、HOG计算流程
    • 3、SVM
    • 4、DPM 模型


前言

本文为8月20日计算机视觉理论学习笔记,分为三个章节:

  • 图像分割;
  • 人脸检测;
  • 行人检测。

一、图像分割

1、传统图像分割

(1)、基于阈值的分割方法

基于图像的灰度特征计算灰度阈值,将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。

1

(2)、基于边缘的分割方法

边缘:图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理、等特性的突变。

2

(3)、基于区域的分割方法

将图像按照相似性准则分成不同的区域。

  1. 区域生长法: 定义了最大像素灰度值距离,当待加入像素点的灰度值和已经分割好的区域所有像素点的平均灰度值的差的绝对值不大于最大像素灰度值距离时,该像素点加入到已经分割道德区域。相反,则区域生长算法停止。

3
2. 分水岭算法: 将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓。

4

(4)、基于图论的分割方法

首先将图像映射为带权无向图,图中每个节点对应于图像中的每个像素。每条边的权值表示相邻像素之间在灰度、颜色或纹理方面的非负相似度。

  1. Graph Cuts:
    • 第一种普通顶点对应于图像中的每个像素,每两个邻域顶点的连接就是一条边;
    • 两外两个终端顶点为:S(source:前景),T(sink:背景)。每个普通顶点和这2个终端顶点之间都有连接,组成第二种边;
    • Cuts 指这样一个边的集合,该集合中所有边的断开会导致残留S和T图的分开,即“割”;
    • 如果一个割,它的边的所有权值之和最小,那么就称为最小割,即图割的结果。

5
E ( A ) = λ ⋅ R ( A ) + B ( A ) R ( A ) = ∑ p ∈ p R p ( A p ) B ( A ) = ∑ { p , q } ∈ N B { p , q } ⋅ δ ( A p , A q ) δ ( A p , A q ) = { 1 i f A p ≠ A q 0 o t h e r w i s e E(A) = \lambda \cdot R(A) + B(A)\\ R(A) = \sum_{p\in \mathbb{p} } R_p(A_p)\\ B(A) = \sum_{\{p, q\}\in \mathbb{N} } B_{\{p, q\}}\cdot \delta (A_p, A_q)\\ \delta (A_p, A_q) = \left\{\begin{matrix} 1 \quad if A_p \ne A_q \\ 0 \quad otherwise \end{matrix}\right. E(A)=λR(A)+B(A)R(A)=ppRp(Ap)B(A)={p,q}NB{p,q}δ(Ap,Aq)δ(Ap,Aq)={1ifAp=Aq0otherwise

其中, R ( A ) R(A) R(A) 为区域项, B ( A ) B(A) B(A)为边界项。
R R R 是像素 p p p 分配标签 l p l_p lp 的惩罚:

  • 当像素 p p p 的灰度值是目标的概率大于是背景的概率,即 R P ( 1 ) R_P(1) RP(1) 小于 R P ( 0 ) R_P(0) RP(0),像素 p p p 更有可能属于目标,将 p p p 归类为目标就会使能量 R ( L ) R(L) R(L) 小;
  • B B B 是像素 p p p q q q 之间不连续的惩罚,如果 p p p q q q 越相似, B B B 越大,若他们非常不同, B B B 接近于 0.
  1. Grab Cuts
    用边界项体现邻域像素之间不连续的惩罚,如果两邻域像素差别很小,则属于同一个目标或同一背景的可能性很大,反之则可能是边缘。

6

  • K-means 算法流程:

    1. 选取 k 个类中心;
    2. 计算每个点与 k 个类中心的距离;
    3. 把数据点分配给距离最近的一个类中心;
    4. 计算新的类中心:对该类中所有点取均值;
    5. 迭代第 2 至第 4 步。
  • Grab Cuts 算法流程:

    1. 使用标记初始化颜色模型(K=5);
    2. 迭代进行 Graph Cut。

7


二、人脸检测

1、级联分类器

将多个强分类器连接在一起进行操作。每个强分类器都由若干个弱分类器加权组成。
8

  • 检测机制: 一幅图像中待检测的区域很多都是负样本,只有正样本才会送到下一个强分类器进行再次检验。

(1)、Boosting 分类器

9


三、行人检测

1、梯度

▽ f ( x , y ) = [ G x , G y ] T = [ ∂ f ∂ x ∂ f ∂ y ] T \bigtriangledown f(x, y) = [G_x, G_y]^T = [\frac{\partial f}{\partial x} \frac{\partial f}{\partial y} ]^T f(x,y)=[Gx,Gy]T=[xfyf]T

一组离散微分模板在将图像的梯度信息简单地计算出来:

{ G x ( x , y ) = H ( x + 1 , y ) − H ( x − 1 , y ) G y ( x , y ) = H ( x , y + 1 ) − H ( x , y − 1 ) \left\{\begin{matrix} G_x(x, y) = H(x+1, y) - H(x-1, y) \\ G_y(x, y) = H(x, y+1) - H(x, y-1) \end{matrix}\right. {Gx(x,y)=H(x+1,y)H(x1,y)Gy(x,y)=H(x,y+1)H(x,y1)

2、HOG 方向梯度直方图

(1)、梯度计算

  1. 分别计算水平、垂直梯度:
    • 梯度幅值、方向分别为: s = s x 2 + s y 2 s = \sqrt[]{s_x^2 + s_y^2} s=sx2+sy2 θ = a r c t a n ( s y s x ) \theta =arctan(\frac{s_y}{s_x}) θ=arctan(sxsy)
    • 对于彩色图,选取梯度幅值最大的通道。

(2)、Block 拆分

  1. Block:16×16,步长为8,50%重合;
  2. 包含 2×2 个 Cell;
  3. 每个 Cell 是 8×8.

10
11

(3)、HOG计算流程

  1. 计算 Cell 的梯度方向直方图:

    • 9 个方向 bin (0-180);
    • 积累梯度幅值;
    • 位置高斯加权;
    • 相邻 bin 使用线性插值。
  2. 串接所有 Block 直方图:

    • 64×128 图片;
    • 7×15 = 105 个 Block;
    • 105×(2×2)×9 = 3780 维。

12
13
3. 对比归一度:把各个 Cell 组合成空间上连通的区间 block,再归一。

行人的 HOG 特征如下:
14

3、SVM

正类和反类训练样本可用超平面完全正确地分开。

15

  • 约束极值问题:
    m i n 1 2 ∣ ∣ w ∣ ∣ 2 s t . y i ( w ⋅ x i + b ) ≥ 1 min\ \frac{1}{2}||w||^2\\ st. \quad y_i(w\cdot x_i + b)\ge 1 min 21∣∣w2st.yi(wxi+b)1

引入松弛变量 x x x 使得分类器在训练后仍可以存在一些错分样本,使得两类样本的间隔尽量大,同时使得错分的样本的松弛变量之和尽可能的小:

m i n 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i ξ i s t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i min\ \frac{1}{2}||w||^2 + C \sum_{i}\xi_i\\ st. \quad y_i(w\cdot x_i + b)\ge 1 - \xi_i min 21∣∣w2+Ciξist.yi(wxi+b)1ξi
其中, x x x 为松弛变量, x i ≥ 0 x_i \ge 0 xi0 C C C 为大于零的折衷因子,调和间隔距离和错分样本数之间的关系。

4、DPM 模型

包含一个 8×8 分辨率的跟滤波器(Root filter左),4×4 分辨率的组件滤波器(Part filter 中)。

16
17



http://chatgpt.dhexx.cn/article/IIIh8wM3.shtml

相关文章

智能反射面(IRS)在无线通信安全领域应用的论文复现

引言 Zhang Rui老师的将IRS引入无线通信安全的论文《Secure Wireless Communication via Intelligent Reflecting Surface》有较高的引用量,在此给出要论文的复现及代码。 主要问题 该论文的目的是引入IRS并联合优化基站的主动式波束和IRS的被动式波束&#xff0…

线性方程组6种数值解法的对比研究

线性方程组数值解法实验研究 一、实验目的 熟悉求解线性方程组的有关理论和方法;会编写Gauss消去法、LU分解法、Jacobi迭代法、Gauss-Seidel迭代法、超松弛(SOR)迭代法及共轭梯度法的程序;通过实际计算,进一步了解各种方法的优缺点&#xf…

高阶查找算法第二篇

目录 平衡二叉树AVLtree数据结构插入左旋右旋右左双旋左右双旋完整AVLTree插入代码如下 AVLTree的验证AVLTree删除【了解】AVLTree性能分析 红黑树红黑树性质RBTree数据结构插入情况一:cur为红,p为红,g为黑,u存在且为红情况二&…

基于有限体积法 (FVM) 和 SIMPLE 算法求解平行板之间层流的速度、压力和温度附 MATLAB 代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【论文笔记】AP聚类算法解读

文章目录 引子自己体会吸引信息更新公式归属信息更新公式松弛因子引入 缺点评估 论文原文 引子 网络上已经有很多关于AP算法的介绍了,托他们的福,我更快地理解了AP算法。但是感觉他们不说人话,只说了很抽象的概念,公式理解起来还…

r语言 支持向量机实现_支持向量机解密:R中的实现

r语言 支持向量机实现 Support Vector Machine, popularly abbreviated as SVM is a supervised learning algorithm used for both regression and classification but more commonly used for classification. SVMs have been shown to outperform well in a variety of sett…

2017华为软件精英挑战赛小结

// 2017华为软件精英挑战赛小结 // 不说废话&#xff0c;直接上货&#xff01;希望对目前的参赛者&#xff0c;或日后学习的人&#xff0c;提供一些参考和思路。 #include <赛题说明.pdf> // 见附录文件 赛题说明.pdf 或网址传送门&#xff1a;http://codecraft.hua…

19华为软件精英挑战赛止步复赛

2019年华为软件精英挑战赛&#xff0c;京津东北赛区初赛第13&#xff0c;复赛第18&#xff0c;呦车还没我跑的快。 历时一个多月的华为软件精英大赛落下帷幕&#xff0c;很遗憾的止步了三十二强&#xff0c;从初赛到复赛更改了大大小小的版本将近50多个&#xff0c;通过改进调度…

2021CCPC华为云挑战赛热身赛A题(思维)

题目链接 题意&#xff1a;简单来说必须立足于当前值等于A序列中的一个值才能去增加 【0&#xff0c;ki】范围内的值并且k- -。贪心的想法就是尽可能的让最终自己的数大&#xff0c;我们先从A序列中选一个最大的数且处于【0,m】以内&#xff0c;然后每次转移的时候判断a[i]-a[…

2018华为软件精英挑战赛-复赛赛题

以下描述部分主要是相对初赛赛题的变化点&#xff0c;其他描述和条件均一致&#xff1a; 通用性描述变化点&#xff1a; 物理服务器&#xff1a;为了满足不同虚拟机规格的需求&#xff0c;实际物理服务器规格也有多种&#xff0c;假设云平台共有三种类型的物理服务器&#xff0…

2017华为精英挑战赛总结

大赛官网&#xff1a;http://codecraft.huawei.com/ 赛题解读&#xff1a;http://mp.weixin.qq.com/s/on_l5Rc3Be-DjgUOXftaNw 赛题案例以及编译官方软件包&#xff1a;HUAWEI_Code_Craft_2017_初赛软件包(readme.txt中有详细介绍) 从2017.3.15到2017.4.6&#xff0c;花费三个…

2017华为精英挑战赛64强总结

比赛最后一周的时候每天到凌晨2-3点&#xff0c;最后通宵了一两次&#xff0c;提交大概100多版的版本&#xff0c;使用KWM网络流遗传算法&#xff0c;最终获得了西北赛区49名的成绩。 虽说不是很好&#xff0c;但对我来说是一份难得的经历&#xff0c;这里把比赛心得和体会总结…

华为2019挑战赛

华为软件精英挑战赛总结&#xff08;初赛&#xff09; 赛题&#xff1a; 评分标准&#xff1a; 思路&#xff1a;这是一个典型的动态负载均衡算法的设计&#xff0c;对于每一辆车来说&#xff0c;时间最短意味着路程最优&#xff0c;首先想到迪杰斯特拉来求出每一辆车的最优路径…

2017华为软件精英挑战赛总结

1.题目 本次赛题是一个视频服务器的CDN规划问题 赛题包_百度网盘 2.解题思 2.1 思路一 整数规划 主要是要把模型建出来 包含了 0-1变量->是否布置服务器 边变量-> 表示该边所跑的流量 用glpk试过,变量个数太庞大,内存都开不下,解的效果也不好,只能解很小…

2017华为软件精英挑战赛解分析

后经在复赛赛题上测试&#xff0c;效果并不好&#xff0c;只适合部分数据集&#xff0c;并且没有理论支持&#xff0c;放出来只为启发—— 以下方法初中级样例1s以内&#xff0c;高级样例10s内出最优解—— 不随机&#xff0c;无启发式&#xff0c;走优化的方法。采用反馈-迭代…

2021华为软件精英挑战赛(粤港澳赛区复赛第八)

一、序言 总结一下四月份参加的华为软挑赛&#xff0c;距离现在已经结束了四个多月&#xff0c;终于有时间抽空写写总结了&#xff08;小作文&#xff09;&#xff0c;我们是粤港澳赛区的620&619-F3队&#xff0c;第一次参加这次比赛&#xff0c;本想尝试一下&#xff0c;但…

css 给文字加下划线

css给文字加下划线 直接贴代码 span {cursor: pointer;&:hover {color: #40A9FF;text-decoration: underline;}}

Excel批量设置下划线

Excel批量设置下划线 目录 Excel批量设置下划线 1、框选需要设置的单元格内容&#xff0c;鼠标右键选择“设置单元格格式” 2、点击“自定义”在类型框中输入“ *_ ” 点击“确定”自动生成&#xff08;注意这个 *_符号需要将输入法切换为英文输入法&#xff09; 3、完成…

h5下划线怎么设置_怎么给文加下划线?

怎么给文本加下划线&#xff1f;下面本篇文章就给大家介绍一下HTML页面和word文档中给文本加下划线的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 HTML页面中给文本添加下划线 在HTML页面中怎么给文本添加下划线&#xff1f;…

latex输出下划线

第一种&#xff1a; 如果只是在作者的邮箱...输出下划线的话直接使用 \_ 就可以了 ma\_pengsen 输出结果&#xff1a; 第二种&#xff1a; 如果要在下划线上输出东西&#xff0c;那需要 \underline{XXXXXXX} ma\underline{ABCDEFG} 结果&#xff1a;