如果你学习SIFI得目的是为了做检索,也许 OpenSSE 更适合你,欢迎使用。
在2004年,不列颠哥伦比亚大学的D.Lowe的论文《尺度不变关键点中的独特图像特征》中提出了一种新的尺度不变特征变换(SIFT)算法,该算法提取关键点并计算其描述符。回顾一下SIFT算法的计算步骤,主要包括四个步骤。
计算机视觉中的特征点提取算法比较多,但SIFT除了计算比较耗时以外,其他方面的优点让其成为特征点提取算法中的一颗璀璨的明珠。SIFT算法的介绍网上有很多比较好的博客和文章,我在学习这个算法的过程中也参看网上好些资料,即使评价比较高的文章,作者在文章中对有些比较重要的细节、公式来历没有提及,可能写博客的人自己明白,也觉得简单,因此就忽略了这些问题,但是对刚入门的人来说,看这些东西,想搞清楚这些是怎么来的还是比较费时费力的。比如SIFT算法中一个重要的操作:求取描述子的主方向。好多文章只是一提而过或忽略,然后直接给出一个公式,SIFT算法的原作者也提使用抛物线插值,但是具体怎么插的就不太详尽了,对于初学者来说更是不知所云。因此本文打算在参看的文章上对有关这些细节给出一些比较详细的说明,还有本文尽量对操作过程配备对应图片或示意图说明,同时附上robwhesss开源SIFT C代码对应程序块并给予注解,方便理解。
三维模型重建的流程: 三维点云获取——几何结构恢复——场景绘制 三维点云获取: 1.激光雷达 2.微软Kinect 有效距离比较短 3.单目多视角 :几乎很难实时 4.双目立体视觉
SIFT特征是非常稳定的图像特征,在图像搜索、特征匹配、图像分类检测等方面应用十分广泛,但是它的缺点也是非常明显,就是计算量比较大,很难实时,所以对一些实时要求比较高的常见SIFT算法还是无法适用。如今SIFT算法在深度学习特征提取与分类检测网络大行其道的背景下,已经越来越有鸡肋的感觉,但是它本身的算法知识还是很值得我们学习,对我们也有很多有益的启示,本质上SIFT算法是很多常见算法的组合与巧妙衔接,这个思路对我们自己处理问题可以带来很多有益的帮助。特别是SIFT特征涉及到尺度空间不变性与旋转不变性特征,是我们传统图像特征工程的两大利器,可以扩展与应用到很多图像特征提取的算法当中,比如SURF、HOG、HAAR、LBP等。夸张一点的说SIFT算法涵盖了图像特征提取必备的精髓思想,从特征点的检测到描述子生成,完成了对图像的准确描述,早期的ImageNet比赛中,很多图像分类算法都是以SIFT与HOG特征为基础,所有SIFT算法还是值得认真详细解读一番的。SIFT特征提取归纳起来SIFT特征提取主要有如下几步:
在计算机视觉中,图像特征是指从图像中提取出的一些有意义的信息,如边缘、角点、颜色等。通过对图像特征的提取,可以将图像转换为可处理的数字形式,从而使计算机能够理解和处理图像。
一. SIFT简介 1.1 算法提出的背景: 成像匹配的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的像相对应。传统的匹配算法往往是直接提取角点或边缘,对环境的适应能力较差,急需提出一种鲁棒性强、能够适应不同光照、不同位姿等情况下能够有效识别目标的方法。1999年British Columbia大学大卫.劳伊( David G.Lowe)教授总结了现有的基于不变量技术的特征检测方法,并正式提出了一种基于尺度空间的、对图像缩放、旋转甚至仿射变换保持不变性的图像局部特征描述算子-SI
本文详细论述了四个特征点检测算法:Harris, SIFT,SURF以及ORB的思路步骤以及特点,分析了它们的局限性,并对几个重要问题进行了探讨。
粒子群算法的发展过程。粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性.由于PSO操作简单、收敛速度快,因此在函数优化、 图像处理、大地测量等众多领域都得到了广泛的应用. 随着应用范围的扩大,PSO算法存在早熟收敛、维数灾难、易于陷入局部极值等问题需要解决,主要有以下几种发展方向。
毕设要做图像配准,计划使用KAZE特征进行特征点的检测,以下是我对KAZE算法原理的理解,有什么不对的地方,希望提出来大家相互讨论学习。 一、KAZE算法的由来 KAZE算法是由法国学者在在2012年的ECCV会议中提出的,是一种比SIFT更稳定的特征检测算法。KAZE的取名是为了纪念尺度空间分析的开创者—日本学者Iijima。KAZE在日语中是‘风’的谐音,寓意是就像风的形成是空气在空间中非线性的流动过程一样,KAZE特征检测是在图像域中进行非线性扩散处理的过程。 KAZE算法的原英文文献《KAZE Features》的地址为:https://link.springer.com/chapter/10.1007/978-3-642-33783-3_16 二、KAZE算法的原理 SITF、SURF算法是通过线性尺度空间,在线性尺度空间来检测特征点的,容易造成边界模糊和细节丢失;而KAZE算法是通过构造非线性尺度空间,并在非线性尺度空间来检测特征点,保留了更多的图像细节。KAZE算法主要包括以下步骤: (1)非线性尺度空间的构建; (2)特征点的检测与精确定位; (3)特征点主方向的确定; (4)特征描述子的生成。 下面详细讲述每一步的具体过程。 1.非线性尺度空间的构建 KAZE算法作者通过非线性扩散滤波和加性算子分裂(AOS)算法来构造非线性尺度空间。在此有必要了解下非线性扩散滤波和AOS算法。 (1) 非线性扩散滤波 非线性扩散滤波方法是将图像亮度(L)在不同尺度上的变化视为某种形式的流动函数的散度,可以通过非线性偏微分方程来描述:
OpenCV在TEXT扩展模块中支持场景文字识别,最早的场景文字检测是基于级联检测器实现,OpenCV中早期的场景文字检测是基于极值区域文本定位与识别、最新的OpenCV3.4.x之后的版本添加了卷积神经网络实现场景文字检测,后者的准确性与稳定性比前者有了很大的改观,不再是鸡肋算法,是可以应用到实际场景中的。值得一提的是基于CNN实现场景文字检测算法OpenCV中采用了是华中科技大学贡献的模型,模型结构如下:
关键点是由DOG空间的局部极值点组成的,关键点的初步探查是通过同一组内各DoG相邻两层图像之间比较完成的。为了寻找DoG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如图下图所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。
EVT:Extreme Value Theory;预测小概率时间发生的可能,如大洪水,评估海事安全等。
神经网络优化 说一个近年来神经网络方面澄清的一个误解。 BP算法自八十年代发明以来,一直是神经网络优化的最基本的方法。神经网络普遍都是很难优化的,尤其是当中间隐含层神经元的个数较多或者隐含层层数较多的时候。长期以来,人们普遍认为,这是因为较大的神经网络中包含很多局部极小值(local minima),使得算法容易陷入到其中某些点。这种看法持续二三十年,至少数万篇论文中持有这种说法。举个例子,如著名的Ackley函数 。对于基于梯度的算法,一旦陷入到其中某一个局部极值,就很难跳出来了。(图片来自网络,压缩有
免疫算法是受生物免疫系统的启发而推出的一种新型的智能搜索算法。它是一种确定性和随机性选择相结合并具有“勘探”与“开采”能力的启发式随机搜索算法。免疫算法将优化问题中待优化的问题对应免疫应答中的抗原,可行解对应抗体(B细胞),可行解质量对应免疫细胞与抗原的亲和度。如此则可以将优化问题的寻优过程与生物免疫系统识别抗原并实现抗体进化的过程对应起来,将生物免疫应答中的进化过程抽象成数学上的进化寻优过程,形成一种智能优化算法。它具有一般免疫系统的特征,采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解。相对于其他算法,免疫算法利用自身产生多样性和维持机制的特点,保证了种群的多样性,克服了一般寻优过程(特别是多峰值的寻优过程)的不可避免的“早熟”问题,可以求得全局最优解。免疫算法具有自适应性、随机性、并行性、全局收敛性、种群多样性等优点。 1.2 算法操作步骤 (1)首先进行抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。 (2)然后初始化抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。 (3)对种群中的每一个可行解进行亲和度评价。(记忆单元的更新:将与抗原亲和性高的抗体加入到记忆单元,并用新加入的抗体取代与其亲和性最高的原有抗体(抗体和抗体的亲和性计算)) (4)判断是否满足算法终止条件;如果满足条件则终止算法寻优过程,输出计算结果;否则继续寻优运算。 (5)计算抗体浓度和激励度。(促进和抑制抗体的产生:计算每个抗体的期望值,抑制期望值低于阈值的抗体;可以知道与抗原间具有的亲和力越高,该抗体的克隆数目越高,其变异率也越低) (6)进行免疫处理,包括免疫选择、克隆、变异和克隆抑制。 免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化; 克隆:对活化的抗体进行克隆复制,得到若干副本; 变异:对克隆得到的副本进行变异操作,使其发生亲和度突变; 克隆抑制:对变异结果进行再选择,抑制亲和度低的抗体,保留亲和度高的变异结果。 (7)种群刷新,以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代抗体,转步骤(3)。 免疫算法运算流程图
粒子群算法的发展过程。粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。由于PSO操作简单、收敛速度快,因此在函数优化、 图像处理、大地测量等众多领域都得到了广泛的应用。 随着应用范围的扩大,PSO算法存在早熟收敛、维数灾难、易于陷入局部极值等问题需要解决,主要有以下几种发展方向。
今天是梯度下降的最后一篇,我们来聊聊梯度下降算法的两个优化——随机梯度下降和批量梯度下降。
运动控制是指“控制移动”之意。其代表可以举出利用各种电机进行位置控制等。电能附加给电机,使电机工作,转换为动能。这项技术作为机床、机械手控制、半导体制造装置、注塑成型机、数字家电检查装置等的核心,发挥着巨大的作用,在这一领域的设备投资近年来大幅增长。
在人机交互方面,大多人想到的都是语音交互,毕竟这是人类之间运用率最高的交流方式,且语音识别、自然语言理解等技术目前也发展的相当不错。 但是,我们也不得不忽视这样一个事实:我们每天都被文字所包围,像每天
SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,详细解析如下: 算法描述 SIFT特征不只具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果。整个算法分为以下几个部分: 1. 构建尺度空间 这是一个初始化操作,尺度空间理论目的是模
假设在一个 D 维的目标搜索空间中,有 N 个粒子组成一个群落,其中第 i 个 粒子表示为一个 D 维的向量:
https://blog.csdn.net/coming_is_winter/article/details/72850511 https://blog.csdn.net/zouxy09/article/details/7929348/
鼠标发明人Douglas Engelbart曾经针对人工智能的简称AI提出了另一个理念——Augmented Intelligence,即增强智能。在他看来,人已经足够聪明,我们无需再去复制人类,而是可以从更加实用的角度,将人类的智能进一步延伸,让机器去增强人的智能。 OCR (Optical Character Recognition,光学字符识别)就是这样的一项技术,它的本质上是利用光学设备去捕获图像并识别文字,将人眼的能力延伸到机器上。本文将介绍OCR技术在移动环境下面临的新挑战,以及在自然场景图像下
来源:专知本文为书籍推荐,建议阅读5分钟这本书提供了一个现代的,独立的介绍数字图像处理。 这本书提供了一个现代的,独立的介绍数字图像处理。我们设计了这本书,既供学习者使用,希望建立一个坚实的基础,也供寻找最重要技术的详细分析和透明实现的实践者使用。这是德语原版书的第三个英文版本,它已被广泛使用: 这本现代的,独立的教科书提供了一个数字图像的领域介绍。这备受期待的第三版的权威教科书的数字图像处理已完全修订,并扩大了新的内容,改进插图和教材。 主题和特点: 包含关于几何基元拟合,随机特征检测(RANSAC),
Tom Mitchell将机器学习任务定义为任务Task、训练过程Training Experience和模型性能Performance三个部分。 以分单引擎为例,我们可以将提高分单效率这个机器学习任务抽象地描述为:
粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。
这一章主要讲的是:机器学习的一些问题,有一部分可以通过数学推导的方式直接得到用公式表达的解析解,但对绝大多数的问题来说,解析解是不存在的,需要使用迭代更新的方法求数值解。然而实数的精度是无限的,而计算机能够表达的精度是有限的,这就涉及到许多数值计算方法的问题。因此机器学习中需要大量的数值运算,通常指的是迭代更新求解数学问题。常见的操作包括优化算法和线性方程组的求解。
自从2018年8月CornerNet开始,Anchor-Free的目标检测模型层出不穷,最近达到了井喷的状态,宣告着目标检测迈入了Anchor-Free时代。
OCR相关工作都有一个第一步,那就是检测图像中的文本区域,只有找到了文本区域,才能对其内容进行识别,也只有找到了文本区域,才能更有针对性地判断该文本图像的质量好坏,我们期望达到如下的文本区域检测效果:
粒子群优化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受人工生命研究结果的启发、通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法,自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界生物的群体行为,从而在计算机上构建其群体模型。自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣,生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体遵循:
在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。本文介绍拉格朗日乘数法(Lagrange multiplier)。 概述 我们擅长解决的是无约束极值求解问题,这类问题仅需对所有变量求偏导,使得所有偏导数为0,即可找到所有极值点和鞍点。我们解决带约束条件的问题时便会尝试将其转化为无约束优化问题
总第532篇 2022年 第049篇 美团数据库平台研发组,面临日益急迫的数据库异常发现需求,为了更加快速、智能地发现、定位和止损,我们开发了基于AI算法的数据库异常检测服务。本文从特征分析、算法选型、模型训练与实时检测等维度介绍了我们的一些实践和思考,希望为从事相关工作的同学带来一些启发或者帮助。 1. 背景 2. 特征分析 2.1 找出数据的变化规律 3. 算法选型 3.1 分布规律与算法选择 3.2 案例样本建模 4. 模型训练与实时检测 4.1 数据流转过程 4.2 异常检测过程 5. 产品运营
利用Sift提取图像的局部特征,在尺度空间寻找极值点,并提取出其位置、尺度、方向信息。
话不多说,直接进入主题。在我看来,不管是梯度下降法还是牛顿法,它们都可以归结为一个式子,即
在本文中,数据科学研究人员 Max Pechyonkin 讨论了最近两篇有趣的论文,它们提供了一种简单的方法,通过用一种巧妙的集成方式来提高任何给定神经网络的性能。这两篇论文是:Garipov 等人的《DNNs 的损失表面、模式连接和快速集成》和 Izmailov 等人的《平均权值带来更宽的极值和更好的泛化性》。
AI 科技评论按:在本文中,数据科学研究人员 Max Pechyonkin 讨论了最近两篇有趣的论文,它们提供了一种简单的方法,通过用一种巧妙的集成方式来提高任何给定神经网络的性能。这两篇论文是:Garipov 等人的《DNNs 的损失表面、模式连接和快速集成》(https://arxiv.org/abs/1802.10026)和 Izmailov 等人的《平均权值带来更宽的极值和更好的泛化性》(https://arxiv.org/abs/1803.05407)。
这俗话说啊,早起的鸟儿有虫吃,早起的虫儿被鸟吃。而这个鸟抓虫子这个事儿啊,就像当初砸醒牛顿的苹果一样,居然也启发了两位博士,研究出了有用的大道理。那么,今天小编就带领大家,一起来看看这个让人好奇的大道理 -- 粒子群算法,究竟是个什么东西吧。
图像特征可以包括颜色特征、纹理特征、形状特征以及局部特征点等。其中局部特点具有很好的稳定性,不容易受外界环境的干扰。图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元件以及它们的关系。
(1109,) (1109, 128) [ 29. 10. 0. 0. 0. 0. 0. 3. 144. 70. 0. 0. 0. 0. 0. 1. 94. 21. 0. 0. 0. 1. 0. 2. 2. 0. 0. 0. 6. 7. 0. 1. 79. 18. 0. 0. 0. 0. 0. 14. 166. 56. 0. 0. 0. 0. 0. 56. 166. 22. 0. 0. 1. 1. 0. 19. 7. 2. 0. 1. 15. 4. 0. 1. 112. 11. 1. 2. 2. 0. 0. 33. 166. 37. 0. 0. 0. 0. 0. 59. 166. 49. 0. 0. 0. 0. 0. 4. 11. 4. 0. 4. 12. 1. 0. 0. 142. 0. 0. 0. 2. 0. 0. 28. 166. 23. 0. 0. 0. 0. 0. 41. 166. 46. 0. 0. 0. 0. 0. 0. 16. 3. 0. 2. 10. 1. 0. 0.]
深度神经网络(DNNs)的泛化能力与极值点的平坦程度密切相关,因此出现了 Sharpness-Aware Minimization (SAM) 算法来寻找更平坦的极值点以提高泛化能力。本文重新审视 SAM 的损失函数,提出了一种更通用、有效的方法 WSAM,通过将平坦程度作为正则化项来改善训练极值点的平坦度。通过在各种公开数据集上的实验表明,与原始优化器、SAM 及其变体相比,WSAM 在绝大多数情形都实现了更好的泛化性能。WSAM 在蚂蚁内部数字支付、数字金融等多个场景也被普遍采用并取得了显著效果。该文被 KDD '23 接收为 Oral Paper。
【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释。这篇文章旨在提供梯度下降算法中的不同变种的介绍,帮助使用者根据具体需要进行使用。 这篇文章首先介绍梯度下降算法的三种框架,然后介绍它们所存在的问题与挑战,接着介绍一些如何进行改进来解决这些问题,随后,介绍如何在并行环境中或者分布式环
本篇文章是论文《Identifyecognition from EEGing Stable Patterns over Time for Emotion Recognition from EEG》(《从脑电图(EEG)中提取稳定的模式进行识别》)的阅读总结。
Grid R-CNN是商汤科技最新发表于arXiv的一篇目标检测的论文,对Faster R-CNN架构的目标坐标回归部分进行了替换,取得了更加精确的定位精度,是最近非常值得一读的论文。
【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释。这篇文章旨在提供梯度下降算法中的不同变种的介绍,帮助使用者根据具体需要进行使用。 这篇文章首先介绍梯度下降算法的三种框架,然后介绍它们所存在的问题与挑战,接着介绍一些如何进行改进来解决这些问题,随后,介绍如何在并行环境中或者分布式环境
极值理论对样本尾部分布的极值指数的估计方法主要有两类:半参数方法和全 参数方法,前者主要是基于分布尾部的 Hill 估计量,后者则主要基于广义帕累托分布(点击文末“阅读原文”获取完整代码数据)。
贝叶斯优化是一种黑盒优化算法,用于求解表达式未知的函数的极值问题。算法根据一组采样点处的函数值预测出任意点处函数值的概率分布,这通过高斯过程回归而实现。根据高斯过程回归的结果构造采集函数,用于衡量每一个点值得探索的程度,求解采集函数的极值从而确定下一个采样点。最后返回这组采样点的极值作为函数的极值。这种算法在机器学习中被用于AutoML算法,自动确定机器学习算法的超参数。某些NAS算法也使用了贝叶斯优化算法。
例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同的,这个时候就可以利用SURF进行特征点
本文结合R语言,展示了异常检测的案例,主要内容如下: (1)单变量的异常检测 (2)使用LOF(local outlier factor,局部异常因子)进行异常检测 (3)通过聚类进行异常检测 (4)对时间序列进行异常检测 单变量异常检测 本部分展示了一个单变量异常检测的例子,并且演示了如何将这种方法应用在多元数据上。在该例中,单变量异常检测通过boxplot.stats()函数实现,并且返回产生箱线图的统计量。在返回的结果中,有一个部分是out,它结出了异常值的列表。更明确点,它列出了位于极值之外的胡须。
领取专属 10元无门槛券
手把手带您无忧上云