# 研究心得 2019/12/10 > **心得**是會參雜個人觀點、想法、情緒的文章,僅供參考、歡迎指教。 ###### tags: `personal review` `registration` `SLAM` ## Paper reading: A review of 3D/2D registration methods for image-guided interventions --- 覺得不光是SLAM領域,在整個三維重建領域裡面,SFM的先決條件是Motion,然而現在有一群人卻專注在**3D Shape Reconstruction from 2D Landmarks**,這是一個不用Motion就可以重建的議題,比起SLAM應該會更加複雜。 --- 除了知名的CVPR、ICCV,其實在CV領域也有如**Medical Image Analysis**等知名期刊可以參閱,應該盡量參閱[這個](https://www.scimagojr.com/)網站**CV & Pattern Recognition**領域的Ranking才是。 --- 另外也發現新的函式庫叫"libigl"(前面igl沒打錯字,請參閱[這個網站](http://geometryhub.net/bgl))或稱為**基礎幾何函式庫**,用C++撰寫,應該要抓時間與PCL(Point Cloud Library)比較。 --- Back-projection是指"反向投影"(與reprojection"重投影"不同),主要是從2D圖像中尋找特徵,再利用此特徵去與原本的2D圖像比對,讓原本的圖像更有代表意義,也就是 **N x 2D -> 2.5D** --- Projection :3D -> N x 2D Back-projection:N x 2D -> 2.5D Reconstruction :N x 2D -> 3D 要能使用projection時,基本上是先前已經算好的有3D模型資訊,才能做投影,至於SLAM領域的reprojection則是(N x 2D)-> 3D ->2D (須注意括號N x 2D,那只是有點在強調他的3D point也是算出來的而已),真正的reprojection絕對是3D ->2D ![](https://i.imgur.com/GfaQ8YV.png) Table from **A review of 3D/2D registration methods for image-guided interventions** --- ## Reprojection定義: ![](https://i.imgur.com/TOlImJg.png) 事實上我個人覺得這張圖定義的很模糊,因為它並沒有把時間考慮進去,容易讓人誤以為是兩張影像同時投影到一個三維點,若考慮到時間因素因該如下方所示,再加上我個人對於reprojection的理解,reprojection應當是強調橘黃色方框處的動作而已(3D ->2D) ![](https://i.imgur.com/EVRjuRM.png) 理解上述後,再來理解Reprojection Error 和 Reprojection Loss的不同,會輕易很多。首先是Reprojection Error: ![](https://i.imgur.com/OrLjFV6.png) 上圖是網路的定義,個人覺得很奇怪。 ![](https://i.imgur.com/IptYiYD.png) 上圖這是滑鐵盧大學定義,看起來也有一點點奇怪… ![](https://i.imgur.com/PbHdQA1.png) 上圖是Pix4D定義,感覺有點到了但還是看不太懂… ![](https://i.imgur.com/CAtUUQF.png) 上圖是個人目前看到最理想的reprojection error,定義來自於**Computers & Graphics**期刊的**Camera pose estimation under dynamic intrinsic parameter change for augmented reality** --- 想想了上述各圖的”奇怪”的點,我覺得是因為沒有先了解”現況”,現況是沒有三維模型只擁有二維影像的話絕對是最後一張圖(”Computers & Graphics”期刊)是對的,坦若現況是只有三維模型,然後用二維影像去校準才是前面幾張圖(有點像visual servoing) ,前面幾張圖就稍微說得通,但應該很少這種情況,畢竟要先去掃描,除非先使用Lidar reconstruction掃描建圖後再對齊。 --- 接下來定義Reprojection Loss,僅需一張圖就能完美定義Reprojection Loss Reprojection Loss: ![](https://i.imgur.com/fyjDG8V.png) --- 3D/2D registration classes 1 Feature-based:基於特徵點 2 Intensity-based:基於影像強度 3 Gradient-based:基於梯度(基於輪廓) --- Gradient-based的Gradient梯度的定義如下圖所示。節錄自[維基百科](https://zh.wikipedia.org/wiki/%E6%A2%AF%E5%BA%A6)。 ![](https://i.imgur.com/mcEEY58.png) --- ## Image registration定義: 影像校準 (image registration) 是從兩個或多個數據來進行影像對齊的過程,它牽涉到影像的整合來建立整合視圖、改善訊號的雜訊比(signal-to-noise ratio),並從多張圖片中萃取(extract) 那些無法從單一影像中獲得的資訊。影像校準用於遙測(remote sensing)、醫學影像、製圖(cartography),以及其他需要從影像中獲得正確資訊的應用,如:從衛星圖片發現淹水面積、MRI掃描檢測腫瘤或工廠檢測等等。該如何決定有效的影像校準方法依情況而異,且可能是一個複雜和費時的過程。這需要仔細選擇一個點轉換模式來提供影像間的參考點,並建立一個比較資訊的方法,來界定正確對齊影像所需要之適當參數。有兩個著名的方法可進行自動影像校準流程:以特徵(feature-based)為基礎和以影像強度(intensity-based)為基礎的校準演算法。在這篇文章中,我們使用一個偵測發燒的例子,來說明以影像強度為基礎,透過MATLAB imregister 函式及影像處理工具箱 (Image Processing Toolbox) 來建立自動影像校準流程。這個工作流程可以快速、且有效地從不同的相機整合影像。 節錄自[鈦思科技](https://www.terasoft.com.tw/technews/commercial201503.html )。 --- ## Rigid transformation(剛性變換)定義: **僅改變物體位置而不改變其形狀與大小的變換**。即: 1. 點之間的距離不變。 2. 線之間的夾角不變。點積保持不變的線性變換是剛性變換。 --- > [name=Huang Yu Hsuan][time=Tue, Feb 25, 2020 12:56 AM][color=darkgreen]