ทฤษฎีและหลักการทำงานที่เกี่ยวข้องในแต่ละ Block ของ Data Flow
Diagram
1. การทำ Noise
Removal (ลดค่า noise ในภาพ) จะใช้การ Filter ในโดเมนความถี่
(Fourier) แบบ Band Reject Filter (BRF) เพื่อเอาย่านความถี่ที่เป็น
noise ในรูปภาพออก
2. การทำ Contrast
Adjustment เพื่อทำให้ภาพคมชัดขึ้นจะใช้วิธีการ Filter ในโดนเมนความถี่
(Fourier) ก่อนอื่นจะทำ High Frequency Emphasis Filter ในการเพิ่มความชัดเจนของภาพ
(เพิ่มค่า Intensity ของขอบ) เพื่อให้หาลายนิ้วมือที่อยู่ในภาพได้ง่ายขึ้น
และหลังจากนั้นนำภาพไปปรับ Contrast ให้ดีขึ้นโดยวิธี Histogram equalization
3. Object Segmentation ในการแยกองค์ประกอบของภาพโดยใช้วิธี
Region Growing
4. Pattern Recognition & Object
Filtering เป็นการกรองเอาส่วนของ object โดยจะเอาองค์ประกอบของภาพที่ไม่ได้ถูกสีดำของถ่านป้ายออกโดยใช้วิธีการทำ
Thresholding แล้วกรองเอา object ที่ไม่พบสีดำในจำนวนที่กำหนดออกโดยใช้การตรวจสอบหาวัตถุที่มีลักษณะคล้ายวงรี
5. Fingerprint Recognition นำ object ที่ถูกกรองแล้วไปทำการหาลายนิ้วมือโดยการ
Brute Force เสร็จแล้วทำการหมุนรูปในองศาต่างๆเพื่อตรวจสอบกรณีที่นิ้วมือไม่ได้วางตัวในแนวเดียวกันกับแพทเทิร์นนิ้วมือที่กำลังจะนำไปตรวจโดยใช้
Geometric Transformation เรื่อง Rotation และ Scaling
ที่มา : เอกสารนำเสนอ ของวิชา Image Processing ภาควิชาวิศวกรรมคอมพิวเตอร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
http://www.ce.kmitl.ac.th/subject.php?action=view&SUBJECT_ID=229
ผลของโปรแกรม
ใช้รูปลายนิ้วมืออย่างง่ายในการเช็ครูปด้วยการทำให้รูปของลายนิ้วมือเป็น Window แล้วนำมาวิ่งบนทุกๆ Pixel ของรูปที่ถ่ายมา โดยรูปข้างซ้ายคือรูปที่ถ่ายมา และรูปข้างขวาคือลายนิ้วนือในฐานข้อมูล

ซึ่งจากตัวอย่างการทดลองฟังก์ชันการตรวจจับลายนิ้วมือ จะใช้รูปที่มีลายนิ้วมือเดียวกันซึ่งย่อมให้ค่าความคล้ายเป็น 100%

ซึ่งในโปรแกรมจะเห็นว่า similarity มีค่าเท่ากับ numOfPixel เนื่องจากนับว่ามี pixel ใดบ้างที่เหมือน และพบว่ามีจำนวนเท่ากับ pixel ของลายนิ้วมือทั้งหมด จึงให้ค่า (ตัวแปร ans) ออกมาเป็นร้อยละ 100 โดยการทดลองไม่ได้บอกชื่อว่าเป็นของใครเนื่องจากได้ข้อมูลลายนิ้วมือมาจาก internet
ที่มาของรูป :
ลายนิ้วมือ : http://static1-velaeasy.readyplanet.com/www.abt-thai.com/images/content/original-1414158598529.jpg
โต๊ะ : http://i01.i.aliimg.com/img/pb/793/131/268/1285036461876_hz-myalibaba-temp14_802.jpg
ที่มา : เอกสารนำเสนอ ของวิชา Image Processing ภาควิชาวิศวกรรมคอมพิวเตอร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
http://www.ce.kmitl.ac.th/subject.php?action=view&SUBJECT_ID=229
ผลของโปรแกรม
ใช้รูปลายนิ้วมืออย่างง่ายในการเช็ครูปด้วยการทำให้รูปของลายนิ้วมือเป็น Window แล้วนำมาวิ่งบนทุกๆ Pixel ของรูปที่ถ่ายมา โดยรูปข้างซ้ายคือรูปที่ถ่ายมา และรูปข้างขวาคือลายนิ้วนือในฐานข้อมูล

ซึ่งจากตัวอย่างการทดลองฟังก์ชันการตรวจจับลายนิ้วมือ จะใช้รูปที่มีลายนิ้วมือเดียวกันซึ่งย่อมให้ค่าความคล้ายเป็น 100%
ซึ่งในโปรแกรมจะเห็นว่า similarity มีค่าเท่ากับ numOfPixel เนื่องจากนับว่ามี pixel ใดบ้างที่เหมือน และพบว่ามีจำนวนเท่ากับ pixel ของลายนิ้วมือทั้งหมด จึงให้ค่า (ตัวแปร ans) ออกมาเป็นร้อยละ 100 โดยการทดลองไม่ได้บอกชื่อว่าเป็นของใครเนื่องจากได้ข้อมูลลายนิ้วมือมาจาก internet
ที่มาของรูป :
ลายนิ้วมือ : http://static1-velaeasy.readyplanet.com/www.abt-thai.com/images/content/original-1414158598529.jpg
โต๊ะ : http://i01.i.aliimg.com/img/pb/793/131/268/1285036461876_hz-myalibaba-temp14_802.jpg
การทำงานในเชิง Programming (flow chart)


ผลลัพธ์ที่คาดว่าจะได้รับ
ได้ผลลัพธ์เป็น List ของรายชื่อคู่กับความคล้าย ในของแต่ละนิ้วมือเป็นเปอร์เซ็นต์
ปัญหาที่คาดว่าจะพบที่อาจทำให้ไม่ได้ผลลัพธ์ที่คาดหวัง
1. ความละเอียดของกล้องไม่พอ
ทำให้ไม่สามารถตรวจจับลวดลายของนิ้วมือได้
2.
ในรูปมีแสงไม่สม่ำเสมอทำให้ตรวจสอบลายนิ้วมือยากขึ้น
3. นิ้ววางตัวในแนวองศาที่ไม่ตรงกับแพทเทิร์นนิ้วที่จะนำมาตรวจ
4.
การเลือกใช้ค่า r0 ในการทำ Band Reject
Filter ในการลด noise ของภาพได้ไม่มากเท่าที่ควร
แนวทางที่คาดว่าจะแก้ปัญหาได้
1.
ใช้กล้องที่มีความละเอียดสูง
2. ถ่ายรูปในที่ที่มีแสงสม่ำเสมอ
3.
ใช้การวนลูปทำ Geometric Rotation ในมุมองศาที่มีความละเอียดมากขึ้น
4. ทดลองตั้งค่า
r0 หลายค่าแล้วเลือกผลลัพธ์ที่ออกมาดีที่สุด

No comments:
Post a Comment