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