ระบบวิเคราะห์ใบหน้า
ระบบวิเคราะห์ใบหน้าถือว่าเป็นหนึ่งในระบบที่ใช้ในการพิสูจน์ยืนยันตัวตนบุคคล โดยใช้คุณลักษณะจำเพาะทางสรีระ (ฺBiometric) โดยระบบรู้จำใบหน้าจะทำงานโดยการเปรียบเทียบใบหน้าจากภาพถ่ายดิจิตอลหรือภาพจากกล้องวีดีโอของบุคคลที่เราสนใจกับฐานข้อมูลใบหน้าที่มีอยู่ และเมื่อเปรียบเทียบเสร็จก็จะแสดงผลใบหน้าที่อยู่ในฐานข้อมูลที่มีใบหน้าเหมือนกับภาพที่นำมาเปรียบเทียบออกมา ระบบรู้จำใบหน้านั้นได้ถูกพัฒนามาอย่างต่อเนื่องเป็นเวลามากกว่าสิบปีมาแล้ว
เนื่องจากเป็นระบบที่ได้รับความสนใจมากจากนักวิชาการหลายสาขาวิชาจึงทำให้ระบบรู้จำใบหน้า มีผู้คนสนใจศึกษาและพัฒนากันอย่างมากมายจนทำให้มีการพัฒนาอัลกอริทึมในการทำงานของระบบออกมามากมายหลายรูปแบบแตกต่างกันไป ซึ่งการพัฒนาอัลกอริทึมก็แตกต่างกันไปตามยุคสมัยด้วย อันเนื่องมาจากปัจจัยด้านองค์ความรู้และเทคโนโลยีของอุปกรณ์ต่างๆ ที่พัฒนาขึ้นให้มีความเหมาะสมที่จะนำมาใช้ในระบบจึงทำให้ต้องออกแบบอัลกอริทึมใหม่ให้เหมาะสมกับอุปกรณ์ใหม่ๆด้วยในปัจจุบันระบบรู้จำใบหน้าได้มีการพัฒนาไปอย่างมาก ทำให้ระบบรู้จำใบหน้ามีความน่าเชื่อถือมากขึ้น จนมีการนำระบบรู้จำใบหน้ามาใช้ประโยชน์กันอย่างแพร่หลายในต่างประเทศ หลายๆประเทศได้มีการนำระบบรู้จำใบหน้ามาติดตั้งในสนามบินเพื่อป้องกันคนร้ายหนีเข้าออกนอกประเทศ และมีระบบรู้จำใบหน้าสำหรับการยืนยันตัวคนร้ายในคดีต่างๆด้วย 1.หลักการทำงานของระบบรู้จำใบหน้า ระบบรู้จำใบหน้า (Face Recognition) ถูกออกแบบมาให้ทำการเปรียบเทียบใบหน้าบุคคลที่เราสนใจกับฐานข้อมูลใบหน้าที่มีอยู่โดยอัลกอริทึมที่ใช้ในขั้นตอนการสร้างแม่แบบและขั้นตอนการเปรียบเทียบอาจแตกต่างกันไปแล้วแต่การออกแบบระบบของแต่ละระบบ แต่ไม่ว่าจะมี อัลกอริทึมในการทำงานในขั้นตอนการสร้างแม่แบบและขั้นตอนการเปรียบเทียบยังไง แต่ขั้นตอนการทำงานโดยรวมของระบบก็ยังคงเหมือนกันอยู่ โดยทั่วไประบบรู้จำใบหน้าจะประกอบไปด้วย 2 ขั้นตอนหลักคือ การตรวจจับใบหน้า (Face Detection) และ การรู้จำใบหน้า (Face Recognition) 1.1 การตรวจจับใบหน้า (Face Detection)คือกระบวนการค้นหาใบหน้าของบุคคลจากภาพหรือวิดีโอหลังจากนั้นก็จะทำการประมวลผลภาพใบหน้าที่ได้สำหรับขั้นตอนถัดไปเพื่อให้ภาพใบหน้าที่ตรวจจับได้ง่ายต่อการจำแนก และ อัลกอริทึมที่ใช้ในการตรวจจับใบหน้าในปัจจุบันก็มีอยู่ด้วยกันหลายวิธีซึ่งอัลกอริทึมในการตรวจจับใบหน้าที่ดีนั้นมีส่วนช่วยในการจำแนกใบหน้าได้แม่นยำและรวดเร็วขึ้นเป็นอย่างมาก
หลักการพื้นฐานของอัลกอริทึมของ 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
รูปที่ 1.2 The Integral Image tric
หลักการของอัลกอริทึมค้นหาหน้าของ 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."
คือกระบวนการที่ได้นำภาพใบหน้าที่ตรวจจับได้และประมวลผลแล้วจากขั้นตอนการตรวจจับใบหน้ามาเปรียบเทียบกับฐานข้อมูลของใบหน้าเพื่อระบุว่าใบหน้าที่ตรวจจับได้ตรงกับบุคคลใด ตัวอย่างของอัลกอริทึมการรู้จำใบหน้าได้แก่ § Principal Component Analysis (PCA)
PCA หรือ Principal Component Analysis หรือภาษาไทยเรียกว่า การวิเคราะห์องค์ประกอบหลักคือเทคนิคในการผสมลักษณะเด่นในเวคเตอร์นำเข้าเพื่อสร้างเวคเตอร์ใหม่ที่อยู่ในปริภูมิ (subspace) ที่มีมิติน้อยกว่าเวคเตอร์เดิมโดยการผสมที่เราใช้นั้นจะเป็นการผสมเชิงเส้นตรงหรือ linear combination นั่นคือการเอาลักษณะเด่นมาคูณค่าคงที่บางอย่างแล้วค่อยบวกกับการนำ PCA มาใช้ในการพัฒนาระบบรู้จำใบหน้าก็จะทำได้โดยการแปลงภาพถ่ายใบหน้าบุคคลสองมิติไปเป็นเวคเตอร์หนึ่งมิติ และเก็บไว้ในฐานข้อมูล และเมื่อต้องการนำรูปภาพใบหน้าบุคคลที่สนใจมาเปรียบเทียบก็จะทำการแปลงภาพใบหน้านั้นเป็นเวคเตอร์หนึ่งมิติด้วย แล้วนำเวคเตอร์ไปเปรียบเทียบกับภาพในฐานข้อมูลเพื่อหาผลลัพธ์ LDA นั้นก็จะมีวิธีการทำงานที่คล้ายกับ PCA ซึ่งใน PCA เราต้องหาปริภูมิย่อยที่เมื่อฉาย (project) ข้อมูลลงไปแล้ว มีการกระจายตัวสูงสุด แต่ใน LDA เราต้องการปริภูมิย่อยที่เมื่อฉายข้อมูลลงไปแล้ว ข้อมูลจาก class เดียวกันเข้าใกล้กันมากขึ้น และข้อมูลจากต่าง class กันจะอยู่ห่างกันมากขึ้นดังในรูปที่ 1.5 แต่ละบล็อกคือคลาสหรือภาพบุคคลที่มีความแตกต่างกันน้อยจะถูกจัดให้อยู่ในคลาสเดียวกัน
รูปที่ 1.5 ตัวอย่างของคลาสที่ถูกจัดกลุ่ม (Classified) โดยใช้ LDAElastic Bunch Graph Matching (EBGM)
EBGMตั้งอยู่บนพื้นฐานที่ว่ารูปใบหน้าของคนเรานั้นมีส่วนที่ไม่เป็นเชิงเส้นอยู่มาก (non-linear) และไม่สามารถที่จะวิเคราะห์โดยใช้กระบวนการเชิงเส้นอย่างวิธีที่กล่าวมาก่อนหน้านี้ได้อย่างเช่นในเรื่องของแสงที่ตกกระทบใบหน้า,ตำแหน่งของใบหน้า และ การแสดงอารมณ์โดย EBGM จะใช้ Gabor Wavelet และ Gabor filter ในการประมวลผลและสร้างภาพใบหน้าโดยการกำหนดจุดที่สนใจบนใบหน้าหลังจากนั้นก็เก็บภาพใบหน้าที่สร้างขึ้นไว้เป็นฐานข้อมูลเมื่อต้องการที่จะทำการรู้จำก็นำภาพนำเข้ามาผ่านกระบวนการเดียวกันและเปรียบเทียบระยะห่างของแต่ละจุดของทั้งสองภาพว่ามีความใกล้เคียงเพียงพอที่จะเป็นรูปคนเดียวกันหรือไม่ซึ่งความยากของวิธีการนี้คือการกำหนดจุดที่สนใจบนใบหน้าต้องมีความแม่นยำเป็นอย่างมาก
รูปที่ 1.6 Elastic Bunch Map Graphing