Image Processing & Computer Vision Texture Segmentation
Texture Segmentation ลวดลาย หรือ Texture เป็นส่วนสำคัญอย่างหนึ่งทางด้าน image processing และ computer vision ที่ใช้ในการแบ่งแยกลวดลายต่าง ๆ ภายในภาพๆ หนึ่ง ออกเป็นส่วน ๆ อย่างชัดเจน ดังตัวอย่างจากภาพด้านล่าง จะสามารถแบ่งเป็นโซนใหญ่ ๆ ได้ 4 โซน เช่น Texture of tiger Texture of grass Texture of water Unmatched texture
Texture Segmentation การแบ่งส่วนรูปภาพให้เป็นกลุ่ม (region) โดยดูจากลายของรูปภาพ หรือ Texture โดยใช้ Grey Level Co-occurrence Matrix (GLCM).
Texture Segmentation Example of Texture
Grey Level Co-occurrence Matrix (GLCM) Three different co-occurrence matrices for a gray-tone image. Horizontal Vertical Diagonal
Grey Level Co-occurrence Matrix (GLCM) GLCM คือ ตารางแสดงความแตกต่างระหว่าง pixel โดยใช้ความสว่าง (brightness) ในระดับ gray level ที่เกิดขึ้นในรูปภาพมาแสดงผลในตาราง Test image pattern (gray level) 4 gray level ตัดบางส่วนของ texture ออกมา เพื่อทำ GLCM 0 black 1 dark gray 2 light gray 3 white
Grey Level Co-occurrence Matrix (GLCM) การแบ่งช่วงสีเช่น 4-gray level ช่วง pixel intensity 0 – 63 0 ช่วง pixel intensity 64 – 127 1 ช่วง pixel intensity 128 – 191 2 ช่วง pixel intensity 192 – 255 4 การแบ่งช่วงสีสามารถทำได้มากกว่า 4 level ตามความละเอียดของ texture (ลวดลาย)
Grey Level Co-occurrence Matrix (GLCM) (Count Matrix) Fill in Count Matrix (Right spatial Relationship or Horizontal Relationship) 1 2 3 1 2 3 Test image pattern Count Matrix
Grey Level Co-occurrence Matrix (GLCM) Transpose Matrix เพื่อทำให้ Matrix สมมาตร หรือ Symmetric Count Matrix Transpose Matrix 2 1 3 2 1 3 + Count Matrix + Transpose Matrix = Symmetrical Matrix 4 2 1 6
Grey Level Co-occurrence Matrix (GLCM) Normalized symmetrical Horizontal GLCM Symmetrical Matrix / Sum of elements = Horizontal GLCM 4 2 1 6 0.167 0.083 0.042 0.25 (1/24) * = Horizontal GLCM นี้จะแสดงเป็นค่า Probability
Grey Level Co-occurrence Matrix (GLCM) นอกจากจะทำการนับค่า Co-occurrence ในระดับแนวนอน(Horizontal) แล้ว ยังสามารถที่จะทำในระดับแนวตั้ง(Vertical) หรือแนวทแยงมุม (Diagonal) ได้อีกด้วย ดังนี้ Vertical Co-occurrence Diagonal Co-occurrence
Example of Vertical GLCM 1 2 3 1 2 3 Vertical Co-occurrence Count Matrix Transpose Matrix
Example of Vertical GLCM(ต่อ) Symmetrical Matrix Vertical GLCM (Probability)
Example of Diagonal GLCM 1 2 3 1 2 3 Count Matrix Diagonal Co-occurrence Transpose Matrix
Example of Diagonal GLCM(ต่อ) Symmetrical Matrix Diagonal GLCM (Probability)
Grey Level Co-occurrence Matrix (GLCM) สร้าง Count Matrix ดู relation ใน ส่วนของภาพที่ตัดมา ระหว่างจุดอ้างอิงและจุดพิกเซลเพื่อนบ้านตามทิศทางที่กำหนด (Neighbour pixel) นับจำนวนความสัมพันธ์ที่เกิดขึ้น (occurrence) และเติมลงใน Count Matrix จะเกิด Count Matrix ของจำนวนความสัมพันธ์ขึ้น Transpose Matrix เพื่อทำให้เป็นสมมาตร (Symmetrical matrix) ทำการบวก Count Matrix และ Transpose Matrix แปลง Matrix ที่รวมกันแล้วให้เป็น Probability โดยนำเอาค่าของ Matrix แต่ละช่อง หารด้วยผลรวมทั้งหมด เมื่อหา Probability Matrix ได้แล้ว ก็สามารถนำเอา Matrix นี้ไปหา Texture ในภาพจริงได้ โดยต้องทำภาพจริงที่จะหา Texture ให้เป็น gray level ระดับเดียวกันกับ Matrix ที่สร้างขึ้นไว้ก่อน จากนั้นก็ทำการหา GLCM ของภาพจริง และนำมาเปรียบเทียบกับ GLCM ที่เราสร้างไว้เป็นต้นแบบ
Grey Level Co-occurrence Matrix (GLCM) กับ Horizontal GLCM ที่สร้างไว้แล้ว ถ้ามีค่า Probability ใกล้เคียงกันหรือเหมือนกัน ในตำแหน่งเดียวกัน ถือว่าเป็นลายเดียวกัน 0.167 0.083 0.042 0.25 Input image Horizontal GLCM
Grey Level Co-occurrence Matrix (GLCM) นอกจากจะใช้แค่ Probability Matrix ในการหา Texture แล้วเรายังสามารถหารายละเอียดของ Texture ได้อีก โดยการหา Contrast (ความแตกต่างของสี) Dissimilarity(ความแตกต่างของลวดลาย) Homogeneity หรือ similarity(ความเป็นเนื้อเดียวกันหรือความเหมือนกัน) ได้อีกด้วย
GLCM and Contrast weight 0.167 0.083 0.042 0.25 1 4 9 * Contrast weight Horizontal GLCM 0.083 0.168 0.042 = Contrast Matrix
GLCM and Dissimilarity Weight 0.167 0.083 0.042 0.25 1 2 3 * Dissimilarity weight Horizontal GLCM 0.083 0.084 0.042 = 0.083+0.084+0.083+0.084+0.042+0.042 = 0.418 Dissimilarity Matrix
GLCM and Homogeneity (Similarity) 0.167 0.083 0.042 0.25 1 0.5 0.333 0.25 * similarity weight Horizontal GLCM 0.167 0.042 0.014 0.25 0.021 0.083 0.167+0.042+0.014+0.042+0.167+ 0.014+0.25+0.021+0.021+0.083 = 0.804 = Similarity Matrix