s1101327 Homework #4

 

1122 Digital Image Processing Assignment #4 報告

學號:1101327      姓名:柯翔崴

主題:膚色偵測 Skin Color Detection

專案目標:

撰寫一個程式運用在皮膚顏色區域擷取,並利用在影像處理概論所學習到的顏色知識與技術來實現此任務。Input Data為附件中的6張照片,Output Data為皮膚顏色標記區域,同時搭配附件中的六張膚色標準答案(Ground Truth)做測試,並在終端畫面呈現所設計膚色偵測方法執行結果的IOU(Intersection Over Union)數值、Average IOU(六張IOU的平均)。此專案Average IOU0.77

 

開發平台:Microsoft Windows 10, Visual Studio Code, OpenCV 4.9.0, numpy 1.16.4, matplotlib 3.8.4, Python 3.9.18

 

程式架構與功能說明:

需先具備附件Image資料夾,內含有PhoteGroundTruthres資料夾; 安裝好相對應的package;

1.     在終端機輸入 python skin-detection.py”執行圖像的膚色區域標註

2.     讀取指定編號的原始圖像和對應的Ground Truth圖像

3.     對原始圖像進行高斯模糊處理(kernel: 3*3)

4.     將模糊後的圖像轉換為HSVYCrCbcolor space

5.     定義膚色的範圍,分別在HSVYCrCb色彩空間中設置upper boundlower bound,並根據膚色範圍將指定範圍內的像素值標記為白色,範圍外的值標記為黑色,其標記後的結果為皮膚遮罩。

6.     Method0: 運用形態學開運算來進一步處理遮罩,以消除小的斑點和不連續的區域,接著定義最小輪廓面積,並篩選掉小於該面積的輪廓;將形態學處理後的遮罩與填充後的面積輪廓進行像素上的and運算並回傳。

7.     Method1: 尋找皮膚遮罩中的所有輪廓,接著定義最小輪廓面積,並篩選掉小於該面積的輪廓,達到去噪和去除細小的區域的效果,並回傳輪廓填充

8.     Method0Method1個別計算兩個皮膚遮罩與Ground Truth之間的IOU(交集/聯集)。

9.     選擇IOU較大的遮罩作為最終的皮膚遮罩,接著顯示原始圖像、最終的皮膚遮罩和Ground Truth,並顯示IOU值。

 

 

 

 

成果展示與討論:

範例一:


範例二:


範例三:


範例四:


範例五:


範例六:


IOU:

 


留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6