บทที่ 1 บทนํา - prince of songkla...
TRANSCRIPT
1 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
บทท 1 บทนา
1.1 ความเปนมา (Motivation) ในปจจบนเทคโนโลย ไดเขามามบทบาทในชวตประจาวนมากขน ผจดทาจงไดเลงเหนทจะนา
เทคโนโลยมาพฒนาตอไป โดยเฉพาะเทคโนโลยทางดานการรกษาความปลอดภย เพอพฒนาระบบ
รกษาความปลอดภยในองคกรหรอหนวยงานตางๆ ซงในอดตและปจจบนระบบรกษาความปลอดภยโดย
สวนใหญแลว จะใชรหสผานหรอบตรในการระบตวบคคล แตเนองจากเทคโนโลยมความเจรญกาวหนา
การใชแครหสผานหรอบตรตางๆ อาจจะไมปลอดภยได จงไดมการพสจนตวจรงของบคคลจากกลอง
วงจรปด ในการตรวจจบภาพและการระบตวบคคลโดยใชภาพใบหนา เพอชวยอานวยความสะดวก
ใหแกหนวยรกษาความปลอดภยในการคนหาและระบตวบคคล โดยใชศาสตรทางดานไบโอเมตรกซ
(Biometrics) มาทาการวเคราะห ซงเปนการผสมผสานเทคโนโลยทางดานชวภาพและทางการแพทย
กบเทคโนโลยทางคอมพวเตอรเขาดวยกน เพอใชเปนกระบวนการในการระบตวบคคล โดยไดใช
ลกษณะทางกายภาพทแตกตางกนของบคคล ไดแก ลายนวมอ ชองตาดา มานตา ฝามอ และรปหนา
และลกษณะทางพฤตกรรมในการตรวจสอบบคคลโดยอตโนมต
โครงงานชนนจะเกยวของกบการคนหาสวนของใบหนาจากกลองวงจรปด แลวตดเฉพาะสวน
ของใบหนานนเพอทาการวเคราะหตวบคคลวาเปนใบหนาของบคคลใด โดยนามาเปรยบเทยบกบใบหนา
ทมอยในฐานขอมล ซงจะใชหลกการประมวลผลภาพมาชวยในการพจารณา โครงงานนจะสามารถชวย
ในการพฒนาระบบความปลอดภยใหมประสทธภาพมากขน ซงไดแก ระบบรกษาความปลอดภยโดย
การตรวจจบภาพใบหนาคนราย ใชในการสบสวนสอบสวนคนราย และการทาทะเบยนประวตคนราย
ของกรมตารวจโดยใชภาพใบหนา เปนตน
1.2 วตถประสงคของโครงงาน วตถประสงคหลกของโครงงานน คอ การนาเอาภาพวดโอจากกลองวงจรปดมาทาการวเคราะห
เพอระบหาตาแหนงใบหนาของบคคล และทาการตดตาม (Tracking) ใบหนาเหลานน เพอการปรบปรง
คณภาพของใบหนา และเพอการคานวณคาดชนคณภาพของหนา เพอทาใหสามารถเลอกขอมลทด
ทสดในหนานนๆ จากทปรากฏได โดยในกรณทมคณภาพของขอมลดพอสมควร จะทาการจดจาใบหนา
ดวย
2 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
1.3 ขอบเขตของโครงงาน 1. การคนหาภาพใบหนาจากกลองวงจรปดในระยะทางโดยประมาณ 10 เมตร
2. มการปรบปรงคณภาพของใบหนาในระหวางการ Track
3. สามารถจดจาใบหนาไดในกรณทมขอมลเพยงพอ (ตองมตวชวดคณภาพของขอมลภาพใบหนา)
4. เกบบนทกใบหนาเฉพาะตอนทมคณภาพดทสด
1.4 แผนการดาเนนงาน
ภาคการศกษา/เดอน
ขนท
2/50 1/51 2/51
พ.ย. ธ.ค. ม.ค. ก.พ. ม.ย. ก.ค. ส.ค. ก.ย. พ.ย. ธ.ค. ม.ค. ก.พ.
1. ศกษาขอมลการทางานของ Motion Detection 2. ศกษาขอมลการทางานของ Point track 3. ศกษาอลกอรธม CAMShift และ Eigen Face 4. ดาเนนงานสวน Face Localization 5. ดาเนนงานสวน Face tracking 6. ดาเนนงานสวน Face quality index 7. ดาเนนงานสวน Face quality improvement 8. Integrate Program & Testing
ตารางท 1-1 แผนการดาเนนงาน
3 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
4 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
บทท 2 ความรพนฐาน
2.1 Image Processing Image Processing คอ การประมวลผลภาพดวยคอมพวเตอร เพอใหคอมพวเตอรทราบวาภาพ
นนคอภาพอะไร หรอมสงทสนใจอยในภาพหรอไม โดยทไมตองใชสายตาของคนมาชวยตดสน การคด
คานวณนนมหลายวธ ซงแตละวธกมประโยชนแตกตางกนไป ไมวาจะเปนการนาเอาสแตละจด (Pixel)
มาคด (Color), การคดคานวณเปนบรเวณหลายๆ จดรวมๆ กน (Area) เชน การดลวดลาย (Pattern,
Texture), การวเคราะหหารปราง (Shape) และการวเคราะหแบบอนๆ เพอหาคาทสามารถระบไดวา
ภาพนนมลกษณะอยางไร ซงจะนาไปสการตดสนไดวาสงนนเปนสงทกาลงคนหาหรอสนใจอยหรอไม
ในโครงงานชนนไดนาความรเรอง Image Processing มาใชประโยชนในดานการประมวลผล
ภาพจากกลองวดโอ ซงจะนามาวเคราะหตาแหนงของแตละจดส (Pixel) ในรปภาพแตละรปนนจะมการ
แบงเปนแถว (row) และคอลมน (column) และในตาแหนง x,y ใด ๆ นน จะเกบคาตาง ๆ เอาไว ไดแก
คาความเขมของแสง และเวลา ทาใหตองใชกระบวนการจดการเกยวกบรปภาพเขามาเกยวของ
2.2 OpenCV (Open Source Computer Vision Library) OpenCV เปนไลบรารสาหรบใชงานเรองการประมวลผลภาพ (Image Processing) ซงบาง
ความสามารถของ OpenCV สามารถทาภาพเบลอ หา threshold หา Histogram ของภาพได แต
ความสามารถโดยสวนใหญแลวจะทาการคนหาขอบของภาพ การตรวจสอบการเคลอนไหว และการทา
Image segmentation
นอกจากน OpenCV สามารถจดการกบขอมลแบบวดโอไดดวย เนองจาก OpenCV เปน
ชดคาสงทไมไดเปนตวโปรแกรม เมอตองการเรยกใชงานจงตองเขยนโปรแกรมเพอเรยกชดคาสง
เหลานน ซงภาษาทนยมเขยนคอภาษา C, C++ และภาษา Phyton ซง OpenCV จะประกอบดวยสอง
สวน คอ data structure ทใชในการเกบขอมลตาง ๆ อาท เชน รปภาพ เมตรกซ และพกด สาหรบอก
สวนคอ algorithm ซงจะใชในการประมวลผลตาง ๆ โดยเฉพาะการประมวลทางรปภาพ สาหรบใน
OpenCV จะประกอบดวยไลบรารอย 4 สวน ไดแก
5 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
CXCORE
เปนฟงกชนเบองตนทใชจดการเกยวกบจด ขนาด อาเรย (Array) หนวยความจา คาสงในการวาดภาพ การประกาศตวแปรภาพ เปนตน ตวอยางคาสงในการประกาศรปภาพ คอ IplImage, CvMat, CvMatND
CV
ใชในการประมวลผลและการวเคราะหรปภาพ ฟงกชนสวนใหญจะทางานกบพกเซลทเปนอาเรย 2 มต หรอทเราเรยกวาภาพนนเอง เชนการหาขอบหรอมม การทาฮสโตแกรม (Histogram) และการทาออพตคอลโฟลว (Optical Flow) เปนตน
Machine Learning
เปนไลบรารทรวมคลาสและฟงกชนทางสถต การแยกคลาส และการแบงกลมขอมล อลกอรทม (Algorithm) ทใชจะเขยนดวยภาษา C++ แตละอลกอรทมจะมคณลกษณะเดนแตกตางกนไป แตทงหมดจะใชคลาส CvStatModel รวมกน
HighGUI
เปนไลบรารทใชในการโหลด (Load) และบนทกภาพ ตดตอกบกลองวดโอ (VDO) การสรางหนาตางเพอแสดงภาพและทาลายภาพ การเปลยนขนาดและเคลอนยายหนาตาง รวมไปถงการตรวจสอบเมาส (Mouse) และแปนพมพ
2.3 Motion Detection เปนการกระทาในการตรวจหาการเคลอนไหวในระดบกายภาพ โดยการเคลอนทหรอการ
เคลอนไหวของวตถสามารถตรวจพบไดเมอมการเปลยนความเรวของวตถ กลาวคอ ระบบจะมการ
ตรวจจบการเคลอนไหวตลอดเวลา โดยจะมการวนรอบการทางานเรอย ๆ เพอนาขอมลภาพใหมทไดรบ
จากสวนตดตอกลองมาทาการประมวลผล ตรวจหาความแตกตางของพกเซลระหวางภาพใหมกบภาพ
เกาวามความแตกตางกนมากเกนกวาคาทตงไวหรอไม ถามความแตกตางกนมากระบบสามารถรบรได
วาเกดการเคลอนไหวขน
ซงในการตรวจหาการเคลอนทจะใชวธตรวจหาการเคลอนทของคนซงจะใชการหาความแตกตาง
ระหวางจดภาพ (Pixel difference) โดยมหลกการ คอ เฟรมภาพแตละภาพจะถกนาไปเปรยบเทยบกบ
ภาพอางองทกจดภาพตอจดภาพ ถาคาความแตกตางท จดภาพหนงมคามากกวาคาขดเรมเปลยน
6 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ในการทางานจะเรมเมอทาการรบภาพจากกลองแลวแปลงเปนโมเดลส RGB ภาพแรกจะถก
เกบไวใชเปนภาพอางอง แลวนาภาพถดไปมาเปรยบเทยบกบภาพทอางอง ถาพบวาคาผลตางของภาพ
ทเปรยบเทยบกนนนมากกวา Threshold จะใหจดภาพนนเปนสขาวนนกคอวตถ แตถาผลตางนอยกวา
Threshold จะใหจดภาพนนเปนสดาซงเปนฉากหลงนนเอง ทกภาพทรบมาจะถกเกบไวเปนภาพอางอง
เพอใชเปรยบเทยบในครงถดไป โดยกระบวนการนจะเรยกวา Frame Differencing ดงรปท 2-1
สาหรบการเคลอนไหวของวตถวามการเคลอนไหวมากหรอนอยนน สามารถนาขนตอนของ
Frame Differencing มาทาการวเคราะหจดพกเซล โดยการนาจานวนพกเซลมาพลอตเปนกราฟ
กลาวคอ นาแถวในแตละแถวมาบวกกน และนาคอลมนของแตละคอลมนมาบวกกน แลวนาผลบวกท
ไดมาพลอตบนกราฟ สามารถแสดงไดดงรปท 2-2
รปท 2-1 Frame differencing
โดยการตรวจจบและวเคราะหการเคลอนไหวของภาพวดโอสามารถสรปขนตอนดงน
1. Frame differencing
2. Thresholding
3. Noise removal
4. Add up pixels on each line in the motion image
7 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 2-2 จานวนพกเซลในแตละแถวของการเคลอนทของรป
2.4 กราฟฮสโตแกรม (Histogram)
รปท 2-3 กราฟฮสโตแกรม
ฮสโตแกรม เปนกราฟแสดงจานวนพกเซลทความสวางตางๆ ของภาพ โดยแกนนอนเปนระดบ
ความสวางทแบงระดบเปน 256 ระดบ (มกเรยกวาระดบสเทา หรอ gray level) โดยมคาตงแต 0-255
โดยใหเปนชองๆ เหมอนกบอาเรยแบบ 1 มต แตละชองมความเขมประจาชอง ๆ นนเอาไว ชองแรกม
คาความเขมเปน 0 ชองตอไปเปน 1, 2, 3, 4 … ไปเรอย ๆ จนถง 255 ตามลาดบ เมอระดบสเทามคา
ตา (ดานซายมอ) หมายถงมความสวางนอย จะมองเหนเปนสดา คาระดบสเทามาก (ดานขวามอ)
หมายถงมความสวางมากจะมองเหนเปนสขาว สาหรบแกนตงของจะกราฟแสดงจานวนพกเซลในแตละ
ระดบ
2.5 Covariance Matrix Covariance Matrix คอ เมทรกของความแปรปรวนรวม เอาไวแทนความเบยงเบนและความ
เกยวเนองกนของหลายตวแปร คอถาทากบตวมนเองเพยงตวเดยว(หนงตวแปร) กจะกลายเปนแค
กาลงสองของความเบยงเบน ซงการหาเมทรกความแปรปรวนรวมน เพอใชในการหา Eigen Vector
และ Eigen Value ตอไปได ซงในทนใชคานวณเพอหาคาดชนคณภาพของหนา
8 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
2.6 Eigen Value Eigen Value คอ คาอตราสวนการผนแปรระหวางกลมตอการผนแปรภายในกลม ใชวด
ความสาคญเชงเปรยบเทยบของสมการวา สมการทไดมอานาจในการแบงแยกการเปนสมาชกของกลม
ไดดเพยงใด
นอกจากนแลว Eigen value จะใชในการคานวณคาในกระบวนการรจาใบหนา เพอนาคาท
คานวณไดไปสรางภาพใหมทมลกษณะเหมอนภาพตนแบบ (original) ซงคาดงกลาวจะมผลตอความ
คมชดของภาพทได กลาวไดวาการใช Eigen value ทมคาตาจะไมสามารถสรางภาพใหมทมลกษณะ
เหมอนภาพตนแบบได ในทางตรงกนขามเมอใช Eigen value ทมคาสงจะสามารถสรางภาพใหมทม
รายละเอยดของภาพมากพอทจะนาไปวเคราะหหาความคลายคลงและความแตกตางของใบหนาได และ
นาไปเปรยบเทยบกบภาพในฐานขอมลตอไป แตการใชคา Eigen value ในการสรางภาพนนจะตองม
ชวงของคา (range) ทเหมาะสม เพราะการใชคา Eigen value ในชวงทสงไปนน จะมการเกดสญญาณ
รบกวน (noise) ขน ทาใหภาพทไดไมคมชดกน
2.7 การตดตามภาพเคลอนไหวดวยวธการ CAMSHIFT CAMSHIFT เปนวธการหนงทใชในการตดตามวตถทเปนภาพเคลอนไหว โดยจะรบอนพตมาจาก
กลองวดโอ แลวนามาเขากระบวนการ CAMSHIFT เพอสามารถทาการตรวจจบการเคลอนทของสงท
เราสนใจได ซง CAMSHIFT เปนวธการทงายและมประสทธภาพในการคานวณใบหนา และการตดตาม
วตถทมส ซงในการตดตามจะทาการตดตามวตถททาการเลอกหรอวตถทสนใจโดยใชคาสมาทาการ
ตดตาม จะเหนไดจากกราฟ Histogram ทแสดงทความสวางของภาพ ซงอลกอรธมนจะตดตามวตถทม
สใกลเคยงกบกราฟฮสโตแกรมของวตถทถกเลอกนนเอง
รปท 2-4 ภาพใบหนาจากวดโอและภาพ Gray Scale ของวตถทถกเลอก
รปท 2-5 การตดตามใบหนาตามทศทางทกาหนด
9 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ดงนน CAMSHIFT จะใหการคานวณทมประสทธภาพ และมเครองมอทงาย ซงจะมการ
ตดตามทเปนอสระกนอย 4 ทศทาง ไดแก แกน X, แกน Y, แกน Z และแกนหมน ดงรปท 2-7
รปท 2-6 การตดตามใบหนาตามแกน X, Y, Z และแกนหมน
2.8 16การจดจาใบหนาดวยวธ EigenFace Eigenface เปนอลกอรธมหนงทใชในการรจาใบหนาและการระบตวบคคล ซงมพนฐานอยบน
หลกการของการวเคราะหองคประกอบหลก (Principal Component Analysis : PCA) โดยจะแทนภาพ
ใบหนาดวยสมการเชงเสนของเวคเตอรทตงฉากกน โดยการหา Eigen Vector ของเมทรกความ
แปรปรวนรวม (covariance matrix) ของรปภาพในฐานขอมลทงหมด โดยนาภาพในฐานขอมลแตละ
ภาพมาเกบขอมลแบบเวกเตอร แลวจงนามาหาเวกเตอรคาเฉลยของภาพ ซงภาพใบหนาทตองการทา
เปนแบบจาลองตองเปนระดบเทา (Gray Level) เนองจากใชหนวยความจาในการเกบขอมลนอยกวา
ภาพส ทาใหประหยดหนวยความจา เมอเทยบกบการเกบขอมลขอภาพส ทาใหภาพระดบ Gray
Level ใชเวลาในการประมวลผลทเรวกวาภาพส จงตองทาการแปลภาพทใชเปนภาพรปแบบสเทา โดย
อาศยการทางานของระบบส HSV (Hue Saturation Value) ซงเปนการพจารณาสโดยใช Hue
Saturation และ Value
ขนตอนการหา EigenFace แสดงได ดงน
2.8.1 แปลภาพแตละภาพใหจดอยในรปแบบของเวกเตอร
2.8.2 นาภาพทกภาพมาจดใหอยในรปแบบเมทรก จะไดเมทรก Ay ซงหมายถงขอมลภาพท i มต
ท j
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
nmnn
m
m
AAA
AAAAAA
.....
.
.
21
22221
11211
409620
==
mn
10 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
2.8.3 นาเมทรก Ay มาทาการหาคาเฉลยของแตละคอลมน ซงกคอหาคาเฉลยของทกๆ ภาพ
ใบหนาในแตละมต
∑=
=n
ijiA
njmean
1,
1 mj ≤≤1
2.8.4 หาคาเบยงเบนมาตรฐาน (Standard Deviation) ของขอมลภาพทกๆ ภาพในแตละมต
jjiji meanAC −= ,, mjni ≤≤≤≤ 1;1
2.8.5 นาคาเบยงเบนมาตรฐานมาสรางเมทรกของความแปรปรวนรวม (Covariance Matrix) เพอ
ใชในการคานวณหาคาไอเกนและเวกเตอรไอแกนตอไป
∑=
==n
ijijijjjj CCSS
12,1,2,11,2 mjjmj ≤≤≤≤ 21;11
Covariance matrix S = C x CT
2.8.6 นาเมทรกของความแปรปรวนรวมทไดมาคานวณคาไอเกนและเวกเตอรไอเกนโดยคาไอเกน
(Eigen Values)
tSS=λ
และเวกเตอรไอเกน (Eigen Vector)
λCSe =
2.8.7 ผลลพธจากการคานวณจะไดคาไอเกน ( λ ) และเวกเตอรไอเกน (e) ซงขอมลทงสองจะม
ความสมนย (Correspondence) ซงกนและกน
2.8.8 โดย V = [ v1 v2 v3 … vn ] เปนเมทรกทแตละหลกเปน Eigenvector ของ S ซง
Eigenvector vi เปนฐานหลก (basis) ของ row space แตสงทตองการคอ basis ของ
column space เนองจากภาพทเรานามาสรางเปนเมทรก A แตละภาพ ถกวางอยในแนว
หลก (column) จงทาการหาฐานหลกของ column space ของเมทรก A จากสมการ
jj
j Avuλ1
=
11 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
2.8.9 เมอ jλ คอ Eigenvalue ทสมพนธกบ Eigenvector jv โดยจะเรยกเวกเตอร ju วา
Eigenface เนองจากหลก (column) ของเมทรก A ประกอบดวยเวกเตอรของรปใบหนา
เพราะฉะนน ruuu ,..., เปน orthonomal basis ของ column space ของเมทรก A หรอ
ปรภมภาพใบหนา (Face space) ดงนน จะไดวา
, 21
nniiiji uwuwuwjmeanA 1),(2)2,(1)1,(1, ... +++=−
โดยท
jjiji ujmeanAw ,,),( −=
2.8.10 จะได ),( jiw เปนตวเลขทเกดจากภาพในฐานขอมลหมายเลขท i กบ Eigenface ท j ทาใหได
วา Ai,j สามารถเขยนแทนดวยคานาหนก
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=Ω
ni
i
i
i
w
ww
,
2,
1,
M
2.8.11 การรจาใบหนาทาไดโดยนาคานาหนกมาเปรยบเทยบกบคา Euclidean norm ซง Euclidean
เปนคาทใชในการเปรยบเทยบระยะทางระหวางจดดงกลาวกบจดอน ๆ ทมอยในฐานขอมล
และหาคาทนอยทสดถงจะระบวาเปนบคคลนน
∑ Ω−Ω= ||)min(|| testi
รปท 2-7 ใบหนากอนหาคา Eigenfaces และภาพใบหนาไอเกน
12 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
2.9 การคนหาใบหนาดวยวธ Haar-Like เปนความสามารถหนงทใชในการคนหาวตถ ซงสามารถทาการคนหาวตถทเปนแนวตรง หรอม
การเอยงในลกษณะมมตาง ๆ ได
ลกษณะการจาลองรปแบบ Haar-Like มขอจากดทงหมด 14 กรณ ดงรปท 2-10 ซงไดแก
• ความสามารถของขอบ
• ความสามารถของเสน
• ความสามารถของบรเวณทลอมรอบจดตรงกลาง
รปท 2-8 รปแบบของ Haar-Like
ในการอางองการใชงานในสวนน ไดมการกาหนดแอพพลเคชนชอวา haartraining ภายใน
ไลบรารของ OpenCV นนเอง
2.10 ระบบส RGB
รปท 2-9 ระบบส RGB
13 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ระบบส RGB เปนระบบสทเกดจากการรวมกนของแสงสแดง เขยวและนาเงนโดยมการรวมกน
แบบ Additive ซงโดยปกตจะนาไปใชในจอภาพแบบ CRT (Cathode ray tube) ในการใชงานระบบส
RGB ยงมการสรางมาตรฐานทแตกตางกนออกไปทนยมใชงานไดแต RGBCIE และ RGBNTSC
• ระบบสแบบ RGB ของ CIE
เปนระบบสทพฒนาขนโดย CIE (Commission International l 'Eclairage) ซงอางองสดวยสแดง
ท 700 nm สเขยวเทากบ 546.1 nm และสนาเงน 435.8 nm
• ระบบสแบบ RGB ของ NTSC
เปนระบบทพฒนาโดย NTSC (National Television System Committee) เพอใชสาหรบการ
แสดงภาพของจอภาพแบบ CRT เปนมาตรฐานสาหรบผผลตแบบ CRT ใหมลกษณะเดยวกน
2.11 ระบบส HSV ระบบส HSV (Hue Saturation Value) เปนการพจารณาสโดยใช Hue Saturation และ Value ซง
Hue คอคาสของสหลก(แดง เขยวและนาเงน)ในทางปฏบตจะอยระหวาง 0 และ 255 ซงถา Hue มคา
เทากบ 0 จะแทนสแดงและเมอ Hue มคาเพมขนเรอย ๆ สกจะเปลยนแปลงไปตามสเปกตรมของสจนถง
256 จงจะกลบมาเปนสแดงอกครง ซงสามารถแทนใหอยในรปขององศาได ดงนคอ สแดง = 0 องศา ส
เขยวเทากบ 120 องศา สนาเงนเทากบ 240 องศา Hue สามารถคานวณไดจากระบบส RGB ไดดงน
Redh = red – min(red,green,blue)
Greenh = green – min(red,green,blue)
Blueh = blue – min(red,green,blue)
2-10 ระบบส HSV
14 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
จากลกษณะโมเดลของระบบ Hue พบวาจะมคาอยางนอยหนงคาทจะเทากบ 0 แตถามสองคาเทากบ 0 แลว hue จะเปนมมของส(คาส)มคาเปนไปตามสทสามและถาทงสามสมคาเทากบ 0 แลวจะทาใหไมมคาของ Hue หรอสทไดจะมคาเทากบสขาวนนเอง ตวอยางเชน จอภาพขาว-ดา ถาเกดมสใดสหนงมคาเทากบ 0 จะทาใหคาสทไดเปนไปตามสทเหลอ การใหนาหนกในการพจารณาเมอสแดงมคาเทากบ 0
hh
hhgreenblue
)green(120)blue(240+
×+×
Saturation คอความบรสทธของสซงถา Saturation มคาเทากบ 0 แลวสทไดจะไมม Hue ซงจะเปนสขาวลวนแตถา Saturation มคาเทากบ 255 แสดงวาจะไมมแสงสขาวผสมอยเลย
Saturation สามารถคานวณไดดงน
bue)green,max(red,blue)green,min(red,blue)green,max(red,saturation −=
Value คอความสวางของส ซงสามารถวดไดโดยคาความเขมของความสวางของแตละสทประกอบกนสามารถคานวณไดจาก
Value = max(red,green,blue)
15 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
บทท 3 รายละเอยดการทางาน
3.1 กระบวนการทางาน ในการดาเนนเรมตนเราจะรบภาพจากกลองวดโอเขามา แลวนาภาพทไดแตละเฟรมมาเขาส
กระบวนการทางานในแตละขนตอน ซงรายละเอยดการทางานเปนจะแบงออกเปน 4 สวน คอ สวนท
หนงจะทาการคนหาใบหนา สวนทสองจะทาการตดตามใบหนา สวนทสามจะทาการหาดชนคณภาพ
หนา และสวนทสจะใชในการระบตวบคคลจากใบหนา โดยในสวนทสจะทาในกรณทมคณภาพหนาด
ทสด นนคอ จะทาหรอไมทากได โดยขนตอนตางๆ สามารถแสดงไดดงน
3.1.1 Face Localization
เปนสวนของการคนหาใบหนา โดยจะรบภาพมาจากกลองซงอยในรปไฟลวดโอ แลวนาภาพ
ใบหนาทไดจากกลองมาเขาสกระบวนการคนหาใบหนาตามหลกการ haarcascade ซงใชอลกอรธม
Haar-like ในการคนหาใบหนา หลงจากไดสวนของใบหนาแลวจะทาการวาดกรอบระบสวนทเปนใบหนา
แลวทาการแสดงผลออกมา
3.1.2 Face Tracking
การทางานในสวนนจะทางานหลงจากทไดทาการคนหาใบหนาเรยบรอยแลว ซงจะใชอลกอรธม
ของ CAMSHIFT มาทาการตดตามสวนของใบหนาทไดทาการคนหาไว โดยอลกอรธมนจะใชในการ
ตดตามภาพเคลอนไหวในจดทเราสนใจได ซงในการตดตามจะมการปรบปรงคณภาพใบหนาทใชในการ
ตดตาม ซงจะมตวชวดขอมลของคณภาพใบหนานเพอใชในการจดจาใบหนาตอไป
3.1.3 Index Quality
เปนการวดคณภาพใบหนาทจะใชในการตดตาม โดยทาการทดลองคานวณคา Eigen Values
และคา Covariance Matrix ของใบหนาในลกษณะตางๆ เพอทดสอบวาสามารถนาคาดงกลาว มาใช
เปนดชนวดคณภาพหนาทดทสดหรอไม เนองจากคาทงสองมความสาคญในเรองของการรจาใบหนา
โดยใชอลกอรธม Eigenfaces ดวย
16 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.1.4 Face Identification
การทางานในสวนนจะเปนสวนสดทายททางาน ซงจะทาการระบใบหนาจากใบหนาทคนหาไว
วาเปนใบหนาของใคร โดยในกรณนจะทางานกตอเมอคณภาพของใบหนาดพอสมควร ซงการทจะระบ
ไดวาเปนใบหนาของใครนน จะตองทาการรจาใบหนานนกอน โดยการรจาใบหนาจะใชอลกอรธม
EigenFace มาทาการวเคราะห ซงจะตองมการสรางแบบจาลองใบหนาไวในฐานขอมลโดยใช
กระบวนการของ EigenFace เพอนามาเปรยบเทยบกบหนาทไดคนหาไววาเหมอนกนหรอไม ซงการ
รจาใบหนา จะทาไดโดยนาคานาหนกของรปทตองการกบรปภาพใบหนาไอเกนมาเปรยบเทยบกบคา
Euclidean norm และหาคาทนอยทสดถงจะระบวาเปนบคคลนน
Flow chart สรปขนตอนการทางานของโปรแกรม
เรมตน
ภาพ Input
กระบวนการ Face Identification
จบการทางาน
Index Quality
ดทสดหรอไม
กระบวนการ Face Localization
แสดงผล
ใช
กระบวนการ Face Tracking
ไมใช
รปท 3-1 Flow chart สรปขนตอนการทางานของโปรแกรม
17 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.2 ดาเนนงานในสวน Face Localization
เปนสวนของการคนหาใบหนา โดยจะรบภาพจะกลองวดโอเขามาวเคราะหระบตาแหนงใบหนา
แลวนาภาพทไดมาคานวณหาสวนของใบหนา โดยใชอลกอรธม Haar-Like ในการคนหา สาหรบ
ฟงกชนทใชในการคนหาใบหนา คอ CvHaarDetectObjects ซงอยในไลบรารของ OpenCV และไดม
รปแบบไฟล xml ทใชในการระบสวนของใบหนาอย 4 รปแบบดวยกน ไดแก
• Haarcascade_frontalface_alt.xml
• Haarcascade_frontalface_alt2.xml
• Haarcascade_frontalface_alt_tree.xml
• Haarcascade_frontalface_default.xml
โดยในการเขยนโปรแกรมในสวนน จะเลอกรปแบบไฟล xml มาเพยงรปแบบเดยว นนคอแบบ
haarcascade_frontalface_alt2.xml เนองจากเปนรปแบบ xml ทดทสดในการหาใบหนาแนวตรง ซงใน
แตละรปแบบนนสามารถนามาระบตาแหนงใบหนาไดเหมอนกน แตอาจจะคนหาไดในองศาทแตกตาง
กนไปบาง เมอคนหาใบหนาเจอจะทาการเลอกบรเวณของใบหนาโดยการวาดกรอบสเหลยมในสวนของ
ใบหนานน
18 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-2 ภาพทไดจากการคนหาสวนของใบหนา
รปท 3-3 ภาพทคนหาใบหนาไมพบ
จากผลการรนโปรแกรม จะไดวา โปรแกรมจะทาการวาดกรอบสวนของใบหนา เมอมการเจอ
ใบหนานนดงรปท 3-2 แตจะคนหาใบหนาไมพบหากมการบงใบหนาในบางสวนไว ดงรปท 3-3
3.2.1 การแยกเฉพาะสวนของใบหนา (Face Extarction)
การแยกเฉพาะสวนของใบหนาเปนการทา Face Extraction โดยจะแสดงเฉพาะสวนของใบหนาทคนหาพบนนแยกไปอกหนงหนาตาง ซงในการเลอกสวนของใบหนานนถอวาเปนการเลอกสวนทสนใจหรอเลอกสวนทตองการนนเอง เนองจากฟงกชนใน OpenCV ไดมฟงกชนทชอวา cvSetImageROI เปนฟงกชนทใชเลอกบรเวณทสนใจ จากนนจงนาสวนทแยกไปแสดงผลอกหนงหนาตาง
19 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-4 ภาพทไดจากการคนหาสวนของใบหนา และการแยกสวนของใบหนาออกมา
สวนทผดพลาด
รปท 3-5 แสดงสวนทผดพลาดจากการแยกสวนของใบหนาออกมา
จากรปท 3-4 และ 3-5 ในการเลอกบรเวณทสนใจนน อาจจะมการเลอกขนาดทแตกตางกนไป ทาใหหนาจอแสดงผลในสวนของใบหนาทแยกออกมานนอาจจะไมเทากน จงตองปรบขนาดใหมความเทากนกอน โดยเลอกใชฟงกชน cvResize ซงเปนฟงกชนทใชในการปรบขยายหรอลดขนาดของภาพนนเอง ซงผลลพธทไดในหนาตางทแยกเฉพาะสวนของใบหนานน จะมขนาดเทากนหมดทกภาพดงแสดงในรปท
20 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-6 การคนหาสวนของใบหนา และการแยกสวนของใบหนาหลงจากใชคาสง cvResize
21 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.3 ดาเนนงานในสวน Face Tracking เปนสวนของการตดตามใบหนาทมลกษณะเปนภาพเคลอนไหว เพอตดตามการเปลยนแปลง
ของใบหนา โดยงานในสวนนไดนาอลกอรธมของ CAMSHIFT ทใชในการตดตามวตถมาประยกตใชกบ
การตดตามใบหนา โดยจะทาการรวมโปรแกรมสวนทไดคนหาใบหนากบสวนทใชในการตดตามวตถเขา
ดวยกน เพอทจะใหโปรแกรมสามารถตดตามในสวนของใบหนาได ซงในการทางานของโปรแกรมนน
เมอโปรแกรมในสวนแรกคนหาสวนของใบหนาเจอเรยบรอยแลว กจะทาการตดตามสวนของใบหนานน
ใหโดยอตโนมต นนคอ หากมการคนหาใบหนาพบขนอก ในสวนของการตดตามใบหนานน จะตงคา
เรมตนของใบหนาขนมาใหม แลวทาการตดตามใบหนานนอกครง โดยอลกอรธมของ CAMSHIFT จะ
ทาการ Initial สงทตองการตดตามขนมาใหมทกครง เพอใหการตดตามวตถทตองการมความแมนยา
มากขนนนเอง ซงโดยปกตแลวอลกอรธมแบบ CAMSHIFT จะตองทาการเลอกบรเวณทตองการใหม
การตดตาม โดยการคลกเมาสรอบวตถทตองการใหมการตดตามในหนาตางทแสดงรปภาพของวตถนน
นอกจากน ไดมการแสดงผลของกราฟฮสโตแกรมในบรเวณทถกเลอกนนกคอสวนของใบหนา
ดวย สาหรบฟงกชนทใชในการตดตามวตถคอ cvCamShift และฟงกชนทใชสรางกราฟฮสโตแกรม คอ
cvCreateHist ซงทงสองฟงกชนจะอยในไลบรารของ OpenCV
ตวอยางผลการทางานโปรแกรม
รปท 3-6 ภาพทไดจากการตดตามใบหนาและกราฟฮสโตแกรมของสวนใบหนา
22 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-7 ภาพทไดจากการตดตามใบหนาและกราฟฮสโตแกรมของสวนใบหนา (ตอ)
จากรปท 3-7 จะเหนไดวาโปรแกรมจะทาการตดตามสวนของใบหนา เมอใบหนามการเคลอนท และกราฟฮสโตแกรมกจะมการเปลยนแปลงตามความเขมของแสงในบรเวณใบหนานนดวย
จากผลการรนโปรแกรมนน จะเหนไดวาในการตดตามใบหนาในบางหนาอาจจะตดตามใบหนา
ไดไมถก จงไดปรบปรงโปรแกรมใหสามารถตดตามใบหนาไดแมนยามากขน โดยแสดงวธการทางาน
ไดดงรปท 3-8
23 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-8 แสดงวธการตดตามใบหนา
นนคอ เมอมการตดตามใบหนา จนพบวามการคนหาใบหนาใหมกจะทาการตดตามใบหนาใน
เฟรมใหมนนเรอย ๆ โดยจะใชวธการนในการตดตามใบหนา จะทาใหการตดตามใบหนาไดผลดยงขน
• ตวอยางผลการทางานโปรแกรม หลงจากไดทาการปรบปรงอลกอรธม
รปท 3-8 ภาพทไดจากการตดตามใบหนาหลงจากปรบปรงอลกอรธม
24 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-9 ภาพทไดจากการตดตามใบหนาหลงจากปรบปรงอลกอรธม(ตอ)
3.4 ดาเนนงานในสวนของการหาดชนคณภาพใบหนา โดยงานในสวนนไดทดลองทาการหาคา Eigen Value และ Covariance Matrix ของรปภาพ
ใบหนาในลกษณะตางๆ เพอใชในการเปรยบเทยบวาลกษณะของใบหนานน ๆ มความแปรผนไปใน
ทศทางใด เพอใชเปนคาดชนคณภาพใบหนาทดทสดทจะใชในการระบตวบคคลในขนตอนตอไปได
เนองจากคา Eigen Value และ Covariance Matrix เปนคาทใชในการจดจาใบหนาโดยใชอลกอรธม
Eigenfaces ซงจากการศกษาเรอง Eigenfaces ไดมการใช คา Eigen Value และ Covariance Matrix
ในการคานวณ จงตงสมมตฐานไดวา คา Eigen Value และ Covariance Matrix สามารถใชเปนดชนใน
การหาคณภาพใบหนาทดทสด สาหรบฟงกชนทใชหาคา Eigen Value ชอวาฟงกชน
cvCalcEigenObjects และฟงกชนทใชหาคา Covariance Matrix ชอวาฟงกชน cvCalcCovarMatrixEx
ซงฟงกชนทงสองอยในไลบรารของ OpenCV
25 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
สาหรบการทดลองไดจาลองรปภาพใบหนาในลกษณะตาง ๆ ไดแก
• ภาพใบหนาทมความคมชดแตกตางกน
• ภาพใบหนาทมความมวแตกตางกน
• ภาพใบหนาทมขนาดแตกตาง
• ภาพใบหนาทมความมดแตกตางกน
• ภาพใบหนาในลกษณะตางๆ
• ภาพใบหนาเมอมการเอามอมาบงใบหนา
ผลการทดลองหาคา Eigen Value และ Covariance Matrix ของใบหนา
ภาพทมความสวางแตกตางกน
ภาพ
คา
Eigen Value 1,579,996,416.0 12,622,675.0 2,557,988.75 97,229.26 13.382360
Covariance Matrix 2,762,207,488.0 1,561,357,440.0 916,959,872.0 2,680,863,232.0 433,113,536.0
ภาพทมความมวแตกตางกน
ภาพ
คา
Eigen Value 22,671,292.0 4,125,949.5 211,163.5 70,695.1 0.022160
Covariance Matrix 2,762,207,488.0 2,697,942,272.0 2,709,244,160.0 2,672,838,656.0 2,643,839,293.0 ตารางท 3-1(a) ภาพใบหนาทใชในการหาคา Eigen Value และ Covariance Matrix ของใบหนานน
26 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ภาพทม noise
ภาพ
คา
Eigen Value 86,442,928.0 41,895,700.0 26,060,432.0 15,420,118.0 -0.541953
Covariance Matrix 2,795,376,896.0 2,780,413,696.0 2,739,516,928.0 2,674,934,272.0 2,606,874,624.0
ภาพทมขนาดแตกตางกน
ภาพ
คา
Eigen Value 1,387,930,752.0 31,852,960.0 73,072,584.0 41,856,384.0 -13.962813
Covariance Matrix 3,552,236,544.0 4,093,591,808.0 3,087,796,480.0 2,390,770,688.0 1,841,846,272.0
ตารางท 3-1(b) ภาพใบหนาทใชในการหาคา Eigen Value และ Covariance Matrix ของใบหนานน
27 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
28 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ภาพทมมอบงใบหนา
ตารางท 3-1(c) ภาพใบหนาทใชในการหาคา Eigen Value และ Covariance Matrix ของใบหนานน
ภาพ
คา
Eigen Value 2,205,268,224.0 1,769,098,752.0 500,690,912.0 354,363,872.0 -3.088268
Covariance Matrix 16,595,393,536.0 1,457,645,136.0 17,092,930,560.0 14,878,148,608.0 15,861,409,792.0
ภาพใบหนาในรปแบบตางๆ
ภาพ
คา
ลกษณะของภาพ ภาพมด ภาพมว ภาพทม noise ภาพทมขนาดใหญ ภาพมอบงหนา
Eigen Value -107,374,176.0 -107,374,176.0 -107,374,176.0 -107,374,176.0 -107,374,176.0
Covariance Matrix 903,776,000.0 1,523,389,056.0 1,558,337,408.0 1,778,572,416.0 3,237,350,656.0
29 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
สรปผลการทดลองหาคา Eigen Value และคา Covariance Matrix ของใบหนา
จะเหนไดวา เมอเลอกเฉพาะสวนของใบหนามาทาการคานวณหาคา Eigen Value นน คา Eigen Value ไมสามารถบอกไดวา ใบหนาในลกษณะตาง ๆ นน มความแปรผนในลกษณะใด แตคา Covariance Matrix สามารถบอกไดวารปใบหนาในลกษณะตาง ๆ นน มความแปรผนไปในลกษณะใดได โดยจากการทดลองสามารถสรปไดดงน
• ถาภาพใบหนามความคมชดมากขน จะทาใหคา Covariance Matrix มากขน
• ถาภาพใบหนามความเบลอมากขน จะทาใหคา Covariance Matrix ลดลง
• เมอมการเอามอมาบงใบหนา ในลกษณะตางๆ จะทาใหคา Covariance Matrix มคามาก
• ถาใบหนามความเลกลง จะทาใหคา Covariance Matrix ลดลง
• ถาใบหนามความมดมากขน จะทาใหคา Covariance Matrix ลดลง
จากการทดลอง จะไดวาภาพใบหนาทมคณภาพดทสดจะมคา Covariance Matrix ทสง นนคอ
เปนภาพใบหนาทมขนาดใหญ และมความสวางของใบหนา สาหรบภาพใบหนาทมคณภาพไมดหรอ
เปนภาพใบหนาทไมชด จะมคา Covariance Matrix ทนอยกวาเมอเทยบกบภาพใบหนาทชดกวา จาก
การทดลองดงกลาวเปนผลใหสามารถนาคา Covariance Matrix มาเปรยบเทยบกบลกษณะของใบหนา
ตาง ๆ ทจะใชในการเกบขอมลใบหนาทดทสดของบคคลทผานกลองได เพอใชในการระบตวบคคลใน
ขนตอนตอไปได
หมายเหต
ภาพใบหนาเมอมการเอามอมาบงใบหนานน โดยปกตแลวเมอมการคนหาใบหนาจะคนหา
ใบหนาในลกษณะเชนนไมพบ ซงคาทไดจากการคานวณจะมคามากหรอนอยนน จะไมนามาตดสนใน
การวเคราะหหาคณภาพใบหนาทดทสด
30 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.5 ดาเนนงานในสวนการคนหาใบหนาทดทสด งานในสวนนจะเขยนโปรแกรมเพอประยกตคาดชนคณภาพหนาทดทสดทไดจากการทดลองใน
ขนตอนกอนหนานมาประยกตใชกบภาพเคลอนไหว ใหมการทางานแบบ Real-time โดยสามารถแสดง
แผนผงการทางานได ดงรปท 3-10
Flow chart การทางานของโปรแกรมคนหาใบหนาทดทสด
เรมตน
Floiw chart การทางานของโปรแกรมคนหาใบหนาทดทสด รปท 4-4 Flow chart การทางานของโปรแกรมคนหาใบหนาทดทสด
ภาพ Input
เกบหนาทดทสด
จบการทางาน
คา Covariance Matrix ใหม >
คา Covariance Matrix เดม
หาคา Covariance Matrix
ไมใช คนหาใบหนาพบ
ใช
ใช
ไมใช
รปท 3-10 Flow chart การทางานของโปรแกรมคนหาใบหนาทดทสด
31 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ตวอยางผลการทางานโปรแกรม
Covariance Matrix : 591,464,448.0 Covariance Matrix : 569,806,016.0
ภาพมว ภาพทม noise มาก
รปท 3-11 ใบหนาทใชในการเป เทยบคา Covariance Matrix รยบ
Covariance Matrix : 617,418,048.0
รปท 3-12 ใบหนาทมคา Covariance Matrix มากทสด
จากรปท 3-11 จะแสดงหนาตางของใบหนาทไดคนพบใบหนาเจอจากภาพอนพตทรบเขามา และ
จากรปท 3-12 จะแสดงสวนของหนาตางของใบหนาทชดทสด จะเหนไดวาภาพใบหนาทมคา
Covariance Matrix มาก โปรแกรมจะแสดงรปใบหนานนขนในหนาตางของใบหนาทชดทสด ถงแมวา
จะเจอใบหนาจากภาพอนพตทรบเขามาอกกตามหากมคา Covariance Matrix นอยกวากจะไมทาการ
แสดงในหนาตางของใบหนาทชดทสดนนเอง
32 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.6 ปรบปรงการทางานโปรแกรม ในการทางานสวนกอนหนานไดใชคา Covariance Matrix เพยงคาเดยวเทานนทใชในการ
เปรยบเทยบรปใบหนาในแตละรป โดยการทางานในสวนนจะทาการหาคาเฉลยของคา Covariance
Matrix ของใบหนา และหาคาความเบยงเบนของใบหนาทเปลยนแปลงไปดวย
การหาคาเฉลยของคา Covariance Matrix ของใบหนา
โดยหาจากสตร
คาเฉลย ( ) = เมอ n คอจานวนหนา μ ∑=n
1i n
Matrix[i] Covariance
รปท 3-13 หนาจอแสดงผลการคานวณคา Covariance Matrix และคาเฉลยของคา Covariance Matrix
การหาคาเฉลยของคา Covariance Matrix นน เพอนาคาเฉลยทคานวณไดไปเปรยบเทยบกบ
คา Covariance Matrix ของหนาใหมๆอยเสมอ หากคาทไดใกลเคยงกบคาเฉลยมากทสด แสดงวา
ใบหนานนเปนใบหนาทดทสด แตมขอจากดของคา Covariance Matrix ดวย เนองจากวาถาคา
Covariance Matrix มคาสงมาก ภาพทไดจะเปนภาพทคอนขางสวางหรออาจจะเปนภาพเบลอเนองจาก
มสขาวอยในภาพมาก เปนผลใหแสดงภาพใบหนาทดทสดผดไป จงตองมการกาหนดชวงทตองการ
โดยสามารถคานวณไดโดยการหาคาความเบยงเบนของคา Covariance Matrix นนเอง
33 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
การหาคาความเบยงของคา Covariance Matrix ของใบหนา
โดยหาจากสตร
ความเบยงเบน ( ) = เมอ n คอจานวนหนา σ( )
n
n
1iMatrix[i] Covariance
2∑=
−μ
รปท 3-14 หนาจอแสดงผลการคานวณคา Covariance Matrix และคาความเบยงเบนของคา Covariance Matrix
จากผลการรนโปรแกรมโดยหาคา Covariance Matrix และคาความเบยงเบนนน จะไดวาคา
Covariance Matrix มคามากกวาคาความเบยงเบนประมาณสบเทา จงตองหาคาคงทททาใหคาความ
เบยงเบนอยประมาณชวงของคา Covariance Matrix และกาหนดใหมการทดสอบชวงของใบหนาทด
ทสดตงแตชวงคา + mn ถง + m(n+1) ซง คอคาเฉลยของคา Covariance Matrix, m
คอคาคงท , n คอชวงทสนใจมคาตงแต 0,1,2,… และ คอคาความเบยงเบน โดยชวงคาทสนใจ
จะตองเปนชวงคาทมากกวาคาเฉลยของคา Covariance Matrix ดวย เนองจากในสวนกอนหนานทเคย
ทาการทดลองนนจะไดวาคา Covariance Matrix ทมคานอยจะไดใบหนาทไมชดนนเอง
μ σ μ σ μ
σ
μ σ /15
รปท 3-15 กราฟแสดงชวงคาทใชในการเลอกใบหนาทดทสด
ชวงคาทใชในการเลอกใบหนาทดทสด
34 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
จากการทดลอง จะไดวา ชวงทมใบหนาดทสดไดแกชวงคาตงแตคาเฉลยของ Covariance
Matrix( ) ถงคาความเบยงเบน/15( /15) นนคอ ตงแตชวงแรกท n = 0 ถง n = 1 และคาคงท m =
1/15 นนเอง โดยสามารถแสดงชวงทสนใจไดดงรปท 3-15 และแสดงขนตอนการทางานใน
กระบวนการนไดดงรปท 3-16
μ σ
Flow chart การทางานของโปรแกรมคนหาใบหนาทดทสด
เรมตน
รปท 3-2 รปท 3-16 Flow chart การทางานของโปรแกรมคนหาใบหนาทดทสด
ภาพ Input
เกบหนาทดทสด
จบการทางาน
ชวงคา Covariance Matrix ทม
ใบหนาดทสด
หาคา Covariance Matrix
ไมใช คนหาใบหนาพบ
ใช
ใช
ไมใช
หาคาเฉลยของ Covariance Matrix
หาคาความเบยงเบนของ Covariance Matrix
35 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
ตวอยางผลการทางานของโปรแกรม
3.6.1 เมอเปรยบเทยบโดยใชคาเฉลยของคา Covariance Matrix
รปท 3-17 หนาจอแสดงการตดตามใบหนา
รปท 3-18 หนาจอแสดงการคนหาใบหนาปจจบน
36 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-19 หนาจอแสดงใบหนาทดทสด
รปท 3-20 กราฟแสดงคา Covariance Matrix (สขาว) และคาเฉลยของคา Covariance Matrix (สเหลอง)
จากรปท 3-17 ถง รปท 4-20 เปนการแสดงผลของการคนหาใบหนาทดทสด โดยการนา
คาเฉลยของคา Covariance Matrix มาเปรยบเทยบ โดยชวงทตองการคอชวงของคา Covariance
Matrix ทมมากกวาคาเฉลยของคา Covariance Matrix ซงจากการรนโปรแกรมจะเหนไดวาสามารถ
แสดงผลใบหนาทดสดออกมาได แตภาพใบหนาทดทสดทแสดงผลออกมานนมความไมเสถยรพอ
เนองจากในบางครงถาคา Covariance Matrix มคาสงกวาคาเฉลยของคา Covariance Matrix มากๆ
แลว จะมการแสดงผลใบหนานนออกมา จงไมสามารถบอกไดวาเปนใบหนาทดทสดหรอไม
37 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.6.2 ความผดพลาดจากการหาหนาทดทสดโดยใชคาเฉลยของคา Covariance Matrix
รปท 3-21 หนาจอแสดงการตดตามใบหนา
รปท 3-22 หนาจอแสดงการคนหาใบหนาปจจบน
38 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-23 หนาจอแสดงการคนหาใบหนาทดทสด
รปท 3-24 กราฟแสดงคา Covariance Matrix (สขาว) และคาเฉลยของคา Covariance Matrix (สเหลอง)
จากรปท 3-21 ถง รปท 3-24 เปนการแสดงผลของโปรแกรมเมอมการหาใบหนาทดทสด
ผดพลาด ซงในกระบวนการทผดพลาดนเปนการเลอกใบหนาทดทสดโดยการเปรยบเทยบคาทมากกวา
คาเฉลยของคา Covariance Matrix นนเอง เนองจากวาภาพทมแสงสวางคอนขางมาก คา Covariance
Matrix จะมคาสง จงแสดงผลใบหนานนในหนาตางของใบหนาทดทสดออกมา
39 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.6.3 เมอเปรยบเทยบโดยใชคาเฉลยของ Covariance Matrix และคาเบยงเบน
รปท 3-25 หนาจอแสดงการตดตามใบหนา
รปท 3-26 หนาจอแสดงการคนหาใบหนาปจจบน
40 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-27 หนาจอแสดงใบหนาทดทสด
รปท 3-28 กราฟแสดงคา Covariance Matrix (สขาว) ,คาเฉลยของคา Covariance Matrix (สเหลอง)
และคาเบยงเบนของคา Covariance Matrix (สแดง)
จากรปท 3-25 ถง รปท 3-28 เมอมการรนโปรแกรมจะไดวาภาพทรบเขามานนมใบหนาท
คอนขางมว นนแสดงวาเปนใบหนาทไมชด แตในหนาจอทแสดงใบหนาทดทสดนน(รปท 3-25) ยงคง
แสดงใบหนาทมคณภาพใบหนาดหรอเปนใบหนาทชดทสดนนเอง เนองจากวาไดกาหนดชวงคาทจะม
ใบหนาทดทสด จงทาใหภาพทไดจากหนาตางของใบหนาทดทสดมความแมนยามากขน สวนกราฟใน
รปท 3-28 จะแสดงคา Covariance Matrix (สขาว), คาเฉลยของคา Covariance Matrix (สเหลอง), คา
เบยงเบนของคา Covariance Matrix (สแดง) และเสนสขาวในแนวตงจะแสดงคา Covariance Matrix ท
เปนของใบหนาทดทสด
41 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
3.7 การทดสอบหาใบหนาทดทสดกบใบหนาหลายแบบ ไดทาการทดสอบการคนหาใบหนาทดทสดจากผทดสอบ 4 คน ซงไดทดสอบโดยการอดวดโอ
30 เฟรมตอวนาท โดยความยาวของวดโอมความยาว 1 นาท ซงในการทดสอบของแตละคนนน ได
ทดสอบใบหนาในหลายลกษณะ ไดแก ใบหนาตรง ใบหนาเอยง ใบหนาทเลก และใบหนาทมความ
ความมว เปนตน ซงสามารถวาดกราฟของคา Covariance Matrix ของใบหนาในลกษณะตางๆ พรอม
ทงคาเฉลยของคา Covariance Matrix และคาความเบยงเบนของคา Covariance Matrix/15 + คาเฉลย
ของคา Covariance Matrix โดยผลการทดสอบแสดงไดดงรปท 3-29 และ 3-32
รปท 3-29 ตวอยางใบหนาททดสอบ(ซาย), ใบหนาทดทสด(ขวา) และกราฟทแสดงคาตางๆ
42 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-30 ตวอยางใบหนาททดสอบ(ซาย), ใบหนาทดทสด(ขวา) และกราฟทแสดงคาตางๆ
รปท 3-31 ตวอยางใบหนาททดสอบ(ซาย), ใบหนาทดทสด(ขวา) และกราฟทแสดงคาตางๆ
43 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-32 ตวอยางใบหนาททดสอบ(ซาย), ใบหนาทดทสด(ขวา) และกราฟทแสดงคาตางๆ
จากการทดสอบในขางตน จะไดวา เมอมการทดสอบกบใบหนาอนทมลกษณะแตกตางกนนน
สามารถหาใบหนาทดทสดของแตละคนได จากการทดสอบในสวนนจงสามารถทจะไปประยกตใชเพอทา
การคนหาใบหนาทดทสดหลายๆ หนาพรอมกนได และสามารถอางองการหาใบหนาทดทสดได โดย
การคานวณคา Covariance Matrix นนเอง
3.8 การแสดงผลการตดตามใบหนาและการคนหาใบหนาทดทสดภายในหนาจอเดยวกน
จากโปรแกรมในสวนกอนหนานไดแสดงหนาตางของการทางานไวหลายหนาตาง เพอความสะดวกของการแสดงผล ไดจดทาหนาจอเพยงหนาเดยว โดยภายในหนาจอนนไดแสดงสวนของการตดตามใบหนา และสวนของใบหนาทดทสดไวในหนาจอเดยวในสวนของมมขวาลาง ซงฟงกชนทใชในการแสดงผลใหสามารถแสดงไดหลายภายในหนาจอเดยวกนนน คอ cvWarpAffine สาหรบผลการทางานโปรแกรมสามารถแดงได ดงรปท 3-33
44 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
รปท 3-33 การตดตามใบหนาและสวนของใบหนาทดทสด
45 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
จากผลการทางานของโปรแกรม จะเหนไดวาสามารถแสดงสวนของใบหนาทดทสดได โดยถาคนหาใบหนาทดทสดพบ จะยงคงคางใบหนานนอย จนกวาจะพบใบหนาทดทสดใหม ซงจะไดวาใบหนาทมคณภาพไมดหรอใบหนาทไมชด กจะไมแสดงผลในสวนของภาพมมขวาลาง จะไดวาจะแสดงผลเฉพาะสวนของใบหนาทดทสดเทานน
3.9 ทดสอบกบสวนจรง เปนการนาสวนของโปรแกรมทไดเขยนขนรวมเขากบระบบ โดยการปรบปรงโปรแกรมใหเขยน
โปรแกรมในเชงวตถได จากนนจงไดทดสอบโดยการใชโปรแกรม VsMonitor และ VsScanner ซงเปน
โปรแกรมทสามารถวเคราะหระบบไดหลายกลอง จะเหนไดวา สามารถรวมระบบการคนหาใบหนาทด
ทสดได ทาใหสามารถใชงานไดจรงได โดยจะแสดงการคนหาใบหนาทดทสดของกลองแตละตวทมม
ขวาลาง และสามารถแสดงการตดตามสวนของใบหนาดวย ซงสามารถจาลองการทางานของโปรแกรม
VsMonitor ไดดงรปท 3-34 จากงานในสวนนจงสามารถนาไปประยกตใชกบกลองวงจรปดได เพราะ
สามารถเลอกชนดของกลองทจะใชในการวเคราะหได
รปท 3-34 โปรแกรม VsMonitor
46 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
บทท 4 สรปผลและขอเสนอแนะ
4.1 สรปผล • สามารถคนหาใบหนาโดยใชอลกอรธม Haar-like ซงเปนอลกอรธมทใชในการคนหาวตถท
ตองการ
• ทาการตดตามใบหนาเมอมการคนหาใบหนาเจอดวยอลกอรธม Camshift ซงเปนอลกอรธมท
ใชในการตดตามวตถ โดยในทนกคอสวนของใบหนานนเอง
• ทาการคนหาดชนทจะใชเปนตวชวดคณภาพของใบหนา โดยจากการทาโครงงานจะไดวา
สามารถนาคา Covariance Matrix ของใบหนา มาทาการคานวณ แลวใชในการเปรยบเทยบ
คณภาพของใบหนา แลวแสดงผลลพธของใบหนาทดทสดได
• ในการคนหา ตดตาม และคนหาดชนทเปนตวชวดของคณภาพใบหนานน จะทาในกรณทม
ใบหนาเพยงใบหนาเดยวเทานน
• ในการเลอกชวงคา Covariance Matrix ทเหมาะสมนน จะตองหาคาเฉลยของคา Covariance
Matrix เพอดการเกาะกลมของคา Covariance Matrix และใชคาความเบยงเบนของคา
Covariance Matrix มาใชในการเลอกชวงทเหมาะสม ซงสามารถแสดงใบหนาทดทสดไดแมนยา
มากยงขน เมอเปรยบเทยบโดยไมมการเลอกชวงคาทเหมาะสมนนเอง
4.2 ปญหาและอปสรรค
• ในการหาคณภาพใบหนาทดทสดนน มปญหาในเรองความความสวางของภาพทไดรบมา
เนองจากความสวางของภาพมผลตอการคานวณคา Covariance Matrix ซงเปนดชนในการหา
คณภาพใบหนาทดทสด เพราะภาพใบหนาใดมความสวางมากคา Covariance Matrix จะมคา
มากดวย จงเปนผลใหในบางครงของการหาคณภาพของหนาทดทสดนนมความผดพลาด ทา
ใหตองกาหนดชวงของคา Covariance Matrix ทเหมาะสม
• ในการวาดกราฟเพอแสดงคา Covariance Matrix นน เมอดจากกราฟแลวอาจจะไมเหนความ
แตกตางของคานนมาก เนองจากวาคา Covariance Matrix เปนจานวนทมคามาก โดยไดนา
47 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
• คณภาพของกลอง Webcam ทใชในการทาโครงงานมความละเอยดไมสงมากนก
4.3 ขอเสนอแนะ/แนวทางการพฒนาตอ
• ในการคนหาใบหนาควรจะใชอลกอรธมทใชในการคนหาใบหนาไดแมนยามากยงขน เพอใหการ
คานวณคาตาง ๆ ทไดจากภาพของใบหนานนถกตองมากยงขนดวย
• ประยกตการคนหาใบหนาจากหนาใบเดยวใหสามารถ คนหาไดหลายใบหนา และสามารถ
ตดตามใบหนาไดหลาย ๆ ใบหนา
• พฒนาโปรแกรมใหมการทางานทแมนยามากยงขน
• เมอไดภาพหนาทดทสด อาจจะใชในการรจาใบหนา
• สามารถนาไปประยกตใชกบกลองวดโอวงจรปดในระบบรกษาความปลอดภยได
48 Face Localization, Tracking and Identification?, Designed for Video Surveillance System
บรรณานกรม
[1] Gary R. Bradski, Computer Vision Face Tracking For Use in a Perceptual User Interface.
[2] Gary R. Bradski and Adrian Kaeble, 2008, Learning OpenCV Computer Vision with the
OpenCV Library, USA.
[3] Paul Viola and Michael Jones, 2001, Rapid Object Detection using a Boosted
Cascade of Simple Feature.
[4] Rainer Lienhart and Jochen Maydt, An Extended Set of Haar-like Feature for Rapid
Object Detection, USA.
[5] ธมาภรณ เจรญรบ และอนาวล ตสวรรณ, 2550, Face Recognition .
[6] ตตยา สวรรณบบผา, ภานสา เชมากรณ และสนต ถาวรวภาส, 2545, Face Recognition.