Monday, October 31, 2011

การรู้จำใบหน้ามนุษย์โดยใช้เทคนิค ใบหน้าไอเกน (Eigenface for Face Recognition)


ในการศึกษาเกี่ยวกับอัลกอริทึมที่ใช้ในระบบรู้จำใบหน้านั้นสำหรับผู้เริ่มต้นควรให้ความสนใจกับอัลกอริทึม PCA หรือ ใบหน้าไอเกน (Eigenfaces) เป็นพิเศษเนื่องจากว่าเป็นอัลกอริทึมที่มีความซับซ้อนน้อยเหมาะแก่การศึกษาเพื่อทำความเข้าใจเกี่ยวกับการรู้จำใบหน้า
โดยการนำ PCA มาใช้ในการแทนภาพใบหน้ามนุษย์เป็นครั้งแรกนำเสนอโดย L. Sirovich และ M. Kirby [2] และต่อมา M. Turk และ A. Pentland [3] ได้นำ PCA มาใช้ในการรู้จำภาพใบหน้า (Eigenfaces for Recognition) โดยมีขั้นตอนการทำงานอยู่ 2 ขั้นตอนหลักคือ
1)      การเตรียมใบหน้าไอเกนเพื่อใช้ในการรู้จำ ประกอบไปด้วยขั้นตอนดังนี้
·         รวบรวมชุดรูปภาพใบหน้าที่จะใช้ในการฝึกฝน (Training set) และแปลงไปเป็นเมตริกซ์ขนาด 1 แถว (Γi) และรวมรวบเข้าเป็น เซต (S)





·       คำนวณหา mean image  Ψ จากชุดของรูปภาพที่ถูกแปลงเป็นเมตริกซ์แล้ว





·       หาความแตกต่างระหว่าง mean image และ input image (Φ)
                            Φi = Γi - Ψ
·       หา Orthonormal vectors (unเท่ากับจำนวนของภาพนำเข้า (input image) ซึ่งสามารถอธิบายการกระจายตัวของข้อมูลได้ดีที่สุดโดยเวคเตอร์ตัวที่ k (uk) จะถูกเลือกด้วยสมการดังต่อไปนี้


·      หลังจากนั้นก็หาเมตริกซ์ความแปรปรวน C (Covariance Matrix) ตามขั้นตอนต่อไปนี้


·       AT
·        จากนั้นก็จะได้ไอเกนเวคเตอร์ vl, ul ดังนี้




2)      การรู้จำ ประกอบไปด้วยขั้นตอนดังนี้
·     นำรูปที่ต้องการทดสอบการรู้จำมาแปลงให้เป็นใบหน้าไอเกนตามวิธีการที่กล่าวมาแล้วหลังจากนั้นก็นำรูปนำเข้าไปเปรียบเทียบกับ mean image เพื่อหาค่าความแตกต่างของรูปนำเข้ากับ mean image จากนั้นนำค่าความแตกต่างที่ได้ไปคูณกับไอเกนเวคเตอร์ของแต่ละรูปที่อยู่ในชุดของภาพที่ใช้ในการฝึกฝนซึ่งจะได้ค่าน้ำหนัก (weight) หลังจากนั้นก็นำไปเก็บไว้ใน เวคเตอร์ Ω


·       ต่อไปก็หาว่ารูปใดในชุดของภาพที่ใช้ในการฝึกฝนมีความใกล้เคียงกับรูปนำเข้ามากที่สุดโดยการหาระยะทาง ยูคลิเดียน (Euclidean Distance)


·       โดยการจะรู้ว่ารูปนำเข้าเป็นรูปใบหน้าของบุคคลหรือไม่โดยการกำหนดค่า Threshold ขึ้นมาเปรียบเทียบ
·       หลังจากเปรียบเทียบกับค่า Threshold แล้วเราก็รู้ได้ว่ารูปนำเข้านั้นเป็นรูปของใบหน้าหรือไม่และหากเมื่อเป็นใบหน้าแล้วเราก็ต้องหาต่อว่ารูปใบหน้านั้นเป็นรูปใบหน้าของบุคคลที่รู้จักหรือไม่โดยการกำหนดค่า Threshold ขึ้นมาอีกค่าหนึ่งเปรียบเทียบว่ารูปนำเข้านั้นมีความใกล้เคียงกับรูปใดรูปหนึ่งในชุดของภาพที่ใช้ในการฝึกฝนมากพอหรือไม่ (ยิ่งมีค่าระยะห่างน้อยคือมีความใกล้เคียงกันมาก)



อ้างอิง
[1] Paul Viola and Michael Jones, "Robust Real-time Object Detection," Cambridge Research
    Laboratory, Technical Report Series CRL 2001/01, 2001.
[2] L. Sirovich and M. Kirby, "Low-dimensional procedure for characterization of human faces," Reprinted from Journal of the Optical Society of America A, vol. 4, 1987, pp. 519-524.

     [3] M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive Neuroscience, Vol.3, No. 1, 1991, pp. 71-86
     [4] http://www.cognotics.com
[7] Min LuoYuwapat Panitchob, Eigenfaces for Face Recognition, ECE 533 Final Project Report, Fall ’03, http://www.ece.wisc.edu/~hu/ece533/project/index03.html

No comments:

Post a Comment