基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)
Corner Feature Detector(Intensity-Based)
基于光强比较的角点检测,直接比较光强(像素灰度值),而不计算梯度。所以实时性更好,所需的存储空间更小。
SUSAN 角点检测
SUSAN 全称Smallest univalue segment assimilating nucleus,最小核同值区。提出者Smith与Brady, 1997.
SUSAN 使用一个圆形模板和一个圆的中心点,通过圆的中心点象素值与模板圆内其他象素值的比较,统计出与圆中心点象素值近似的象素数量,当这样的象素数量小于某一阈值时,则该圆中心点就被认为是角点。
- 圆形模板:通常是半径为3.5,37个像素的圆形
- 圆形模板中心点:圆心位置的像素
- 最小核同值区:像素值与圆心位置像素值接近的区域和(颜色接近的区域)
有两种划分(了解):
平滑划分:c(r⃗,r⃗0)=e−(I(r)−I(r0)t)6c\left(\vec{r}, \vec{r}_{0}\right)=e^{-\left(\frac{I(r)-I\left(r_{0}\right)}{t}\right)^{6}}c(r,r0)=e−(tI(r)−I(r0))6
直接划分:c(r⃗,r⃗0)={1if ∣I(r⃗)−I(r⃗0)∣≤t0if ∣I(r⃗)−I(r⃗0)∣>tc\left(\vec{r}, \vec{r}_{0}\right)=\left\{\begin{array}{ll}1 & \text { if }\left|I(\vec{r})-I\left(\vec{r}_{0}\right)\right| \leq t \\ 0 & \text { if }\left|I(\vec{r})-I\left(\vec{r}_{0}\right)\right|>t\end{array}\right.c(r,r0)={10 if ∣I(r)−I(r0)∣≤t if ∣I(r)−I(r0)∣>t
像素个数:n(x0,y0)=∑(x,y)≠(x0,y0)c(x,y)n\left(x_{0}, y_{0}\right)=\sum_{(x, y) \neq\left(x_{0}, y_{0}\right)} c(x, y)n(x0,y0)=∑(x,y)=(x0,y0)c(x,y)
像素个数与阈值ggg进行比较,以此判断角点。
R(r⃗0)={g−n(r⃗0)n(r⃗0)<g0otherwise R\left(\vec{r}_{0}\right)=\left\{\begin{array}{cc} g-n\left(\vec{r}_{0}\right) & n\left(\vec{r}_{0}\right)<g \\ 0 & \text { otherwise } \end{array}\right. R(r0)={g−n(r0)0n(r0)<g otherwise
FAST 角点检测
实时性好,不具有旋转不变性。
主要思想:比较中心像素与圆内(这里的圆内指的是圆边经过的像素)16个像素,如果圆内存在n个相邻的像素块都比中心像素的亮度IpI_pIp加上一个阈值ttt亮,或者都比Ip−tI_p - tIp−t暗,则就判断其为角点。n通常选择为12. FAST uses binary comparison with each pixel along a circle pattern against the central pixel。
算法描述:
- 以候选的像素角点为中心,画一个半径为3的圆,这样圆上就会有16个像素块。
- 比较pixel 1、pixel 9与中心像素的亮度值。如果它们距离IpI_pIp都在ppp的阈值内,即比Ip+tI_p + tIp+t亮或比Ip−tI_p - tIp−t暗,则该像素ppp不可能是角点。
- 如果未能排除角点可能性,则判断pixel 5、pixel 13(可以观察到5、13是正交于1和9的)。如果ppp是角点,那么在1,9,5,13中至少有3个像素全部比Ip+tI_p + tIp+t亮或全部比Ip−tI_p - tIp−t暗。如果未满足该条件,则像素ppp不可能是角点。
- 若还不能排除角点的可能性,则对所有16个像素块进行测试。判断n与12的大小。
在SUSAN上进行了改进,FAST效率极高,具有高重复性。但仍然存在一些问题:
- 如果圆环上的16个像素,一半明显比中心暗,一半明显比中心亮,则也有可能是角点。但会被FAST拒绝。
- 检测器的相率取决于像素点判断的顺序,无法保证最优。
- 相邻的几个特征像素点容易被重复检测为角点(可以使用非极大值抑制)。
FAST-ER 角点检测
FAST-ER,Rosten 2010年提出的对FAST算法的改进。
主要改进在于:使用ID3决策树策略对FAST进行了加速,使得其更快。
关于ID3决策树,可以参考:https://blog.csdn.net/weixin_43977640/article/details/114336485
每个像素点xxx都能将全部像素构成的集合PPP分为三个集合Pd,Pb,PsP_d, P_b, P_sPd,Pb,Ps,即比Ip−tI_p-tIp−t暗,比Ip+tI_p+tIp+t亮,与之类似。这样就可以根据像素点xxx来对决策树进行进一步的划分。
一个任意的角点集合的信息熵:
H(Q)=(c+cˉ)log2(c+cˉ)−clog2c−cˉlog2cˉH(Q)=(c+\bar{c}) \log _{2}(c+\bar{c})-c \log _{2} c-\bar{c} \log _{2} \bar{c} H(Q)=(c+cˉ)log2(c+cˉ)−clog2c−cˉlog2cˉ
ccc是集合中的角点数量,cˉ\bar ccˉ是集合中的非角点数量。就是传统的信息熵计算方法。只不过把概率拆开写了。
而依据xxx会将训练集中的全部像素构成的集合划分为三个子集,作者规定他们的贡献度都一样,所以xxx的信息增益:
Hg=H(P)−H(Pd)−H(Ps)−H(Pb)H_{g}=H(P)-H\left(P_{d}\right)-H\left(P_{s}\right)-H\left(P_{b}\right) Hg=H(P)−H(Pd)−H(Ps)−H(Pb)
计算周围16个像素点的信息增益,选择增益最大的xxx,然后进一步递归构建决策树,直到递归结束。
这样构建出来的决策树可以正确分类训练集中的所有角点,因此非常近似地体现了FAST角点检测器的规则。
基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)相关推荐
- fast角点检测 java_米联客 ZYNQ/SOC 精品教程 S04-CH11 快速角点检测之硬件实现
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...
- OpenCV——角点检测原理分析(Harris,Shi-Tomasi、亚像素级角点检测)
一.角点(corner) 角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界.角点检测(Corner Detection)是计算机视觉系统中获取图像特征的一种方法 ...
- MATLAB图像处理---计算角点算法SUSAN算子
一.相关理论 SUSAN的全名是:(Smallest Univalue Segment Assimilating Nucleus).它是一种很有特色高效的边缘和角点检测算子,它不仅可以检测图像目标的边 ...
- FAST角点检测算法(二)- 非极大值抑制筛选fast特征点
FAST角点检测算法(二)- 非极大值抑制筛选fast特征点 author@jason_ql(lql0716) http://blog.csdn.net/lql0716 fast角点检测算法参考文章& ...
- 一种基于光强传输方程的散射成像相位恢复仿真研究
目录 一.前言 二.基于光强传输方程的散斑相位恢复仿真实例 2.1 基于双平面的光强轴向微分估计 2.2 基于多平面的光强轴向微分估计 参考文献 一.前言 当光线经过云雾.烟尘等散射介质时,会引起光子 ...
- CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测
CV之MobiLenet:基于openpose利用CMU/MobilenetV2算法实现对多人体姿态(2019湖人勒布朗詹姆斯扣篮)实时估计检测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 ...
- 基于高斯核密度估计的背景建模和改进的五帧帧差法相融合的运动目标检测算法
上篇文章所指定的是对一个不包含动态背景的监控视频进行前景提取,用基于改进的五帧帧差和混合高斯模型相融合的前景提取算法是可以很好实现前景提取的.但本文中要求在包含动态背景的监控视频提取前景目标,虽然上篇 ...
- 文本检测大满贯!自适应文本区域表示改进形状任意的文本检测
点击我爱计算机视觉标星,更快获取CVML新技术 今天跟大家分享一篇CVPR 2019 文本检测的论文,其要解决的问题是任意形状的文本检测,难能可贵的是,该算法在多个文本检测数据集上达到了SOTA,非常 ...
- 最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型
仅单尺度测试,在COCO上最高可高达56.4 mAP!超越现所有网络,如ScaledYOLOv4.GFLV2等,其中一个版本,49.2 mAP/33FPS!代码刚刚开源! 作者单位:UT Austin ...
最新文章
- 中国挪动批改KPI查核制度将器重客户满意度
- 旺铺免费,淘宝的义务不能免
- Coding4Fun Toolkit支持本地化解决办法
- android获取string.xml的值(转)
- [POI2008] Poc (原名 Trians) Treap+Hash
- 发票二维码扫描增强_03_图像预处理_01_图像切片
- 记一次win10下pycharm用tensorboard可视化不显示的问题解决
- Firefox下强制页面缓存失效的设置方法
- 阿里云获全球第一张云安全国际认证金牌
- 【图像隐写】基于matlab GUI LSB图像隐写【含Matlab源码 713期】
- 机器学习数学基础--偏导数
- Mixly遥控调光器
- 数据的存储和管理,主要有哪些好的方法?
- 伦敦时间现在几点_英国伦敦时间现在几点钟(英国时差和中国差几个小时)
- 面经_京东广告部_实习_广告推荐_I面_20191105
- html2canvas文字消失,html2canvas截图丢失部分元素
- This may be due to a lack of SYSV IPC support
- 如何提高个人执行力?
- evernote印象笔记导出的enex文件转换markdown文档
- 推荐 :数据科学与大数据技术专业特色课程研究
热门文章
- 如何word删除分隔符
- ListBox之随手放个控件
- 做前端性能优化,还不知道什么是Preload、Prefetch、Preconnect、Prerendering,你就out了?
- 探索HTTP传输中gzip压缩的秘密
- SpringBoot 计划任务
- DreamFactory 第8章 保护您的DreamFactory环境
- ORA-00376: file X cannot be read at this time 问题解决
- win10 mysql5.7.11_Windows10安装与配置MySQL-5.7.11
- iOS开发用如何用类quot;SKStoreProductViewControllerquot;跳转AppStore点赞评分?
- 【JAVA 第三章 流程控制语句】课后习题 输出正整数的顺序相反数