การหมุน

Download Report

Transcript การหมุน

คุณลักษณะเพือ่ ใช้ อธิบายภาพ
และ
การนาเสนอ
Image Description and
Representation
What Are Descriptors
• In general, descriptors are some set of
numbers that are produced to describe a
given image.
• The image may not be entirely
reconstructable from the descriptors, but
the descriptors for different images should
be different enough that the images can
be discriminated.
What qualifies as a good descriptor?
การเฟ้นหาคุณลักษณะเหล่านีจ้ งึ ต้ องพิจารณาอย่ าง
รอบคอบ คุณสมบัตทิ สี่ าคัญของ descriptors
• ความเป็ นหนึ่งเดียว (uniqueness)
• ความสมบูรณ์ (completeness)
• ความว่ องไวต่ อการเปลีย่ นแปลง (sensitivity)
• ความสามารถในการเป็ นตัวแทน (abstraction
from detail)
• ความไม่ เปลีย่ นเมื่อมีการแปลงเชิงเรขาคณิต
(geometrical transformation invariance)
คุณลักษณะที่ดีจะต้ องไม่ เปลี่ยนแปลงต่ อการเปลี่ยนแปลง
ทางเรขาคณิตต่ อไปนี้ (แกนทั้งสองคงที่ เปลี่ยนเฉพาะวัตถุ
เท่ านั้น)
- การเลือ่ นตาแหน่ ง (translation)
- การเปลีย่ นสเกล - การย่ อ/ขยาย (scaling)
- การหมุน (rotation)
- การสะท้ อน (reflection)
ประเภทของ image descriptor
• Shape
• Region
• Boundary (Contour)
• Texture
• Color
• Relation
7.1 Shape descriptor
7.1.1 Region descriptor
1.1)
พืน้ ที่ Area
Foreground
วัตถุสีขาวให้เป็ น B(i,j) or f(i,j) = 1
A
สี ดา =
วัตถุสีขาว = 1
Background
N 1 M 1
  B [i , j ]
i  0 j 0
นับจุดขาวทั้งหมดในภาพ
A = 106
0
คุณสมบัติของพื้นที่ Area
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
√
√
1.2) ตาแหน่งหรื อจุดศูนย์กลางมวล Center
of gravity
X (column)
j=0
N 1 M 1
x
  jB[i, j ]
i=0
i=1
i 0 j 0
A
N 1 M 1
y
  iB[i, j ]
i=N-1
A
=16
i 0 j 0
Y (row)
j=M-1
คุณสมบัติของ center of gravity
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
×
×
×
×
1.3)
ความกระทัดรัด Compactness
2
P
 
4A
ความกระทัดรัด Compactness
คุณสมบัติของพื้นที่ Compactness
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
√
√
1.4)
ทิศทางการวางตัว Orientation
เป็ นการวัดค่ ามุมทีเ่ ส้ นตามแกนยาวของรู ปรี (the
axis of elongation) หรือ เส้ นตามแกนที่ค่าโมเมนต์ ที่สอง
มีค่าตา่ สุ ด (the axis of least second moment) กระทา
กับเส้ นในแนวราบ
เส้ นดังกล่ าวมิได้ ผ่านทุกจุดภาพ แต่ เป็ นเส้ นตรงที่ทา
ให้ ค่าผลบวกของกาลังสองของระยะทาง (ในแนวตั้งฉาก)
จากเส้ นนีแ้ ละจุดภาพมีค่าน้ อยทีส่ ุ ด
คุณสมบัติของ Orientation
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
×
×
1.5)
เงาของวัตถุ (Projection)
เงาในแนวระดับ
ถ้า H[i] เป็ นเงาของวัตถุแถวที่ i ที่เกิดจากการฉาย
แสงในแนวราบจนเกิดเงาบนผนังซึ่งวางตัวอยูใ่ นแนวดิ่งโดย
ผนังนี้เป็ นแกนอ้างอิง
ดังนั้น จึงเป็ นการนับจานวนจุดภาพที่เป็ นวัตถุทุก
คอลัมน์ (j=0…M-1) ของแถวที่ i
ให้ดาเนินการแบบนี้จนครบทุกแถว (i=0…N-1)
H(i=0) = 0
H(i=1) = 6
H(i=2) = 9
H(15) = 5
H(16) = 2
Projection แนวระดับ
นับจุดขาวในแต่ละแถว
เงาในแนวดิ่ง
ถ้า V[j] เป็ นเงาของวัตถุคอลัมน์ที่ j ที่เกิดจากการ
ฉายแสงในแนวดิ่งจนเกิดเงาบนพื้นซึ่ งวางตัวอยูใ่ นแนว
ระดับโดยพื้นนี้เป็ นแกนอ้างอิง
ดังนั้น จึงเป็ นการนับจานวนจุดภาพที่เป็ นวัตถุทุก
แถว (i=0…N-1) ของคอลัมน์ที่ j
ให้ดาเนินการแบบนี้จนครบทุกแถว (j=0…M-1)
Projection แนวดิ่ง นับจุดขาวในแต่คอลัมน์
V(2) = 8
V(j=0) = 2 V(j=1) = 2
V(15) = 2 V(16) = 0
คุณสมบัติของ Projection
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
×
×
1.6) Euler number
ถ้ าให้ E เป็ น Euler number และ
C เป็ นจานวนองค์ ประกอบ (จานวนชิ้น) ของวัตถุที่
ประกอบกันขึน้ มาเป็ นวัตถุหนึ่งวัตถุ และ
H เป็ นจานวนรู (hole)
ดังนั้น E = C – H
ซึ่ ง มี ค่ าไม่ เปลี่ ย นแปลง (invariant) ต่ อการเลื่ อ นตาม
แนวแกน การหมุน และการย่ อ/ขยาย
คุณสมบัติของ Euler number
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
√
√
1.7)
โมเมนต์ ของบริเวณ (Region Moment)
โมเมนต์ ของบริเวณ (Region Moment)
q
ตัวอย่างการ
นาไปใช้งาน
คุณสมบัติของ Region Moment
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
×
×
×
×
โมเมนต์ ของบริเวณ (Region Moment)
แก้ไข
โมเมนต์ ของบริเวณ (Region Moment)
แก้ไข
โมเมนต์ ของบริเวณ (Region Moment)
แก้ไข
โมเมนต์ ของบริเวณ (Region Moment)
คุณสมบัติของ Region Moment ของ Hu
คุณสมบัติ
Uniqueness
√
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
√
√
1.8) Convex hull
เป็ นเส้นกรอบรอบบริ เวณที่เล็กที่สุดซึ่ งเกิดจากการ
ลากเส้นตรงเชื่อมต่อระหว่างจุดบนขอบของภาพที่เป็ น
แหลมยืน่ ออกมา (convex)
โดยบริ เวณใดจะเป็ นแหลมยื่ น ออกมา convex
จะต้องมีคุณสมบัติ คือ
เมื่อลากเส้นตรงเชื่อมระหว่างจุดคู่ใด ๆ ที่อยูบ่ นขอบของ
บริ เ วณนี้ แล้ว ทุ ก ๆ จุ ด บนเส้ น ตรงนี้ จะต้อ งอยู่ภ ายใน
บริ เวณนี้
Concave
Convex
คุณสมบัติของ Convex hull
คุณสมบัติ
Uniqueness
√
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
×
×
1.9) เส้ นแกนกลางของบริเวณ (Skeleton
of region)
บริ เวณใด ๆ สามารถหาแกนกลางได้ ตัวอย่างเช่น ตัวอักษร M
สามารถแทนได้ดว้ ยแกนกลางดังรู ปข้างล่างนี้
แกนกลางเกิดจากทางเดิน (loci) ของจุดศูนย์กลางของ
วงกลมที่สมั ผัสกับขอบของวัตถุอย่างน้อยสองด้านพร้อม
กัน
คุณสมบัติของ Skeleton
คุณสมบัติ
Uniqueness
√
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
×
×
1.10) Bounding Box
คุณสมบัติของ Bounding Box
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
×
√
7.1.2 Boundary descriptor
2.1)
ความยาวเส้ นรอบรู ป Boundary length
เป็ นจานวนจุดภาพทั้งหมดทีอ่ ยู่บนเส้ นขอบ
L = 45
คุณสมบัติของความยาวเส้นรอบรู ป
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
√
√
2.2) Chain codes
เป็ นการอธิบายเส้ นขอบโดยใช้ ลาดับของตัวเลขแสดง
ทิศทาง (4 หรือ 8 ทิศทาง) ทีจ่ ุดภาพทีเ่ ป็ นเส้ นขอบจุดภาพถัดไป
ปรากฏเทียบกับจุดภาพทีก่ าลังพิจารณาในทิศตามเข็มนาฬิ กา
ดังตัวอย่ างต่ อไปนี้
1
2
0
3
4-connected chain code คือ
“0033333323221211101101”
ในกรณี ที่ตอ้ งการให้ chain code นี้ไม่ข้ ึนอยูก่ บั
ตาแหน่งเริ่ มต้น ให้พิจารณา chain code นี้ในลักษณะ
circular list
4-connected chain code
circulay list คือ
แบบ
“00333333232212111011010”
(เดิม “0033333323221211101101”)
• ข้อดีของ chain code คือความไม่เปลี่ยนแปลง
ต่อการเลื่อนตาแหน่ง
• แต่เปลี่ยนแปลงเมื่อมีการหมุนและการย่อ/ขยาย
แต่สามารถแก้ไขได้ ดังนี้
• difference chain code
เพื่อทาให้มีคุณสมบัติของความไม่เปลี่ยนแปลง
ต่อการหมุน โดยหาระยะห่างระหว่างทิศทางคู่ใด ๆ
ในทิศทวนเข็มนาฬิกา
chain code
“0033333323221211101101”
2
2
3
1
1
0
3
“0 3 0 0 0 0 0 31303130031031”
Difference chain code
และ “0 3 0 0 0 0 0 3 13031300310313”
Difference chain code แบบ circular list
จากตัวอย่างข้างต้น จะได้ difference chain
code เป็ น 030000031303130031031
หรื อ ในกรณี circular sequence จะได้
0300000313031300310313
เปลี่ยนขนาดการสุ่ มภาพเพื่อทาให้มีคุณสมบัติ
ของความไม่เปลี่ยนแปลงต่อการย่อ/ขยาย โดยจะต้อง
ให้ค่า chain code เหมือนเดิม
คุณสมบัติของ Chain codes
คุณสมบัติ
ก่อน
หลัง
Uniqueness
√
√
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
×
√
×
√
×
×
2.3) Shape number
คือ difference chain code ที่มีค่าน้อย
ที่สุด หาได้โดยการเลื่อนบิตหน้าสุ ดไปไว้ทา้ ยสุ ด –
กี่ครั้งก็ได้ จนได้ค่าต่าสุ ด
เช่น จากตัวอย่างข้างต้นจะได้
0000031303130031031303
(เดิม 0300000313031300310313)
Order ของ shape number
order คือจานวนตัวเลขความยาวของ
shape number ในที่น้ ี คือ 22
คุณสมบัติของ Shape Number
คุณสมบัติ
Uniqueness
√
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
√
×
2.4) เส้ นผ่ านจุดศูนย์ กลางมวลของเส้ นขอบ
(diameter of boundary)
ถ้าจุด pi และ pj เป็ นจุดคู่ใด ๆ บนเส้นขอบ เส้นตรง
ที่เชื่อมต่อระหว่างจุดคู่น้ ีที่ยาวที่สุดหาได้จาก
Diam(B) = max[D(pi, pj)] สาหรับ i, j
ใด ๆ
โดย B คือเส้นขอบที่กาลังพิจารณา และ D คือ
ระยะทางระหว่างจุดคู่น้ ี
อนึ่งเส้นตรงนี้อาจเรี ยกว่า แกนมุขสาคัญ (major
axis) ของเส้นขอบ
คุณสมบัติของ diameter of boundary
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
×
√
√
2.5) ความโค้ ง (Curvature)
เป็ นอัตราการเปลีย่ นแปลงความชันของเส้ นสั มผัส
ที่สัมผัสขอบ ณ จุดทีอ่ ยู่ต่อเนื่องกัน
ในกรณีที่ความชันของเส้ นสั มผัสเส้ นขอบของสอง
จุดใด ๆ มีค่าใกล้ เคียงกัน แสดงว่ าเส้ นโค้ งบริเวณนีม้ ี
ความโค้ งน้ อย
ในทางตรงข้ ามถ้ าความชันของเส้ นสั มผัสเส้ นขอบ
ของสองจุดใด ๆ มีค่าต่ างกันมาก ๆ แสดงว่ าเส้ นโค้ ง
บริเวณนีม้ ีความโค้ งมาก
m2
Curverture สู ง
m1
m1
m2
Curvature
ต่า
คุณสมบัติของ Curvature
คุณสมบัติ
Uniqueness
×
การเลือ่ นตาแหน่ ง
การย่ อ/ขยาย
การหมุน
การสะท้ อน
√
√
√
×
2.6) Fourier descriptor
ถ้ าแบ่ งเส้ นขอบซึ่งเป็ นเส้ นโค้ งปิ ด (closed
curve) ออกเป็ นจุดจานวน N จุด นั่นคือ {z(i) : i =
1,…,N} เราสามารถหา Fourier descriptors จากเซต
ของจุดดังกล่ าวได้ โดยหา Fourier transform ของจุด
z นี้
y
y2
y1
0
.
.
.
.
. . . . ....
.. .
.
.
.. ..
.. .. . . .
.. . . ....
x1 x2
Zn(xn,yn)
Z2(x2,y2)
Z1(x1,y1)
x
โดย {c(k) : k = -N/2 + 1,…,N/2}
เป็ นสัมประสิ ทธิ์ (coefficients) ของ
Fourier transform ของจุด z
ของเส้นขอบเป็ นการ
แทนรู ปทรง (ซึ่งเป็ นปริ มาณสองมิติ) ด้วย
ตัวแทนหนึ่งมิติ
ดังนั้น descriptors c(k) เป็ นการอธิบายเส้น
ขอบด้วยรายละเอียดในความถี่ (การอธิบาย
แนวโน้มของการเปลี่ยนแปลงของเส้นขอบ)
Fourier descriptors
ถ้า k มีค่าใกล้ศูนย์ c(k) จะแทนปริ มาณที่มีความถี่ต่า
หรื อค่าประมาณของเส้นขอบ เช่น c(0) แทนจุด
ศูนย์กลางมวลของรู ปทรง และ c(1) แทนขนาดของ
รู ปทรง ซึ่ งไม่เกี่ยวข้องกับเส้นขอบ
ถ้า c(k) ที่ความถี่สูงจะเป็ นการแทนรายละเอียดของเส้น
ขอบ
คุณสมบัติของ FD
1) ไม่ มี ก ารเปลี่ ย นแปลงขนาดของสัม ประสิ ท ธิ์
(จานวน N-1 จุด) ต่อการเลื่อนตาแหน่ ง เมื่อมีการ
เลื่อนตาแหน่ง ขนาดของ Fourier descriptors
เฉพาะ c(0) เท่านั้นที่เปลี่ยนแปลง
คุณสมบัติของ FD
2) ไม่มีการเปลี่ยนแปลงขนาดของสัมประสิ ทธิ์
ทั้ งหมดต่ อ การหมุ น เมื่ อ มี ก ารหมุ น Fourier
descriptors จะท าให้ เ ฉพาะ phase เท่ า นั้ นที่
เลื่อนไป
3) ไม่มีการเปลี่ยนแปลงที่เฟสของสัมประสิ ทธิ์ต่อ
การย่อ/ขยาย เมื่ อมี การย่อ/ขยายทาให้ขนาดของ
สัมประสิ ทธิ์มีการย่อ/ขยายในปริ มาณเดียวกัน
คุณสมบัติของ FD
4) เมื่อมีการเปลี่ยนจุดตั้งต้นของเส้นขอบทาให้มี
การ modulation ของ Fourier descriptors
เท่านั้น
2.7) Moments for Boundaries
2.8) Chord distribution
lengths
angles
2.9) Signature
r ( )

2.10) Boundary Splitting
2.11) Boundary segmentation
2.12) B-Splines