Vision
Visual Sensor
Visual Sensor
視覺感測器。人類視覺依賴光線,但是動物視覺則不見得跟光線有關,至於機器視覺那就更多樣化了。
視覺感測器所收集的資訊,除了是光線的頻率、光線的強度,也可以是物質的密度、聲音的頻率。攝影機、聲納、雷達、光達、陀螺儀、……,通通可以作為視覺感測器。
視覺感測器可以製作成視覺設備,用於各種場合。手機鏡頭、數位相機、監視器、文件掃描器、生物顯微鏡、太空望遠鏡、超音波攝影、核磁共振攝影、……。詳情請洽電機系。
RGBD Imaging
獲取顏色RGB數值以及深度數值。
http://vision.princeton.edu/research.html http://vision.princeton.edu/projects/2015/RobotInARoom/
Kinect。微軟出產的RGBD sensor,知名電玩設備。 OpenNI。偵測現實世界場景、動作的函式庫。
disparity estimation 3d邊緣偵測
Range Imaging
獲取深度。
Multispectral Imaging
Coherent Diffraction Imaging
Visual Reconstruction
Visual Reconstruction
視覺重建。感測器產出數據,數據轉換為影像。通常是人類能夠理解的影像:圖片、影片、模型。
影像擷取(Image Acquisition)
感測器收集資訊,產出數據。
影像重建(Image Reconstruction)
感測器收集資訊,產出數據,數據轉換為圖片、影片、模型。知名範例是核磁共振掃描MRI、光子相機photon camera。
例如核磁共振掃描,一條射線得到一群像素的加權平均數。須從一條條射線的投影數值,還原成一個個像素數值。稱作Radon transform。
iterative method:一個像素建立一個變數,一條射線建立一道方程式。解方程組。
back projection:針對一個像素,窮舉穿過它的所有射線,計算平均數。缺點是模糊化。
Fourier slicing:二維平面,時域當中一群平行射線得到的一維數據,對應頻域當中穿過原點的一條直線。窮舉各種射線角度,盡量填滿頻域,最後再逆向傅立葉轉換。缺點是中心密外圍疏,而且必需克服格點問題。
影像融合(Image Fusion)
大家一起上。多種多個感測器,擷取多種多份數據,重建一份影像。知名範例是衛星攝影、PET/CT。
影像去噪(Image Denosing)
感測器絕非精準無誤,環境絕非穩定不變。數據可能偏差、可能毀損。診斷病情,對症下藥;假設雜訊成因,設計去噪演算法。
影像去噪亦可視作影像復原的其中一個項目。影像復原演算法可用於影像去噪。
影像復原(Image Restoration)
感測器不精準,環境不穩定,操作不妥善,備份不安全,於是影像不盡人意。修改影像,恢復理想面貌。
亦可故意降低感測器規格,藉由影像復原彌補差距。例如醫療領域,感測器太過精準周密,擷取重建反而曠日廢時。此時可以故意降低感測器規格,迅速擷取重建,降低影像品質;再用影像復原,提升影像品質。
total variation denoising:多目標最佳化,新舊圖片平方誤差盡量小、梯度長度盡量小(消滅形狀邊緣、消滅殘影)。
compressive sensing:即是sparse coding。知名作品Sparse MRI。
影像增強(Image Enhancement)
突顯影像重點,方便閱覽。
Visual Recognition
Visual Detection / Visual Recognition
視覺偵測與視覺辨識。感測器產出數據,演算法分析數據,判斷是否為物體,判斷是哪種物體。
早期做法是image feature description。近期做法是neural network。
物體偵測(Object Detection)
判斷是否為指定物體。
Viola–Jones framework:最初用來偵測人臉。一、已知是何物的圖片,窮舉位置、範圍、窗函數(仿照Harr小波,此處使用四種),一種情況當作一個特徵,得到大量特徵。二、因此圖片必須尺寸一致、正面照、無留白,如此位置和範圍才對的上。三、一個特徵,求區域和,得到一個分數,當作特徵描述。區域和的高速算法是累積和相減。四、實施classification,取得關鍵特徵,捨棄無效特徵。五、不知是何物的圖片,窮舉位置、區域,全部特徵都通過檢驗才視為正確。
integral channel features (ChnFtrs):Viola–Jones framework豪華版,最初用來偵測行人。一、像素數值,除了灰階值以外,還可以是梯度方向的投票數(仿照HOG,此處使用六個箱子)、梯度長度、LUV值。二、窗函數,除了原本四種以外,還可以是簡單的矩形窗、自訂的零散的區域。三、區域和,還可以是histogram。
GIST descriptor:最初用來偵測形狀。一、原圖片分別套用8種方位、4種尺寸的Gabor filter,得到32張強度頻譜。二、強度頻譜分成4x4=16塊區域,分別求區域平均值,總共32x16=512個區域平均值,作為特徵。
物體辨識(Object Recognition)
COCO http://cocodataset.org/
YOLO https://pjreddie.com/darknet/yolo/ SSD: Single Shot MultiBox Detector https://ai.google/research/pubs/pub44872
物體定位(Object Localization)
判斷物體位於哪些像素。
文字辨識(Optical Character Recognition)
手寫辨識(Handwriting Recognition)
手繪辨識(Sketch Recognition)
Unistroke Recognition http://depts.washington.edu/madlab/proj/dollar/
Visual Identification
Visual Authentication / Visual Identification
視覺鑑別與視覺鑑定。判斷物體真偽、找出相同物體。
身分鑑定(Human Identification)
主流方法是神經網路。大家隨興創作網路結構,收集影片訓練神經網路。然而辨識效果差強人意,於是大家結合多種辨識項目,以補強辨識效果。主要用途是安全監控、客流統計。
此領域目前由商業公司主導,知名公司有商湯、曠視。由於商業競爭,一般民眾無法得知演算法細節。
行人重識別(Person Re-identification)
大量相機,得到大量影片,找出所有相同的人,給予獨特編號。
中國人發明的詞彙,中國人進度最快,你懂的。
Market-1501 http://www.liangzheng.org/Project/project_reid.html CUHK Person Re-identification Datasets http://www.ee.cuhk.edu.hk/~xgwang/CUHK_identification.html MSMT17 https://www.pkuvmc.com/publications/msmt17.html
車輛鑑定(Vechicle Identification)
車輛鑑定。在各路口架設監視器,進行車牌辨識,以車牌追車。再配合電子地圖,標示行車軌跡(追蹤)、集結(飆車族)、徘徊(行竊)、出沒(根據地)、流量(交管)。
此領域不屬於學術領域。此領域目前由警政單位主導,知名公司有中華電信。由於安全保密,一般民眾無法得知演算法細節。
車牌辨識(License Plate Recognition)
主要用途是監視行車安全、捕捉罪犯。
文字辨識的加強版。關鍵在於如何找到車牌位置。已被徹底解決,不是當前的研究熱點。另一方面車牌辨識很容易找到替代方案,例如e-tag。
交通標誌辨識(Traffic Sign Recognition)
政府單位紀錄了所有交通標誌的設立地點,大可不必採用視覺辨識。類似的還有商業招牌辨識。
Visual Classification
Visual Classification
視覺分類。區分物體,分門別類。
圖片標註(Image Annotation)
說明圖片是什麼東西。替圖片取名。
croudsourcing:人工標記,手動分類。找一群網民合作。正確率最高的方法。
圖片剖析(Image Parsing)
建立圖片當中每個物品的從屬關係。
binary partition tree:把一張圖片裡的物件依照區域分類,儲存於二元樹之中。
Visual Genome http://visualgenome.org/
圖片歸類(Image Categorization)
解讀圖片內容,將大量圖片分門別類。
bag-of-words model:列舉世上各種物品,編纂百科全書。一張圖片,從中找到每種物品的出現次數(或者相似程度),得到一個直方圖。所有直方圖實施clustering建立分類;分群時,以histogram comparison得到兩兩直方圖距離。
part-based model:物品切碎成零件,從中找到每種零件的出現位置、大小比例,得到一張關係圖。利用graph matching或者Markov network建立分類。經常用於人臉辨識。
neural network:用手動分類的圖片進行訓練。
圖片檢索(Image Retrieval)
從大量圖片當中找到想要的圖片。
Visual Understanding
Visual Summarization
Visual Summarization / Visual Reasoning
視覺摘要與視覺推理。分析圖片內容、看圖說故事。
圖片改譯(Image to Image)(Image Translation)
字幕生成(Image to Text)(Image Captioning)
Visual Storytelling Dataset (VIST) http://visionandlanguage.net/VIST/
圖片生成(Text to Image)(Image Synthesis)
三維重建(Image to Shape)(3D Reconstruction)
影片生成(Video to Video)(Video Synthesis)
Visual Estimation
Visual Estimation
視覺估計。判斷物體方位、物體形狀。
六自由度物體姿態估計(6D Object Pose Estimation)
找到物體的三個位移量(三維座標)、三個旋轉量(歐拉角)。進階應用是機械手臂。
人類姿態估計(Human Pose Estimation)
DensePose http://densepose.org/
臉部姿態估計(Face Pose Estimation)
自動光學檢查(Automated Optical Inspection)
工廠生產線,機器代替人類手眼,光學攝影檢查產品瑕疵,機械手臂拼裝零件。人類只要檢查機器是否正常運作,俗稱「顧機台」。
Visual Tracking
Visual Tracking
視覺追蹤。判斷物體方位變化、物體形狀變化。
早期做法是標註特定部件、找到彼此關聯。例如人臉就是找到五官、人體就是找到四肢。近期做法是neural network。
物體追蹤(Object Tracking)
Object Tracking:觀察物體動向。
Multiple Object Tracking:困難之處在於交叉穿越、重疊遮擋、出入背景。
人類追蹤(Human Tracking)
Pedestrian Detection:行人偵測。早期做法是image feature description。近期做法是neural network。
Human Tracking:觀察行人動向。
Crowd Tracking:觀察群眾動向。可能很擁擠,只看得到頭。
手部追蹤(Hand Tracking)
Hand Tracking:知道手的位置、手的形狀、手的動向。
Hand Gesture Recognition:手勢辨識。
Sign Language Recognition:手語辨識。
加上手套、指套,更容易辨識手部動作,進行更精密的操作。
臉部追蹤(Face Tracking)
Face Detection:找到面容。
MS-Celeb-1M https://www.msceleb.org/ MegaFace http://megaface.cs.washington.edu/
Face Recognition:比對面容。
Face Landmark Detection:尋找臉部輪廓與五官位置。
目前做法有Active Shape Model和Active Appearance Model。
Face Alignment:校準對齊臉部輪廓與五官位置。
Face Tracking:找到五官位置變化,或者說是表情變化。
Face Interpolation:建立五官的對應關係,之後可以變形。
Face Transfer:建立五官的對應關係,之後可以換臉。
Face Swapping:換臉。
唇語辨識(Lipreading Recognition)
動作辨識(Action Recognition)
Pose Estimation:姿態估計。
Action Recognition:動作辨識。
Gesture Recognition:姿勢辨識。
兩種做法:一、人工標註。二、在各種居家設備安裝感知器。
ActivityNet http://activity-net.org/ HMDB51 http://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/ UCF101 http://crcv.ucf.edu/data/UCF101.php
Gait Recognition:步態辨識。
The OU-ISIR Gait Database http://www.am.sanken.osaka-u.ac.jp/BiometricDB/ CASIA Gait Database http://www.cbsr.ia.ac.cn/english/Gait%20Databases.asp
Visual Navigation
Visual Navigation
視覺導航。給定目的地,找到路徑。
視覺測量(Visual Measurement)
觀看物體,測量長度。
視覺隨動(Visual Servoing)
根據視覺做動作。
視覺測程(Visual Odometry)
走動觀看環境,察覺自身動向。彷彿知覺動作訓練。
視覺定位(Visual Localization)
環顧周遭景色,明白自己身在何方。
Monte Carlo localization http://www.cs.washington.edu/robotics/mcl/ 1. 首先要有地圖。 2. 地圖的建立方法 (1) 通常沿著天花板走 (2) range sensor照一照,得到一堆點。 (3) Hough Transform/RANSAC/ICP拉成直線。 3. 機器人在某處重開機,不知自己身在何處,準備密室逃脫。 4. 機器人看到門,找到地圖上所有一樣的門,在地圖上標記。 讓這些地點的機率特別大、一樣大。 5. 機器人移動,地圖上所有標記處一起移動。地圖沒有動。 (1) 如果不知道方位,所有標記處呈輻射散開。其實可以裝個指南針。 (2) 如果知道方位,所有標記處朝同一方向移動。 6. 機器人又看到門,找到地圖上所有一樣的門,在地圖上標記。 (1) 原標記、新標記重疊。使用乘法,而不使用加法。 (2) 統計學的觀點,這是兩次觀察,理應是joint distribution。 7. 一直重複上述行為,直到某個標記處機率特別高, 機器人就能確定自己正在何處。甚至倒推軌跡。 8. 除了門以外,最常用的是牆壁、地標。 地標只有一處有,機率特別高。標記重疊時,使用乘法,乘出來的機率特別大。 9. belief, bayes是用來裝作文青的。 (1) 機器人移動時,標記跟著移動,此處可以再套上機率。 決定哪個移動方向最有可能出現。 10. 至於如何從一張圖片上找出地標,是影像處理的問題。
視覺同步定位與建圖(Visual SLAM)
走動觀看環境,察覺自身方位、繪製周遭地圖。彷彿即時戰略遊戲的開圖過程。
視覺路徑規劃(Visual Path Planning)
給定起點、終點、殘缺地圖,找到路線。
最短路徑演算法,修改成邊走邊找,例如D*、RRT*。
註:目前大家沒有仔細區分path planning與motion planning兩個詞彙的差異,兩個詞彙經常混用。
OMPL: The Open Motion Planning Library http://ompl.kavrakilab.org/
視覺避障(Visual Obstacle Avoidance)
semantic image segmentation找到地板,其餘物件根據深度決定是否避開。
NYU-DEPTH https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html MIT ADE20K http://groups.csail.mit.edu/vision/datasets/ADE20K/