วันพฤหัสบดีที่ 6 มีนาคม พ.ศ. 2557

ระบบวิเคราะห์ใบหน้า



   ระบบวิเคราะห์ใบหน้าถือว่าเป็นหนึ่งในระบบที่ใช้ในการพิสูจน์ยืนยันตัวตนบุคคลโดยใช้คุณลักษณะจำเพาะทางสรีระ (BIOMETRIC) โดยระบบรู้จำใบหน้าจะทำงานโดยการเปรียบเทียบใบหน้าจากภาพถ่ายดิจิตอลหรือภาพจากกล้องวีดีโอของบุคคลที่เราสนใจกับฐานข้อมูลใบหน้าที่มีอยู่ และเมื่อเปรียบเทียบเสร็จก็จะแสดงผลใบหน้าที่อยู่ในฐานข้อมูลที่มีใบหน้าเหมือนกับภาพที่นำมาเปรียบเทียบออกมา ระบบรู้จำใบหน้านั้นได้ถูกพัฒนามาอย่างต่อเนื่องเป็นเวลามากกว่าสิบปีมาแล้ว

เนื่องจากเป็นระบบที่ได้รับความสนใจมากจากนักวิชาการหลายสาขาวิชาจึงทำให้ระบบรู้จำใบหน้า มีผู้คนสนใจศึกษาและพัฒนากันอย่างมากมายจนทำให้มีการพัฒนาอัลกอริทึมในการทำงานของระบบออกมามากมายหลายรูปแบบแตกต่างกันไป ซึ่งการพัฒนาอัลกอริทึมก็แตกต่างกันไปตามยุคสมัยด้วย อันเนื่องมาจากปัจจัยด้านองค์ความรู้และเทคโนโลยีของอุปกรณ์ต่างๆ ที่พัฒนาขึ้นให้มีความเหมาะสมที่จะนำมาใช้ในระบบ จึงทำให้ต้องออกแบบอัลกอริทึมใหม่ให้เหมาะสมกับอุปกรณ์ใหม่ๆด้วยในปัจจุบันระบบรู้จำใบหน้าได้มีการพัฒนาไปอย่างมาก ทำให้ระบบรู้จำใบหน้ามีความน่าเชื่อถือมากขึ้น จนมีการนำระบบรู้จำใบหน้ามาใช้ประโยชน์กันอย่างแพร่หลาย ในต่างประเทศ หลายๆประเทศได้มีการนำระบบรู้จำใบหน้ามาติดตั้งในสนามบินเพื่อป้องกันคนร้ายหนีเข้าออกนอกประเทศ และมีระบบรู้จำใบหน้าสำหรับการยืนยันตัวคนร้ายในคดีต่างๆด้วย


1.หลักการทำงานของระบบรู้จำใบหน้า

ระบบรู้จำใบหน้า (Face Recognition) ถูกออกแบบมาให้ทำการเปรียบเทียบใบหน้าบุคคลที่เราสนใจกับฐานข้อมูลใบหน้าที่มีอยู่โดยอัลกอริทึมที่ใช้ในขั้นตอนการสร้างแม่แบบและขั้นตอนการเปรียบเทียบอาจแตกต่างกันไปแล้วแต่การออกแบบระบบของแต่ละระบบ แต่ไม่ว่าจะมี อัลกอริทึมในการทำงานในขั้นตอนการสร้างแม่แบบและขั้นตอนการเปรียบเทียบยังไง แต่ขั้นตอนการทำงานโดยรวมของระบบก็ยังคงเหมือนกันอยู่ โดยทั่วไประบบรู้จำใบหน้าจะประกอบไปด้วย 2 ขั้นตอนหลักคือ การตรวจจับใบหน้า (Face Detection) และ การรู้จำใบหน้า (Face Recognition)

1.1 การตรวจจับใบหน้า (Face Detection)

คือกระบวนการค้นหาใบหน้าของบุคคลจากภาพหรือวิดีโอหลังจากนั้นก็จะทำการประมวลผลภาพใบหน้าที่ได้สำหรับขั้นตอนถัดไปเพื่อให้ภาพใบหน้าที่ตรวจจับได้ง่ายต่อการจำแนก และ อัลกอริทึมที่ใช้ในการตรวจจับใบหน้าในปัจจุบันก็มีอยู่ด้วยกันหลายวิธีซึ่งอัลกอริทึมในการตรวจจับใบหน้าที่ดีนั้นมีส่วนช่วยในการจำแนกใบหน้าได้แม่นยำและรวดเร็วขึ้นเป็นอย่างมาก



          ในรายงานนี้จะขอยกตัวอย่างวิธีการหนึ่งที่ใช้ในการตรวจจับใบหน้าที่มีความสามารถในการประมวลผลได้รวดเร็วและมีอัตราความถูกต้องในการตรวจหาสูง ซึ่งPaul Viola และ Michael J. Jones ได้คิดค้นและตีพิมพ์ [1] ในปี ค.ศ. 2001 โดยทั่วไปมักจะเรียกว่า Viola-Jones method ซึ่งอัลกอริทึมที่ได้นำเสนอนั้นมีการนำเสนอวิธีการแทนรูปภาพที่ เรียกว่า”Integral Image” ซึ่งช่วยให้การคำนวณfeatureทำได้รวดเร็วขึ้นและได้มีการปรับปรุงอัลกอริทึมการเรียนรู้โดยมีพื้นฐานจาก  AdaBoost ซึ่งเลือกเอาเฉพาะ critical features  ที่ให้ classifiers ที่มีประสิทธิภาพสูงสุด) นอกจากนี้ยังได้อธิบายถึงการรวม classifiers แบบ cascade ซึ่งช่วยให้ส่วนพื้น หลังของภาพถูกปฏิเสธได้เร็วและเน้นการคำนวณไปที่บริเวณที่มีลักษณะคล้ายวัตถุที่สนใจมากขึ้น


           หลักการพื้นฐานของอัลกอริทึมของ Viola-Jones คือการสแกน sub-window เพื่อตรวจหาใบหน้าจากรูปภาพอินพุต การประมวลผลภาพแบบทั่วไปจะใช้การปรับขนาดภาพขาเข้าแตกต่างกันหลายๆขนาด และใช้ตัวตรวจหา (Detector) ที่มีขนาดคงที่ค้นหาวัตถุ ซึ่งวิธีนี้กินเวลาในการคำนวณมากเนื่องมาจากการคำนวณบนรูปภาพที่มีขนาดแตกต่างกัน Viola-Jones ได้เสนอวิธีใหม่โดยการปรับขนาดตัวตรวจหาแทนที่จะปรับขนาดภาพขาเข้า และใช้ตัวตรวจหาค้นหาวัตถุหลายๆรอบ (แต่ละรอบใช้ขนาดแตกต่างกัน) ซึ่งทั้ง สองวิธีน่าจะใช้เวลาในการคำนวณไม่ต่างกันมากนัก แต่ Viola-Jones ได้คิดค้นตัวตรวจหาที่ใช้จำนวนครั้งในการคำนวณคงที่แม้จะมีขนาดของภาพแตกต่างกัน โดยตัวตรวจหาดังกล่าวนี้สร้างขึ้นโดยใช้  features ของ Haar wavelets (รูปที่ 1.1) และ Integral Image (รูปที่ 1.2)

รูปที่ 1.1 Examples of the Haar features
Elample of The Haar Features
รูปที่ 1.2 The Integral Image trick

The Integral Trick
              หลักการของอัลกอริทึมค้นหาหน้าของ Viola-Jones คือการใช้ตัวตรวจหา สแกนหลายๆ ครั้งบนภาพเดิม แต่ด้วยขนาดที่แตกต่างกัน ถึงแม้ว่าจะมีใบหน้ามากกว่าหนึ่งหน้า ผลลัพธ์ของ sub-window จำนวนมากยังคงเป็นลบ (negative non-faces) ซึ่งปัญหานี้แก้ได้โดยใช้หลักการ “ปฏิเสธสิ่งที่ไม่ใช่ใบหน้า แทนการค้นหาใบหน้า” เพราะการตัดสินใจว่าบริเวณใดๆ ไม่ใช่ใบหน้านั้น ทำได้เร็วกว่าการค้นหาใบหน้า และได้มีการสร้างตัวจำแนกประเภทแบบ cascaded (Cascaded classifier)คือเป็น Classifier หลายตัวต่อกันเป็นลำดับดังแสดงในรูปที่ 1.3 ซึ่งเมื่อ sub-window ถูกจัดประเภทเป็น ไม่ใช่ใบหน้า (non-face) จะถูกปฏิเสธทันที แต่ในทางตรงกันข้าม ถ้า sub-window นั้น ถูกจำแนกเป็น มีโอกาสเป็นใบหน้า (maybe-face) จะถูกส่งต่อไปยัง Classifier ตัวถัดไปตามลำดับ และกล่าวได้ว่ายิ่งมีจำนวนชั้น ของ Classifier มากเท่าใด โอกาสที่ sub-window จะเป็นใบหน้าจะยิ่งมีมากขึ้น

รูปที่ 1.3 The classifier cascade is a chain of filters. Image sub-regions that make it through the entire cascade are classified as “Face.” All others are classified as “Not Face.”




1.2 การรู้จำใบหน้า (Face Recognition)

คือกระบวนการที่ได้นำภาพใบหน้าที่ตรวจจับได้และประมวลผลแล้วจากขั้นตอนการตรวจจับใบหน้ามาเปรียบเทียบกับฐานข้อมูลของใบหน้าเพื่อระบุว่าใบหน้าที่ตรวจจับได้ตรงกับบุคคลใด ตัวอย่างของอัลกอริทึมการรู้จำใบหน้าได้แก่

§  Principal Component Analysis (PCA)

            PCA หรือ Principal Component Analysis หรือภาษาไทยเรียกว่า การวิเคราะห์องค์ประกอบหลักคือเทคนิคในการผสมลักษณะเด่นในเวคเตอร์นำเข้าเพื่อสร้างเวคเตอร์ใหม่ที่อยู่ในปริภูมิ  (subspace)  ที่มีมิติน้อยกว่าเวคเตอร์เดิมโดยการผสมที่เราใช้นั้นจะเป็นการผสมเชิงเส้นตรงหรือ linear combination นั่นคือการเอาลักษณะเด่นมาคูณค่าคงที่บางอย่างแล้วค่อยบวกกัน

         การนำ PCA มาใช้ในการพัฒนาระบบรู้จำใบหน้าก็จะทำได้โดยการแปลงภาพถ่ายใบหน้าบุคคลสองมิติไปเป็นเวคเตอร์หนึ่งมิติ และเก็บไว้ในฐานข้อมูล และเมื่อต้องการนำรูปภาพใบหน้าบุคคลที่สนใจมาเปรียบเทียบก็จะทำการแปลงภาพใบหน้านั้นเป็นเวคเตอร์หนึ่งมิติด้วย แล้วนำเวคเตอร์ไปเปรียบเทียบกับภาพในฐานข้อมูลเพื่อหาผลลัพธ์

รูปที่ 1.4 ตัวอย่างของใบหน้าไอเกน (Eigenfaces)

     Linear Discriminant Analysis (LDA, a.k.a “fisherfaces”)


LDA นั้นก็จะมีวิธีการทำงานที่คล้ายกับ PCA ซึ่งใน PCA เราต้องหาปริภูมิย่อยที่เมื่อฉาย (project) ข้อมูลลงไปแล้ว มีการกระจายตัวสูงสุด แต่ใน LDA เราต้องการปริภูมิย่อยที่เมื่อฉายข้อมูลลงไปแล้ว ข้อมูลจาก class เดียวกันเข้าใกล้กันมากขึ้น และข้อมูลจากต่าง class กันจะอยู่ห่างกันมากขึ้นดังในรูปที่ 1.5 แต่ละบล็อกคือคลาสหรือภาพบุคคลที่มีความแตกต่างกันน้อยจะถูกจัดให้อยู่ในคลาสเดียวกัน 
รูปที่ 1.5 ตัวอย่างของคลาสที่ถูกจัดกลุ่ม (Classified) โดยใช้ LDA
Elastic Bunch Graph Matching (EBGM)
EBGM ตั้งอยู่บนพื้นฐานที่ว่ารูปใบหน้าของคนเรานั้นมีส่วนที่ไม่เป็นเชิงเส้นอยู่มาก (non-linear) และไม่สามารถที่จะวิเคราะห์โดยใช้กระบวนการเชิงเส้นอย่างวิธีที่กล่าวมาก่อนหน้านี้ได้อย่างเช่นในเรื่องของแสงที่ตกกระทบใบหน้า,ตำแหน่งของใบหน้า และ การแสดงอารมณ์โดย EBGM จะใช้ Gabor Wavelet และ Gabor filter ในการประมวลผลและสร้างภาพใบหน้าโดยการกำหนดจุดที่สนใจบนใบหน้าหลังจากนั้นก็เก็บภาพใบหน้าที่สร้างขึ้นไว้เป็นฐานข้อมูลเมื่อต้องการที่จะทำการรู้จำก็นำภาพนำเข้ามาผ่านกระบวนการเดียวกันและเปรียบเทียบระยะห่างของแต่ละจุดของทั้งสองภาพว่ามีความใกล้เคียงเพียงพอที่จะเป็นรูปคนเดียวกันหรือไม่ซึ่งความยากของวิธีการนี้คือการกำหนดจุดที่สนใจบนใบหน้าต้องมีความแม่นยำเป็นอย่างมาก
 รูปที่ 1.6 Elastic Bunch Map Graphing       

สามารถสอบถามรายละเอียดเพิ่มเติมและช่องทางการติดต่อได้ที่
บริษัท ไมโอนิคส์โซลูชั่น  จำกัด (MIONICSOLUTION CO.,LTD)
Tel :02-023-6441-2 Hotline: 088-5789694,088-2757390,081-2060555, 086-3822562
คุณอุมารัตน์ ,คุณมานพ ,คุณสาวิตรี , คุณณิชชารุจ

Line ID:mionicsolution.com
Fanpage:www.facebook.com/MionicSolution
Website:www.mionicsolution.com
Email:info@mionicsolution.com

ไม่มีความคิดเห็น:

แสดงความคิดเห็น