# 二維自動化光學檢測及應用_吳先晃_機器視覺簡介及取像系統的選擇(下)\_遠心鏡頭及線掃描相機 ###### tags: `DeltaMOOCx` `二維自動化光學檢測及應用` `機器視覺` [影片連結](https://www.youtube.com/watch?v=EeGd5nbLIUc) ## 遠心系統 ![](https://hackmd.io/_uploads/r1bjfljTi.png) 上圖有兩個鏡頭的成像概念,上面的是一般鏡頭,其拍攝原理與人眼是一樣的,隨著物體位置的不同,我們所看過去的視角也會是不一樣的。但遠心鏡頭特別的是,不管物體位置在那,它看物體的視角都是垂直的,範例所示是垂直於物面,因此也稱為物面遠心鏡頭。 ## 遠心系統 ![](https://hackmd.io/_uploads/rkmL7xjpi.png) 上圖兩個物件放置一起。 ## 遠心系統 ![](https://hackmd.io/_uploads/ry68Xgjpj.png) 在移動之後,一般人眼與一般鏡頭來看的話,遠的物體看起來就會變小,近的就會變大。 ## 遠心系統 ![](https://hackmd.io/_uploads/S1MC7xjpi.png) 抽像來說,如果是一般人眼與鏡頭的話,因為是非等視角的概念,因此即使物體大小相同,在移動之後所見就會有所落差。因此可以看到上圖左的非等視角說明中兩個物件是不同大小的。 但是在遠心鏡頭來看的話,兩個相同物件即使擺放位置不同,最終在等視角概念之下還是會呈現相同大小。 ## 遠心系統 ![](https://hackmd.io/_uploads/SytSVeoTi.png) 現在我們改以從物件的上面往下看。 ## 遠心系統 ![](https://hackmd.io/_uploads/SyPvNxo6j.png) 很明顯的,在一般人眼、鏡頭的成像上是與遠心鏡頭完全不同。一般人眼的話因為是非等視角,因此你會看到物件的旁邊區域,但在遠心鏡頭上卻不是這樣,在等視角的情況下,你只會看到物件的正上方的部份,因為它是垂直於物面的視角。 ## 遠心系統 ![](https://hackmd.io/_uploads/H1_1rxoao.png) 可以從這邊有個比較直觀的說明,遠心鏡頭在橫向量測上並不會受到深度的影響。 ## 遠心系統 ![](https://hackmd.io/_uploads/HyLFrejpi.png) 上圖是實際物件的拍攝,相同的擺放但不同的相機拍攝。從放樂高的架子來看可以很明顯看到差異。遠心鏡頭拍攝的部份是一個平面,我們無法看到旁邊的側影,但一般鏡頭是有的。 兩個黃虛線區域也很明顯的呈現出差異,左邊的黃線虛線區域有四個階,遠心鏡頭下看起來跟右邊的黃區虛線是等寬的,但是在一般的鏡頭下的左邊區域卻是變窄的。 ## 遠心系統 ![](https://hackmd.io/_uploads/HJjkIgsai.png) 從這張圖可以看的到兩種鏡頭的差異。遠心是垂直於物體面。但在CCTV鏡頭卻不是這樣的,最右邊的小圖說明著,$D2_{\text{image}}$(紅)與$D2_{\text{real}}$(黑)的距離很完全不一樣的。有高度落差的部份,其距離是被縮短的(黑->紅)。 ## 遠心系統 - 尺寸量測應用 ![](https://hackmd.io/_uploads/rJHfPxiTj.png) 這是一個實際物體拍攝的案例。中間的圖很明顯就是CCTV所拍攝,其尺寸就很有可能會因為剛剛說的問題而有所誤差,但相同問題在最右邊的遠心鏡頭是不存在的。 因此這種立體物件最好還是採用遠心鏡頭來拍攝較為實際。 ## 遠心系統 ![](https://hackmd.io/_uploads/Skutvgiaj.png) 這麼好的東西當然也有它的缺點,就是又大又貴。 另一個問題就是,在上集有提到FOV的概念,如果是一般CCTV的話,我們可以透過倍率的縮小來放大它的FOV。但遠心鏡頭不一樣,在固定的焦距之下,其鏡頭直徑一定要比你的FOV還要大,也就是說,如果你的拍攝目標是10CM,那你的鏡頭就一定要超過10CM。 ## 線掃描系統:面相機 ![](https://hackmd.io/_uploads/ByS2dljpo.png) 基本上,掃描器就是一種線掃描系統。也就是成像並不是一次成型,而是一條一條所累積起來的。 雖然我們有提過,FOV可以透過調整$\alpha$來變換,不過一但$\alpha$變小,FOV變大,那解析度就會變差,也會造成細節無法呈現的問題。 ## 線掃描系統:面相機陣列 ![](https://hackmd.io/_uploads/HJ3SKxj6j.png) 當然有一種方式就是把相機做陣列,多台一起拍然後再把照片組合在一起,不過有些時候這不太好控制就是。 ## 線掃描系統:線掃描相機 ![](https://hackmd.io/_uploads/Sk8eTRzRo.png) 想法上,與其拍一個面,不如拍一條線。所以我們可以看到上圖左這種1600萬像素的相機轉成一條線。拍攝的範圍從原本的4096拉大至16384,也就是放大4倍。 假設,原本是4096x4096的照片,並且每一秒鐘需要60張,也就是60fps。將之轉成線之後,一次掃一條,這意謂著相同的面積我們需要掃描61440條,也就是相同的條件之下就需要每一秒可以掃61440條,即61.44k line per second(kHz, kpls)。 這樣子就從原本的每秒60張4096x4096的照片變成每秒61440張16384x1的照片,看清楚單位是1,也就是1條。 ## 線掃描系統:線掃描相機 ![](https://hackmd.io/_uploads/Sk6N6CMRo.png) 這樣,我們就可以每次拍攝一條的情況下進行作業。而且這麼做的好處在於只需要一台相機,成像上比較完美之外,控制系統也比較好實作。 當然,線掃描相機會貴一點,因為sensor比較大,鏡頭也會大一點。 ## 線掃描系統:線掃描相機 ![](https://hackmd.io/_uploads/SkK10Af0s.png) 這是線掃描系統實拍的影像分享 ## 線掃描系統 ![](https://hackmd.io/_uploads/BJBzCAzCj.png) 拍攝的方式是可以採用旋轉球面的方式來拍攝,以此檢驗品質。 ## 線掃描系統 - 線掃描相機的鏡頭 ![](https://hackmd.io/_uploads/Hyc5CRzRo.png) 線掃描系統的話,我們如果要維持一個更長的成像的話,那就一定要把焦距拉長,並且把物距拉寬。通常這類的相機跟鏡頭的中間必需再做點加工就是,可能會是需要一些特別的機構來做結合。 ## 線掃描系統 - 線掃描相機的光源 ![](https://hackmd.io/_uploads/SJRtyJQRs.png) 這種系統的光源也會是線性的,也就是長條狀,而且要很亮。為什麼要很亮,舉例來說,60fps,代表每張照片的曝光時間為1/60秒,也就是0.0166s。按照剛剛的範例,轉換之後的線掃描在每一秒要拍61440條。這意謂著在線掃描的拍攝情況下的曝光時間只有1/61440秒,也就是0.0000162s。這中間相差了1000倍。 所以,這種光源也會很貴,單條可能就上萬元。