博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度学习图像配准 Image Registration: From SIFT to Deep Learning
阅读量:5235 次
发布时间:2019-06-14

本文共 12188 字,大约阅读时间需要 40 分钟。


What is Image Registration?


Traditional Feature-based Approaches

Keypoint Detection and Feature Description
import numpy as npimport cv2 as cvimg = cv.imread('image.jpg')gray= cv.cvtColor(img, cv.COLOR_BGR2GRAY)akaze = cv.AKAZE_create()kp, descriptor = akaze.detectAndCompute(gray, None)img=cv.drawKeypoints(gray, kp, img)cv.imwrite('keypoints.jpg', img)

For more details on feature detection and description, you can check out this 
.

Feature Matching

import numpy as npimport cv2 as cvimport matplotlib.pyplot as pltimg1 = cv.imread('image1.jpg', cv.IMREAD_GRAYSCALE)  # referenceImageimg2 = cv.imread('image2.jpg', cv.IMREAD_GRAYSCALE)  # sensedImage# Initiate AKAZE detectorakaze = cv.AKAZE_create()# Find the keypoints and descriptors with SIFTkp1, des1 = akaze.detectAndCompute(img1, None)kp2, des2 = akaze.detectAndCompute(img2, None)# BFMatcher with default paramsbf = cv.BFMatcher()matches = bf.knnMatch(des1, des2, k=2)# Apply ratio testgood_matches = []for m,n in matches:    if m.distance < 0.75*n.distance:        good_matches.append([m])        # Draw matchesimg3 = cv.drawMatchesKnn(img1,kp1,img2,kp2,good_matches,None,flags=cv.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS)cv.imwrite('matches.jpg', img3)

Image Warping

# Select good matched keypointsref_matched_kpts = np.float32([kp1[m[0].queryIdx].pt for m in good_matches]).reshape(-1,1,2)sensed_matched_kpts = np.float32([kp2[m[0].trainIdx].pt for m in good_matches]).reshape(-1,1,2)# Compute homographyH, status = cv.findHomography(ref_matched_kpts, sensed_matched_kpts, cv.RANSAC,5.0)# Warp imagewarped_image = cv.warpPerspective(img1, H, (img1.shape[1]+img2.shape[1], img1.shape[0]))            cv.imwrite('warped.jpg', warped_image)


Deep Learning Approaches

Feature Extraction

Homography Learning

In 2016, DeTone et al. published  that describes Regression HomographyNet, a VGG style model that learns the homography relating two images. This algorithm presents the advantage of learning the homography and the CNN model parameters simultaneously in an end-to-end fashion: no need for the previous two-stage process!

With this in mind, Nguyen et al. presented an . They kept the same CNN but had to use a new loss function adapted to the unsupervised approach: they chose the photometric loss that does not require a ground-truth label. Instead, it computes the similarity between the reference image and the sensed transformed image.

Their approach introduces two new network structures: a Tensor Direct Linear Transform and a Spatial Transformation Layer. We will not go into the details of these components here, we can simply consider that these are used to obtain a transformed sensed image using the homography parameter outputs of the CNN model, that we then use to compute the photometric loss.

Other Approaches

Deep reinforcement learning is gaining traction as a registration method for medical applications. As opposed to a pre-defined optimization algorithm, in this approach, we use a trained agent to perform the registration.

A significant proportion of current research in image registration concerns the field of medical imagery. Often times, the transformation between two medical images cannot simply be described by a homography matrix because of the local deformations of the subject (due to breathing, anatomical changes, etc.). More complex transformations models are necessary, such as diffeomorphisms that can be represented by displacement vector fields.


 
来源: 
 

 

转载于:https://www.cnblogs.com/jins-note/p/11203934.html

你可能感兴趣的文章
Git学习系列 (一)
查看>>
【原】移动web页面使用字体的思考
查看>>
xp sp3安装IIS
查看>>
解决IE6浏览器下PNG图片无法正常显示的问题
查看>>
青蛙的约会 扩展欧几里得
查看>>
看了三遍,沉默了五天,人的一生真的很短暂!
查看>>
(转)接口自动化测试之http请求实践总结
查看>>
jQuery与Ext区别
查看>>
php 图片压缩
查看>>
HDU 1811 Rank of Tetris
查看>>
L - Subway - POJ 2502
查看>>
DS_Store 是什么文件
查看>>
浅析Java中的final关键字--转
查看>>
cocoaPods使用
查看>>
javascript中全屏滑动效果实现
查看>>
ABAP 实现内表自定义的F4功能
查看>>
Service
查看>>
BZOJ4542: [Hnoi2016]大数
查看>>
python2.7.3的安装
查看>>
SQL server 行转列 列转行
查看>>