计算机视觉解析力
計算機視覺解析力
視覺的解析力,常常是指視覺語義,視覺特征,視覺場景理解,視覺目標檢測,視覺變化,視覺運動狀態理解等等。
比如說,關于分辨率和清晰度,經常還可以見到清晰度,分辨力,分辨率,解析力,解析度,解像力,解像度這些詞語。對于這些詞語分別的含義和所指的具體內容是什么,怎樣使用才合適,目前流行的看法是很不統一的。
圖像進入系統
在嘗試實現計算機視覺系統時,需要考慮兩個主要組件:圖像采集硬件和圖像處理軟件。構建計算機視覺系統要滿足的一個主要要求是測試其魯棒性。
實際上,系統應該能夠適應環境變化(例如光源、方向、縮放比例的變化),并能夠重復執行其設計任務。為了滿足這些要求,可能有必要對系統的硬件或軟件進行某種形式的約束(例如,遠程控制光照環境)。
從硬件設備獲取圖像后,可以使用多種方法在軟件系統中以數字方式表示顏色(顏色空間)。兩種最著名的顏色空間是 RGB(紅色、綠色、藍色)和 HSV(色調、飽和度、值)。使用 HSV 顏色空間的一個主要優點是:僅考慮 HS 分量,就可以使系統照明保持不變(如下圖所示)。
RGB 和 HSV 色彩空間
特征提取器
圖像預處理
一旦圖像進入系統并使用顏色空間表示,便可以在圖像上應用不同的運算符以改善其表示情況:
1.點類運算符:使用圖像中的所有點來創建原始圖像的轉換版本(以便在不更改其內容的情況下明確顯示圖像中的內容)。點類運算符的一些示例:強度歸一化,直方圖均衡化和閾值化。通常使用點類運算符來更好地可視化人類視覺圖像,但這不一定為計算機視覺系統提供任何優勢。
2.組類運算符:在這種情況下,從原始圖像中獲取一組點,以便在圖像的轉換版本中創建一個點。這種類型的操作通常通過使用卷積來完成。為了獲得轉換后的結果,可以使用不同類型的內核與圖像進行卷積(如下圖所示)。
一些例子是:直接平均、高斯平均和中值濾波器。結果,對圖像進行卷積運算可以減少圖像中的噪聲并改善其平滑度(盡管這也會導致圖像變得稍微模糊)。由于使用一組點來在新圖像中創建單個新點,因此新圖像的尺寸將必然小于原始圖像的尺寸。
解決此問題的其中一種方法是應用零填充(將像素值設置為零)或通過在圖像的邊界使用較小的模板。使用卷積的一大主要限制是在處理大模板大小時其執行速度,對此問題的一種可行解決方案是改為使用傅立葉變換。
內核卷積
一旦對圖像進行了預處理,便可以應用更高級的技術,以嘗試通過使用一階邊緣檢測(例如 Prewitt 算子,Sobel 算子,Canny 邊緣檢測器)和霍夫變換等方法來提取圖像的邊緣和形狀。
特征提取
對圖像進行預處理后,可以使用特征提取器從圖像中提取四種主要類型的特征形態:
· 全局特征:將整個圖像作為一個整體進行分析,然后從特征提取器中提取單個特征向量。全局特征的一個簡單例子可以是合并像素值的直方圖。
· 基于區域的特征:將圖像分割為不同的區域(例如,使用閾值或 K-Means 聚類等技術,然后使用連通域將其連接為片段),然后從每個區域中提取特征。可以通過使用區域和邊界描述技術(例如“矩”和“鏈碼”)來提取特征。
· 基于網格或基于塊的特征:將圖像分為不同的塊,并從每個不同的塊中提取特征。為了從圖像塊中提取特征而使用的一種主要技術是密集 SIFT(尺度不變特征轉換)。這種類型的功能通常用于訓練機器學習模型。
· 局部特征:在圖像中檢測到多個單個興趣點,并通過分析鄰近興趣點的像素來提取特征??梢詮膱D像中提取的興趣點的兩種主要類型是角點和斑點,可以使用諸如
Harris&Stephens 角點檢測算法和高斯拉普拉斯算子等方法來提取它們。
最后,可以使用諸如SIFT(尺度不變特征轉換)之類的技術從檢測到的興趣點中提取特征。通常使用局部特征來匹配圖像以構建全景圖/ 3D重建或從數據庫中檢索圖像。
一旦提取了一組判別特征,就可以使用它們來訓練機器學習模型進行推理。使用OpenCV之類的庫可以輕松地在 Python中應用功能描述符。
機器學習
在計算機視覺中用于對圖像進行分類的一個主要概念是視覺詞袋模型(BoVW)。為了構造視覺詞袋模型,首先需要通過從一組圖像中提取所有特征(例如,使用基于網格的特征或局部特征)來創建詞匯表。
接下來,可以計算提取的特征在圖像中出現的次數,并根據結果構建頻率直方圖。使用頻率直方圖作為基本模板,最終可以通過比較圖像的直方圖來根據圖像是否屬于同一類進行分類。
此過程可以概括為以下幾個步驟:
1.首先通過使用特征提取算法(例如 SIFT 和 Dense SIFT)從圖像數據集中提取不同的特征來構建詞匯表。
2.其次,使用 K-Means 或 DBSCAN 等算法對詞匯表中的所有特征進行聚類,并使用聚類質心來總結數據分布。
3.最后,可以通過計算詞匯中不同特征出現在圖像中的次數從每個圖像構建頻率直方圖。
然后,通過對要分類的每個圖像重復相同的過程,然后使用任意分類算法,找出詞匯表中哪個圖像與測試圖像最相似,可以對新圖像進行分類。
視覺詞袋模型
如今,由于創建了諸如卷積神經網絡(CNN)和遞歸人工神經網絡(RCNN)的人工神經網絡體系結構,可以為計算機視覺提出一個替代的工作流程。
計算機視覺工作流程
在這種情況下,深度學習算法結合了計算機視覺工作流程的特征提取和分類步驟。當使用卷積神經網絡時,神經網絡的每一層在向密集層分類器提供特征向量之前,在其描述中應用不同的特征提取技。
不止于此,機器學習在計算機視覺中的進一步應用包括多標簽分類和對象識別等領域。多標簽分類中將構建一個模型,該模型能夠正確識別圖像中有多少個對象,以及它們屬于哪個類。而在對象識別中,通過識別圖像中不同對象的位置,將進一步發展這一概念。
總結
- 上一篇: 空间点像素索引(三)
- 下一篇: YOLOV4知识点分析(一)