vision
visual sensor
visual sensor
視覺感測器。人類視覺依賴光線,但是動物視覺則不見得跟光線有關,至於機器視覺那就更多樣化了。
視覺感測器所收集的資訊,除了是光線的頻率、光線的強度,也可以是物質的密度、聲音的頻率。攝影機、聲納、雷達、光達、陀螺儀、……,通通可以作為視覺感測器。
視覺感測器可以製作成視覺設備,用於各種場合。手機鏡頭、數位相機、監視器、文件掃描器、生物顯微鏡、太空望遠鏡、超音波攝影、核磁共振攝影、……。詳情請洽電機系。
RGBD imaging
獲取顏色RGB數值以及深度數值。
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個區域平均值,作為特徵。
non maximum suppression:保存分數最大的區域,刪除交聯比大於臨界值的區域。重複上述步驟,處置所有區域。
物體辨識(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)
https://www.chungkwong.cc/
手繪辨識(sketch recognition)
unistroke recognition http://depts.washington.edu/madlab/proj/dollar/
visual identification
visual verification / 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)
說明圖片是什麼東西。替圖片取名。
crowdsourcing:人工標記,手動分類。找一群網民合作。正確率最高的方法。
圖片剖析(image parsing)
建立圖片當中每個物品的從屬關係。
binary partition tree:把一張圖片裡的物件依照區域分類,儲存於二元樹之中。
Visual Genome http://visualgenome.org/
圖片歸類(image categorization)
解讀圖片內容,將大量圖片分門別類。
bag-of-words model:列舉世上各種物品,編纂百科全書。一張圖片,從中找到每種物品的出現次數(或者相似程度),得到一個直方圖。所有直方圖實施clustering建立分類;分群時,以histogram comparison得到兩兩直方圖距離。
pyramid match kernel與spatial pyramid matching:改良版本。圖片切割為大量小圖片,嘗試各種小圖片尺寸。每張小圖片,分別計算直方圖。
part-based model:物品切碎成零件,從中找到每種零件的出現位置、大小比例,得到一張關係圖。利用graph matching或者Markov network建立分類。經常用於人臉辨識。
neural network:用手動分類的圖片進行訓練。
圖片檢索(image retrieval)
從大量圖片當中找到想要的圖片。
VLAD:選擇一種image feature descriptor,其長度D。一張圖片擷取N個描述。實施k-means clustering,得到K個群集。K個群集、D個維度,分別求離差和(未取絕對值),得到KD個數值,作為圖片描述,其長度KD。衡量圖片相似度,採用平方誤差(直線距離)。
NetVLAD:深度學習版本。
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)
走動觀看環境,察覺自身動向。彷彿知覺動作訓練。
當視覺設備是相機,此主題稱作camera tracking。
視覺定位(visual localization)
環顧周遭景色,明白自己身在何方。
當視覺設備是相機,此主題稱作camera 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)
走動觀看環境,察覺自身方位、繪製周遭地圖。彷彿即時戰略遊戲的開圖過程。
當視覺設備是相機,此主題稱作structure from motion。
知名專案ORB-SLAM:第一版單目相機。第二版立體相機。第三版追加光達。
camera: triangulation GPS: trilateration https://gisgeography.com/trilateration-triangulation-gps/
視覺路徑規劃(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/