Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
2,94 MB
Nội dung
TR NG I H C HÀNG H I VI T NAM KHOA CÔNG NGH THÔNG TIN THUY T MINH TÀI NCKH C P TR NG TÀI XÂY D NG H TH NG NH N D NG M T T NG S D NG LPQ (LOCAL PHASE QUANTIZATION) Ch nhi m đ tài: TS NGUY N H U TUÂN Thành viên tham gia: ThS NGUY N V N TH Y H i Phòng, tháng 4/2016 M CL C M U 1 Tính c p thi t c a v n đ nghiên c u T ng quan v tình hình nghiên c u thu c l nh v c đ tài M c tiêu, đ i t Ph ng pháp nghiên c u, k t c u c a công trình nghiên c u K t qu đ t đ CH ng, ph m vi nghiên c u c c a đ tài NG 1: C S LÝ THUY T C A NH N D NG M T NG Bài toán nh n d ng m t ng I i – nh ng v n đ c b n 1.1 Gi i thi u 1.2 Thách th c nh n d ng m t ng i 1.3 Các cách ti p c n cho toán nh n d ng m t ng CH NG 2: CÁC THÀNH PH N C A M T H M TT i TH NG NH N D NG D NG 10 H th ng nh n d ng m t t đ ng 10 Phát hi n m t ng i s d ng đ c tr ng HOG 11 Chu n hóa ánh sáng v i b l c Retinal filter 15 Ph ng pháp trích ch n đ c tr ng LPQ (Local Phase Quantization) 17 B phân l p k-NN 20 CH NG 3: XÂY D NG H TH NG 23 Th vi n OpenCV dlib 23 1.1 Th vi n OpenCV 23 1.2 Th vi n dlib 26 D li u giao th c đánh giá hi u n ng c a h th ng 30 i K t qu nh n d ng 32 K T LU N 34 TÀI LI U THAM KH O 36 ii DANH SÁCH B NG BI U B ng 3.1: So sánh t l nh n d ng c a h th ng đ xu t v i k t qu công b khác 32 iii DANH SÁCH HÌNH NH Hình 1.1: Các thông tin có nh m t ng i Hình 1.2: Các b c m t h th ng nh n d ng m t Hình 2.1: Các b c h th ng nh n d ng m t t đ ng 10 Hình 2.2: nh input hai đ o hàm c a 12 Hình 2.3: nh input k t qu phát hi n c n ch nh nh m t v i HOG 14 Hình 2.4: Các b c b l c Retinal filter 15 Hình 2.5: K t qu c a vi c ti n x lý v i b l c Retina filter 17 Hình 2.6: M t s nh LPQ thu đ Hình 2.7: Các b c ph c t toán t LPQ 19 ng pháp trích ch n đ c tr ng LPQ 20 Hình 2.8: Minh h a b phân l p kNN 21 Hình 3.1: C u trúc c a th vi n OpenCV 23 Hình 3.2: C u trúc c a th vi n dlib 27 Hình 3.3: M t s nh m t ng i t c s d li u FERET 31 Hình 3.4: M t s k t qu v phát hi n m t ng i CSDL FERET 32 iv DANH SÁCH THU T NG , CH VI T T T Ch vi t t t HOG – Histogram of Oriented Gradient kNN – k-nearest neighbors LPQ – Local Phase Quantization FERET – FacE Recognition Technology PCA – Principal Components Analysis LDA – Linear Discriminant Analysis LBP – Local Binary Pattern SVM – Support Vector Machine Trang 2 7 v Thuy t minh đ tài NCKH c p tr ng 2016 M U Tính c p thi t c a v n đ nghiên c u Nh n d ng m t toán có nhi u ng d ng th c t nh n đ c s quan tâm l n t c ng đ ng nhà khoa h c nghiên c u v Th giác máy tính th i gian g n M t h th ng nh n d ng m t có nhi u b c m i b c l i m t l nh v c nghiên c u v i cách ti p c n khác Do vây, h u h t nghiên c u đ u th c hi n th c nghi m c s d li u chu n, có s n d li u c n thi t, mà không t p trung vào vi c xây d ng m t h th ng t đ ng nh n d ng t d li u thô ban đ u (các nh m t ch a qua x lý) T ng quan v tình hình nghiên c u thu c l nh v c đ tài Hi n nghiên c u v nh n d ng m t đ c chia thành h ng ti p c n khác cho t ng khâu c a m t h th ng hoàn ch nh v n g m có nhi u b c, m i b c có m t ch c n ng nh h ng khác t i hi u n ng chung c a h th ng Các th nghi m v t l nh n d ng c a cách ph xu t th ng đ c ti n hành t p d li u đ ch v ánh sáng, h th ng pháp đ c thu nh n u ki n h n ng, …, áp d ng vào th c t k t qu thu đ ng xa so v i môi tr c ng th nghi m Chính v y, đ tài này, t p trung vào vi c xây d ng m t h th ng t đ ng nh n d ng th nghi m v i u ki n nh thu nh n đ M c tiêu, đ i t c u ki n th c t ng, ph m vi nghiên c u M c tiêu c a đ tài xây d ng m t h th ng nh n d ng m t hoàn toàn t đ ng v i d li u đ u vào nh m t ng i s d ng LPQ, m t ph ng pháp trích ch n đ c tr ng nh m t có kh n ng làm vi c t t v i nh b m hay b nh h ng b i ánh sáng H th ng s g m module th c hi n: phát hi n vùng nh m t, ti n x lý, trích ch n đ c tr ng, h c nh n d ng Trang Thuy t minh đ tài NCKH c p tr Ph ng 2016 ng pháp nghiên c u, k t c u c a công trình nghiên c u Nh m xây d ng m t ch ng trình nh n d ng m t t đ ng, đ tài th c hi n nghiên c u v n đ sau: + Nghiên c u k thu t phát hi n nh m t d a đ c tr ng HOG (Histogram of Oriented Gradients) + Nghiên c u k thu t ti n x lý đ chu n hóa nh m t + Nghiên c u áp d ng LPQ (Local Phase Quantization) cho toán nh n d ng m t + Nghiên c u th vi n mã ngu n m OpenCV + Xây d ng ch K t qu đ t đ ng trình c c a đ tài ã nghiên c u kh o sát b c c a m t h th ng nh n d ng m t t đ ng k thu t khác có th áp d ng cho t ng b c thành công m t h th ng nh n d ng m t t đ ng v i b xu t xây d ng c c th nh sau: + T đ ng phát hi n c n ch nh khuôn m t b ng ph ng pháp HOG (Histograms of Oriented Gradients) + Chu n hóa u ki n ánh sáng c a nh m t ng i sau b c phát hi n c n ch nh b ng k thu t retina filter + Trích ch n đ c tr ng c a nh m t nh m bi u di n b c nh thành vector đ c tr ng s d ng ph ng pháp trích ch n đ c tr ng LPQ, m t ph ng pháp cho k t qu nh n d ng t t nhi u u ki n khó kh n, ch ng h n nh thay đ i c a ánh sáng nh b m + S d ng ph ng pháp phân l p kNN (k-nearest neighbors) cho b c nh n d ng đ đ a danh tính c a b c nh c n nh n d ng H th ng đ c cài đ t b ng ngôn ng C++ s d ng b công c Visual Studio 2015 update hai th vi n mã ngu n m OpenCV dlib Hi u n ng nh n d ng c a h th ng đ c th nghi m đánh giá b ng protocol chu n c Trang Thuy t minh đ tài NCKH c p tr s d li u nh m t ng ng 2016 i công c ng FERET (FacE Recognition Technology) so sánh v i k t qu công b c a ph ng pháp có liên quan K t qu so sánh cho th y r ng h th ng đ xu t có hi u n ng t t đ i v i nh m t có góc nhìn th ng đ c thu nh n u ki n nhà có ki m soát M c dù v y so sánh v i h th ng bán t đ ng k t qu nh n d ng c a h th ng v n ch a cao b ng i u h p lý vi c c n ch nh nh h th ng bán t đ ng d a t a đ c a m t ng iđ c xác đ nh b ng tay v n cho k t qu xác cao h n so v i vi c phát hi n c n ch nh t đ ng Trang Thuy t minh đ tài NCKH c p tr ng 2016 CH C S NG 1: LÝ THUY T C A NH N D NG M T NG Bài toán nh n d ng m t ng I i – nh ng v n đ c b n 1.1 Gi i thi u Nh n d ng m t ng i (Face recognition) m t ch đ nghiên c u thu c l nh v c th giác máy tính (Computer Vision) đ n m 90 c a th k tr m nh n đ c phát tri n t đ u nh ng c [1] Cho t i hi n nay, v n m t ch đ nghiên c u c s quan tâm c a nhi u nhà nghiên c u t nhi u l nh v c nghiên c u khác nh nh n d ng m u (Pattern Recognition), h c máy (Machine Learning), th ng kê (Statistics), sinh tr c h c (Biometrics) i u có r t nhi u ng d ng th c t c n t i m t h th ng nh n d ng m t, t h th ng qu n lý đ ng nh p đ n gi n cho t i ng d ng giám sát t i đ a m công c ng (public areas surveillance) ho c qu n lý dân s (population management) pháp lý (forsensics) Bên c nh đó, so v i h th ng nh n d ng d a đ c m sinh tr c h c khác c a ng i, nh nh n d ng m ng m t vân tay (fingerprint and iris recoginitions), dáng (gait recognition), nh n d ng m t có nhi u u m: + M t h th ng nh n d ng m t không đòi h i có s t đ it ng đ ng tác tr c ti p gi a c nh n d ng h th ng + Vi c thu nh n d li u ( nh m t) cho trình nh n d ng m t ng i d th c hi n h n so v i thu nh n đ c đ c m sinh tr c h c khác (nh thu nh n d u vân tay m ng m t) + D li u v m t ng i ph bi n h n so v i đ c tr ng khác s bùng n m ng xã h i (facebook, twitter …), d ch v chia s d li u đa ph ng ti n (youtube, vimeo …) s phát tri n m nh m c a thi t b thu nh n hình nh +T nh khuôn m t c a m t ng i ta có th khai thác nhi u thông tin liên quan ch không ch danh tính, ch ng h n nh gi i tính (gender), màu da (skin Trang Thuy t minh đ tài NCKH c p tr ng 2016 CH NG 3: XÂY D NG H TH NG Th vi n OpenCV dlib cài đ t h th ng, đ tài l a ch n ngôn ng C++ v i b công c Visual Studio 2015 Update s d ng hai th vi n mã ngu n m OpenCV dlib 1.1 Th vi n OpenCV Hình 3.1: C u trúc c a th vi n OpenCV OpenCV (http://opencv.org) m t th vi n mã ngu n m cài đ t thu t toán x lý nh, th giác máy tính h c máy OpenCV đ c vi t b ng ngôn ng C/C++ có th ch y h u h t n n t ng ph n c ng (Intel, Mac, Raspberry Pi, Adruno ) ph n m m (Windows, Mac OS, Linux, iOS, Android) Các ngôn ng công c l p trình ph bi n nh Python, Java, Ruby, Matlab, Objective C, Trang 23 Thuy t minh đ tài NCKH c p tr ng 2016 c ng có th d dàng s d ng OpenCV vi c vi t tri n khai ng d ng th c t Ban đ u th vi n OpenCV hãng Intel phát tri n b o tr (t nh ng n m cu i c a th k tr c – b n alpha đ c phát hành th c vào tháng n m 1999) Sau Intel quy t đ nh chuy n OpenCV thành m t th vi n mã ngu n m t b d án Ngày OpenCV đ c phát tri n h tr b i đông đ o nhà phát tri n, nhà nghiên c u toàn th gi i M i ngày l i có m t b n vá l i v i thu t toán m i đ c thêm vào Phiên b n m i nh t c a OpenCV 3.1 công ty hi n b o tr cho OpenCV m t công ty c a Nga có tên Itseez M c đích thi t k c a OpenCV nh m t i ng d ng th i gian th c đòi h i thao tác tính toán ph i h t s c hi u qu v t c đ th c hi n nên k thu t t i u hóa đ c s d ng t t c m c đ : t vi c t n d ng ki n trúc đa nhân cho t i vi c s d ng t p l nh c a CPU m i nh t nh SSE 2, AVX, AVX 512 … OpenCV c ng t n d ng th vi n l p trình song song m i nh t nh TBB (Thread Building Blocks) c a Intel, OpenMP n n t ng CUDA c a Nvidia đ có th tri t đ khai thác tài nguyên c a h th ng mà ch y M t m c tiêu quan tr ng c a OpenCV cung c p m t h t ng thu t toán th giác máy tính có giao di n đ n gi n d dàng s d ng đ có th tr giúp cho l p trình viên, nhà nghiên c u nhanh chóng xây d ng đ th c hóa đ c ý t c (hay hi n ng c a h ) ng d ng th c t Th vi n OpenCV hi n có t i h n 500 hàm khác tr i dài t hàm x lý nh c b n, giao di n, phân đo n nh, trích ch n đ c tr ng, h c máy cho t i hàm h tr an toàn b o m t robotics Trên th c t có nhi u th vi n th giác máy tính x lý nh (mã ngu n m ho c th ng m i) khác nh ng vi c l a ch n OpenCV đ tài nguyên nhân sau: + OpenCV có hi u n ng cao Do đ ct i u nhi u m c s d ng th vi n t t nh t (TBB IPP) c a hãng Intel nên ng d ng vi t b ng OpenCV Trang 24 Thuy t minh đ tài NCKH c p tr ng 2016 cho t c đ th c hi n r t nhanh t n d ng đ c h t tài nguyên ph n c ng c a máy tính (ch y song song) + OpenCV có nhi u tài li u h tr m t c ng đ ng nhà phát tri n s n sàng h tr l i đông đ o (answers.opencv.org) So v i th vi n khác, hi n s l ng sách tài li u tham kh o vi t v OpenCV chi m u th v tr i v s l ng ch t l t ng + Cú pháp linh ho t đ n gi n, d s d ng phiên b n đ u tiên, mu n s d ng OpenCV, nhà phát tri n ph i vi t đo n mã C dài dòng khó nh Nh ng hi n t i, cú pháp c a OpenCV đ t p t Matlab) c c i ti n r t nhi u (do h c i u làm gi m đáng k công s c c a l p trình viên không c n ph i nh cú pháp ph c t p nh tr c V m t c u trúc, OpenCV m t t p h p th vi n (xem thêm hình 3.1), sau danh sách th vi n c t lõi: + core: th vi n ch a t t c ki u d li u c s hàm th c hi n thao tác c s + imgproc: th vi n x lý nh ch a thao tác x lý nh c b n, ch ng h n nh phép nhân ch p b l c không gian + highgui: th vi n ch a hàm h tr giao di n đ h a ch ng h n nh vi c hi n th nh ho c nh n d li u input đ n gi n + video: th vi n ch a hàm th c hi n vi c đ c d li u, ghi d li u đ i v i file video + features2d: thu t toán phát hi n, mô t đ i sánh m b t bi n (keypoints) + objdetect: th vi n ch a thu t toán đ phát hi n đ i t ch ng h n nh m t ng i ho c ng ng đ c thù i b Chúng ta c ng có th s d ng th vi n đ xây d ng b hu n luy n đ phát hi n đ i t ng khác ng d ng c th Trang 25 Thuy t minh đ tài NCKH c p tr ng 2016 + ml: th vi n thu t toán h c máy đ c cài đ t đ có th làm vi c m t cách linh ho t hi u qu v i ki u d li u c a OpenCV + gpu: ch a cài đ t s d ng n n t ng CUDA c a Nvidia đ t n d ng s c m nh c a chip đ h a GPU nh m t ng t c đ th c hi n cho thu t toán đòi h i s thao tác x lý l n + nonfree: ch a cài đ t c a thu t toán đ c b o v b i b ng sáng ch ho c có u ki n h n ch tình hu ng s d ng c th (mi n phí cho ng d ng giáo d c nghiên c u nh ng ph i tr phí cho ng d ng mang tính th ng m i, ch ng h n nh thu t toán SIFT ho c SURF) + contrib: ch a cài đ t c a thu t toán m i nh t, đ a xem xét đ th c đ a vào OpenCV + ocl: m t th vi n m i ch a cài đ t c a thu t toán s d ng n n t ng OpenCL nh m khai thác ki n trúc không đ ng nh t c a h th ng ph n c ng thao tác tính toán đòi h i s phép tính r t l n Trong đ tài này, OpenCV đ c s d ng cho thao tác đ c, x lý nh c b n, ph n cài đ t thu t toán LPQ, Retina filter đ c th c hi n đ i t ng ma tr n m nh c a l p Mat (Matrix) 1.2 Th vi n dlib Trang 26 Thuy t minh đ tài NCKH c p tr ng 2016 Hình 3.2: C u trúc c a th vi n dlib Ngoài th vi n OpenCV, s d ng dlib (http://dlib.net), m t th vi n mã ngu n m khác cho vi c cài đ t h th ng Khác v i m c đích c a OpenCV cung c p m t h t ng thu t toán cho ng d ng x lý nh th giác máy tính, dlib đ c thi t k cho ng d ng h c máy trí tu nhân t o v i th vi n sau: + classification: k thu t phân l p ch y u d a hai ph ng pháp c s kNN SVM + data transformation: thu t toán bi n đ i d li u nh m gi m s chi u, lo i b d li u d th a t ng c đ c m đ ng tính khác bi t (discriminant) c a c gi l i + clustering: k thu t phân c m + regression: k thu t h i qui + structured prediction: thu t toán d đoán có c u trúc + Markov Random Fields: thu t toán d a tr ng Markov ng u nhiên C th đ tài này, ph n phát hi n c n ch nh nh m t ng cách t đ ng s đ luy n đ im t c cài đ t b ng cách s d ng th vi n dlib v i d li u hu n c cung c p tr c o n mã phát hi n m t ng i c n ch nh c th nh sau: #include #include #include #include #include #include Trang 27 Thuy t minh đ tài NCKH c p tr ng 2016 using namespace dlib; int main(int argc, char** argv) { try { if (argc == 1) { cout sp; image_window win, win_faces; // make an iteration for every input image for (int i = 2; i < argc; ++i) { Trang 28 Thuy t minh đ tài NCKH c p tr ng 2016 cout