圖像配準的前世今生:從人工設計特徵到深度學習

2020-12-06 機器之心Pro

選自Medium

作者:Emma Kamoun

機器之心編譯

參與:Nurhachu Null,Geek AI

作為計算機視覺的重要研究課題,圖像配準經歷了從傳統方法走向深度學習的重要革命。本文將回顧圖像配準技術的前世今生,為讀者提供一個該領域的宏觀視野。

圖像配準是計算機視覺領域的一個基礎步驟。在本文深入探討深度學習之前,我們先展示一下 OpenCV 中基於特徵的方法。

什麼是圖像配準?

圖像配準就是將同一個場景的不同圖像轉換到同樣的坐標系統中的過程。這些圖像可以是不同時間拍攝的(多時間配準),可以是不同傳感器拍攝的(多模配準),可以是不同視角拍攝的。這些圖像之間的空間關係可能是剛體的(平移和旋轉)、仿射的(例如錯切),也有可能是單應性的,或者是複雜的大型形變模型。

圖像配準有很廣泛的應用:只要我們面對的任務需要比較相同場景的多張圖片,它就是必不可少的。它在醫學影像、衛星圖像分析以及光流領域都是很常用的。

經過配準後的 CT 掃描和核磁共振圖像

在本文中,我們會重點關注在一張參考圖像和一張待配準圖像之間進行圖像配準的不同方法。我們不會選擇迭代式的/基於強度的方法,因為它們並不像本文中提到的方法這樣常用。

傳統的基於特徵的方法

自本世紀初以來,圖像配準主要使用傳統的基於特徵的方法。這些方法基於三個步驟:關鍵點檢測和特徵描述,特徵匹配,圖像變形。簡而言之,我們在兩幅圖像中選擇興趣點,將參考圖像中的每個興趣點和它在待配準圖像中的對應點關聯起來,然後對待批准圖像進行變換,這樣兩幅圖像就得以對齊。

對一個圖像對通過單應性變換進行關聯的基於特徵的方法

關鍵點檢測和特徵描述

關鍵點就是感興趣的點。它定義了一幅圖像中重要並且有特點的地方(如角,邊等)。每個關鍵點都由一個描述子(包含關鍵點本質特點的特徵向量)表徵。描述子應該對圖像變換(如位置變換、縮放變換、亮度變換等)是魯棒的。很多算法都要執行關鍵點檢測和特徵描述:

SIFT(Scale-invariant feature transform,尺度不變的特徵變換)是用於關鍵點檢測的原始算法,但是它並不能免費地被用於商業用途。SIFT 特徵描述子對均衡的縮放,方向、亮度變化是保持不變的,對仿射形變也是部分不變的。SURF(Speeded Up Robust Features,加速魯棒特徵)是受到 SIFT 深刻啟發設計的檢測器和描述子。與 SIFT 相比,它的運行速度要快好幾倍。當然,它也是受專利保護的。ORB(定向的 FAST 和旋轉的 BRIEF)是基於 FAST(Features from Accelerated Segment Test)關鍵點檢測器和 BRIEF(Binary robust independent elementary features)描述子的組合的快速二值描述子,具有旋轉不變性和對噪聲的魯棒性。它是由 OpenCV Lab 開發的高效、免費的 SIFT 替代方案。AKAZE(Accelerated-KAZE) 是 KAZE 的加速版本。它為非線性尺度空間提出了一種快速多尺度的特徵檢測和描述方法。它對於縮放和旋轉也是具有不變性的,可以免費使用。

這些算法在 OenCV 中都得到了實現,易於使用。在下面的例子中,我們使用了 AKAZE 的 OpenCV 實現。其它算法的代碼大致也是一樣的:只需修改一下算法的名字即可。

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)

圖像的關鍵點

更多關於特徵檢測和描述的細節,請參閱下面的 OpenCV 教程:https://docs.opencv.org/3.4/d7/d66/tutorial_feature_detection.html

特徵匹配

當組成一個圖像對的兩張圖的關鍵點都被識別出來以後,我們需要將它們關聯(或稱「匹配」)起來,兩張圖像中對應的關鍵點在現實中是同一個點。一個可以實現該功能的函數是「BFMatcher.knnMatch()」。這個匹配器(matcher)會衡量每一對關鍵點的描述子之間的距離,然後返回與每個關鍵點距離最小的 k 個最佳匹配結果。

接下來,我們應用比例濾波器來保持正確的匹配。事實上,為了實現可靠的匹配,配對的關鍵點應該比距離最近的錯誤匹配點更接近。

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 withdefault 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 matches img3 = cv.drawMatchesKnn(img1,kp1,img2,kp2,good_matches,None,flags=cv.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS) cv.imwrite('matches.jpg', img3)

配對的關鍵點

請參閱下面的文檔來了解 OpenCV 中實現的其他特徵匹配方法:https://docs.opencv.org/trunk/dc/dc3/tutorial_py_matcher.html

圖像變形

在匹配到至少 4 對關鍵點之後,我們就可以將一幅圖像相對於另一幅圖像進行轉換。這個過程被稱作圖像變形(image warping)。空間中同一平面的任意兩幅圖像都是通過單應性變換關聯起來的。單應性變換是具有 8 個參數的幾何變換,通過一個 3×3 的矩陣表徵。它們代表著對一幅圖像整體所做的任何變形(與局部形變不同)。因此,為了得到變換後的待配準圖像,我們計算了單應矩陣,並將它應用在了待配準圖像上。

為了保證最優的變形,我們使用了 RANSAC 算法來檢測輪廓,並且在進行最終的單應性變換之前將輪廓刪除。該過程直接內置於 OpenCV 的「findHomography()」函數中。目前也有一些 RANSAC 的替代方案,例如 LMED(Least-Median robust method,最小中值魯棒方法)。

# 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)

.

變形後的待配準圖像

關於以上三個步驟的更多細節,請參閱 OpenCV 官方發布的系列教程(https://docs.opencv.org/3.1.0/db/d27/tutorial_py_table_of_contents_feature2d.html)。

深度學習方法

目前大多數的圖像配準研究都涉及到深度學習的使用。過去幾年裡,深度學習方案在計算機視覺任務中(如圖像分類、目標檢測和分割)達到了最先進的性能。當然,圖像配準也沒有理由拒絕深度學習。

(二級)特徵提取

深度學習在圖像配準中使用的第一種方式就是將其用於特徵提取。在卷積神經網絡(CNN)中,連續的層能夠成功地捕獲到越來越複雜的圖像特徵,學習到特定任務的特徵。自 2014 年以來,研究者們就開始將這些神經網絡應用於特徵提取步驟,代替使用 SIFT 或者其它類似的算法。

2014 年,Dosovitskiy 等人提出了通用特徵學習方法「Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks」(https://arxiv.org/abs/1406.6909),僅使用無標籤的數據來訓練卷積神經網絡。這些特徵的泛化屬性使得它們對變換是魯棒的。這些特徵(或稱描述子),在匹配任務中要優於 SIFT 描述子。2018 年,Yang 等人基於同樣的思想研發了一種非剛性配準方法「Multi-temporal Remote Sensing Image Registration Using Deep Convolutional Features」(https://ieeexplore.ieee.org/document/8404075)。他們使用預訓練的 VGG 網絡層來生成能夠同時保持卷積信息和定位能力的特徵描述子。這些描述子似乎也要優於和 SIFT 類的描述子,尤其是在 SIFT 包含很多輪廓或者不能匹配到足夠數目的特徵點的情況下。

SIFT 和基於深度學習的非剛性配準方法描述子的實驗結果

論文「Multi-temporal Remote Sensing Image Registration Using Deep Convolutional Features」的代碼連結如下:https://github.com/yzhq97/cnn-registration。

儘管我們在 15 分鐘內就在自己的圖像上完成了對這個配準算法的測試,但是它幾乎要比我們在本文前面在 SIFT 類的方法上的實現慢了近 70 倍。

單應性學習

研究者們並沒有局限於神經網絡在特徵提取上的使用,而是嘗試使用神經網絡來直接學習幾何變換,從而對齊兩張圖像。

1. 監督學習

2016 年,DeTone 等人發表了論文「深度單應性估計」(https://arxiv.org/pdf/1606.03798.pdf),提出了「Regression HomographyNet」網絡,這是一個類似於 VGG 的網絡,能夠學習到將兩幅圖像關聯起來的單應性變換。這個算法彰顯了以端到端的方式,同時學習單應性變換以及卷積神經網絡參數的好處:不再需要之前的兩個步驟了!

Regression HomographyNet 示意圖

這個網絡產生了 8 個實數作為輸出。它是以有監督的方式進行訓練的,以輸出和真實的單應之間的歐氏距離作為損失函數。

有監督的深度單應性估計

與所有的監督方法類似,這個單應性估計方法需要帶標籤的數據對。儘管在人工生成的圖像對上得到這樣的單應變換矩陣是很容易的,但是在真實的數據上卻需要付出高昂的代價。

2. 監督學習

考慮到這一點,Nguyen 等人提出了一種無監督的深度圖像單應估計方法(https://arxiv.org/pdf/1709.03966.pdf)。

他們保持了原來的 CNN,但是使用了新的、適應於無監督方法的損失函數:他們選擇了不需要真實標籤的光度損失(photometric loss)。此外,它還計算了參考圖像和待配準變換圖像之間的相似度。

L1 光度損失函數

這個方法引入了兩個新的網絡結構:張量直接線性變換(Tensor Direct Linear Transform)和空間變換層。我們在本文中不會詳述這些組成部分的細節,我們只要知道這些是被用來使用 CNN 模型的單應性參數輸出獲得變換後的待配準圖像就行了,我們會用它計算光度損失函數。

無監督深度單應性估計

這篇文章的作者稱,與傳統的基於特徵的方法相比,這種無監督方法以更快的推理速度得到了相當的或者更高的準確率,以及關於光照變化的魯棒性。此外,與監督方法相比,它還具有更高的適應能力和性能。

其它方法

1. 強化學習

作為醫療應用中的配準方法,深度強化學習正日益受到關注。與預定義的優化算法不同,在該方法中,我們使用訓練過的智能體(agent)來進行配準。

基於強化學習的配準流程示意圖

2016 年,Liao 等人首次在圖像配準中使用強化學習。他們的方法(https://arxiv.org/pdf/1611.10336.pdf)是以用於端到端訓練的貪婪監督算法為基礎的。其目標是通過找到最佳的動作序列來對齊圖像。雖然這種方法優於一些目前最先進的模型,但是它僅僅被用於剛性變換。強化學習也被用在更加複雜的變換中。在論文「Robust non-rigid registration through agent-based action learning」(https://hal.inria.fr/hal-01569447/document)中,Krebs 等人使用了人工智慧體來優化形變模型的參數。這個方法在前列腺核磁共振圖像的受試者間配準上進行了測試,在 2D 和 3D 圖像上都展現出了良好的效果。

2. 複雜變換

目前有很大一部分關於圖像配準的研究關注於醫療圖像領域。通常,由於受試者的局部形變(如呼吸變化、解剖學變化等),兩幅醫療圖像之間的變換不能簡單地通過單應矩陣來描述。所以需要更複雜的變換模型,例如可以用位移矢量場表示的微分同胚。

心臟核磁共振圖像上的變形網格和位移矢量場的示例

研究者們已試圖使用神經網絡來估計這些擁有很多參數的大規模形變模型。

第一個例子就是上文提及的 Krebs 等人的強化學習方法。2017 年,De Vos 等人提出了 DIRNet。這是一個使用 CNN 來預測控制點的網格的神經網絡,這些控制點能夠被用來生成根據參考圖像來對待配準圖像進行變形的位移矢量場。

DIRNet 示意圖(使用 MNIST 數據集中的兩張圖像作為輸入)

Quicksilver 配準解決了一個類似的問題。Quicksilver 使用深度「編碼器-解碼器」網絡直接在圖像外觀上預測圖塊級(patch-wise)的形變。

原文地址:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Fblog.sicara.com%2Fimage-registration-sift-deep-learning-3c794d794b7a

相關焦點

  • 深度學習在醫學影像中的研究進展及發展趨勢
    如何藉助大數據和人工智慧技術,深入挖掘海量的醫學圖像信息,實現基於影像數據的智能診斷、智能臨床決策以及治療預後,已成為目前的研究熱點。深度學習屬於機器學習的分支,是目前實現人工智慧技術的重要手段。隨著深度學習技術在圖像處理和計算機視覺領域的廣泛應用,利用深度學習技術輔助臨床診斷和決策已成為醫學圖像分析領域的研究重點。
  • 巧解圖像處理經典難題之圖像配準
    具體地說,對於一組圖像數據集中的兩幅圖像,通過尋找一種空間變換把一幅圖像(浮動圖像,moving image)映射到另一幅圖像(參考圖像,fixed image)上,使得兩圖中對應於空間同一位置的點一一對應起來,從而達到信息融合的目的。圖像配準常為圖像融合的一個預處理步驟。經過精確圖像配準的圖像對,通常可獲得更好的融合效果。
  • 從手工提取特徵到深度學習的三種圖像檢索方法
    圖片檢索的的大體框架大致可以分成兩步,抽取某種特徵,計算相似度。其中像上述提及的幾種方法,都是對應抽取特徵這一步,而計算相似度,則常使用歐式距離/漢明距離/Triplet 等方法。顯然的,上述方法都屬於人工設計的方法來進行抽取特徵,很自然的就想到使用當今很火熱的深度學習來代替人工的設計的方法,所以這篇文章主要介紹的就是基於深度學習的圖片檢索。
  • 圖像工程師必備:人工特徵
    圖像自己哪知道自己有什麼特徵,都是人為給它安上的名頭。理論教育家給圖像的人工特徵定義為以下幾種:一,直方圖特徵,上次文章圖像的特徵介紹了直方圖特徵。顏色特徵一般通過直方圖特徵來展現。二,灰度邊緣特徵。圖像灰度在某個方向上的局部範圍內表現出的不連續性,這種灰度明顯變化點的集合稱為邊緣。這是邊緣的科學定義,大家可以理解嗎~不明覺厲有沒有~要我來說,你只要記著:邊緣如何體現,就是灰度差,所以我們把邊緣又叫做灰度邊緣。就可以了~而灰度邊緣特徵又進一步反映了圖像中目標所佔的面積大小和形狀。
  • 在醫學圖像分析中使用ICP算法進行點雲配準
    和傳統醫學圖像領域中的重建和配準算法相比,文中提出的方法更快、精度更高。我們將算法應用於研究顱骨畸形,骷髏模型的實驗證明了這種方法的有效性和魯棒性。2.背景知識配準是解決計算機視覺以及計算機圖形學中各種問題的關鍵。總體目標是找到兩個對象之間或者同一對象的幾個實例之間的最佳對齊方式,以便把形狀數據引入到同一參考系統下。
  • 通過使用新的學習技術,將腦部掃描和其他三維圖像的配準速度提高...
    為了解決這一問題,MIT的研究人員描述了一種機器學習算法,通過使用新的學習技術,將腦部掃描和其他三維圖像的配準速度提高1000倍以上。訓練後,運用這些參數一次性將一幅圖像的所有像素映射到另一幅圖像上。該算法使利用普通計算機進行配準的時間減少到一兩分鐘,或者使利用卓越性能的GPU進行配準的時間減少到不到一秒鐘。 「當可以對齊其中一對或另一對MRI掃描圖像時,配準MRI圖像的任務就不應該困難了 。」
  • 深度學習與圖像識別 圖像檢測
    CNN等為什麼對圖像領域更加有效,因為其不但關注了全局特徵,更是利用了圖像識別領域非常重要的局部特徵,應該是將局部特徵抽取的算法融入到了神經網絡中。圖像本身的局部數據存在關聯性,而這種局部關聯性的特徵是其他算法無法提取的。深度學習很重要的是對全局和局部特徵的綜合把握(2)深度學習不是一個黑箱系統。
  • 圖像識別中的深度學習【香港中文大學王曉剛】
    特徵  深度學習與傳統模式識別方法的最大不同在於它所採用的特徵是從大數據中自動學習得到,而非採用手工設計。好的特徵可以提高模式識別系統的性能。過去幾十年,在模式識別的各種應用中,手工設計的特徵一直處於統治地位。手工設計主要依靠設計者的先驗知識,很難利用大數據的優勢。由於依賴手工調參數,因此特徵的設計中所允許出現的參數數量十分有限。
  • 從傳統圖像算法到深度學習,文字識別技術經歷了這些變化
    文字識別的發展大致可以分為兩個階段,分別是傳統圖像算法階段和深度學習算法階段。傳統圖像算法2012年之前,文字識別的主流算法都依賴於傳統圖像處理技術和統計機器學習方法實現,利用光學技術和計算機技術把印在或寫在紙上的文字讀取出來,並轉換成一種計算機能夠接受、人又可以理解的格式。
  • 河南省安陽市英語教研員張瑞娟:初中英語教學設計的前世今生
    2020年4月4日,學習強國、央視頻和一起教育科技聯袂推出「數位化教育與未來」大講堂,邀請河南省安陽市初中英語教研員張瑞娟老師,分享初中英語教學設計的前世今生。    張瑞娟老師提到,教學設計是上好一堂課的基礎。
  • 基於PyTorch圖像特徵工程的深度學習圖像增強
    介紹在深度學習黑客競賽中表現出色的技巧(或者坦率地說,是任何數據科學黑客競賽) 通常歸結為特徵工程。 當您獲得的數據不足以建立一個成功的深度學習模型時,你能發揮多少創造力?我是根據自己參加多次深度學習黑客競賽的經驗而談的,在這次深度黑客競賽中,我們獲得了包含數百張圖像的數據集——根本不足以贏得甚至完成排行榜的頂級排名。那我們怎麼處理這個問題呢?
  • 深度| 變革的開始,深度學習將如何改變醫療成像領域?
    CNN 的輸出通常是一個或多個概率或者圖像對應的類別的標籤。卷積濾波器能夠直接從訓練的數據當中學習。這正是人們所需要的,因為它降低了對很花費時間的手動標記特徵的需求。如果不用卷積濾波器,那麼在預處理圖像階段,針對特定應用設計的濾波器以及一些需要計算的特徵是離不開這些人工特徵的。CNN 是高度並行化的算法。
  • 一文探討可解釋深度學習技術在醫療圖像診斷中的應用
    然後,結合三篇文章具體分析了可解釋深度學習模型在醫療圖像分析中的應用。作為一種領先的人工智慧方法,深度學習應用於各種醫學診斷任務都是非常有效的,在某些方面甚至超過了人類專家。其中,一些計算機視覺方面的最新技術已經應用於醫學成像任務中,如阿爾茨海默病的分類、肺癌檢測、視網膜疾病檢測等。
  • 牙種植動態導航配準方式對配準精度的影響
    近年來,牙種植動態導航系統(dynamic navigation system,DNS)在牙種植術中可實時追蹤鑽針位置,避免損傷鄰近重要的解剖組織,提高了術後種植體位置、深度和角度的準確性,大大減少了術中併發症及術者的操作時間,使其在牙種植學領域迅速發展起來。
  • 前沿研究丨深度學習在醫學超聲圖像分析中的應用
    深度學習是機器學習的一個分支,也是一種表徵學習方法,能夠直接處理原始數據(如超聲圖像),並從中自動學習到中層與高層抽象特徵。它有潛力進行各種超聲圖像任務的自動分析,如病變/結節分類、組織分割與目標檢測等。
  • 一場深度學習引發的圖像壓縮革命
    目前在圖片、視頻壓縮領域,使用最多的深度學習技術就是卷積神經網絡(CNN),下面是利用卷積神經網絡做壓縮的典型方法。如圖所示,主要包括 CNN 編碼網絡、量化、反量化、CNN 解碼、熵編碼等幾個模塊,其中編解碼網絡可以用卷積、池化、非線性等模塊進行設計和搭建。
  • 新深度學習模型——少量人工神經元造就更高智能
    這種新型系統只需要少量人工神經元就能控制車輛。與之前的深度學習模型相比,該系統具有明顯的優勢:能更好地應對嘈雜輸入,而且其操作模式可以詳細解讀。與活體大腦相似,人工神經網絡也是由許多獨立的細胞組成的。TUW和CSAIL博士後研究員Ramin Hasani博士解釋道:「單個細胞內的信號處理所遵循的數學原理與之前的深度學習模型是不同的。我們設計的網絡高度稀疏,這意味著並非每個細胞都會與其他細胞建立連接,使得網絡變得更簡單。」隨後,研究人員選擇了一項重要任務測試他們的新模型:自動駕駛汽車在車道上的行駛。神經網絡接收道路的攝像機圖像作為輸入,並自動決定汽車的行駛方向。
  • 如何將深度學習應用於無人機圖像的目標檢測
    本文全面概述了基於深度學習的對無人機航拍圖像進行物體檢測的方法。隨著基於深度學習的計算機視覺為這些無人機「提供動力」,行業專家們預測無人機將在以前難以想像的應用場景中被前所未有地廣泛使用。我們將探索一些應用以及伴隨著它們的挑戰,這些應用基於深度學習完成了基於無人機的自動化監測。在最後,我們將展示一個使用Nanonets機器學習框架對非洲住房項目進行遠程監測的案例。
  • 圖像噪聲處理系統設計開題報告_圖像噪聲處理實驗報告 - CSDN
    磁共振成像按獲得磁場的形式可以分為永磁型、常導磁體型和超導磁體型永磁型的特點是造價低、耗電省、效率高;超導磁體型是利用電流來激勵磁場,機器可以設計的比永磁型的小;超導磁體型可以做出很高的磁場,適合於各種不同要求檢查,斷層厚度也可以小到3cm[6]。磁共振成像兼容了射線技術和核醫學的特點,不僅可以顯示形態解剖圖,還可以顯示出各種不同組織的化學結構,以及生理、生化的動態信息。
  • 「催眠音樂」——能讓人「感觸」前世今生?
    專業人士稱,所謂看到前世的說法玄乎其玄,不足為信   想回到過去,看看你的前世嗎?這樣一個近乎荒唐的問題近來卻在網絡上「熱」起來——它與一段名為「前世今生」的音頻有關。  近日,記者在百度貼吧的「洛陽五中」貼吧中,看到這樣一個名為「來探索一下自己的前世今生」的帖子。