登录
首页 » Others » 功率谱MATLAB程序

功率谱MATLAB程序

于 2020-12-02 发布
0 207
下载积分: 1 下载次数: 1

代码说明:

用MATLAB编写功率谱程序,包含各种方法,会对您有所帮助

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • MATLAB TDM Example.zip《用Matlab处理TDMS数据(降噪+频谱分析)》
    这里承接我的博客内容《用Matlab处理TDMS数据(降噪+频谱分析)》,下载好了以后,按照博客的操作,在matlab运行ReadFile.m文件,连续选三个文件,就可以得到我们所需要的tdms/tdm采集数据,有问题的话,也参考我的博客,我也遇到过,希望对你有帮助
    2021-05-06下载
    积分:1
  • 面波频散曲线求解代码
    面波频散曲线求解代码,面波频散曲线求解代码,学习资料
    2020-12-05下载
    积分:1
  • stm32+proteus_sht1x+lcd12864_温湿度检测_20200506.zip
    proteus仿真stm32通过sht10/11/15检测温湿度并显示到lcd12864显示屏中,温湿度改变实时在lcd中显示出来
    2021-05-06下载
    积分:1
  • labview读取mimic数据库脉搏波
    MIMIC II波形数据库(The MIMIC II Waveform Database)包含数以千计从床边病人监测器收集的成人和新生儿重症监护室(ICU)信息,记录了波形形式的生理信号和数字形式的生命体征时间序列。一个或多个心电(ECG)信号,连续动脉血压(ABP)波形,指尖光电容积脉搏(PPG)信号,呼吸信号等至多8个同时序的信号。 数字通常包括心率、呼吸速率、血氧饱和度(SpO2)、收缩压、平均值、舒张压,以及其他可用的信息。记录长度也不同,从几个星期到几天,甚至几个小时。压缩包包含labview程序,mimic数据库简介,以及部分脉搏波.dat文件
    2021-05-07下载
    积分:1
  • 阿里云-飞天开放平台技术白皮书.pdf
    阿里云计算为中国第一大公有云平台,云计算产品服务完全基于自主知识产权,先后获 85 项国家技术专利,获得国家发改委的云计算专项资金支持。阿里云飞天开放平台是在数据中心的大规模 Linux 集群之上构建的一套综合性的软硬件系统,将数以千计的服务器联成一台“超级计算机”,并且将这台超级计算机的存储资源和计算资源,以公共服务的方式,输送给互联网上的用户或者应用系统。阿里云致力于打造云计算的基础服务平台,注重为中小企业提供大规模、低成本的云计算服务。阿里云的目标是通过构建飞天这个支持多种不同业务类型的公有云计算平台,帮助中小企业在云服务上建立自己的网站和处理自己的业务流阿里云allyn. com打造数据分享第一平台飞天开放平台技术白皮书1.概述阿里云计算为中国第一大公有云平台,云计算产品服务完全基于自主知识产权,先后获85项国家技术专利,获得国家发改委的云计算专项资金支持。阿里云飞天开放平台是在数据中心的大规模 Linux集群之上构建的一套综合性的软硬件系统,将数以千讣的服务器联成一台“超级讣算机”,并且将这台超级计算机的存储资源和计算瓷源,以公共服务的方式,输送给互联网上的用户或者应川系统阿里云致力于打造云计算的基础服务平台,注重为中小企业提供大规模、低成本的云计算服务。阿里云的目标是通过构建飞天这个支持多种不同业务类型的公有云计算平台,帮助中小企业在云服务上建立自己的网站和处理自己的业务流程,帮助开发者向云端开发模式转变,用方便、低廉的方式让互联网服务全面融入人们的生活,将网络经济模式带入移动互联网,构建出以云计算为基础的全新互联网生态链。在此基础上,实现阿里云成为互联网数据分享第一平台的目标。2.体系架构如图2.1所示是飞天的体系架构图。整个飞天平台包括飞天内核(图2中黄色组件)和飞天开放服务(图2.1中蓝色组件)两大组成部分。飞天内核为上层的飞天开放服务提供存储、计算和调度等方面的底层支持,对应于图2.1中的协调服务、远程过程调用、安全管理、资源管理、分布式文件系统、任务调度、集群部署和集群监控模块飞天开放服务为用户应用程序提供了存储和计算两方面的接口和服务,包括弹性计算服务( Elastic Compute service,简称ECS)、开放存储服务(OpenStorage service,简称0SS)、开放结构化数据服务( Open table service,简称0TS)、关系型数据库服务( Relational database service,简称RDS)和开放数据处理服务( pen Data processing Service,简称ODPS),并基于弹性讣算服务提供了云服务引擎( Aliyun cloud engine,简称ACE)作为第三方应用阿里云allyn. com打造数据分享第一平台开发和Web应用运行和托管的平台。服务引擎ACE弹性计算关系型数开放存储开放构化开放数据据库服务数括服务处理服务RDSODPS分布式立科系统(盡白)任务调度(伏〕远程过程调用【夸父安全管理钟馗)分布协同服(女赐(伏)Linux集群数据飞天平台飞天内核飞大内核包含的模块可以分为以下儿部分:分布式系统底层服务:提供分布式环境下所需要的协调服务、远程过程调用、安全管理和资源管理的服务。这些底层服务为上层的分布式文件系统、任务调度等模块提供支持。分布式文件系统:提供一个海量的、可靠的、可扩展的数据存储服务,将集群中各个节点的存储能力聚集起来,并能够自动屏蔽软硬件故障,为用户提供不问断的数据访问服务。支持增量扩容和数据的自动平衡,提供类似于P0sSIX的用户空间文件访问API,攴持随机读写和追加写的操作仼务调度:为集群系统中的任务提供调度服务,同时支持强调响应速虔的在线服务( Online service)和强调处理数据吞吐量的离线任务( BalchProcessing job)。自动检测系统中故障和热点,通过错误重试、针对长尾作业并发备份作业等方式,保证作业稳定可靠地完成。集群监控和部署:对集群的状态和上层应川服务的运行状态和性能指标进行监控,对异常事件产生警报和记录;为运维人员提供整个飞天平台以及上层应用的部署和配置管理,支持在线集群扩容、缩容和应用服务的在线升级。阿里云allyn. com打造数据分享第一平台3.分布式系统底层服务31.协调服务(女娲)女妫(Nuwa)系统为飞天提供高可用的协调服务( Coordination service),是构建各类分布式应用的核心服务,它的作用是采用类似文件系统的树形命名空来让分布式进程互相协同工作。例如,当集群变更导致特定的服务被迫改变物理运行位置时,如服务器或者网终故障、配置调整或者扩容时,借助女可以使其他程序快速定位到该服务新的接入点,从而保证了整个平台的高可靠性和髙可用性。女娲基于类 Paxos协议[15],由多个女娲 Server以类似文件系统的树形结构存储数据,提供高可用、高并发用户请求的处理能力。女娲的目录表小一个包含文件的集合。与Unix中的文件路径一样,女娲中路径是以“/”分割的,根目录( Root entry)的名字是“/”,所有目录的名字都是以“/”结尾的。与Unix文件路径不一样之处在于:女娲中所有文件或日录都必须使用从根目录开始的绝对路径。由于女娲系统的设计目的是提供协调服务,而不是存储大量数据的,所以每个文件的内容( Value)的大小被限制在IMB以内。在女娲系统中,每个文件或目录都保存有创建者的信息。一旦某个路径被用户创建,其他用户就可以访问和修改这个路径的值(即文件内容或目录包含的文件名)。女娲攴持 Publish/ Subscribe模式,其中一个发布者、多个订阅者(OnePublisher/ Many Subscriber)的模式提供了基本的订阅功能:另外,还可用通过多个发布者、多个订阅者( Many Publisher/ Many Subscriber)的方式提供分布式选举( Distributed election)和分布式锁的功能。再举一个使用女娲来实现负载均衡的例子:提供某一服务的多个节点,在服务启动的时候在女娲系统的同一日录下创建文件,例如, server1创建文件nuwa:// cluster/ myservice/ server1”, server2在同一目录下创建“nuwa:// cluster/ myservice/ server2”。当客户端使用远程过程调用的时候」首先列举女娲服务中“nuwa:// cluster/ myservice”目录下的文件,这样就可以荻得 server1和 server2,客户端随后可以从中选择一个节点发出自己的请求阿里云allyn. com打造数据分享第一平台从而实现负载均衡。32.远程过程调用(夸父)在分布式系统中,不同计算机之间只能通过消息交换的方式进行通信。显式的消息通信必须通过 Socket接口编程,而远程过程调用( Remote procedureCall,简称RPC[9])可以隐藏显式的消息交换,使得程序员可以像调用本地函数一样来调用远程的服务夸父( Kuafu)是飞天内核中负责网络通信的模块,它提供了一个RPC的接,简化编写基于网络的分布式应用。夸父的设计目标是提供高可用(7x24小时)、大吞吐量( Gigabyte)、高效率、易用(简明APⅠ、多种协议和编程接口)的RPC服务。RPC客户端( RPC CLient)通过URI指定请求需要发送的RPC服务端( RPC Server)的地址,目前夸父支持两种协议形式。TCP:例如,tep:// fooserver01:9000●Ⅶuwa:例如,nuwa:/nuwa01/ Fooserver与用流( stream)传输的TCP通信相比,夸父通信是以消息( Message)为单位的,支持多种类型的消息对象,包括标准字符串std:: string和基于td:map实现的若干 string键值对。夸父RPC同时攴持异步( asynchronous)和同步( synchronous)的远程过程调用形式。异步调用:RPC函数调用吋不等接收到结果就会立即返回;用户必须通过显式调用接收函数取得请求结果。●同步调用:RPC函数调用时会等待,直到接收到结果才返回。在实现中,同步调用是通过封装异步调用来实现的。在夸父的实现中,客户端程序通过 Unix domain socket与本机上的一个夸父代理( Kuafu proxy)连接,不同计算机之间的夸父代理会建立一个TCP连接这样做的好处是可以更高效地使用网络带宽,系统可以支持上千台计算机之间的互联需求。此外,夸父利用女娲来实现负载均衡;对大块数据的传输做了优化与TCP类似,夸父代理之问还实现了发送端和接收端的流控( Flow Coηtrol)机制阿里云allyn. com打造数据分享第一平台33.安全管理(钟馗)钟馗( Zhongkui)是飞天内核中负责安全管理的模块,它提供了以用户为单位的身份认证和授权,以及对集群数据资源和服务进行的访问控制。用户的身份认证( Authentication)是于密钥机制的。用户对资源的访问控制是基于权能( Capability)机制进行授权( Authorization)的Capability是用于访问控制的一种数据结构,它定义∫对一个或多个指定的资源(如目录、文件、表等)所具有的访问权限。用户访问飞天系统的资源时必须持有 Capability,否则即视为非法。打个比方,如果把 Capability理解为地铁票,乘坐地铁(对地铁的一种访问方式)的时候必须要有 Capability,即地铁票。密钥对是基于公开密钥方法的,包括一个私钥和相对应的公钥。在飞天系统中,密钥对用于数字签名服务,以保证 Capability的不可伪造。换句话说,私钥用于生数字签名(如签发 Capability),公钥用于验证数字签名的有效性(如验证签发过的 Capability的有效性)考虑到网络通信时任何通信节点都是不可信的,所以即使是飞大自身模块内部之间的通信也同样是需要认证和授权的,而且验证的机制也完全一样。34.分布式文件系统(盘古)盘古( Pangu)是一个分布式文件系统,盘古的设计目标是将大量通用机器的存储资源聚合在一起,为用户提供大规模、高可靠、高可用、高吞吐量和冋扩展的存储服务,是飞天内核中的一个重要组成部分。大规模:能够支持数十PB量级的存储大小(1PB-1000T3),总文件数量达到亿量级。数据高可靠性:保证数捃和元数据( Metadata)是持久保存并能够正确访问的,保证所有数据存储在处于不同机架的多个节点上面(通常设置为3)。即使集群中的部分节点岀现硬件和软件故障,系统能够检测到故障并自动进行数据的备份和迁移,保证数据的纹全存在5阿里云allyn. com打造数据分享第一平台服务高可用性:保证用户能够不中断地访问数据,降低系统的不可服务时间。即使岀现软硬件的故障、异常和系统升级等情况,服务仍可正常访问。髙昋吐量:运行时系统Ⅰ/0吞吐量能够随机器规模线性增长,保证响应时间高可扩展性:保证系统的容量能够通过增加机器的方式得到白动扩展,卜线札器存储的数据能够自动迁移到新加入的节点上同时,盘古也能很好地支持在线应用的低延时需求。在盘古系统中,文件系统的元数据存储在多个主服务器( Master)上,文件内容存储在人量的块服务器( Chunk server)上。客户端程序在使用盘古系统时,首先从主服务器获取元数据信息(包括接下来与哪些块服务器交互),然后在块服务器上直接进行数据操作。由于元数据信息很小,大量的数据交互是客户端直接与块服务器进行的,因此盘占采用少量的主服务器来管理元数据,并使用 Paxos协议[15]保证元数据的致性。此外,块大小被设置为64MB,进一步减少了元数据的大小,因此可以将元数据全部放到内存里,从而使得主服务器能够处理大量的并发请求块服务器负责存储大小为64B的数据块。在向文件写入数据之前,客户端将建立到3个块服务器的连接,客户向主副本( Replica)写入数据以后,由主副本负责向其他副本发送数据。与直接由客户端向三个副本写入数据相比,这样可以减少客户端的网终带宽使用。块副本在放置的时候,为保证数据可用性和最大化地使用网络带宽,会将副本放置在不同机架上,并优先考虑磁盘利用率低的杋器。当硬件故障或数据不可用造成数据块的副本数目达不到3份的时候,数据块会被重新复制。为保证数据的完整性,每块数据在写入时会同时计算一个校验值,与数据同时写入磁盘。当读取数据块的时候,块服务器会再次计算恔验值与之前存入的值是否相同,如果不同就说明数据出现了错误,需要从其他副木重新读取数据。在线应用对盘古提出了与离线应用不同的挑战:OSS、OTS要求低吋延数据读写,ECS在要求低吋延的同吋还需要具备随机写的能力。针对这些需求,盘古实现了事务日志文件和随机访问文件,用以支撑在线应用。其中,日志文件通过阿里云allyn. com打造数据分享第一平台多种方法对时延进行了优化,包括设置更高的优先级、由客户端直接写多份拷贝而不是用传统的流水线方式、写入成功,不经过 Master确认等。随机访问文件则允许用户随机读写,同时也应用了类似日志文件的时延优化技术。35.资源管理和任务调度(伏羲)伏羲(Fuxi)是飞天内核中负责资源管理和任务调度的模块,同时也为应用开发提供了一套编程基础框架。伏羲同时支持强调响应速度的在线服务和强调处理数据吞吐量的离线任务。在伏羲中,这两类应用分别简称为 Service和Job在资源管理方面,伏羲主要负责调度和分配集群的存储、计算等资源给上层应用;管理运行在集群节点上任务的生命周期;在多用户运行环境中,支持讣算额度、访问控制、作业优先级和资源抢占,达到在保障公平的前提下,有效地共享集群资源。在任务调度方面,伏羲囿向海量数据处理和大规模计算类型的复杂应用,提供了一个数据驱动的多级流水线并行计算框架,在表述能力上兼容MapReduce l12」、Map- Reduce-erge等多种编程模式;自动检测故障和系统热点,重试失败任务,保证作业稳定可靠运行完成;具有高可扩展性,能够根据数据分布优化网终开销。伏羲中应用了“ Master/ Worker”工作模型。其中, Master负责进行资源中请和调度、为 Worker创建工作计划(Plan)并监控 Worker的生命周期, Worker负责执行具体的工作计划并及时向 Master汇报工作状态( Status)。此外, Master支持多级模式,即一个 Master可以隶属于另外一个 Master之下伏羲 Master负责整个集样资源管理和调度,处理Job/ Service启动、停止Failover等生命周期的维护。同时伏羲 Master支持多用户额度配冒、Job/ Service的多优先级设置和动态资源抢占逻辑,可以说是飞天的“大脑”伏羲对资源调度是多维度的,可以根据CPU、内存等系统资源,以及应用自定义的虚拟资源对整个机群进行资源分配和调度土伯(Tubo)是部署在每台由伏羲管理的机器上的后台进程,负责收集并向伏羲 Master报告本机的状态,包括系统资源的消耗、 Master或 Worker进程的运行、等待、完成和失败事件,并根据伏羲 Master或者Job/ Service master阿里云allyn. com打造数据分享第一平台的指令,启动或杀死指定的 Master或 Worker进程。同时土伯还负责对计算机健康状况进行监控,对异常 Worker(比如内存超用)进行及时的清理和汇报对于在线服务( Service),由伏羲 Master负责 Service master的启动与状态监控,处理相应 Service master的资源申请请求。 Service master负责管理Service Worker的任务分配、生命周期管理以及 Failover的管理。对于离线任务(Job),伏羲 Master负责 Job Master的启动与状态监控,处理相应 Job master的资源申请凊求。 Job master根据用户输入的Job描述文件,将仼务分解成一个或以上的Task,每个Task的资源申请、 Task Worker的调度和生命周期维护由 Task master负责3.5.1.在线服务调度在飞天内核中,每个 Service都有一个 Service master和多个不同角色(Role)的 Service worker,它们一起协同工作来完成整个服务的功能。 ServiceMaster是伏羲 Master管理下的子 Master( Child master),它负责这个 Service相关的资源申请、状态维扩以及故障恢复,并定期与伏羲 Master进行交互,确保整个 Service正确、正常地运行。每个 Service Worker的角色和执行的动作,都是由用户来定义的每个 Service Worker负责处理一个到多个数据分片( Partition),同一时刻一个分片只会被分型到一个 Service Worker处理。将数据分割成为互不相关的分片,然后将不同分片给不同 Service worker来处理是构建大规模应川服务的关键特性。数据分片是一个抽象的概念,在不同的应川中有不同的含义。在服务运行的过程中,每个 Seryice的数据分片的数和内容都是可以动态变化的,应用程序可以根据实际需要对数据分片动态地进行加载(Load)、卸载( Unload)、分裂( Split)和迁移( Migrate)等操作。3.5.2.离线任务调度在飞天中,一个离线任务(Job)的执行过程被抽象为一个有向无环图( Directed Acyclic graph,简称DAG):图上每个顶点对应一个Task,每条边对应一个 Pipeline。个连接的两个Task的 Pipeline表示前个Task的输出
    2021-05-07下载
    积分:1
  • 免疫遗传算法
    免疫遗传算法源代码,是对遗传算法和免疫算法的改进
    2020-12-06下载
    积分:1
  • C-MAPSS大型涡轮风扇发动机数据集
    涡轮风扇发动机从正常运行至失效的全寿命采集的实验数据,对于研究涡轮风扇发动机的故障的预测及性能评估想必有用。-Turbofan engine failure from normal operation to the whole life of the experimental data collected for the study of turbofan engine failure prediction and performance evaluation must be useful.
    2020-12-11下载
    积分:1
  • opencv2.4.9源码分析——SIFT
    详细介绍SIFT算法,opencv的SIFT源码分析,以及应用实例SIFT算法进行了改进,通过对两个相邻高斯尺度空间的图像相减,得到个DoG(高斯差分,Difference of gaussians)的响应值图像Dx,y,σ)来近似LoGD(x,y, o)=(G(x,y, ko)-G(x,y,o)O1(x,y)=L(x,y, ko)-L(x,y,a(5)其中,k为两个相邻尺度空间倍数的常数。可以证明DoG是对LoG的近似表示,并且用DoG代替LoG并不影响对图像斑点位賀的检测。而且用DoG近似LoG可以实现下列好处:第一是LoG需要使用两个方向的高斯二阶微分卷积核,而DoG直接使用晑斯卷积核,省去了卷积核生成的运算量;第二是DoG保留了个高斯尺度空间的图像,因此在生成某一空间尺度的特征时,可以直接使用公式1(或公式3)产生的尺度空间图像,而无需重新再次生成该尺度的图像:第三是DoG具有与LoG相同的性质,即稳定性好、抗干扰能力强。为了在连续的尺度下检测图像的特征点,需要建立DoG金宇塔,而DoG金宁塔的建立又离不开髙斯金字塔的建立,如下图所小,左侧为高斯金字塔,右侧为DoG金字塔:(nextoctave)Scale(firstoctave)Difference ofaussianGaussian(DOG)图1高斯金字塔和DoG金字塔高斯金字塔共分O组( Octave),每组又分S层( Layer)。组内各层图像的分辨率是相同的,即长和宽相同,但尺度逐渐增加,即越往塔顶图像越模糊。而下·组的图像是由上组图像按照隔点降采样得到的,即图像的长和宽分别减半。高斯金字塔的组数O是由输入图像的分辨牽得到的,因为要进行隔点降采样,所以在执行降釆样生成高斯金字塔时,一直到不能降采样为止,但图像太小又亳无意义,因此具体的公式为:0=| log2 min(x,y)-2」(6)其中,X和Y分别为输入图像的长和宽,L」衣示向下取整。金字塔的层数S为:(7)LoWe建议s为3。需要注意的是,除了公式7中的第一个字母是大写的S外,后面出现的都是小写的s髙斯金字塔的创建是这样的:设输入图像的尺度为0.5,由该图像得到高斯金字塔的第0组的第0层图像,它的尺度为m,我们称m为基准层尺度,再由第0层得到第1层,它的尺度为ko,第2层的尺度为k2o,以此类推。这里的k为:(8)我们以s=3为例,第0组的6(s+3=6)幅图像的尺度分别为:0,ko0,k2∞,k3o0,k∞o,k5o(9)写成更一般的公式为:d=or∈[0,,s+2](10)第0组构建完成后,再构建第1组。第1组的第0层图像是由第0组的倒数第3层图像经过隔点采样得到的。由公式10可以得到,第0组的倒数第3层图像的尺度为k∞o,k的值代入公式8,得到了该层图像的尺度正好为2∞,因此第1组的第0层图像的尺度仍然是2∞。但由于第1组图像是由第0组图像经隔点降采样得到的,因此相对于第1组图像的分辨率来说,第θ层图像的尺度为ω,即尺度为2σ是相对于输入图像的分辨率来说的,而尺度为∞是相对丁该组图像的分辨率来说的。这也就是为什么我们称0为基准层尺度的原因(它是每组图像的基准层尺度)。第1组其他层图像的生成与第0组的相同。因此可以看出,第1组各层图像的尺度相对于该组分辨率来说仍然满足公式10。这样做的好处就是编程的效率会提高,并且也保证∫高斯金字塔尺度空间的连续性。而之所以会出现这样的结果,是因为在参数选择上同吋满足公式7、公式8以及对上·组倒数第3层图像降釆样这三个条件的原因。那么第1组各层图像相对」输入图像来说,它们的尺度为:=2k00r∈[0,,S-2该公式与公式10相比较可以看出,第1组各层图像的尺度比第0组相对应层图像的尺度人了一倍。高斯金字塔的其他组的构建以此类推,不再赘述。下面给出相对于输入图像的各层图像的尺度公式:o,)=2k∞O∈[0,O-1l,r∈[0,,+2(12)其中,O表示组的坐标,r表示层的坐标,a为基准层尺度。k用公式8代入,得:2O∈[0,…0-1],r∈[0,…,s+2](13)在高斯金字塔中,第0组第∂层的图像是输入图像经髙斯模糊后的结果,模糊后的图像的高频部分必然会减少,因比为了最大程度的保留原图的信息量,LoWe建议在创建尺度空间前首先对输入图像的长宽扩展一倍,这样就形成了高斯金字塔的第-1组。设输入图像的尺度为0.5,那么相对于输入图像,分辨率护人一倍后的尺度应为1,由该图像依次进行高斯平滑处理得到第-1组的各个层的尺度图像,方法与其他组的一样。由于增加」第-1组,因此公式13重新写为(0∈[-1,0,…,0-1],r∈[0,…,s+2](14)DoG金字塔是由高斯金字塔得到的,即高斯金宁塔组内相邻两层图像相减得到DoG金字塔。如髙斯金字塔的第0组的筼0层和第1层相减得到DoG金字塔的第0组的箅0层图像,高斯金字塔的第0组的第1层和第2层相减得到υσG金字塔的第θ组的第1层图像以此类推。需要注意的是,高斯金字塔的组内相邻两层相减,而两组间的各层是不能相减的因此高斯金字塔每组有s+3层图像,而DoG金宁塔每组则有s+2层图像。极值点的搜索是在DoG金字塔内进行的,这些极值点就是候选的特征点。在搜索之前,我们需要在DoG金字塔内剔除那些像素值过小的点,因为这些像素具有较低的对比度,它们肯定不是稳定的特征点。极值点的搜索不仅需要在它所在尺度空间图像的邻域内进行,还需要在它的相邻尺度空间图像内进行,如图2所示。每个像素在它的尺度图像中一共有8个相邻点,而在它的下一个相邻尺度图像和上个相邻尺度图像还各有9个相鸰点(图2中绿色标注的像素),也就是说,该点是在3×3×3的立方体内被包围着,因此该点在DoG金字塔内一共有26个相邻点需要比较,来判断其是否为极大值或极小值。这里所说的相邻尺度图像指的是在同个组内,因此在DoG金字塔内,每一个组的第0层和最后一层各只有一个相邻尺度图像,所以在搜索极值点时无需在这两层尺度图像内进行,从而使极值点的搜索就只在每组的中间s层尺度图像内进行。搜索的过程是这样的:从每组的第1层开始,以第1层为当前层,对第1层的DoG图像中的每个点取·个3×3×3的立方体,立方体上下层分别为第0层和第2层。这样,搜索得到的极值点既有位置坐标(该点所在图像的空间坐标),又有尺度空间坐标(该点所在层的尺度)。当第1层搜索完成后,再以第2层为当前层,其过程与第1层的搜索类似,以此类推。Scale图2DoG中极值点的搜索2、特征点的定位通过上一步,我们得到了极值点,但这些极值点还仅仅是候选的特征点,因为它们还存在一些不确定的因素。首先是极值点的搜索是在离散空间内进行的,并且这些离散空间还是经过不断的降采样得到的。如果把采样点拟合成由面后我们会发现,原先的极值点并不是真正的极值点,也就是离散空间的极值点并不是连续空间的极值点。在这里,我们是需要精确定位特征点的位置和尺度的,也就是要达到亚像素精度,因此必须进行拟合处。我们使用泰勒级数展开式作为拟合函数。如上所述,极值点是·个三维矢量,即它包括极值点所在的尺度,以及它的尺度图像坐标,即=(x,y,o),因此我们需要三维函数的泰勒级数展开式,设我们在=(x0,y,)处进行泰勒级数展开,则它的矩阵形式为:602f02f02fdxax day dao02f02f02faxdy ayay ayaallly-yol2f02f02fOrdo aydo dodo(15)公式15为舍去高阶项的形式,而它的矢量表示形式为f(X)=f(X0)+o¥(X-x0)+7(x-x0)a F(X-Xo(16)在这里表示离散空间卜的插值中心(在离散空问内也就是采样点)坐标,表示拟合后连续空间下的插值点坐标,设ⅹ=Ⅹ-Xn,则X表示相对于插值中心,插值后的偏移量。因此公式16绎过变量变换后,又可写成:f(x)=f(X0)+yX+XTⅩX20X2(17)对上式求导,得af (x a02f0ox ox+2 ax2+axa80f.02fXaxaX2(18)让公式17的导数为0,即公式18为0,就可得到极值点下的相对于插值中心的偏移量:aX2 ax(19)把公式19得到的极值点带入公式17中,就得到了该极值点下的极值Tf(X)=f(X0)+af02f10f)a2f/02f-1of2 8X2 0X/0X28X2dXf(X0)+H打×1ora2Ta2f-ra2fa2f-1 af2 dx dx2dx2dx2 dXa f02f-10f∫(X0)+dF×f7a22 ax ax2 axaflf(Xo)+xx+2 0X(-X)18Ff(X0)+2 aX(20)对于公式19所求得的偏移量如果大」0.5(只要x、y和σ任意一个量大于0.5),则表明插值点已偏移到了它的临近的插值中心,所以必须改变当前的位置,使其为它所偏移到的插值中心处,然后在新的位置上重新进行泰勒级数插值拟合,直到偏移量小于0.5为止(x、y和σ都小于0.5),这是一个迭代的工程。当然,为了避免无限次的迭代,我们还需要设置个最人迭代次数,在达到了迭代次数但仍然没有满足偏移量小于0.5的情况下,该极值点就要被剔除掉。另外,如果由公式20所得到的极值f(X过小,即f(X1,则Tr(H)2(a+β)2(+β)2(y+1)2Det(h)2(25)上式的结果只与两个特征值的比例有关,而与具体的特征值无关。我们知道,当某个像系的矩阵的两个特征值相差越大,即γ很大,则该像素越有可能是边缘。对于公式25,当两个特征值相等时,等式的值最小,随着γ的增加,等式的值也增加。所以,要想检查主曲率的比值是否小于某一阈值y,只要检査下式是否成立即可:Tr(H)(y+1)Det(h)(26)对于不满足上式的极值点就不是特征点,因此应该把它们剔除掉。Lowe给出γ为10在上面的运算中,需要用到有限差分法求偏导,在这里我们给出具体的公式。为方便起见我们以图像为例只给出二元函数的实例。与二元函数类似,三元函数的偏导可以很容易的得到设f(i,是ν轴为i、x轴为j的图像像素值,则在(j点处的一阶、二阶及二阶混合偏导af f(i, j+1)-f(i, j0ff(i+1,j)-f(-1,ax2h2h(27)ff(+1)+f(-1)-2f(,j)a2ff(+1,j+f(-1,j)-2f(i,j)hh(28)2ff(-1,j-1)+f(i+1,j+1)-f(i-1,+1)-f(i+1,-1)dx d(29)由丁在图像中,相邻像素之问的间隔都是1,所以这里的h3、方向角度的确定经过上面两个步骤,一幅图像的特征点就可以完全找到,而且这些特征点是具有尺度不变性。但为了实现旋转不变性,还需要为特征点分配一个方向角度,也就是需要根据检测到的特征点所在的高斯尺度图像的局部结构求得一个方向基准。该高斯尺度图像的尺度a是已知的,并且该尺度是相对于高斯金字塔所在组的基准层的尺度,也就是公式10所表示的尺度。而所谓局部结构指的是在高斯尺度图像中以特征点为中心,以r为半径的区域内计算所有像素梯度的幅角和幅值,半径r为(30)其中a就是上面提到的相对于所在组的基准层的高斯尺度图像的尺度。像素梯度的幅值和幅角的计算公式为:m(xy)=√(x+1,y)-L(x-1,y)2+(L(x,y+1),L(x,y-1)2(31)L(x,y+1)-L(x,y-1)o(x, y)=arctanL(x+1,y)-L(x-1,y)(32)因为在以〃为半径的区域内的像素梯度幅值对圆心处的特征点的贡献是不同的,因此还需要对幅值进行加权处理,这里采用的是高斯加权,该高斯函数的方差Cm为:Om=1.50(33)其中,公式中的σ也就是公式30中的σ在完成特征点邻域范围内的梯度计算后,还要应用梯度方向直方图来统计邻域內内像素的梯度方向所对应的幅值大小。具体的做法是,把360°分为36个柱,则每10°为一个柱,即0°~9为第1柱,10°~19为第2柱,以此类推。在以r为半径的区域内,把那些梯度方向在0~9°范围内的像索找出来,把它们的加权后的梯度嘔值相加在一起,作为第1柱的柱高;求第2柱以及其他柱的高度的方法相同,不再赘述。为了防止某个梯度方向角度因受到噪声的干扰而突变,我们还需要对梯度方向直方图进行平滑处理。 Opencv2.4.9所使用的平滑公式为:H()~h(-2)+h(+2)4×(h(-1)+h(+1)),6×h()i=0...15161616(34)其中h和H分别表示平滑前和平滑后的直方图。由于角度是循环的,即0°=360°,如果出现h(),j超出了(0,…,15)的范围,那么可以通过圆周循环的方法找到它所对应的、在0°~360°之间的值,如h(-1)-h(15)这样,直方图的主峰值,即最高的那个柱体所代表的方向就是该特征点处邻域范围内图像棁度的主方向,也就是该特征点的上方向。由于柱体所代表的角度只是一个范围,如第1柱的角度为0~9°,因此还需要对离散的梯度方向直方图进行插值拟合处理,以得到更精确的方向角度值。例如我们凵经得到了第i柱所代表的方向为特征点的主方向,则拟合公式为:H(i-1)-H(i+1)B=i+=0,…152×(H(-1)+H(i+1)-2×H()(35)O=360-10xB(36)其中,H为由公式34得到的直方图,角度6的单位是度。同样的,公式35和公式36也存在着公式34所遇到的角度问题,处理的方法同样还是利用角度的圆周循环。每个特征点除了必须分配一个主方向外,还可能有一个或更多个辅方冋同,增加辅方向的目的是为了增强图像匹配的鲁棒性。辅方向的定义是,当存在另个柱体高度大于主方向柱体高度的80%时,则该柱体所代表的方向角度就是该特征点的辅方向。在第2步中,我们实现∫用两个信息量来表小一个特征点,即位置和尺度。那么经过上面的计算,我们对特征点的表示形式又增加了个信息量一一方向,即(x,y,o,6)。如果某个特征点还有一个辅方向,则这个特征点就要用两个值来表示——(x,y,,B1)和(x,y,,02),其中O1表示主方向,O2表示辅方向,而其他的变量x,y,不变。4、特征点描述符生成
    2020-06-25下载
    积分:1
  • MAG3110电子罗盘代码基于STM32
    MAG3110电子罗盘代码基于STM32
    2020-11-28下载
    积分:1
  • 队控制仿真
    为三个小车的编队控制仿真程序,均为m文件,在matlab下运行
    2020-07-04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载