1. 介紹
什么是物體檢測(cè)?
給定一張圖像,我們?nèi)祟惪梢宰R(shí)別圖像中的物體。例如,我們可以檢測(cè)圖像中是否有汽車,樹木,人等。如果我們可以分析圖像并檢測(cè)物體,我們可以教機(jī)器做同樣的事情嗎?
答案是肯定的。隨著深度學(xué)習(xí)和計(jì)算機(jī)視覺的興起,我們可以實(shí)現(xiàn)目標(biāo)檢測(cè)的自動(dòng)化。我們可以建立深度學(xué)習(xí)和計(jì)算機(jī)視覺模型,可以檢測(cè)和定位目標(biāo),計(jì)算它們之間的距離,預(yù)測(cè)它們的未來的位置等。目標(biāo)檢測(cè)在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)中有著廣泛的應(yīng)用。目標(biāo)跟蹤、閉路電視監(jiān)控、人類活動(dòng)識(shí)別,甚至自動(dòng)駕駛汽車都利用了這項(xiàng)技術(shù)。
圖中為一幅道路交通圖像從車輛上看的目標(biāo)檢測(cè)。這里我們可以看到它正在檢測(cè)其他車輛,交通信號(hào)等。如果車輛是自動(dòng)駕駛汽車,應(yīng)該能夠檢測(cè)到行駛路徑、其他車輛、行人、交通信號(hào)等,以便平穩(wěn)、安全駕駛。
現(xiàn)在我們已經(jīng)了解了目標(biāo)檢測(cè),讓我們轉(zhuǎn)移到一個(gè)稍微高級(jí)的技術(shù),稱為圖像分割。通過分析下圖,我們可以很容易地理解目標(biāo)檢測(cè)和圖像分割之間的區(qū)別。
圖2,目標(biāo)檢測(cè)和圖像分割
這兩種方法都試圖識(shí)別和定位圖像中的物體。在目標(biāo)檢測(cè)中,這是通過邊界框?qū)崿F(xiàn)的。該算法或模型將通過在目標(biāo)周圍繪制一個(gè)矩形邊界框來定位目標(biāo)。在圖像分割中,對(duì)圖像中的每個(gè)像素進(jìn)行標(biāo)注。這意味著,給定一幅圖像,分割模型試圖通過將圖像的所有像素分類成有意義的對(duì)象類別來進(jìn)行像素級(jí)分類。這也被稱為密集預(yù)測(cè),因?yàn)樗ㄟ^識(shí)別和理解每個(gè)像素屬于什么對(duì)象來預(yù)測(cè)每個(gè)像素的含義。
“圖像分割的返回格式稱為掩碼:一個(gè)與原始圖像大小相同的圖像,但對(duì)于每個(gè)像素,它只有一個(gè)布爾值指示目標(biāo)是否存在。“
我們將在本案例研究中使用這種技術(shù)?,F(xiàn)在我們有了目標(biāo)檢測(cè)和圖像分割的概念。讓我們進(jìn)一步理解問題陳述。
2. 問題陳述
我們得到了一些產(chǎn)品的圖像。有些產(chǎn)品有缺陷,有些沒有。考慮到產(chǎn)品的圖像,我們需要檢測(cè)它是否有缺陷。我們還需要定位這個(gè)缺陷。
3. 機(jī)器學(xué)習(xí)的形式
這個(gè)問題可以表述為圖像分割任務(wù)。給定一個(gè)產(chǎn)品的圖像,我們需要為其繪制分割掩模。如果產(chǎn)品有缺陷,分割圖應(yīng)該能夠定位該缺陷。
4. 性能度量
在分割問題中最常用的指標(biāo)之一是(IoU分?jǐn)?shù)。參考下面的圖像,這清楚地顯示了如何IoU分?jǐn)?shù)是計(jì)算的。
IoU是預(yù)測(cè)分割與真實(shí)分割的重疊面積除以預(yù)測(cè)分割與原始分割的并集面積
我們也可以把IoU分?jǐn)?shù)寫成TP/TP+FN+FP。
這個(gè)度量值的范圍是0到1。Iou得分為1表示完全重疊,Iou得分為0表示完全不重疊。
本案例研究中使用的損失函數(shù)是Dice損失。Dice 損失可以被認(rèn)為是1-Dice 系數(shù),其中Dice 系數(shù)定義為,
Dice系數(shù) = 2 * 相交的重疊面積
5. 理解數(shù)據(jù)
該數(shù)據(jù)集包含兩個(gè)文件夾 —— train和test。訓(xùn)練集由六類圖像組成。每一類圖像被分成兩個(gè)文件夾,其中一個(gè)文件夾包含1000張無缺陷圖像,另一個(gè)文件夾包含130張有缺陷圖像。下圖顯示了train文件夾中的文件夾。
圖3,訓(xùn)練數(shù)據(jù)集
以 “def”結(jié)尾的文件夾名稱包含相應(yīng)類的有缺陷的圖像,沒有“def”的則表示無缺陷的圖像。測(cè)試文件夾包含一組120個(gè)有缺陷的圖像,這些圖像的分割圖將被預(yù)測(cè)。
6. 數(shù)據(jù)預(yù)處理
6.1 準(zhǔn)備圖像數(shù)據(jù)和分割蒙版
現(xiàn)在我們需要為每個(gè)圖像準(zhǔn)備圖像數(shù)據(jù)和相應(yīng)的分割掩模。我們把圖片分成十二個(gè)文件夾。讓我們來看一些圖片。
圖4,產(chǎn)品的圖像
第一幅圖像表示有缺陷的產(chǎn)品,第二幅圖像表示無缺陷的圖像。現(xiàn)在我們需要為這些圖像準(zhǔn)備分割圖。分割圖可以檢測(cè)出圖像中有缺陷的部分。對(duì)于上面的圖像,預(yù)期的分割圖是這樣的。
圖5,圖4上的分割蒙版
我們可以看到,在第一幅圖像是空白的,因?yàn)樗鼪]有缺陷。
讓我們?cè)俜治鲆恍┯腥毕莸膱D像。
圖6,一些缺陷圖像的例子
我們可以看到缺陷在圖像中以曲線或直線的形式出現(xiàn)。因此,我們可以利用橢圓來將這些區(qū)域標(biāo)記為缺陷。
但我們?nèi)绾螠?zhǔn)備分割掩碼?是否需要手工標(biāo)注?
我們有另一個(gè)包含關(guān)于分割掩碼信息的文件。
每一行包含關(guān)于圖像的mask區(qū)域的信息。每一列表示圖像的文件名、橢圓的半長(zhǎng)軸、橢圓的半短軸、橢圓的旋轉(zhuǎn)角度、橢球中心的x位置、橢球中心的y位置。
繪制橢圓所需的數(shù)據(jù)是使用get_data函數(shù)獲得的,如下所示:
我們可以使用這些信息,并使用skimage函數(shù)繪制一個(gè)橢圓分割蒙版。
值得注意的是,這只適用于有缺陷的圖像。對(duì)于無缺陷的圖像,我們需要?jiǎng)?chuàng)建空白圖像作為分割掩模。
6.2 加載圖像
結(jié)構(gòu)化數(shù)據(jù)以如下所示的形式獲得。
“images”列包含每個(gè)圖像的完整文件路徑,“mask”列包含相應(yīng)的掩碼圖像。
下一步是加載數(shù)據(jù)。
7. 模型
現(xiàn)在我們得到了所有的數(shù)據(jù),下一步是找到一個(gè)模型,可以生成圖像的分割mask。讓我來介紹一下UNet模型,它在圖像分割任務(wù)中非常流行。
UNet架構(gòu)包含兩種路徑:收縮路徑和擴(kuò)展路徑。下圖可以更好地理解Unet架構(gòu)。
圖7,Unet結(jié)構(gòu)
模型結(jié)構(gòu)類似于英文字母“U”,因此得名Unet。模型的左側(cè)包含收縮路徑(也稱為編碼器),它有助于捕獲圖像中的上下文。該編碼器只是一個(gè)傳統(tǒng)的卷積和最大池層堆棧。在這里我們可以看到,池化層降低了圖像的高度和寬度,增加了通道的深度和數(shù)量。在收縮路徑的末端,模型將理解圖像中出現(xiàn)的形狀、模式、邊緣等,但它丟失了“在哪里”出現(xiàn)的信息。
由于我們的問題是獲取圖像的分割映射,我們從壓縮路徑中獲得的信息是不夠的。我們需要一個(gè)高分辨率的圖像作為輸出,其中所有像素都是分類的。
”如果我們使用一個(gè)規(guī)則的卷積網(wǎng)絡(luò),pooling層和dense層,我們會(huì)丟失WHERE信息,只保留不是我們想要的“WHAT”信息。在分割的情況下,我們既需要“WHAT”信息,也需要“WHERE”信息
所以我們需要對(duì)圖像進(jìn)行上采樣,以保留“where”信息。這是在右邊的擴(kuò)張路徑中完成的。擴(kuò)展路徑(也稱為解碼器)用于使用上采樣技術(shù)定位捕獲的上下文。上采樣技術(shù)有雙線性插值法、最近鄰法、轉(zhuǎn)置卷積法等。、
8. 訓(xùn)練
現(xiàn)在我們已經(jīng)準(zhǔn)備好了所有的訓(xùn)練數(shù)據(jù),也確定了模型?,F(xiàn)在讓我們訓(xùn)練模型。
由于無缺陷圖像的數(shù)量遠(yuǎn)遠(yuǎn)高于有缺陷圖像的數(shù)量,所以我們只從無缺陷圖像中提取一個(gè)樣本,以獲得更好的結(jié)果。采用adam優(yōu)化器訓(xùn)練模型,并以dice 損失為損失函數(shù)。
使用的性能指標(biāo)是iou分?jǐn)?shù)。
經(jīng)過10個(gè)epoch,我們能夠獲得0.98的iou分?jǐn)?shù)和0.007的骰子損失,這是相當(dāng)不錯(cuò)的。讓我們看一些圖像的分割圖。
我們可以看到,該模型能夠預(yù)測(cè)類似于原始分割圖的分割圖。
9. 測(cè)試數(shù)據(jù)分割圖的預(yù)測(cè)
現(xiàn)在讓我們嘗試解決手邊的問題,即預(yù)測(cè)和繪制測(cè)試圖像的分割蒙版。下圖顯示了一些測(cè)試圖像的預(yù)測(cè)分割圖。
可以看出,該模型具有良好的測(cè)試性能,能夠檢測(cè)出測(cè)試圖像中的缺陷。
10. 未來的工作
如上所述,與無缺陷圖像相比,有缺陷圖像的數(shù)量非常少。因此,對(duì)缺陷圖像采用上采樣和增強(qiáng)技術(shù)可以改善訓(xùn)練效果。
編輯:jq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6767瀏覽量
88639 -
圖像
+關(guān)注
關(guān)注
2文章
1078瀏覽量
40354 -
物體檢測(cè)
+關(guān)注
關(guān)注
0文章
8瀏覽量
9162
原文標(biāo)題:干貨 | 使用圖像分割來做缺陷檢測(cè)的一個(gè)例子
文章出處:【微信號(hào):jiqishijue2020,微信公眾號(hào):機(jī)器視覺自動(dòng)化】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論