UCAS - AI学院 - 计算机视觉专项课 - 第8讲 - 课程笔记

运动分析

  • 运动分析:在不需要人为干预 的情况下,综合利用计算机视觉、模式识别、图像处理、 人工智能等知识对图像序列进行自动分析,实现对动态场景中人的定位、跟踪和识别,并在此基础上分析和判断人的行为

  • 技术路线

    UCAS - AI学院 - 计算机视觉专项课 - 第8讲 - 课程笔记

运动检测

  • 运动检测:将运动前景从图像序列中提取出来,背景与运动前景分离

  • 重要性:目标跟踪、运动表述和行为理解的基础

  • 难点:外界因素以及背景物体内在因素的影响(背景通常也会动态变化)

  • 两种思路

    • 直接利用前景所持有的信息检测前景(动态背景)
    • 先得到背景图像,然后将输入减去背景得到前景(固定背景)
  • 常规方法

    • 背景差法
    • 光流
    • 帧间差分
  • 背景差法

    • 原理:计算当前图像与背景图像的逐象素灰度差,设置阈值来确定运动前景区域——背景图像?

    • 已知背景的情形——均值图像

      • 均值图像:若干背景图像的逐点灰度均值
      • 削弱连续帧同义内容仍然存在灰度差异的情况
    • 单高斯模型

      • 各像素用 高斯分布来描述其在不同时刻的灰度分布情况
      • 所需假设:背景在图像序列中总是最经常被观测到
      • 不足:背景往往不是绝对静止的
    • 混合高斯模型

      • 采用 混合高斯分布来描述每个象素在不同时刻的灰度分布情况

      • 所需假设:背景在图像序列中总是最经常被观测到

      • 每个像素的高斯分布为KK个(常取3~7个),像素zuvz_{uv}的概率函数为P(zuv)=jKωj,uvN(zuvμj,uv,Σj,uv)P(z_{uv}) = \sum_j^K \omega_{j, uv} N(z_{uv} | \mu_{j, uv}, \Sigma_{j, uv})

      • 其中ωj,uv\omega_{j, uv}为权重,分量N(zμ,Σ)=1(2π)n/2Σ1/2exp(12(zμ)Σ1(zμ))N(z | \mu, \Sigma) = \frac 1 {(2 \pi)^{n / 2} \Sigma^{1 / 2}} \exp(-\frac 12(z - \mu)^\top \Sigma^{-1} (z - \mu))

      • 模型建立流程图(针对图像固定位置建模)

        UCAS - AI学院 - 计算机视觉专项课 - 第8讲 - 课程笔记

    • 混合高斯背景建模

      1. 初始化:第一幅图像该点的像素值作为均值,给定一个较大的方差和较小的权值
      2. 模型学习
        • ωj,w,t=(1α)ωj,w,t1+α(Mj,w,t1)\omega_{j, w, t} = (1 - \alpha) \omega_{j, w, t - 1} + \alpha (M_{j, w, t - 1})Mj,w,t1M_{j, w, t - 1}为0-1函数
        • μj,w,t=(1ρ)μj,w,t1+ρzj,w,t\mu_{j, w, t} = (1 - \rho) \mu_{j, w, t - 1} + \rho z_{j, w, t}
        • σj,w,t2=(1ρ)σj,w,t12+ρ(zj,w,tμj,w,t)(zj,w,tμj,w,t)\sigma^2_{j, w, t} = (1 - \rho) \sigma^2_{j, w, t - 1} + \rho(z_{j, w, t} - \mu_{j, w, t})^\top (z_{j, w, t} - \mu_{j, w, t})
        • μ=αN(zj,w,tμj,w,t,Σj,w,t)\mu = \alpha N(z_{j, w, t} | \mu_{j, w, t}, \Sigma_{j, w, t})
      3. 定义优先级
        • 为了排除前景及其噪声产生的高斯模型
        • pj,uv=ωj,uv/σj,uvp_{j, uv} = \omega_{j, uv} / \sigma_{j, uv}
        • 由于前景和噪声不会一直存在于同一个位置,那么取BB个背景模型
        • B=minb(jbwj,uv>M)B = \min_b (\sum_j^b w_{j, uv} > M)MM为预设阈值
        • 如果MM较小,则为单高斯模型
      4. 前景检测
        1. 待测图像的各像素点与对应混合高斯模型中各分量比较
        2. 若有zμj,uv<aσ|z - \mu_{j, uv}| \lt a\sigmaaa为常数),则属于背景
        3. 否则属于前景
  • 光流

    • 光流
      • 空间运动物体在观测成像面上的像素运动的瞬时速度
      • 利用图像序列中像素强度数据的时域变化和相关性来确定各像素位置的“运动”
    • 光流 vs. 点的实际运动
      • 运动场:一个运动物体在空间产生一个三维的速度场,运动前后空间对应点在图象上的投影形成一个二维运动场
      • 光流场:图像亮度模式的表观(或视在)运动,是二维矢量场,包含各像点的瞬时运动速度矢量信息
    • 研究动机:计算光流场可以从图像中近似计算不能直接得到的运动场
    • 光流约束方程
      • 光流一致性假设I(x+uΔt,y+vΔt,t+Δt)=I(x,y,t)I(x + u \Delta t, y + v \Delta t, t + \Delta t) = I(x, y, t)
      • 泰勒级数展开KaTeX parse error: Undefined control sequence: \part at position 8: \frac {\̲p̲a̲r̲t̲ ̲I}{\part x}\fra…
      • 对光流约束方程简记Ixu+Iyv+It=0I_x u + I_y v + I_t = 0
    • 一个方程难以完整估计运动,如何建立更多方程?
    • 五种计算方法
      • 基于梯度的方法
      • 基于匹配的方法
      • 基于能量的方法
      • 基于相位的方法
      • 神经动力学方法
    • 基于梯度的方法——Lucas-Kanade方法
      • 附加约束:假设光流场是局部光滑的
      • Lucas—Kanade方法约束:每个像素邻域内像素具有相对速度
      • E(u,v)=(x,y)Ω(Ix(x,y)u+Iy(x,y)v+It)2E(u, v) = \sum_{(x, y) \in \Omega} (I_x(x, y)u + I_y (x, y) v + I_t)^2
      • 能量稳定——梯度为零,解法P40~P41
    • 前景检测:有明显光流向量的点
    • Pros:直观的运动表述、不易受运动物体外表干扰
    • Cons:计算量大,易产生较大噪声
  • 帧间差分

    • 原理:相邻两帧(也可以为多帧)间计算逐像素灰度差,并通过设置阈值确定对应运动前景的像素
    • 数学表述
      • 差分图Dn(i,j)=In(i,j)In1(i,j)D_n(i, j) = |I_n(i, j) - I_{n - 1}(i, j)|
      • 前景区域由差值的阈值大小确定
    • 扩展:三帧差分,差分图构造略有不同Dn(i,j)=In1(i,j)In(i,j)×In(i,j)In+1(i,j)D_n(i, j) = |I_{n - 1}(i, j) - I_{n}(i, j)| \times |I_{n}(i, j) - I_{n + 1}(i, j)|
    • Pros:适用于动态变化的背景环境
    • Cons:较难检测运动速度过快、过慢或者多个运动物体

目标检测

  • 自动确定目标在图像中的位置和类别
  • Adaboost:就是根据已有的样本,融合多个弱分类器形成一个强分类器,以提高整体分类准确率
    • 问题
      • 如何处理训练样本
        • 每个样本都被赋予一个权重
        • 未正确分类,权重就会被提高
        • 将注意力更多地放在“难分”的样本上
      • 如何合并弱分类器
        • 线性加权
        • 准确率越高的弱学习机权重越高
    • 算法:P68 / P71
  • DNN物体检测
    • RCNN
      • 2-stage
      • 图像RoI抽取 + RoI内容CNN分类
      • SVM类别分类+Bbox回归
      • 区域抽取:纹理、颜色、边缘
      • CNN:特征提取,使用SVM进行类别分类,边界框回归
      • 区域约束:IoU + 非极大值抑制
    • YOLO
      • 将检测框架问题设计为回归问题
      • 图像划分网格,每个小格预测特定个数包围框
      • 每个区域一个tensor,用于回归表示包围框和预测类别
      • 联合训练:检测集 + 分类集,前者计算完整loss,后者只计算分类loss