250 likes | 397 Views
Image Processing and Computer Vision. Edge Detection & Generalized Hough Transform. Edge Detection. Contour edge. Edge มี 2 ชนิด Contour edge Texture edge. Texture edge. Edge Detection.
E N D
Image Processing and Computer Vision Edge Detection & Generalized Hough Transform
Edge Detection Contour edge • Edge มี 2 ชนิด • Contour edge • Texture edge Texture edge
Edge Detection • การหาค่า Edge ในภาพคือการหา pixel ที่อยู่ติดกัน ที่มีการเปลี่ยนแปลงค่า intensity มาก ๆ เช่นจาก 0-255 หรือจาก 255-0
Example (Robert operator) Gx Gray scale Image Gy G
Edge Filter (Canny Operator) d. Canny operator I[i,j] = image Convolution image by Gaussian Filter we will get S[i,j] = G[i,j; ] * I[i,j] = spread of gaussian (การกระจายค่าของ gaussian filter) ทำการสร้าง filter จากสูตร P[i,j] = (S[i,j+1] – S[i,j] + S[i+1,j+1] – S[i+1,j]) / 2 Q[i,j] = (S[i,j] – S[i+1,j] + S[i,j+1] – S[i+1,j+1]) /2
Edge Filter (Canny Operator) -Edge pixel M[i,j] = P[i,j]2 + Q[i,j]2 - Each in edge pixel [i,j] = arctan(Q[i,j], P[i,j])
Generalized Hough Transform • ใช้สำหรับหารูปร่าง ๆ ใด ภายในภาพเป้าหมาย (Target Image) • ซึ่งประกอบด้วย 2 ส่วนใหญ่ ๆ คือ • ทำการเก็บรายละเอียดต่าง ๆ ของ Template shapeไว้ก่อน • ทำการค้นหารูปร่าง (shape) ภายในภาพเป้าหมาย(Target image)
Learn Shape • ทำการสร้าง Shape สำหรับเป็น Template ขึ้นมาก่อน • ทำการเลือกจุดกึ่งกลางของภาพต้นแบบ • สำหรับ pixel ที่เป็น edge ให้ลาก • เส้นตรงเข้าหาจุดกึ่งกลาง และทำการเก็บ • ค่าต่าง ๆ ดังนี้ • = มุมที่กระทำกับแกน X • = ค่า gradient ที่ได้จากการทำ • edge detector • r = ระยะทางจากเส้นขอบที่ลากไปยัง • จุดกึ่งกลาง
GHT : R-Table สร้าง R-Table ขึ้นมา เพื่อเก็บค่าช่วงของ
Search for Shapes Target Image
Search for Shape • Algorithm สำหรับ search ในภาพเป้าหมาย(Target) 1. ทำการหาขอบ ของรูปภาพเป้าหมาย และทำการเก็บค่า (gradient direction) ไว้ 2. สำหรับทุก ๆ edge pixel ใช้ค่า ที่ได้จากข้อ 1 เพื่อทำการค้นหาค่า และ r ซึ่งเก็บอยู่ใน R-Table 3. สำหรับค่าของ และ r ที่ได้จากการค้นหาใน R-Table ตาม นั้น ให้ทำการ แทนค่าของ และ r ในสูตร xc = x + rcos() yc = y + rsin() 4. ทำการ Vote xc และ yc จากนั้นทำการเลือกค่า Maximum vote ของ xc และ yc มาเป็นคำตอบก็จะได้จุดกึ่งกลางที่จะทำการวางภาพ template ลงไปในภาพ target
Case when Image Scale or Rotate Scale factor = S Rotation factor = ทำการสร้าง Array ขนาด 4 มิติขึ้นมาเพื่อทำการ Vote ดังนี้ Array[xc, yc, S, ] ซึ่งค่า S อาจเป็นได้ดังนี้ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 ส่วนค่า R ให้มีค่าตั้งแต่ 0-359
Case when Image Scale or Rotate • ดังนั้นเมื่อมีค่า Scale และ Rotation เข้ามาเป็นตัวแปรด้วยจะต้องการเปลี่ยนสมการเก่าเป็นสมการใหม่ ดังนี้ • xc = x + rcos() • yc = y + rsin() • xc = x + r S cos(+ ) • yc = y + r S sin( + )
Case when Image Scale or Rotate • Algorithm 1. For each (, r) from R-Table For each S = 0.3 to 1.5 For each = 0 to 359 find Array[xc, yc, S, ]++ Look for Maximum vote in 4-D Array • xc = x + r S cos(+ ) • yc = y + r S sin( + )