機器視覺如何區分“黑白”。

Mondo 科技 更新 2024-01-30

傳統的機器視覺通常包括兩個步驟——預處理和物體檢測。 而兩者之間的橋梁是:影象分割[1]。影象分割通過簡化或更改影象的表示形式,使影象更易於分析。

例如,一家食品加工廠增加了一批新的肉雞,並希望目視檢查它們的美味程度。 機器對影象進行預處理和優化後,首先要將影象中的雞與背景分開,並分別分析感興趣區域,以做出快速準確的判斷。

食品加工廠的視覺處理。

然而,對於愚蠢的AI來說,影象分割並不容易。 聰明的人類可以在下圖中一目了然地看到他們能吃什麼和不能吃什麼。 但是計算機需要做很多工作才能將這些東西分開。

源語言。

影象分割結果。

分割影象的最簡單方法是:二值化。二進位影象每個畫素只有兩個值:純黑色或純白色。

彩色圖、灰度圖和二值圖的比較。

由於二進位影象資料非常簡單,因此許多視覺演算法都依賴於二進位影象。 二進位影象可以更好地分析物體的形狀和輪廓。 二進位影象也經常用作原始影象口罩(又稱口罩、口罩)。:這就像一張部分掏空的紙,遮住了我們不感興趣的區域。 有幾種方法可以進行二值化,其中最常見的是採用閾值二值化。

在計算機視覺中,矩陣通常用於表示影象。 換句話說,無論你的**看起來多麼美味,它只不過是計算機的矩陣。

在此矩陣中,每個畫素都是矩陣中的乙個元素。 在三通道彩色影象中,此元素是三個數字的元組。

彩色三通道影象。

對於單通道灰度影象,此元素只是乙個數字。 這個數字代表此時影象的亮度,數字越大,畫素會越亮,在常見的八位單通道色彩空間中,0 表示全黑,255 表示全白。

單個通道的灰度圖。

閾值法是指選擇乙個數字,大於該數字被視為全白,小於該數字被視為全黑。 這就像教室裡的燈管開關,我們輕輕推動它,如果突然超過某個閾值,燈就會亮起。

根據閾值選擇方法的不同,可分為全域性閾值和區域性閾值。

全域性閾值。 global method

全域性閾值是整個影象中每個畫素的相同閾值。 我們可以在 Photoshop 的 Image-Adjustment-Threshold 中體驗到這一點:

Photoshop 中的閾值。

當您從 1 移動到 255 時,您可以看到越來越多的影象區域變暗。 當閾值數在一定範圍內時,紅公尺腸的輪廓清晰可辨。

正確的二值化使紅公尺腸的輪廓清晰可辨。

在生產線環境中,光線是已知的,並且通常將固定數字設定為全域性閾值。 但在戶外或機械人競賽中,照明條件通常更為複雜*。

RoboMaster競技場的璀璨燈光。

這張圖用了誇張的手法,robomaster是一款非常正式的遊戲,在遊戲過程中對大家來說絕對不會那麼難。

在奧利奧冰淇淋的相同情況下,相機在白天和晚上可能不會看到相同的影象,並且恆定閾值無法同時容納兩者。

不同的明暗圖片。

對於漆黑的夜晚,我們需要乙個較低的閾值,例如,設定乙個閾值 50,這樣可以清楚地將夜間的黑白顏色分開,但在白天它是白色的(左)。如果我們設定的閾值相對較高,比如說 172,它會在白天平滑分裂,但晚上會很黑(右)。 我們需要能夠適應複雜環境的演算法。

左閾值 = 50,右閾值 = 172

其實,經過一番分析,我們可以發現,這張圖片的色差還是比較明顯的,只有兩種顏色。 因此,無論是白天還是黑夜,其顏色級別的直方圖都應該是兩個不同的峰值,代表黑暗和明亮區域。 只是級別直方圖在白天整體向右移動,在晚上整體向左移動。

影象顏色級別的直方圖。

如果選擇兩個峰值之間的波谷作為閾值,則可以輕鬆分離兩種型別的畫素。 然而,影象的直方圖往往是不連續的,有很多尖峰和抖動,很難找到準確的極值點。

日本工程師大津信之(Nobuyuki Otsu)為這個槽找到了合適的數學表示式,並於2024年發表了[2]。 這種二值化方法稱為:大津的方法。Otsu 的演算法類似於一維 Fisher 判別分析的離散化模擬。 使用窮舉方法求閾值數,並將畫素切割為兩類,使兩類畫素亮度的類內方差最小。 類內方差是指兩種型別的畫素的方差的加權和,其中權重是該型別的畫素數與整個影象中畫素數的比值。

也許你的圖片中不會有兩種不同的顏色,例如,這個冰淇淋有三個尖刺。

三色冰淇淋(取冰淇淋部分的直方圖)。

在這種情況下,可以通過對 Otsu 演算法的輕微擴充套件來完成。 Otsu演算法的多級泛化成為Multi otsu 方法

本地閾值*本地方法

也稱為自適應閾值

在遊戲過程中,經常有聚光燈照射在特定區域,導致區域性光和區域性光的圖片。

區域性照明影象。

如果對區域性接收光的全域性影象進行閾值設定,可能會感到尷尬,“無論設定什麼閾值引數,都無法滿足整個影象的要求”。 例如,在上圖中,當直接執行全域性閾值時,當壽司的左上半部分完全露出時,右下半部分仍然是黑色的。

區域性照明影象的全域性閾值處理。

在這種情況下,我們需要使用本地閾值來處理它。 事實上,人眼也伴隨著這一步操作。 當我們確定物體的顏色時,往往會受到物體周圍顏色的影響,這就是為什麼黑人的牙齒看起來更白的原因。

區域性閾值法假設影象在相對接近的某個區域被照亮。 它使用滑動視窗掃瞄影象並採取滑動視窗中心點亮度滑動窗內的其他區域(稱為鄰域區域)。亮度進行比較。 如果中心點亮度更高附近亮度*,它會中心點標記為白色,否則標記為黑色。

本地閾值的滑動視窗。

這裡提到了區域性閾值的基本方法,對於實際使用中常見的其他區域性閾值方法,請參考Chow-Kaneko自適應閾值方法[4]。

區域性閾值被廣泛使用,特別是對於黑白字母的處理。 許多用於光學字元識別 (OCR) 和 *** 掃瞄的演算法都使用本地閾值操作。

例如,以下***是典型的區域性光接收影象:

如果對此 ** 使用全域性閾值(例如,下圖使用 Otsu 演算法進行分割),則在任何情況下都無法正確分割。

全域性方法不處理區域性照明的影象。

區域性閾值方法可用於分割影象井。 從**中可以清楚地看出,區域性閾值法對大面積清潔區域的細節很敏感,因此紙上還有很多我們原本不會注意到的斑點。

區域性方法分割***

在實踐中,我們需要根據自己的需要選擇不同的二值化方法,沒有一種方法是絕對完美的。

例如,在識別敵方機械人時,由於裝甲片燈條是自發光物體,受環境光影響較小,為了提高程式執行效率,我們使用固定數字作為全域性閾值:

基地自動反擊。

在對能量機制的認知中,由於能量機制只有黑白兩種,我們使用了Otsu演算法及其各種變體:

高能陷阱每個區域的二進位圖。

而當高空機械人讀取基區時,採用區域性閾值法:

空中機械人識別基地。

今天的內容只是影象分割的冰山一角,作為視覺領域最古老的問題之一,還有很多新的影象分割演算法被提出。

除了基於閾值的影象分割方法外,常用的分割方法還可以是基於邊緣的(如Yanowitz-Buckstein自適應閾值法[5])和區域(如區域增長演算法[6]),在衛星影象處理、交通控制系統、工業生產監控、醫學成像等領域發揮著巨大的作用。

腦組織的影象分割。

策展 |視覺物件組。

* |倡導小組。

有關本文中描述的閾值方法的 OpenCV 實現,請訪問:

引用。 1] spirkovska, l. (1993). a summary of image segmentation techniques.

2] nobuyuki otsu (1979). a threshold selection method from gray-level histograms. ieee trans. sys., man., cyber.

3] ping-sung liao and tse-sheng chen and pau-choo chung (2001). a fast algorithm for multilevel thresholding. j. inf. sci. eng.

4] chow,c.k.; and kaneko, t.: boundary detection of radiographic images by a thresholding method. frontiers of pattern recognition, s. watanabe, ed.,academic press, new york, 1972, pp. 61-82.

5] yanowitz, s. d., bruckstein, a. m. (1988, november). a new method for image segmentation. in pattern recognition, 1988., 9th international conference on (pp. 270-275). ieee.

6] richardson h w. regional growth theory[m]. macmillan,1973.

end

免責宣告:部分內容為網路,僅供讀者學術交流之用,文章版權歸原作者所有。 如果有任何錯誤,請聯絡我們刪除它。

相關問題答案

    如何看待機器視覺軟體的後續發展趨勢 定製化還是平台化

    深度習與人工智慧的融合 深度習與人工智慧技術在機器視覺演算法中的應用將越來越廣泛。這些技術可以提高影象識別的準確性,並處理更複雜的視覺任務,如物體識別 場景理解等。 D視覺技術的發展 隨著硬體技術的進步,D視覺技術也在逐步發展,包括D重建 立體視覺 深度感知等。這將使機器視覺能夠處理更複雜的空間資訊...

    機器視覺專用稜鏡

    稜鏡是一種固體玻璃光學材料,是由透明材料 如玻璃 水晶等 經磨砂和拋光後製成的多面體,廣泛應用於光學儀器中。稜鏡根據其性質和用途主要分為種型別 色散稜鏡 偏轉或反射稜鏡 旋轉稜鏡和偏移稜鏡。偏轉 偏移和旋轉稜鏡通常用於成像應用。擴散稜鏡專為色散光源而設計,因此不適合用於任何需要高質量影象的應用。色散...

    陳瑤凌雲光:“機器視覺AI”如何為鋰電池智慧型製造降本增效?

    鋰電池正在加速進入大規模智慧型製造時代,但同時,由於鋰電池製造工藝的複雜性,每一道工序都會影響鋰電池的效能。目前,降低成本是鋰電池製造商最迫切的需求高效率 低能耗 高精度的鋰電池自動化生產是必然趨勢,也是動力電池進入TWH時代的前提和基礎。在鋰電池生產的各個環節,機器視覺 AI的整體解決方案都可以配...

    “工業之眼”機器視覺、AI視覺系統加速智慧型製造轉型!

    近日,江蘇某製造工廠成功引進深眼科技提供的工業AI視覺系統,實現智慧型化轉型。本次活動再次凸顯了機器視覺技術在推動製造業轉型公升級中的重要作用,也彰顯了深眼科技在該領域的技術實力和市場影響力。機器視覺作為一種人工智慧技術,在許多行業中得到了廣泛的應用。特別是在製造領域,機器視覺技術可以幫助企業實現生...

    “機器視覺探索”VisionPro 與 VisionMaster 對比

    作為一名機器視覺演算法工程師,我有幸使用過多種機器視覺軟體,包括 VisionMaster 和 VisionPro,在評估這兩款軟體時,我會綜合考慮使用場景 工作效率 使用便利性 價效比等,並討論它們的優缺點。使用場景 VisionMaster 是一款相對較新的機器視覺軟體,通常用於簡單到中等複雜的...