อ่าน 9 นาที
ไอเกนเฟซ
eigenface ( / ˈ aɪ ɡ ən -/ EYE -gən- ) คือชื่อที่ใช้เรียกเซตของเวกเตอร์ลักษณะเฉพาะเมื่อใช้ในปัญหาการมองเห็นด้วยคอมพิวเตอร์ ของการ จดจำใบหน้ามนุษย์แนวทางการใช้ eigenface...
ไอเกนเฟซ

eigenface ( / ˈ aɪ ɡ ən -/ EYE -gən- ) คือชื่อที่ใช้เรียกเซตของเวกเตอร์ลักษณะเฉพาะเมื่อใช้ในปัญหาการมองเห็นด้วยคอมพิวเตอร์ ของการ จดจำใบหน้ามนุษย์[ 1 ]แนวทางการใช้ eigenface สำหรับการจดจำได้รับการพัฒนาโดย Sirovich และ Kirby และถูกนำไปใช้โดยMatthew TurkและAlex Pentlandในการจำแนกประเภทใบหน้า[ 2 ] [ 3 ]เวกเตอร์ลักษณะเฉพาะได้มาจากเมทริกซ์ความแปรปรวนร่วมของการกระจายความน่าจะเป็นเหนือปริภูมิเวกเตอร์มิติ สูง ของภาพใบหน้า eigenface เองเป็นเซตพื้นฐานของภาพทั้งหมดที่ใช้ในการสร้างเมทริกซ์ความแปรปรวนร่วม ซึ่งทำให้เกิดการลดมิติโดยอนุญาตให้เซตของภาพพื้นฐานที่เล็กกว่าแทนภาพฝึกอบรมดั้งเดิม การจำแนกประเภทสามารถทำได้โดยการเปรียบเทียบว่าใบหน้าถูกแทนด้วยเซตพื้นฐานอย่างไร
ประวัติศาสตร์
แนวทาง eigenface เริ่มต้นด้วยการค้นหาการแสดงภาพใบหน้าที่มีมิติต่ำ Sirovich และ Kirby แสดงให้เห็นว่าการวิเคราะห์ส่วนประกอบหลักสามารถใช้กับชุดภาพใบหน้าเพื่อสร้างชุดคุณลักษณะพื้นฐานได้[ 2 ]ภาพพื้นฐานเหล่านี้ ซึ่งเรียกว่า eigenpictures สามารถรวมกันแบบเชิงเส้นเพื่อสร้างภาพขึ้นใหม่ในชุดฝึกอบรม ดั้งเดิม หากชุดฝึกอบรมประกอบด้วย ภาพ Mภาพ การวิเคราะห์ส่วนประกอบหลักสามารถสร้างชุดพื้นฐานของ ภาพ Nภาพ โดยที่N < Mข้อผิดพลาดในการสร้างใหม่จะลดลงเมื่อจำนวน eigenpictures เพิ่มขึ้น อย่างไรก็ตาม จำนวนที่ต้องการมักจะถูกเลือกให้น้อยกว่าMเสมอ ตัวอย่างเช่น หากคุณต้องการสร้าง eigenfaces จำนวนNสำหรับชุดฝึกอบรม ภาพใบหน้า Mภาพ คุณสามารถกล่าวได้ว่าภาพใบหน้าแต่ละภาพสามารถสร้างขึ้นจาก "สัดส่วน" ของ "คุณลักษณะ" หรือ eigenfaces ทั้งหมดKภาพ: ภาพใบหน้า1 = (23% ของ E 1 ) + (2% ของ E 2 ) + (51% ของ E 3 ) + ... + (1% E n )
ในปี พ.ศ. 2534 M. Turk และ A. Pentland ได้ขยายผลลัพธ์เหล่านี้และนำเสนอวิธีการจดจำใบหน้าแบบ eigenface [ 3 ]นอกจากการออกแบบระบบสำหรับการจดจำใบหน้าอัตโนมัติโดยใช้ eigenface แล้ว พวกเขายังแสดงวิธีการคำนวณเวกเตอร์ลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมเพื่อให้คอมพิวเตอร์ในสมัยนั้นสามารถทำการแยกส่วนลักษณะเฉพาะบนภาพใบหน้าจำนวนมากได้ ภาพใบหน้ามักจะครอบครองพื้นที่มิติสูง และการวิเคราะห์ส่วนประกอบหลักแบบดั้งเดิมนั้นไม่สามารถทำได้กับชุดข้อมูลดังกล่าว บทความของ Turk และ Pentland แสดงให้เห็นถึงวิธีการสกัดเวกเตอร์ลักษณะเฉพาะโดยอิงจากเมทริกซ์ที่มีขนาดตามจำนวนภาพแทนที่จะเป็นจำนวนพิกเซล
เมื่อกำหนดวิธีการ eigenface แล้ว ก็ได้ขยายวิธีการดังกล่าวให้รวมถึงวิธีการประมวลผลล่วงหน้าเพื่อปรับปรุงความแม่นยำ[ 4 ]นอกจากนี้ยังมีการใช้แนวทางหลายแมนิโฟลด์เพื่อสร้างชุด eigenface สำหรับบุคคลต่างๆ[ 5 ] [ 6 ]และคุณลักษณะต่างๆ เช่น ดวงตา[ 7 ]
รุ่น
ชุดของ eigenfaceสามารถสร้างขึ้นได้โดยการใช้กระบวนการทางคณิตศาสตร์ที่เรียกว่าการวิเคราะห์องค์ประกอบหลัก (Principal Component Analysisหรือ PCA) กับชุดภาพขนาดใหญ่ที่แสดงใบหน้ามนุษย์ที่แตกต่างกัน โดยทั่วไปแล้ว eigenface สามารถพิจารณาได้ว่าเป็นชุดของ "ส่วนประกอบใบหน้ามาตรฐาน" ที่ได้มาจากการวิเคราะห์ทางสถิติของภาพใบหน้าจำนวนมาก ใบหน้าของมนุษย์ใดๆ ก็สามารถพิจารณาได้ว่าเป็นส่วนผสมของใบหน้ามาตรฐานเหล่านี้ ตัวอย่างเช่น ใบหน้าของคนๆ หนึ่งอาจประกอบด้วยใบหน้าเฉลี่ย บวก 10% จาก eigenface ที่ 1, 55% จาก eigenface ที่ 2 และแม้กระทั่ง -3% จาก eigenface ที่ 3 ที่น่าทึ่งคือ ไม่จำเป็นต้องใช้ eigenface จำนวนมากมารวมกันเพื่อให้ได้การประมาณใบหน้าส่วนใหญ่ที่ค่อนข้างแม่นยำ นอกจากนี้ เนื่องจากใบหน้าของบุคคลไม่ได้ถูกบันทึกด้วยภาพถ่ายดิจิทัลแต่เป็นเพียงรายการค่า (หนึ่งค่าสำหรับแต่ละ eigenface ในฐานข้อมูลที่ใช้) จึงใช้พื้นที่น้อยลงมากสำหรับใบหน้าของแต่ละบุคคล
ภาพใบหน้าจำลองที่สร้างขึ้นจะปรากฏเป็นบริเวณสว่างและมืดที่จัดเรียงเป็นรูปแบบเฉพาะ รูปแบบนี้เป็นวิธีการที่ใช้ในการแยกแยะลักษณะต่างๆ ของใบหน้าเพื่อประเมินและให้คะแนน จะมีรูปแบบสำหรับการประเมินความสมมาตร รูปแบบของหนวดเครา ตำแหน่งของเส้นผม หรือการประเมินขนาดของจมูกหรือปาก ภาพใบหน้าจำลองบางภาพมีรูปแบบที่ระบุได้ยากกว่า และภาพของภาพใบหน้าจำลองอาจดูไม่เหมือนใบหน้าจริงเลย
เทคนิคที่ใช้ในการสร้าง eigenface และการนำไปใช้ในการจดจำนั้น ยังถูกนำไปใช้ในด้านอื่นๆ นอกเหนือจากการจดจำใบหน้าด้วย เช่นการจดจำลายมือ การอ่านริมฝีปากการจดจำเสียง การตีความภาษามือ / ท่าทาง มือ และ การวิเคราะห์ ภาพทางการแพทย์ดังนั้น บางคนจึงไม่ใช้คำว่า eigenface แต่เลือกใช้คำว่า 'eigenimage' แทน
การนำไปปฏิบัติจริง
ในการสร้างชุด eigenfaces จำเป็นต้องทำดังนี้:
- เตรียมชุดภาพใบหน้าสำหรับฝึกฝน ภาพในชุดฝึกฝนควรถ่ายภายใต้สภาพแสงเดียวกัน และต้องปรับให้ดวงตาและปากอยู่ในแนวเดียวกันในทุกภาพ นอกจากนี้ยังต้องปรับ ขนาดความละเอียด พิกเซล ให้เท่ากัน ( r × c ) แต่ละภาพจะถูกมองว่าเป็นเวกเตอร์เดียว โดยการรวมแถวของพิกเซลในภาพต้นฉบับเข้าด้วยกัน ทำให้ได้คอลัมน์เดียวที่มีr × cองค์ประกอบ สำหรับการใช้งานนี้ สมมติว่าภาพทั้งหมดในชุดฝึกฝนถูกจัดเก็บไว้ในเมทริกซ์T เดียว โดยแต่ละคอลัมน์ของเมทริกซ์คือภาพหนึ่งภาพ
- ลบค่าเฉลี่ยออก ต้องคำนวณค่าเฉลี่ยของภาพa แล้วนำไปลบออกจากภาพต้นฉบับแต่ละภาพ ในT
- คำนวณเวกเตอร์ลักษณะเฉพาะและค่าลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมSเวกเตอร์ลักษณะเฉพาะแต่ละตัวมีมิติ (จำนวนส่วนประกอบ) เท่ากับภาพต้นฉบับ ดังนั้นจึงสามารถมองได้ว่าเป็นภาพเช่นกัน เวกเตอร์ลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมนี้จึงเรียกว่าหน้าลักษณะเฉพาะ (eigenfaces) ซึ่งเป็นทิศทางที่ภาพแตกต่างจากภาพเฉลี่ย โดยปกติแล้วขั้นตอนนี้จะใช้การคำนวณมาก (หากเป็นไปได้) แต่ประโยชน์ในทางปฏิบัติของหน้าลักษณะเฉพาะมาจากการที่สามารถคำนวณเวกเตอร์ลักษณะเฉพาะของSได้อย่างมีประสิทธิภาพ โดยไม่ต้องคำนวณSอย่างชัดเจน ดังรายละเอียดด้านล่าง
- เลือกส่วนประกอบหลัก เรียงลำดับค่าลักษณะเฉพาะจากมากไปน้อย และจัดเรียงเวกเตอร์ลักษณะเฉพาะตามลำดับ จำนวนส่วนประกอบหลักkถูกกำหนดโดยพลการโดยการตั้งค่าเกณฑ์ ε บนความแปรปรวนทั้งหมด ความแปรปรวนทั้งหมด , n = จำนวนส่วนประกอบ และ แทนค่าลักษณะเฉพาะของส่วนประกอบ
- k คือจำนวนที่น้อยที่สุดที่ตรงตามเงื่อนไข
ตอนนี้สามารถใช้ eigenfaces เหล่านี้เพื่อแสดงทั้งใบหน้าที่มีอยู่และใบหน้าใหม่ได้แล้ว: เราสามารถฉายภาพใหม่ (ที่ลบค่าเฉลี่ยออกแล้ว) ลงบน eigenfaces และบันทึกว่าใบหน้าใหม่นั้นแตกต่างจากใบหน้าเฉลี่ยอย่างไร ค่า eigenvalue ที่เกี่ยวข้องกับ eigenface แต่ละตัวแสดงให้เห็นว่าภาพในชุดข้อมูลฝึกฝนแตกต่างจากภาพเฉลี่ยในทิศทางนั้นมากน้อยเพียงใด ข้อมูลจะสูญหายไปเมื่อฉายภาพลงบนชุดย่อยของ eigenvectors แต่การสูญเสียจะน้อยที่สุดโดยการเก็บ eigenfaces ที่มีค่า eigenvalue มากที่สุดไว้ ตัวอย่างเช่น การทำงานกับภาพขนาด 100 × 100 จะสร้าง eigenvectors จำนวน 10,000 ตัว ในการใช้งานจริง ใบหน้าส่วนใหญ่สามารถระบุได้โดยใช้การฉายภาพลงบน eigenfaces ระหว่าง 100 ถึง 150 ตัว ดังนั้น eigenvectors ส่วนใหญ่จาก 10,000 ตัวจึงสามารถทิ้งไปได้
ตัวอย่างโค้ด Matlab
นี่คือตัวอย่างการคำนวณ eigenfaces โดยใช้ฐานข้อมูลใบหน้า Yale Face Database B ฉบับขยาย เพื่อหลีกเลี่ยงปัญหาคอขวดด้านการคำนวณและการจัดเก็บข้อมูล ภาพใบหน้าจึงถูกสุ่มตัวอย่างลดลงด้วยปัจจัย 4×4=16
ล้างทั้งหมด; ปิดทั้งหมด; โหลดyalefaces [ h , w , n ] = size ( yalefaces ); d = h * w ; % แปลงภาพเป็นเวกเตอร์x = reshape ( yalefaces , [ d n ]); x = double ( x ); % ลบค่าเฉลี่ยmean_matrix = mean ( x , 2 ); x = bsxfun (@ minus , x , mean_matrix ); % คำนวณค่าความแปรปรวนร่วมs = cov ( x ' ); % หาค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะ[ V , D ] = eig ( s ); eigval = diag ( D ); % เรียงลำดับค่าลักษณะเฉพาะจากมากไปน้อยeigval = eigval ( end : - 1 : 1 ); V = fliplr ( V ); % แสดงค่าเฉลี่ยและเวกเตอร์หลักลำดับที่ 1 ถึง 15 figure , subplot ( 4 , 4 , 1 ) imagesc ( reshape ( mean_matrix , [ h , w ])) colormap gray for i = 1 : 15 subplot ( 4 , 4 , i + 1 ) imagesc ( reshape ( V (:, i ), h , w )) endโปรดทราบว่าถึงแม้เมทริกซ์ความแปรปรวนร่วม S จะสร้าง eigenface จำนวนมาก แต่เราจำเป็นต้องใช้เพียงเศษส่วนเล็กน้อยเท่านั้นในการแสดงใบหน้าส่วนใหญ่ ตัวอย่างเช่น ในการแสดง 95% ของความแปรผันทั้งหมดของภาพใบหน้าทั้งหมด เราจำเป็นต้องใช้เพียง eigenface 43 ตัวแรกเท่านั้น ในการคำนวณผลลัพธ์นี้ ให้ใช้โค้ดต่อไปนี้:
% ประเมินจำนวนส่วนประกอบหลักที่จำเป็นในการแสดงความแปรปรวนทั้งหมด 95% eigsum = sum ( eigval ); csum = 0 ; for i = 1 : d csum = csum + eigval ( i ); tv = csum / eigsum ; if tv > 0.95 k95 = i ; break end ; end ;การคำนวณเวกเตอร์ลักษณะเฉพาะ
การคำนวณ PCA โดยตรงกับเมทริกซ์ความแปรปรวนร่วมของภาพนั้นมักทำได้ยากในทางปฏิบัติ หากใช้ภาพขนาดเล็ก เช่น 100 × 100 พิกเซล แต่ละภาพจะเป็นจุดในพื้นที่ 10,000 มิติ และเมทริกซ์ความแปรปรวนร่วมSจะเป็นเมทริกซ์ขนาด 10,000 × 10,000 = 10⁸ องค์ประกอบอย่างไรก็ตามอันดับของเมทริกซ์ความแปรปรวนร่วมถูกจำกัดด้วยจำนวนตัวอย่างการฝึกฝน: หากมี ตัวอย่างการฝึกฝน Nตัวอย่าง จะมีเวกเตอร์ลักษณะเฉพาะที่มีค่าลักษณะเฉพาะไม่เป็นศูนย์อย่างมากที่สุดN − 1 ตัว หากจำนวนตัวอย่างการฝึกฝนน้อยกว่ามิติของภาพ การคำนวณส่วนประกอบหลักจะทำได้ง่ายขึ้นดังต่อไปนี้
ให้Tเป็นเมทริกซ์ของตัวอย่างการฝึกอบรมที่ผ่านการประมวลผลล่วงหน้า โดยแต่ละคอลัมน์ประกอบด้วยภาพที่ลบค่าเฉลี่ยแล้วหนึ่งภาพ เมทริกซ์ความแปรปรวนร่วมสามารถคำนวณได้เป็นS = TT Tและการแยกส่วนเวกเตอร์ลักษณะเฉพาะของSจะได้จาก
อย่างไรก็ตามTT Tเป็นเมทริกซ์ขนาดใหญ่ และถ้าหากเราใช้การแยกส่วนค่าลักษณะเฉพาะของเมทริกซ์แทน
จากนั้นเราจะสังเกตว่า เมื่อคูณทั้งสองข้างของสมการด้วยTเราจะได้
นั่นหมายความว่า ถ้าu iเป็นเวกเตอร์ลักษณะเฉพาะของT T Tแล้วv i = Tu iจะเป็นเวกเตอร์ลักษณะเฉพาะของSถ้าเรามีชุดข้อมูลฝึกฝน 300 ภาพ ขนาด 100 × 100 พิกเซล เมทริกซ์T T Tจะเป็นเมทริกซ์ขนาด 300 × 300 ซึ่งจัดการได้ง่ายกว่าเมทริกซ์ความแปรปรวนร่วมขนาด 10,000 × 10,000 มาก อย่างไรก็ตาม โปรดสังเกตว่าเวกเตอร์v i ที่ได้นั้น ยังไม่ได้ถูกทำให้เป็นเวกเตอร์หน่วย หากต้องการการทำให้เป็นเวกเตอร์หน่วย จะต้องทำเป็นขั้นตอนเพิ่มเติม
การเชื่อมต่อกับ SVD
ให้Xแทน เมทริก ซ์ข้อมูลที่มีคอลัมน์เป็นเวกเตอร์ภาพที่ลบค่าเฉลี่ยออกแล้ว จากนั้น
ให้การแยกส่วนค่าเอกลักษณ์ (SVD) ของXเป็นดังนี้:
ดังนั้น การแยกส่วนค่าลักษณะเฉพาะสำหรับคือ:
- โดยที่ Λ = diag (ค่าลักษณะเฉพาะของ)
ดังนั้นเราจึงเห็นได้อย่างง่ายดายว่า:
- หน้าลักษณะเฉพาะ = คอลัมน์แรก( ) ที่เกี่ยวข้องกับค่าเอกลักษณ์ที่ไม่เป็นศูนย์
- ค่าไอเกนที่ i ของค่าเอกลักษณ์ที่ i ของ(เช่น)
การใช้ SVD กับเมทริกซ์ข้อมูลXทำให้ไม่จำเป็นต้องคำนวณเมทริกซ์ความแปรปรวนร่วมจริงเพื่อหา eigenfaces
ใช้ในการจดจำใบหน้า
การจดจำใบหน้าเป็นแรงบันดาลใจในการสร้าง eigenfaces สำหรับการใช้งานนี้ eigenfaces มีข้อดีเหนือกว่าเทคนิคอื่นๆ ที่มีอยู่ เช่น ความเร็วและประสิทธิภาพของระบบ เนื่องจาก eigenface เป็นวิธีการลดมิติเป็นหลัก ระบบจึงสามารถแสดงภาพบุคคลจำนวนมากได้ด้วยชุดข้อมูลที่ค่อนข้างเล็ก นอกจากนี้ ในฐานะระบบจดจำใบหน้า eigenface ยังค่อนข้างทนทานต่อการลดขนาดภาพอย่างมาก อย่างไรก็ตาม ระบบจะเริ่มล้มเหลวอย่างมากเมื่อความแตกต่างระหว่างภาพที่เห็นและภาพที่ใช้ในการตรวจสอบมีมาก
ในการจดจำใบหน้า รูปภาพในแกลเลอรี – ภาพที่ระบบเห็น – จะถูกบันทึกเป็นชุดของน้ำหนักที่อธิบายถึงการมีส่วนร่วมของแต่ละ eigenface ต่อภาพนั้น เมื่อใบหน้าใหม่ถูกนำเสนอต่อระบบเพื่อการจำแนกประเภท น้ำหนักของใบหน้านั้นจะถูกหาได้โดยการฉายภาพลงบนชุดของ eigenface ซึ่งจะให้ชุดของน้ำหนักที่อธิบายถึงใบหน้าเป้าหมาย จากนั้นน้ำหนักเหล่านี้จะถูกจำแนกเทียบกับน้ำหนักทั้งหมดในชุดแกลเลอรีเพื่อหาการจับคู่ที่ใกล้เคียงที่สุด วิธีการเพื่อนบ้านที่ใกล้ที่สุดเป็นวิธีการง่ายๆ ในการหาระยะทางแบบยุคลิดระหว่างเวกเตอร์สองตัว โดยค่าต่ำสุดสามารถจำแนกเป็นบุคคลที่ใกล้ที่สุดได้[ 3 ] : 590
โดยหลักการแล้ว กระบวนการจดจำด้วยวิธี eigenface คือการฉายภาพที่ต้องการค้นหาลงในพื้นที่ใบหน้าซึ่งครอบคลุมโดย eigenface ที่คำนวณได้ และค้นหาภาพที่ตรงกันมากที่สุดกับกลุ่มใบหน้าในพื้นที่ใบหน้านั้น
- รหัสเทียม[ 8 ]
- เมื่อกำหนดเวกเตอร์ภาพอินพุตและเวกเตอร์ภาพเฉลี่ยจากฐานข้อมูลแล้วให้คำนวณน้ำหนักของ eigenface ที่ k ดังนี้:
- จากนั้นสร้างเวกเตอร์น้ำหนัก
- เปรียบเทียบค่า W กับเวกเตอร์น้ำหนักของภาพในฐานข้อมูล แล้วหาค่าระยะทางแบบยูคลิด
- ถ้าเป็นเช่นนั้น รายการที่ m ในฐานข้อมูลจะเป็นผู้ที่มีโอกาสได้รับการยอมรับ
- ถ้าเป็นเช่นนั้นUอาจเป็นใบหน้าที่ไม่รู้จักและสามารถเพิ่มลงในฐานข้อมูลได้
- ถ้าไม่ใช่ภาพใบหน้า
- เมื่อกำหนดเวกเตอร์ภาพอินพุตและเวกเตอร์ภาพเฉลี่ยจากฐานข้อมูลแล้วให้คำนวณน้ำหนักของ eigenface ที่ k ดังนี้:
น้ำหนักของภาพแต่ละภาพในแกลเลอรีจะสื่อถึงข้อมูลที่อธิบายภาพนั้น ไม่ใช่ตัวบุคคล ภาพของบุคคลหนึ่งที่อยู่ภายใต้แสงด้านหน้าอาจมีน้ำหนักที่แตกต่างจากภาพของบุคคลเดียวกันที่อยู่ภายใต้แสงด้านซ้ายที่แรงมาก ซึ่งจำกัดการใช้งานของระบบดังกล่าว การทดลองในเอกสาร Eigenface ฉบับดั้งเดิมนำเสนอผลลัพธ์ดังต่อไปนี้: ค่าเฉลี่ย 96% เมื่อมีการเปลี่ยนแปลงแสง 85% เมื่อมีการเปลี่ยนแปลงทิศทาง และ 64% เมื่อมีการเปลี่ยนแปลงขนาด[ 3 ] : 590
มีการขยายเพิ่มเติมหลายอย่างในวิธีการ eigenface วิธี การ eigenfeaturesผสมผสานเมตริกใบหน้า (การวัดระยะห่างระหว่างคุณลักษณะใบหน้า) กับการแสดง eigenface Fisherfaceใช้การวิเคราะห์การจำแนกเชิงเส้น[ 9 ]และมีความไวต่อการเปลี่ยนแปลงของแสงและท่าทางของใบหน้าน้อยกว่า Fisherface ใช้ข้อมูลที่มีป้ายกำกับเพื่อรักษาข้อมูลเฉพาะคลาสไว้มากขึ้นในระหว่างขั้นตอนการลดมิติ
อีกทางเลือกหนึ่งนอกเหนือจาก eigenfaces และ Fisherfaces คือแบบจำลองลักษณะที่ปรากฏแบบแอคทีฟ (active appearance model ) แนวทางนี้ใช้แบบจำลองรูปร่างแบบแอคทีฟเพื่ออธิบายโครงร่างของใบหน้า โดยการรวบรวมโครงร่างใบหน้าจำนวนมาก การวิเคราะห์ส่วนประกอบหลัก (principal component analysis) สามารถนำมาใช้สร้างชุดแบบจำลองพื้นฐานที่ครอบคลุมความแปรผันของใบหน้าต่างๆ ได้
วิธีการสมัยใหม่หลายวิธีก็ยังคงใช้การวิเคราะห์ส่วนประกอบหลัก (Principal Component Analysis) เป็นวิธีการลดมิติ หรือเพื่อสร้างภาพพื้นฐานสำหรับรูปแบบการเปลี่ยนแปลงต่างๆ
ทบทวน
Eigenface นำเสนอวิธีการจดจำใบหน้าที่ค่อนข้างง่าย โดยมีหลักการดังนี้:
- กระบวนการฝึกฝนนั้นเป็นแบบอัตโนมัติโดยสมบูรณ์และเขียนโค้ดได้ง่าย
- Eigenface ช่วยลดความซับซ้อนทางสถิติในการแสดงภาพใบหน้าได้อย่างเหมาะสม
- เมื่อคำนวณค่า eigenface ของฐานข้อมูลแล้ว การจดจำใบหน้าก็สามารถทำได้แบบเรียลไทม์
- Eigenface สามารถจัดการฐานข้อมูลขนาดใหญ่ได้
อย่างไรก็ตาม ข้อบกพร่องของวิธีการหาค่าลักษณะเฉพาะก็เห็นได้ชัดเช่นกัน:
- มันมีความไวต่อแสง ขนาด และการเคลื่อนย้ายเป็นอย่างมาก และต้องการสภาพแวดล้อมที่มีการควบคุมอย่างเข้มงวด
- Eigenface มีข้อจำกัดในการจับภาพการเปลี่ยนแปลงสีหน้า
- ลักษณะเฉพาะของใบหน้าที่สำคัญที่สุดส่วนใหญ่เกี่ยวข้องกับการเข้ารหัสแสงสว่าง และไม่ได้ให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับใบหน้าจริง
เพื่อรับมือกับปัญหาการรบกวนจากแสงสว่างในทางปฏิบัติ วิธีการ eigenface มักจะตัด eigenface สามตัวแรกออกจากชุดข้อมูล เนื่องจากแสงสว่างมักเป็นสาเหตุของการเปลี่ยนแปลงที่ใหญ่ที่สุดในภาพใบหน้า eigenface สามตัวแรกจึงจับข้อมูลการเปลี่ยนแปลงของแสงแบบ 3 มิติเป็นหลัก ซึ่งมีส่วนช่วยในการจดจำใบหน้าน้อยมาก การตัด eigenface สามตัวแรกออกจะช่วยเพิ่มความแม่นยำในการจดจำใบหน้าได้ในระดับหนึ่ง แต่ยังมีข้อดีของวิธีการอื่นๆ เช่น fisherface และ linear space อยู่
ดูเพิ่มเติม
อ่านเพิ่มเติม
- M. Kirby; L. Sirovich (1990). "การประยุกต์ใช้ขั้นตอน Karhunen-Loeve สำหรับการจำแนกลักษณะใบหน้ามนุษย์" IEEE Transactions on Pattern Analysis and Machine Intelligence . 12 (1): 103– 108. doi : 10.1109/34.41390 .
- A. Pentland, B. Moghaddam, T. Starner, O. Oliyide และ M. Turk (1993). " พื้นที่ไอเกนแบบโมดูลาร์และอิงตามมุมมองสำหรับการจดจำใบหน้า " รายงานทางเทคนิค 245, MIT Media Lab.
- MH Yang (2000). "การจดจำใบหน้าโดยใช้ Kernel Eigenfaces". รายงานการประชุมนานาชาติว่าด้วยการประมวลผลภาพ . เล่ม 1. หน้า 37–40 . doi : 10.1109/ICIP.2000.900886 .
- R. Cendrillon; B. Lovell (2000). "การจดจำใบหน้าแบบเรียลไทม์โดยใช้ eigenfaces" (PDF) . การสื่อสารด้วยภาพและการประมวลผลภาพ . หน้า 269–276 . doi : 10.1117/12.386642 .
- T. Heseltine, N. Pears, J. Austin, Z. Chen (2003). " การจดจำใบหน้า: การเปรียบเทียบวิธีการที่ใช้ลักษณะภายนอกเป็นเกณฑ์ ". Proceedings of the VIIth Digital Image Computing: Techniques and Applications , vol. 1. 59–68.
- ดี. ปิซาเรนโก (2003) การจดจำใบหน้าโดยใช้ Eigenface
- F. Tsalakanidoua; D. Tzovarasb; MG Strintzisa (2003). "การใช้ eigenface ความลึกและสีเพื่อการจดจำใบหน้า". Pattern Recognition Letters . 24 (9): 1427– 1435. Bibcode : 2003PaReL..24.1427T . doi : 10.1016/S0167-8655(02)00383-5 .
- Delac, K., Grgic, M., Liatsis, P. (2005). " วิธีการทางสถิติตามลักษณะที่ปรากฏสำหรับการจดจำใบหน้า ". รายงานการประชุมสัมมนาวิชาการนานาชาติครั้งที่ 47 ELMAR-2005 ว่าด้วยระบบมัลติมีเดียและการประยุกต์ใช้ , ซาดาร์, โครเอเชีย, 8-10 มิถุนายน 2548, หน้า 151–158
ลิงก์ภายนอก
- หน้าหลักระบบจดจำใบหน้า
- การวิเคราะห์องค์ประกอบหลัก (PCA) บนชุดข้อมูล FERET
- การพัฒนาลักษณะใบหน้าเฉพาะบุคคลด้านสติปัญญาและบริเวณใบหน้ารูปทรงกระสวย
- คู่มือการจดจำใบหน้าโดยใช้ Eigenfaces และตัวจำแนกตามระยะทาง
- โค้ดตัวอย่าง Matlab สำหรับ eigenfaces
- การใช้งาน PCA โดยใช้ OpenCV และ C++Builder6
- ตัวอย่างการใช้งานแอปเพล็ต Java สำหรับแสดงค่า eigenfaces เก็บถาวรไว้เมื่อวันที่ 1 พฤศจิกายน 2011 ที่Wayback Machine
- บทนำเกี่ยวกับ eigenfaces
- ฟังก์ชันการจดจำใบหน้าใน OpenCV
- การจดจำการแสดงออกทางสีหน้าโดยใช้ Eigenface ใน Matlab เก็บถาวรเมื่อ 2017-06-04 ที่Wayback Machine
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ไอเกนเฟซ
eigenface ( / ˈ aɪ ɡ ən -/ EYE -gən- ) คือชื่อที่ใช้เรียกเซตของเวกเตอร์ลักษณะเฉพาะเมื่อใช้ในปัญหาการมองเห็นด้วยคอมพิวเตอร์ ของการ จดจำใบหน้ามนุษย์แนวทางการใช้ eigenface...
ประวัติศาสตร์
แนวทาง eigenface เริ่มต้นด้วยการค้นหาการแสดงภาพใบหน้าที่มีมิติต่ำ Sirovich และ Kirby แสดงให้เห็นว่า การวิเคราะห์ส่วนประกอบหลัก สามารถใช้กับชุดภาพใบหน้าเพื่อสร้างชุดคุณลักษณะพื้นฐานได้ [ 2 ] ภาพพื้นฐานเหล่านี้ ซึ่งเรียกว่า eigenpictures...
รุ่น
ชุด ของ eigenface สามารถสร้างขึ้นได้โดยการใช้กระบวนการทางคณิตศาสตร์ที่เรียกว่า การวิเคราะห์องค์ประกอบหลัก (Principal Component Analysis หรือ PCA) กับชุดภาพขนาดใหญ่ที่แสดงใบหน้ามนุษย์ที่แตกต่างกัน โดยทั่วไปแล้ว eigenface สามารถพิจารณาได้ว่าเป็นชุดของ...
การนำไปปฏิบัติจริง
ในการสร้างชุด eigenfaces จำเป็นต้องทำดังนี้: