首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏瓜大三哥

    图像

    图像(Image registration)是将同一场景拍摄的不同图像进行对齐的技术,即找到图像之间的点对点映射关系,或者对某种感兴趣的特征建立关联。以同一场景拍摄而成的两幅图像为例。 假如实际的三维世界点P在两幅图像中分别对应着P1和p2两个二维图像点。图像要做的就是找到P1和P2的映射关系,或者p1、p2跟P的关系。 p1和p2被称为对应点(Correspondence Points)、匹配点(Matching Points)或控制点(Control points)。 图像准系统包括四个部分: 1. 特征检测(Feature Detection) 这里的特征指的是广义的特征,包括图像灰度、色度特征;角点、边缘、轮廓等结构性特征;频域信息、小波系数等。 2. 图像重采样与变换(Image Resampling and Transformations) 这一步就是我们由输入图像经变换模型向参考图像进行对齐的过程。

    2.1K90发布于 2018-02-24
  • 来自专栏往期博文

    图像】使用OpenCV进行多图拼接

    本篇主要利用OpenCV自带的拼接函数Stitcher_create来实现多幅图像拼接 代码参考自:https://github.com/samggggflynn/image-stitching-opencv :状态,0代表成功 if status == 0: # 裁剪图像 if crop: # 在拼图周围添加2像素 stitched = cv2.copyMakeBorder (stitched, 2, 2, 2, cv2.BORDER_CONSTANT, (0, 0, 0)) # 对图像进行灰度化和阈值化 gray = cv2.cvtColor # 查找阈值图像的轮廓 cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, ERR_HOMOGRAPHY_SET_FAIL=2:使用RANSAC算法估计单应性矩阵失败。同样地,这表明需要更多的图像或者图像地辨识度不足,不能够提取到独特地关键点以精确匹配。

    5.5K21编辑于 2023-02-10
  • 来自专栏全栈程序员必看

    Apap图像算法

    图像 图像准是将两张场景相关的图像进行映射,寻找其中的关系,多用在医学图像图像拼接、不同摄像机的几何标定等方面,其研究也较为成熟。 虽然图像已较为成熟,但其实其精度、鲁棒性等在某些场合仍不足够,如光线差异很大的两张图片、拍摄角度差异很大的图片等。 因为得到的透视变换矩阵是基于全局特征点对进行的,即一个刚性的单应性矩阵完成。为提高的精度,Apap将图像切割成无数多个小方块,对每个小方块的变换矩阵逐一估计。 刚性: Moving_DLT: 结论 Apap虽然能够较好地完成,但非常依赖于特征点对。 若图像高频信息较少,特征点对过少,准将完全失效,并且对大尺度的图像进行,其效果也不是很好,一切都决定于特征点对的数量。

    1.8K20编辑于 2022-08-02
  • 来自专栏往期博文

    图像】SIFT算法原理及二图拼接

    前言 本篇开始,将进入图像领域的研究。 图像拼接主要有SIFT, BRISK, ORB, AKAZE等传统机器学习算法以及SuperPoint等深度学习算法,在后续将一一进行研究和实验。 import cv2 # 读取图像,转灰度图进行检测 img = cv2.imread('Hall_1.jpg') img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY response:响应强度 运行之后,结果如下图所示: 拼接 示例代码 下面是一个两幅图像拼接的示例,先放代码[1]: import time import cv2 import numpy start_time)) 特征匹配结果: 拼接结果: 代码细节解析 相比于关键点检测的任务,图像任务是在前者的基础上加入图像关键点匹配和图像融合的过程。 填充完成后,就得到了整幅拼接的图像。 总结 整个算法在图像尺寸不大时,拼接速度较快。但是当图像尺寸较大时(几千x几千),速度明显较慢。

    7.3K30编辑于 2023-02-02
  • 来自专栏点云PCL

    PCL点云2

    (1)正态分布变换进行(normal Distributions Transform) 介绍关于如何使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个算法,它应用于三维点的统计模型 ,使用标准最优化技术来确定两个点云间的最优匹配,因为其在的过程中不利用对应点的特征计算和匹配,所以时间比其他方法比较快, 对于代码的解析 /*使用正态分布变换进行的实验 。 > #include <pcl/point_types.h> #include <pcl/registration/ndt.h>//NDT(正态分布)类头文件 #include <pcl/filters | %6.3f %6.3f %6.3f | \n", matrix (2, 0), matrix (2, 1), matrix (2, 2)); printf ("Translation vector , 20, 180, 20); viewer.addPointCloud (cloud_tr, cloud_tr_color_h, "cloud_tr_v1", v1); // ICP后的点云为红色

    2K20发布于 2019-07-31
  • 来自专栏往期博文

    图像】Canny边缘检测+模板红外可见光双路数据

    研究目的 最近在做无人机遥感红外和可见光双路数据,由于红外相机视野范围较小,因此的目的主要是在可见光的视野范围内,裁剪出红外图像对应的部分,同时,保持可见光的高分辨率不变。 本文思路 本文尝试使用Canny边缘检测提取红外和可见光的边缘特征,然后使用模板匹配的方式去进行。 由于红外图像和可见光图像的分辨率并不相同,因此需要对可见光不断进行下采样,以接近红外图像的分辨率。 总体看来,使用传统方法做跨模态效果有限,主要是由于红外图像特征较少,不过在光照充足和建筑特征明显的情况下,有一定效果,后续会采用基于深度学习的方法,相关图片由于项目原因不对外公布,这里对代码进行归档 ) template = cv2.Canny(template, 50, 200) (tH, tW) = template.shape[:2] # 读取可见光图像 image

    1.6K20编辑于 2023-10-25
  • 来自专栏磐创AI技术团队的专栏

    图像:从SIFT到深度学习

    编译 | 小韩 来源 | sicara.com 目录: 图像:从SIFT到深度学习 什么是图像 传统的基于特征的方法 关键点检测和特征描述 特征匹配 图像变换 深度学习方法 特征提取 Homography 什么是图像 图像就是找到一幅图像像素到另一幅图像像素间的空间映射关系。这些图像可以是不同时间(多时间),不同传感器在不同地方拍摄(多模式)。 CT扫描和MRI 在本文中,我们将介绍图像的几种不同方法。 传统的基于特征的方法 自21世纪初以来,图像主要使用基于特征的方法。 与预定义的优化算法相反,在这种方法中,我们使用训练好的代理进行。 ? 强化学习方法的可视化 2016年,Liao 等人首先使用强化学习进行图像。他们的方法基于有监督算法进行端到端的训练。 该方法对前列腺MRI图像的患者间的进行实验,在2-D和3-D中表现出了较好的结果。 复杂的转换 在当前图像研究中占较大比例的是医学影像。

    9.3K42发布于 2019-07-30
  • 来自专栏AI科技大本营的专栏

    巧解图像处理经典难题之图像

    2.图像采集方式 ①Multi-view Analysis: 多视图 同一物体在同一场景不同视角下的图像。 从多个视角捕获相似对象或场景的图像,以便获得扫描对象或场景的更好表示。 如使用图像拼接,从2D图像重建3D模型等。 ②Multi-temporal Analysis: 多时相配 同一物体在同一场景同视角不同时间的图像。如运动追踪,肿瘤生长情况跟踪等。 Interaction: 流程互动性 手动,半自动或自动 4. Dimensionality: 图像空间维数 若仅考虑空间维数,可以划分为2D/2D, 2D/3D, 3D/3D等。 根据算法本质的分类 图像最本质的分类是: 1.基于灰度的图像2.基于特征的图像。 具体的图像算法是基于这两点的混合或者变体的算法。 2.Feature matching: 特征匹配 该步骤基本建立在对待图像与在参考图像中检测到的特征之间的对应关系上。

    3K13发布于 2019-10-10
  • 来自专栏往期博文

    图像】多图不同特征提取算法匹配器比较测试

    前言 本文首先完成之前专栏前置博文未完成的多图拼接任务,其次对不同特征提取器/匹配器效率进行进一步实验探究。 SIFT算法 在前文【图像】SIFT算法原理及二图拼接已经对此做过分析,这里不作赘述。 多图 无论何种算法,图像无非是这样几个步骤->图像灰度化->提取特征->构建匹配器->计算变换矩阵->图像合并。 那么多图,实际上可以分解为多个双图。 Todo 此示例中,默认图像位置是未知的,而在遥感图像中,可以通过gps坐标来确定图像的大致方位,后续考虑引进gps坐标,构建图像排布坐标系,从而加快速度。 此示例中,多图拼接是直接用大图和小图去做,效率并不是太高。后续可能可以结合gps信息,从大图中挖出一部分小图来做

    4.9K61编辑于 2023-02-13
  • 来自专栏最新医学影像技术

    ANHIR2019——自动非刚性组织学图像之传统非刚性方法

    四、技术路线 1、加载target图像作为参考图像和标签,加载source图像作为待图像2、然后将source图像和target图像采样到2048x2048大小。 3、然后先使用刚性进行粗略,将source和target图像进行平移和旋转,保证两者对应的前景区域有重叠区域。 4、然后再使用非刚性变换进行精细,将source和target的前景区域进行样条插值,保证两者对应的前景区域有最多重叠区域。 5、最后将待图像再采样到target图像大小。 6、source图像到target图像结果。 代码实现可以参考这篇文章µ-RegPro2023——前列腺 MR 超声挑战之传统非刚性方法。 左边是source图像结果,中间是图像结果,右边是target图像结果。

    64210编辑于 2024-04-02
  • 来自专栏贾志刚-OpenCV学堂

    干货 | 基于特征的图像用于缺陷检测

    投稿作者:小黄弟 来自:中国电科智慧城市建模仿真与智能技术重点实验室 文字编辑:gloomyfish 特征提取 基于特征的图像,具有非常广泛的应用,大致流程可以如下: ? 特征对齐/ 两幅图像之间的基于特征匹配的透视变换矩阵求解通常被称为图像对齐或者。 基于特征的匹配可以很好实现图像对齐或者,首先需要获取两张图像的特征关键点与特征描述子,然后通过暴力匹配或者FLANN匹配寻找匹配度高的相关特征点。 最后基于这些相关特征点估算它们之间的单应性矩阵,通过单应性矩阵实现透视变换,完成图像对齐与。 为待图片 //im2为模板图片 //im1Reg为后的图片 //h为单应性矩阵 void alignImages(Mat&im1, Mat&im2, Mat&im1Reg, Mat&h) {

    3.4K30发布于 2020-03-18
  • 来自专栏往期博文

    图像图像融合再探索图像像素点遍历加速

    前言 在我先前的博文【图像】多图/不同特征提取算法/匹配器比较测试中,提到了图像融合的一种方式,相关代码如下: result[0:imageB.shape[0], 0:imageB.shape : if (result[r, c] == np.array((0, 0, 0))).all(): result[r, c] = imageB[r, c] 采用两张7k x 5k分辨率的图片做融合 方式二:纯像素遍历+GPU 显然,两张图片花费2分多种实在是太慢了,遍历像素点的计算太多,CPU效率不够快。那么,是否可以将该部分的计算放到GPU中去进行呢? ((0, 0, 0))).all(): result[r, c] = imageB[r, c] return result 采用两张7k x 5k分辨率的图片做融合 采用两张7k x 5k分辨率的图片做融合,所耗费的时间为:14.54秒,速度进一步提升。 总结 涉及到搜寻像素范围时,优先使用np.where;遇到密集计算时,可以尝试用@jit进行GPU加速。

    1.1K50编辑于 2023-02-16
  • 来自专栏点点GIS

    镶嵌自动

    1.1图像镶嵌 加载实验数据 ? 在 Toolbox 中,打开 Mosaicking /Seamless Mosaic,启动图像无缝镶嵌工具 Seamless Mosaic,镶嵌的主要流程如下: 点击 Seamless Mosaic 面板左上方 (1)在 Color Correction 选项中,勾选 Histogram Matching (2)Overlap Area Only:重叠区直方图匹配 (3)Entire Scene:整景影像直方图匹配 1.2遥感图像自动 ? 自动生成 Tie 点, ? ? ? 输出图像的结果设置输出文件和 Tie 点文件:输出的文件可以被保存为 ENVI 标准格式和 TIFF 格式, Tie点保存为 ASCII 文件。点击 finish 完成执行 ?

    1.1K30发布于 2021-08-18
  • 来自专栏最新医学影像技术

    ANHIR2019——自动非刚性组织学图像之AI形变场方法

    今天将分享自动非刚性组织学图像之AI形变场方法完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。 在ANHIR2019挑战中,使用手动注释的地标来评估准确性。还将通过计算执行的改善最终图像对齐的次数来估计方法的鲁棒性。作为辅助标准,还将测量计算时间。 3、搭建VNet2d网络来计算形变场,然后根据形变场通过空间变换网络对待图像进行变换计算得到图像结果,使用AdamW优化器,学习率是0.001,batchsize是8,epoch是1000,损失函数 :相似性损失(图像和参考图像),可以使用归一化相关系数NCC或均方误差MSE;平滑损失(形变场xy两个方向上梯度平滑),可以使用L1或L2。 5、source图像到target图像结果。

    60810编辑于 2024-04-02
  • 来自专栏CV学习史

    使用3D Slicer对图像进行

    在进行深度学习之前,我们需要图像进行一些预处理操作,其中准是很重要的一环,以下将介绍使用软件3D Slicer来进行图像 3D Slicer是(1)一个软件平台,用以图像分析(包括和实时编辑) ,图像可视化以及图像引导治疗;(2)是一个免费、开源软件,并适用于Linux、MacOSX和windows操作系统;(3)拥有强大的可扩展性,可以通过模块嵌入方式来增加新的功能和应用。 搜索Elastix,安装SlicerElastix 将两组需要的dicom文件拉入软甲所在位置,根据提示框将两组文件都进行加载 点击搜索框,选择Elastix ? 在Inputs框,依次选择配的文件,其中Fixed volume表示的基准,Moving volums表示待的文件 ? 选择配之后输出的名字 ? 点击Apply等待即可 结果 点击data,可看见左侧中间部分显示原文件和结果文件,点击即可查看 ? 保存文件,点击save即可保存,同时可以保存多种格式 ?

    3.1K11发布于 2019-09-10
  • 来自专栏机器学习炼丹术

    医学图像 | Voxelmorph 微分同胚 | MICCAI2019

    0 综述 本文提出了一个概率生成模型,并给出了一种基于无监督学习的推理算法卷积神经网络; 论文中对一个三维脑任务进行了验证,并提供了一个实验结果; 论文的方法在提供微分同胚的同时,且具有最先进的精度和非常快的运行速度 这片论文提供了SOTA的方式,并且使用了diffeomorphic(微分同胚)。 : pos_flow = self.resize(pos_flow) preint_flow = pos_flow # 这个是如果使用了双向的话 整个网络也不难理解,其实这个voxelmorph代码中已经使用了微分同胚和双向的方案,目前使用变分推断的prob-voxelmorph模型github仓库中作者还没有提供torch的代码,所以目前还没有这个部分 关于voxelmorph先介绍这么多,个人的心得为: 微分同胚一定要有,不然很容易不收敛,建议使用默认的参数7,把一个时间间隔划分成8份; 双向的效果还不确定。

    3K40发布于 2021-03-22
  • 来自专栏图像配准

    关于图像(Image Registration)的基础知识汇总1.0

    以同一场景拍摄而成的两幅图像为例。假如实际的三维世界点P在两幅图像中分别对应着P1和p2两个二维图像点。图像要做的就是找到P1和P2的映射关系,或者p1、p2跟P的关系。 传统的方法传统的方法是一个迭代优化的过程,首先定义一个相似性度量(如:L2范数,互信息),通过对参数变换或非参变换进行不断迭代优化,使得后的源图像与目标图像相似度最大。 (2)如何获取标签?① 利用传统的经典方法进行,得到的变形场作为标签;② 对原始图像进行模拟变形,将原始图像作为固定图像,变形图像作为移动图像,模拟变形场作为标签。 图像方法分类图像分类:图片图片根据问题特点的分类:1. Registration Quality: 性质根据数据或特征确定的类型。如自然图像,医学图像,遥感图像等。2. 2.基于特征的图像共同之处基于特征的匹配方法的共同之处是首先要对待图像进行预处理,也就是图像分割和特征提取的过程,再利用提取得到的特征完成两幅图像特征之间的匹配,通过特征的匹配关系建立图像之间的映射关系

    20.6K95编辑于 2023-09-26
  • 来自专栏3D视觉从入门到精通

    3D点云(二多幅点云

    在上一篇文章 点云(一 两两)中我们介绍了两两点云之间的原理。本篇文章,我们主要介绍一下PCL中对于多幅点云连续的实现过程,重点请关注代码行的注释。 对于多幅点云的,它的主要思想是对所有点云进行变换,使得都与第一个点云在统一坐标系中。在每个连贯的、有重叠的点云之间找到最佳的变换,并累积这些变换到全部的点云。 此处我们以郭浩主编的《点云库PCL从入门到精通》提供的示例demo来介绍一下多幅点云进行的过程。 //现在我们开始进行实际的匹配,由子函数pairAlign具体实现, //其中参数有输入一组需要的点云,以及是否进行下采样的设置项,其他参数输出后的点云及变换矩阵。 即每迭代两次就认为收敛,停止内部迭代 reg.setMaximumIterations (2); //设置最大迭代次数 //手动迭代,此处设置为30次,每手动迭代一次,在结果视口对迭代的最新的结果进行刷新显示

    2.5K10发布于 2020-12-11
  • 来自专栏点云PCL

    PCL点云(1)

    点云的有手动依赖仪器的,和自动,点云的自动技术是通过一定的算法或者统计学规律利用计算机计算两块点云之间错位,从而达到两块点云自动的效果,其实质就是把不同的坐标系中测得到的数据点云进行坐标系的变换 PCL中有单独的模块,实现了相关的基础数据结构,和经典的算法如ICP。 PCL中实现算法以及相关的概念 两两的简介:一对点云数据集的问题是两两(pairwise registration 或 pair-wise registration).通常通过应用一个估计得到的表示平移和选装的 4*4缸体变换矩阵来使得一个点云的数据集精确的与另一个点云数据集(目标数据集)进行完美的 具体的实现步骤: (1)首先从两个数据集中按照同样的关键点选取的标准,提取关键点 (2)对选择所有的关键点分别计算其特征描述子 ) (2)kd——数最近邻查询(FLANN) (3)在有序点云数据的图像空间中查找 (4)在无序点云数据的索引空间中查找 (3)对应关系的去除(correspondence rejection)

    2.8K20发布于 2019-07-31
  • 来自专栏媒矿工厂

    nerf2nerf: 神经辐射场的成对

    介绍 本文介绍了一种用于神经场成对的技术,该技术扩展了经典的基于优化的局部(即ICP),以在神经辐射场(NeRF)上操作——从校准图像集合中训练的神经3D场景表示。 然后,将nerf2nerf视为一种稳健的优化,该方法迭代地寻求对齐两个场景的表面场的刚性变换。通过引入预先训练的NeRF场景数据集来能够有效评估本文技术的有效性。 2、利用surface fields及它对illumination的不稳定性。 3、能够两个不同的场。 方法 两个由NeRF表示的3D场景,且都有一个共享的子结构(e.g. 方法仅假设在优化期间可以访问Ra和Rb(即,用于训练 NeRF 的图像不可用),这样就可以将神经场问题表述为two-term energy的迭代优化: arg_T min(1-\lambda^{(t 然后,以 ICP 的“风格”将 nerf2nerf 正式化为一个稳健的优化问题,并在一个新的数据集上彻底分析了其性能。

    65440编辑于 2023-09-09
领券