作者 | CV君

来源 | OpenCV中文网(ID: iopencv)

每一个学习OpenCV的人恐怕都被安利过跑一跑SIFT(Scale-invariant feature transform 尺度不变特征变换)图像特征匹配,即使图像有旋转、模糊、尺度的变化,即使使用不同的相机,即使图像拍摄的角度不同,SIFT总能检测到稳定的特征点,并建立对应关系。

原始的SIFT算法分特征点检测和描述两部分,特征点检测的核心是优美的DOG金字塔模型:

特征描述的核心则是梯度方向直方图:

SIFT首次出现是1999年,时至今日,SIFT 特征点检测依然是最好的局部特征检测方法之一(如果不考虑速度因素,CV君觉得这个“之一”是可以去掉的),而 SIFT 特征描述也在人工设计特征的时代启发了大量梯度方向直方图的特征。

SIFT 特征在图像拼接、图像检索、目标识别、目标检测、目标跟踪、增强现实、三维重建等几乎所有与识别、检测相关的计算机视觉领域得到应用,是深度学习时代之前,最著名的计算机视觉算法之一。

很长时间以来,SIFT在OpenCV的代码一直在Non-Free模块,因为他是有专利保护的,不能在商业场景随便使用。

SIFT算法由加拿大英属哥伦比亚大学教授David Lowe 于 1999 年发表于会议ICCV ,原论文Object recognition from local scale-invariant features ,David Lowe 是唯一作者。

David Lowe

而广为人知的被引用更多的是2004年发表于期刊IJCV的完善版 Distinctive image features from scale-invariant keypoints。

谷歌学术显示SIFT 2004‘ 已被引用55841次

David Lowe 教授是一个很有商业嗅觉的学者,发明了SIFT算法后发现这可是个好东西,赶紧申请了专利 US6711293B1。专利申请于2000年3月6日,专利权人为英属哥伦比亚大学。

到今年3月6日,已满20年,专利权已经到期!SIFT已经成为全人类的公共技术,任何人和组织都可以免费使用!

在今天,SIFT依然具有商业价值,这无疑是个好消息。

OpenCV官方今年也将把SIFT挪出Non-Free模块(不过CV君觉得OpenCV实现的SIFT很烂,强烈建议大家使用VLFeat里的SIFT)。

说到这里,CV君还想跟大家说下SIFT传奇的缔造者David Lowe教授。

1987年2015年 David Lowe 一直在英属哥伦比亚大学任教授,2009年到2015年他鼓捣了自己的一家公司Cloudburst Research,主要产品是一款图像拼接APP(AutoStitch)后被谷歌收购(谷歌难道缺少图像拼接业务吗?可能是致敬老爷子吧^_^),公司被收购后15年到18年在谷歌任高级研究科学家。目前是英属哥伦比亚大学的荣誉教授。

David Lowe 曾于2011年和2017年获得ICCV 的Helmholtz Prize,分别为表彰他的工作SIFT算法(Object Recognition from Local Scale-Invariant Features)和全景拼接算法(Recognising Panoramas),并与2015年获得PAMI Distinguished Researcher Award(与Yann LeCun一起)。

David Lowe 不是那种只知道写论文的教授,从谷歌学术上也可以看出相比很多著作等身的学者,他的论文并不很多,招的博士也不多,但他很关心技术的应用,甚至也亲自创建了一家公司,他的有影响的工作:

都进行了商业化(或者说是在实用场景中发明的)。上图的论文中,第一、第二篇是SIFT、第三篇是近似最近邻搜索算法FLANN(如今并入了OpenCV)、第四和第七篇研究图像拼接(与AutoStitch相关)。

下图为David Lowe 论文引用数直方图,可见每年都有近万的引用量,在2014年、2015年达到顶峰:

而14、15 、16年正是深度学习方兴未艾,RCNN(ECCV 2014)、Faster RCNN(NIPS 2015)、SSD(ECCV 2015)、YOLO(CVPR 2016)目标检测类算法群雄并起的时候。

SIFT是人工设计特征的一个巅峰,时代变了,虽然我们现在更崇尚GPU算力+深度学习,但传统特征中蕴含的思想仍然指导着CV领域的勇者们继续前行。

【end】◆有奖征文◆推荐阅读百万人学AI:CSDN重磅共建人工智能技术新生态如何更新你的机器学习模型?手把手带你设计一个可持续的预测模型!GitHub 标星 11000+,阿里开源的微服务组件如何连续 10 年扛住双十一大促?突破性能极限——阿里云神龙最新ASPLOS论文解读深度学习“三巨头”、图灵奖得主 Yann LeCun:我没有天赋,所以才追随聪明人区块链数据分析,让你看清交易对手你点的每个“在看”,我都认真当成了AI

一代传奇SIFT算法专利到期相关推荐

  1. 【OpenCV】2020年关于SIFT算法专利版权问题的解决办法

    前言 OpenCV 3.4之后因专利版权问题移除了SIFT/SURF的相关库,因此在使用较新版本的cv库时会报错 error: (-213:The function/feature is not im ...

  2. surf和sift算法被申请专利后部分opencv版本无法使用后的安装pycharm+opencv使用surf和sift算法教程

    安装pycharm+opencv教程使用surf和sift算法 surf和sift算法在pycharm中的问题 安装过程 使用的软件版本 安装步骤 一.pycharm的安装 二.尝试打开pycharm ...

  3. opencv imshow函数报cv::exception错误,以及sift算法的使用问题

    记录遇到的小问题 刚发布的就不见了,活生生的不见了,难道是我吐槽百度出来的博客很多都是抄的同一篇? 简略的描述一下问题(小白使用,大佬就不用看了) opencv版本:4.0.0,使用vs2015编译 ...

  4. 非常详细的sift算法原理解析

    尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 转自:http://blog.csdn.net/zddblog/ ...

  5. SIFT算法详解(二)

    目录(?)[-] 尺度不变特征变换匹配算法详解 Scale Invariant Feature TransformSIFT Just For Fun zdd  zddmailgmailcom SIFT ...

  6. 图像相似度算法--SIFT算法详解

    尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun zdd  zddmail@gmail.com or (zddhu ...

  7. 计算机视觉课程-SIFT算法特征检测

    计算机视觉课程作业-SIFT算法特征检测 1.实验内容 1.1实验目的: 采集两幅图像,要求有视角和比例变化,完成两幅图像的SIFT特征检测,并对实验结果进行比较分析. 实验的问题是将同一个物体或事物 ...

  8. SIFT算法基础数学

    尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 转自:http://blog.csdn.net/zddblog/ ...

  9. 图像局部特征(五)--斑点检测之SIFT算法原理总结

     尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun zdd  zddmail@gmail.com 对于初学者, ...

最新文章

  1. Dialog的使用(二):AlertDialog.setItems
  2. zookeeper 的安装配置及简单使用
  3. 软件工程--软件危机-生命周期-软件过程
  4. python多分支结构实例_JS优化多分支结构(经典)
  5. Java并发Semaphore信号量的学习
  6. C++学习 ---- 系列文章
  7. 19C新特性:Voting Disk管理
  8. 2021年最新的Java面试题,精选100题,大厂必备
  9. Java中split方法对结尾空字符串不正确处理的解决方案
  10. 解决方案架构师的职责
  11. 微信好友管理工具_助手_系统软件哪个最好?
  12. listview刷新
  13. 软件如何实现屏幕共享?
  14. 在linux系统上搭建测试环境
  15. Excel 函数 : 身份证号获取年纪等
  16. 小工程结算书范本_建筑工程结算书范本
  17. 广州天象网络技术有限公司分享在北上广月薪没过万是种怎样的体验
  18. iphone 热点 android,苹果手机的热点安卓机可以连接吗(图文)
  19. 【python】RuntimeError: Set changed size during iteration 问题解决
  20. 二维空间下的向量旋转

热门文章

  1. iphone阅读模式翻页_iphone6s阅读模式怎么关闭
  2. python-九九乘法表(矩形)
  3. 蓝色经典钢琴-Cinesamples Piano In Blue v2.3b Kontakt
  4. java中的for循环里面创建对象和for循环外面创建对象之间的区别
  5. 【信号系统实验2】MATLAB—连续时间信号与系统的频域分析
  6. 通过无线网络实现两台计算机共享打印机共享,教你两招实现无线网络共享打印机...
  7. 蓝牙心率检测仪涉及到的主要硬件组成
  8. 一代互联网人,知了天命后
  9. Invalid byte tag in constant pool: 18
  10. 第三次实验报告MapReduce