1.特征点检测与匹配

三维模型重建的流程:
三维点云获取——几何结构恢复——场景绘制
三维点云获取:
1.激光雷达
2.微软Kinect
有效距离比较短
3.单目多视角 :几乎很难实时
4.双目立体视觉

基于图像的三维模型重建:
1.输入图像
2.基于图像的点云生成
3.点云到模型的重建
4.纹理图像的创建与编辑
5.纹理模型



相关商业软件:
Acute3D,Altizure,Agisoft PhotoScan

图像特征点应用:
1.相机标定
2.图像拼接
3.稠密重建
4.场景理解

图像特征点的检测方法:

  1. 人工设计检测算法
  2. 基于深度学习的方法
  3. 场景中的人工标记点

图像特征点的基本要求:
1.差异性——可检测
特征点应该呈现出区别于非特征点的明显特征
2.重复性——可匹配
对应同一三维点的特征点应该在不同视角中被重复检测到

特征检测子(Feature Detector)

  1. Harris 角点检测
  2. 基于LoG的多尺度特征检测子//拉普拉斯的高斯
  3. 基于DoG的多尺度特征检测子//高斯差分的一种方法
  4. 快速特征点检测方法
特征点具有局部差异性

动机:特征点具有局部差异性
E(u,v) = \sum_{(x,y)}w(x,y){[I(x+u,y+v)-I(x,y)] }^2 \\ \approx \sum_{(x,y)}w(x,y){[I(x,y)+\frac{\partial{I}}{\partial{x}}(x,y)u+\frac{\partial{I}}{\partial{y}}(x,y)v-I(x,y)] }^2 \\= {\begin{bmatrix}u\\v \end{bmatrix}}^T {\begin{bmatrix}u\\v \end{bmatrix}}
图像梯度
\Delta I(x,y)= (\frac{\partial{I}}{\partial{x}}(x,y),\frac{\partial{I}}{\partial{y}}(x,y)
Harris矩阵
H = {\begin{bmatrix}\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}^2 &\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}){\frac{\partial{I}}{\partial{y}}(x,y)} \\\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}){\frac{\partial{I}}{\partial{y}}(x,y)} & \sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}^2 \end{bmatrix}}


以每个点为中心取一个窗口,窗口大小为55或者77,如果这个点具有差异性,往周围任意方向移动,周围的环境变化都是会比较大的,如果满足这个特性,我们就认为这个特征点具有明显的局部差异性。在工事中,I表示像素,如果是 彩色图像就是RGB,灰色图像就是灰度。(u,v)表示方向。然后对上式进行一阶泰勒展开。

Harris矩阵H的特征值分析:
SVD(H)=U \sum V,( \lambda _1, \lambda _2 ), \lambda _1 > \lambda_2
矩阵特征值反应了两个垂直方向的变化情况,一个事变化最快的方向,一个事变化最慢的方向


\lambda_1 \approx \lambda_2
兴趣点位于光滑区域,不是特征点
\lambda_1>0, \lambda_2 \approx 0
,兴趣点位于边缘区域,
\lambda_1,\lambda_2 >0
, 兴趣点位于角点区域
所以检测特征的任务转化为计算Harris矩阵,判断特征值大小。
在实际操作中,很少通过计算特征值来判断,因为计算特征值计算量比较大,取而代之的是Harris角点准则。

Harris角点准则

C = det(H)-ktrace(H)^2 = \lambda_1\lambda_2-k(\lambda_1+\lambda_2)^2,k=0.04
行列式值为特征值相乘,行列式的迹为特征值相加

  • K的值越小,检测子越敏感
  • 只有当\lambda_1\lambda_2同时取得最大值时,C才能取得较大值
  • 避免了特征值分解,提高计策计算效率
非极大值抑制

在特征点附近,其他点的响应也比较大。
所以选取局部响应最大值,避免重复检测

Harris 角点检测

算法流程

  1. 计算图像水平和垂直方向的梯度
    但是在计算梯度之前,需要对图像进行滤波,一般进行高斯平阀,避免出现变化剧烈的值
  2. 计算每个像素位置的Harris矩阵
  3. 每个角点的响应值
  4. 非极大值抑制


Harris角点检测一般用于快速检测,比如视频里面的跟踪

基于LoG的特征检测子

动机:Harris角点检测不具有尺度不变性
LoG算子:Lindeberg(1993)提出Laplacian of Gaussian
(LoG)函数的极值点对应着特征点
Lindeberg(1993)提出Laplacian of Gaussian
(LoG)函数的极值点对应着特征点
尺度空间:
对于一幅图像,用不同大小的滤波核进行滤波,一般用高斯滤波,得到一系列图像,这些图像就称之为尺度空间。然后把这些图像摞起来
L(x,y,\sigma_D) = I(x,y)*G(x,y,\sigma_D),\sigma_D \in\{ \sigma_0,k\sigma_0,k^2\sigma_0,...\}



尺度归一化LoG算子:

  • 不同尺度下的LoG响应值不具有可比性
  • 构建尺度空间,同时在位置空间和尺度空间寻找归一化LoG极值(极大值/极小值)点作为特征点

LoG特征检测算法流程


LoG特征检测效果好,但是计算量比较大。
工程中也很少用。为了更好地利用LoG的性质,提出了一种近似的算法:基于DoG的特征检测子

LoG可以由DoG近似:
Lowe(2004)提出LoG近似等价于相邻尺度的高斯差分(DoG)
高斯空间:
L(x, y, \sigma) =G(x, y,\sigma)
高斯差分(DoG)
D(x, y, \sigma) =(G(x, y,k\sigma)-G(x, y,k\sigma))*I(x,y) \\ =L(x, y, k\sigma) - L(x, y, \sigma)

尺度空间构建

上图为3个Octive,每个octive的尺寸都会减小一半。
上图每个Octive中,左侧为高斯空间,相邻高斯空间做差得到DoG空间
特征点检测为在三维空间上做一个极值的比较,(三维空间为图像的二维空间+尺度的空间),必须需要两个方向有极值。在高斯差分,边界上的两层是无效的,只有中间的红色区域是有效的。
在Octive,
if 每阶有效差分数 S =3,则高斯空间层数为N = S+3

特征点位置确定:
在位置和尺度空间组成的三维空间中寻找极值点



亚像素特征点位置确定:



除去边缘点:
DoG在边缘处值较大,需要避免检测到边缘点

\frac{trace(H)}{Det(H)}= \frac{\lambda_1^2+\lambda_2^2}{\lambda_1\lambda_2} =<\frac{{(r+1)}^2}{r}, r =10

计算主方向

通过统计梯度直方图的方法确定主方向,使算法具有旋转不变性




旋转 不变性、 尺度 不变性 、亮度 变化 不变性 ,对视角变化、 仿射 变换有一定程度的稳性
SIFT特征点非常稳定和鲁棒,但是计算量很大,对于要求稳定的图像建模可以采用。
针对实时要求比较高的应用提出了快速特征检测。

快速特征检测

FAST特征点(Feature from Accelerated Segment Test)
通过检测局部像素灰度变化来确认特征点的位置




速度快,SIFT的一百倍,不具有尺度和旋转不变性

Oriented FAST(ORB)
  • 为了获取尺度不变性
    构建图像金字塔,在金字塔每一层上上检测关键点。
  • 获取旋转不变性
    通过灰度质心法(Intensity Centroid)确定图像主方向

特征描述子(Feature Descriptor)

基于直方图的描述子
基于不变性的描述子
二进制描述子

  • 每个特征点独特的身份认证
  • 同一空间点在不同视角的特征点具有高度相似的描述子
  • 不同特征点的描述子差异性尽量大
  • 通常描述子是一个具有固定长度的向量(可以理解为一个特征)
特征支持区域:

以特征点为中心取一块区域,有圆形或者矩形,称之为特征支持区域
主方向:进行旋转并重新插值
特征尺度:影响支持区域的大小


基于直方图的描述子

用于微小运动的描述子
以特征点为中心的矩形区域内所有
像素的灰度值作为描述子,拉成一个向量,计算向量间距离
E_{SSD} = \sum_{i=1}^{N}\sum_{j=1}^{N}{|| I_1(x,y)-I_2(x,y) ||}^2
适用于微小变化的图像
对图像存在明显的旋转、尺度、光照和透视变换时不稳定

SIFT描述子--旋转主方向

根据主方向对支持区域进行旋转,并通过双线性插值重构
I = \frac{I-u}{s} 减去均值再除以方差
图像归一化处理,去除光照变化


过程:
1.统计局部梯度信息
将区域划分成44的block
每个 block 内统计梯度方向 的直方图 (高斯加权梯度 作为系数 )
高斯加权保证距离特征点近的像素作用更大,梯度直方图计算8个方向

每个block,统计8个方向的直方图,将16个block拉成一列,那就是16
8 = 128
SIFT描述子——生成描述子

SIFT描述子——归一化处理

  • 门限处理—直方图每个方向的梯度幅值不超过0.2
  • 描述子长度归一化
    归一化处理提升了特征点光度变化的不变性
    SIFT描述子变种:PCA-SIFT/SURF
二进制描述子

描述子形式:
描述向量由N个0或者1组成
N= 128,256,512
生成速度快,匹配效率高,不具有旋转不变性


为了使其具有旋转不变性
N对采样点
S= \begin{bmatrix}x_1 &...&x_n \\y_1&...&y_n \end{bmatrix}

根据特征点的主方向计算旋转
S_\theta = R_\theta S

在新的采样点上进行BRIEF描述子生成

特征匹配

  • 距离度量
  • 匹配策略
  • 高效匹配
  • 特征匹配验证
    问题描述:
    计算两幅图中特征描述子的匹配关系
距离度量

匹配策略

最近邻搜索
b^*=arg\ min_{b\in B}D(a,b),D(a,b^*) < \beta
最近邻距离比(lowe-ratio)
\frac{D(a,b^*)}{D(a,b^{**})} < \alpha
最近邻距离和次近邻距离比小于一定值

高效匹配

快速最近邻搜索
哈希表
多维Kd-tree

特征匹配

BFM(Bruce Force Mather)匹配ORB的结果


选择最好的 50 个匹配结果进行显示

错误的匹配可以通过估计相机模型方式去除
估计 Homography Homography 矩阵之前最好的 50 对匹配对

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容