ỦY TRƯỜNG N NH N O NG NG NG NG N ỨU O NĂM Tên đề tài: P T N TP.HCM T Ủ Ứ Ọ Ọ 2018 -2019 N NGƯỜ TRONG N NG P Ư NG P P TRƯ T V V S M s : hủ nhiệm đề tài: NGUYỄN T Ị P ONG NG TP hí Minh, năm 2019 I M NG N O ỦY TRƯỜNG N NH N O NG NG NG NG N ỨU O NĂM Tên đề tài: P T N TP H M T Ủ Ứ Ọ Ọ 2018 -2019 N NGƯỜ TRONG N NG P Ư NG P P TRƯ T V V S M s : hủ nhiệm đề tài: NGUYỄN T Ị P ONG NG TP M II hí Minh, ngày 18 tháng năm 2019 NG N O MỤ Ụ MỤ LỤ III NH MỤ HỮ VIẾT TẮT V NH MỤ H NH NH VI PHẦN M ẦU 1 Lý chọn đề tài Mục đích nghiên cứu ối tƣợng khách thể nghiên cứu Giả thuyết nghiên cứu Nhiệm vụ nghiên cứu Phƣơng pháp nghiên cứu Phạm vi ảnh hƣởng HƢƠNG 1: Ơ S LÝ LU N 1.1 Vector gradient ảnh 1.1.1 Vector gradient 1.1.2 Vector gradient ảnh 1.2 ặc trƣng HOG 1.2.1 Bộ mô tả HOG tĩnh 1.2.2 Bộ mô tả HOG chuyển động 1.2.3 Trích rút đặc trƣng HOG 1.3 Máy vector hỗ trợ SVM (Support Vetor Machines) 13 1.3.1 Giới thiệu 13 1.3.2 Siêu phẳng (hyperplane) 14 1.3.3 Phân loại tuyến tính với lề cực đại (maximum-margin linear classifier) 15 1.3.4 Hàm phân loại tuyến tính với lề mềm cực đại (Soft Margin lassifiers) 17 1.3.5 Hàm nhân SVM phi tuyến (Kernel function and nonlinear SVMs) 18 1.4 Phƣơng pháp trƣợt window phát ngƣời 18 III HƢƠNG 2: THỰ TR NG V GI I PH P Ủ V N Ề NGHI N ỨU 22 2.1 Thực trạng 22 2.2 Giải pháp 23 HƢƠNG 3: KẾT QU NGHI N ỨU 23 3.1 Sơ đồ bƣớc thực 24 3.2 Trích rút đặc trƣng HOG 24 3.3 Huấn luyện test phân loại nhị phân 24 3.4 Xây dựng phát ngƣời ảnh tĩnh 29 3.5 Phát ngƣời video 31 3.6 ánh giá 32 KẾT LU N V KIẾN NGH 35 T I LIỆU TH M KH O 36 IV N MỤ Ữ VIẾT TẮT ACF - Aggregated Channel Features C-HOG - Circle Histogram of Oriented Gradients DET - Detection Error Tradeoff EHOG - Enhanced Histogram of Oriented Gradients FN - False Negative FP - False Positive INRIA - French National Institute for Research in Computer Science and Control HOG - Histogram of Oriented Gradients HIKSVM - Histogram Intersection Kernel Support Vector Machine MHOG - Multiple Histogram of Oriented Gradients MIT - Massachusetts Institute of Technology RBF - Radial Basis Function R-HOG - Rectangle - Histogram of Oriented Gradients ROC - Receiver Operating Characteristic SS-HOG - Scale Space Histogram of Oriented Gradients SVM - Support Vector Machines TN - True Negative TP - True Positive V DANH MỤ N N HÌNH TRANG Hình 1.1: ạo hàm theo hƣớng vector u Hình 1.2: Ví dụ pixel cần tính vector gradient Hình 1.3: Sơ đồ tổng quan trích rút đặc trƣng HOG tĩnh HOG chuyển động qua cửa sổ phát SVM phân loại đối tƣợng Hình 1.4: Sơ đồ tổng quan trích rút đặc trƣng HOG tĩnh Hình 1.5: Sơ đồ tổng quan trích rút đặc trƣng HOG chuyển động Hình 1.6: Ví dụ cửa sổ nhận dạng cao 128 pixel x rộng 64 pixel Hình 1.7: Ví dụ (a) ảnh xám; (b) ảnh gradient X; (c)ảnh gradient Y 10 Hình 1.8: Tính góc biên độ theo X-gradient Y-gradient 10 Hình 1.9: Mơ tả bin hƣớng HOG (a) ví dụ HOG cell ảnh (8x8 pixels) 11 Hình 1.10: nh (a) hình dung (Visualization) HOG ảnh: (b) kích thƣớc cell 8x8 pixel, (c) kích thƣớc cell 16x16 pixel 12 Hình 1.11: Mơ tả tồn q trình trích rút đặc trƣng HOG 12 Hình 1.12: ó vô số đƣờng thẳng phân chia tuyến tính, nhiên với đƣờng phân chia H5, có điểm bị phân loại nhầm 13 Hình 1.13: Khơng thể phân chia lớp liệu cách tuyến tính nh xạ liệu khơng gian ban đầu vào không gian nhiều chiều 14 Hình 1.14: ác siêu phẳng phân chia tập mẫu thành hai lớp support vector SVM 15 Hình 1.15: Các siêu phẳng H+ H- SVM 17 Hình 1.16: Mơ tả phƣơng pháp trƣợt window 18 Hình 1.17: Ví dụ hai window phát gần 19 Hình 2.18: Ví dụ loại bỏ khơng cực đại (Non-Maximum Suppression) 20 Hình 1.19: Minh họa hình chóp tỉ lệ, mức mơ tả tỉ lệ so với ảnh gốc 21 VI Hình 1.20: Một vài kết phát trƣớc (a) sau (b) loại bỏ phát trùng lặp 21 Hình 3.1: Sơ đồ bƣớc thực phát ngƣời 24 Hình 3.2: Một vài ảnh positive huấn luyện tập liệu INRI 26 Hình 3.3: Một vài kết phát ngƣời ảnh tĩnh 31 Hình 3.4: Một vài kết phát ngƣời video 32 Hình 3.5: So sánh đƣờng cong RO 34 VII P ẦN MỞ ẦU ý chọn đề tài Trong thập kỷ qua, hệ thống tự động phát ngƣời đƣợc dùng rộng rãi nhiều lĩnh vực khác nhƣ phát hoạt động ngƣời an ninh, camera giám sát phát ngƣời ứng dụng xe thơng minh,… Có nhiều hƣớng tiếp cận khác để giải toán phát khác [1] nhƣ: phƣơng pháp tìm điểm quan trọng (Find interest points), phƣơng pháp trƣợt cửa sổ (Sliding windows), phƣơng pháp đề xuất vùng đối tƣợng (Generate region proposals) phân đoạn vùng ảnh… ể tìm hiểu giải thuật phát ngƣời giám sát an ninh, tác giả thực đề tài “Phát ngƣời ảnh video b ng phƣơng pháp trƣợt cửa sổ” nghiên cứu phát ngƣời (pedestrians) dựa theo phƣơng pháp trƣợt cửa sổ (Sliding windows) để phát ngƣời ảnh tĩnh video nhờ phƣơng pháp trích rút đặc trƣng HOG (Histogram of Oriented Gradients) sau đƣa vào SVM (Support Vector Machines) để thực phân loại Mục đích nghiên cứu Mục đích đề tài nghiên cứu giải thuật phát ngƣời (upright people) dựa theo phƣơng pháp trƣợt cửa sổ (sliding window) để phát ngƣời ảnh tĩnh video Trích rút đặc trƣng HOG (Histogram of Oriented Gradients) từ đối tƣợng mẫu; dùng thuật toán SVM (Support Vector Machines) để thực phân loại - i tượng khách thể nghiên cứu ối tƣợng nghiên cứu: ề tài nghiên cứu giải thuật trích rút đặc trƣng HOG, huấn luyện mơ hình SVM, phát ngƣời ảnh tĩnh video - Khách thể nghiên cứu: ề tài sử dụng liệu chuẩn INRI gồm huấn luyện 2416 mẫu ảnh positive (ngƣời) 2215 mẫu ảnh negative (không phải ngƣời) cho phân loại SVM tuyến tính, test 1126 mẫu ảnh positive 1131 mẫu ảnh negative dùng phần mềm Matlab Giả thuyết nghiên cứu Giải thuật phát ngƣời ảnh tĩnh video đƣợc nghiên cứu s giúp hiểu đƣợc nguyên lý tự động phát ngƣời b ng thị giác máy tính hệ thống giám sát an ninh Nhiệm vụ nghiên cứu Tìm hiểu lý thuyết trích rút đặc trƣng HOG Tìm hiểu phƣơng pháp học máy SVM huấn luyện mơ hình ứng dụng phân lớp, nhận dạng Xây dựng chƣơng trình trích rút đặc trƣng HOG huấn luyện mẫu b ng SVM Xây dựng chƣơng trình phát ngƣời ảnh tĩnh video dựa theo phƣơng pháp trƣợt cửa sổ Tóm tắt nội dung viết báo cáo Phương pháp nghiên cứu Phƣơng pháp phân tích lý thuyết: Nghiên cứu tài liệu để tìm hiểu tổng quan vấn đề nghiên cứu; tìm hiểu phƣơng pháp trích rút đặc trƣng HOG phƣơng pháp học máy SVM Phƣơng pháp thực nghiệm: - Xây dựng chƣơng trình phát ngƣời ảnh tĩnh video dựa theo phƣơng pháp trƣợt cửa sổ Việc mô xử lý liệu kết đƣợc thực phần mềm Matlab, phiên R2016a Phạm vi ảnh hưởng ề tài nghiên cứu giải thuật phát ngƣời ảnh tĩnh video dựa theo phƣơng pháp trƣợt cửa sổ, giới thiệu cho sinh viên Khoa iện – iện tử ứng dụng xử lý ảnh giám sát an ninh, lĩnh vực chuyên môn chuyên ngành k thuật điện tử hương : SỞ Ý U N 1.1 Vector gradient ảnh 1.1.1 Vector gradient Gradient hàm hai biến f hàm vectơ f đƣợc xác định bởi: f ( x, y) f x ( x, y), f y ( x, y) f f i j x y (1.1) Trong đó, đạo hàm riêng f x' f y' đƣợc xác định [2]: f x' ( x0 , y0 ) lim f ( x0 , y0 ) f ( x0 h, y0 ) h (1.2) f y' ( x0 , y0 ) lim f ( x0 , y0 ) f ( x0 , y0 h) h (1.3) h0 h0 ác đạo hàm riêng f x' f f f y' biểu thị tỉ lệ thay đổi f(x,y) theo y x phƣơng x theo phƣơng y, tức theo hƣớng vector đơn vị i j Nếu vector đơn vị u hợp với phần dƣơng trục x góc θ u= ạo hàm theo hƣớng vector u phép chiếu vô hƣớng vector gradient lên u: Du f ( x, y) f f f cos sin u x y (1.4) y u sinθ (x0,y0) θ cosθ o x Hình 1.1 ạo hàm theo hƣớng vector u kích thƣớt cố định Sau dùng giải thuật daboost để chọn khối thích hợp cho phát dùng khối đƣợc chọn để xây dựng tầng cuối để nhận dạng ngƣời Thực nghiệm tập liệu INRI [14], kết tác giả cho thấy làm tăng đáng kể tốc độ xử lý mà giữ đƣợc xác phát nhƣ phƣơng pháp trích rút đặc trƣng HOG gốc Ning He [15] (2008) đƣa phƣơng pháp lý thuyết không gian tỉ lệ (Scale Space) tích hợp với trích rút đặc trƣng HOG đƣợc gọi biểu đồ gradient hƣớng không gian tỉ lệ (SS-HOG) đƣa vào SVM tuyến tính để phân loại Thực nghiệm liệu ngƣời INRI , SS-HOG cho kết phát tốt HOG gốc Guangyua Zhang [16] (2010) đƣa phƣơng pháp tối ƣu hóa cách dùng đặc trƣng HOG phân loại SVM cải thiện tốc độ phát ngƣời Daimeng Wei [17] (2013) đƣa phƣơng pháp cải thiện đặc trƣng HOG b ng cách liên kết đặc trƣng đƣợc tăng cƣờng thêm vào để thu đƣợc nhiều thông tin từ đối tƣợng đƣợc gọi EHOG (Enhanced HOG) Vector đặc trƣng đƣợc đƣa vào HIKSVM (Histogram Intersection Kernel Support Vector Machine) để phân loại 2.1 Giải pháp nghiên cứu ầu tiên, tác giả tìm hiểu sở lý thuyết trích rút đặc trƣng HOG phân loại SVM Tiếp theo nghiên cứu giải thuật phát ngƣời cuối thực nghiệm – đánh giá 23 hương : ẾT QU NG N ỨU 3.1 Sơ đồ bước thực nh/Video Bộ phân loại SVM nhị phân Trích rút đặc trưng OG Phát người Xác định vị trí người ảnh/video Hệ thống phát ngƣời Hình 3.1 Sơ đồ bƣớc thực phát ngƣời 3.2 Trích rút đặc trưng OG Trích rút đặc trƣng HOG dùng phần mềm matlab, với hàm kèm theo Tính gradient ảnh ngõ vào theo tọa độ cực hƣớng từ 00 đến 1800 Nếu ảnh vào ảnh RG , gradient đƣợc tính cho kênh trả độ lớn hƣớng tƣơng ứng vector gradient cho pixel Hàm compute_gradient.m – Ngõ vào: ảnh để tính gradient Ngõ ra: hƣớng độ lớn vector gradient cho pixel hia ảnh ngõ vào thành cell có kích thƣớc cụ thể, tính tọa độ cell Hàm compute_cell_coordinates.m – Ngõ vào: ảnh để tách thành cell, kích thƣớc cell x kích thƣớc cell y Tính mơ tả HOG ảnh ngõ vào với tham số cụ thể Gọi hàm tính gradient hàm tính tọa độ cell, thực tính histogram chuẩn hóa block Hàm compute_HOG.m – Ngõ vào: ảnh để trích đặc trƣng HOG, kích thƣớc cell theo pixels, kích thƣớc block theo cells số bin histogram Ngõ ra: mô tả đặc trƣng HOG ảnh dạng vector cột 3.3 Huấn luyện test phân loại nhị phân Thư viện libSVM Nhiều gói SVM có sẵn nhƣng libSVM gói phổ biến hồn chỉnh Nó thƣ viện nguồn mở đƣợc phát triển ại học quốc gia ài loan (National Taiwan University), b ng ngôn ngữ C++ hỗ trợ phân loại Nó 24 phần mềm miễn phí [10, 11] cho phép sử dụng phạm vi rộng ngôn ngữ ode đƣợc chuyển thành ngôn ngữ matlab cho phân loại tham số cấu trúc Dữ liệu huấn luyện test SVM: Phát ngƣời hay phát đối tƣợng nói chung trở thành mục tiêu lĩnh vực học máy, vài tập liệu đƣợc tìm thấy Internet Hai tập liệu nỗi tiếng cho phát ngƣời tập liệu MIT (Massachusetts Institute of Technology) INRI (French National Institute for Research in Computer Science and Control) ề tài sử dụng tập liệu INRIA [14] Tập liệu đƣợc chia thành hai định dạng: ảnh gốc với file thích tƣơng ứng ảnh positive định dạng 64x128 chuẩn ảnh negative gốc 1126 ảnh testing positive 70x134 chuẩn hóa lấy trung tâm (dùng để test SVM) 2416 ảnh training positive 96x160 chuẩn hóa lấy trung tâm (dùng để huấn luyện SVM) 1218 ảnh training negative gốc (dùng để huấn luyện SVM) 614 ảnh training positive gốc 453 ảnh testing negative gốc (dùng để test SVM) 288 ảnh testing positive gốc (dùng để test detector) 970 Megabytes nén, 1150 Megabytes không nén uấn luyện phân loại nhị phân dùng mô hình libSVM Huấn luyện phân loại libSVM nhị phân, với hàm kèm theo ọc tham số khác (từ file.mat) Hàm get_params.m – Ngõ vào: đƣờng dẫn đến file tham số Ngõ ra: đƣa tất tham số đến giá trị thực Lấy ảnh theo ý muốn cho ảnh negative ngõ vào Hàm get_negative_windows.m –Ngõ vào: Hai đƣờng dẫn lần lƣợt đến thƣ mục ảnh negtives gốc thƣ mục ảnh negtives lấy đƣợc Ngõ ra: thƣ mục chứa ảnh negtives lấy đƣợc 25 Hình 3.2 Một vài ảnh positive huấn luyện tập liệu INRI Truy vấn tất tập thƣ mục ảnh positive negative theo đƣờng dẫn Hàm get_files.m –Ngõ vào: số đƣờng dẫn ảnh positive mong muốn, số đƣờng dẫn ảnh negative mong muốn (-1 trƣờng hợp yêu cầu tất ảnh thƣ mục) mảng cell chứa đƣờng dẫn lần lƣợt đến thƣ mục chứa ảnh positive ảnh negative Trong trƣờng hợp không cho đƣờng dẫn cửa sổ nhắc nhở đƣờng dẫn cho hai thƣ mục Ngõ ra: Hai danh sách chứa đƣờng dẫn đến ảnh positives negatives Hàm convert2gray.m – dùng để lƣu phiên tỉ lệ 26 xám ảnh vào thƣ mục cụ thể Thƣờng thu đƣợc dãy ảnh xám từ ảnh RG dãy huấn luyện dãy test từ liệu ngƣời INRI Tính ma trận mơ tả cho tất ảnh ngõ vào get_feature_matrix.m –Ngõ vào: Hàm ƣờng dẫn đến ảnh positive ảnh negatives Tất tham số window đƣợc đọc từ file window params Ngõ ra: nhãn; vector cột với loại cho phần tử vào, ma trận huấn luyện; ma trận mô tả / ma trận đặc trƣng số hàng b ng với số phần tử vào số cột b ng với số số chiều vector đặc trƣng Kiểm tra tính hợp lệ (cross validation) mơ hình SVM Tìm tất khơng gian tham số, trả cấu hình tốt Hàm cross_validate.m – Ngõ vào: loại hàm nhân (R F linear dạng string), phạm vi cost gamma, ma trận huấn luyện (càng nhiều hàng số phần tử huấn luyện nhiều, nhiều cột số chiều HOG nhiều) Một vector cột gán nhãn cụ thể loại phần tử huấn luyện đƣờng dẫn lƣu mơ hình Ngõ ra: tham số tốt theo định dạng libSVM huỗi đại diện cho dãy ề tài dùng 2416 mẫu ảnh positive 2215 mẫu ảnh negative, dùng hàm nhân „linear‟ với khoảng cost từ -2 đến 28 cho cấu hình tốt với độ xác 97 2792% Huấn luyện mơ hình libSVM Tìm mơ hình tốt b ng cách đọc cấu hình huấn luyện từ file tham số huấn luyện gồm loại hàm nhân, phạm vi cost gamma cụ thể Sau đọc cấu hình, đọc tất ảnh đƣợc tìm thấy thƣ mục có đƣờng dẫn tính HOGs chúng Một mơ hình đƣợc xây dựng dựa vào nhãn ma trận huấn luyện mơ tả Mơ hình sau đƣợc lƣu theo đƣờng dẫn cụ thể Ngồi ra, file nhật ký kiểm tra tính đắn (cross-validation) đƣợc lƣu vào đƣờng dẫn Mỗi dòng cụ thể cấu hình tham số hàm nhân hành độ xác đạt đƣợc Hàm train_svm.m – Ngõ vào: tên mơ hình, đƣờng dẫn lƣu mơ hình đƣờng dẫn ảnh, trƣờng hợp khơng có đƣờng dẫn, cửa sổ nhắc nhở chúng giống nhƣ hàm svm.m Ngõ ra: cấu trúc mơ hình libSVM 27 Test dùng phân loại SVM nhị phân ể xác định tính hiệu mơ hình phân loại, cần quan tâm hai yếu tố sau: Thứ quan trọng chọn mẫu test không đƣợc n m tập mẫu huấn luyện (training) ể test hiệu suất thực mô hình, ta cần biết phân loại nhƣ với liệu chƣa biết, điều cho ta trực quan khả tổng qt hóa mơ hình đƣợc huấn luyện Thứ hai, thiết lập mối quan hệ số mẫu lớp, thƣờng dùng số mẫu lớp nhƣ Tuy nhiên số trƣờng hợp đặc biệt cần dùng liệu lệch để phục vụ mục đích đo lƣờng cụ thể Thực test phân loại libSVM nhị phân, với hàm kèm theo ọc tham số khác (từ file.mat) Hàm get_params.m – Ngõ vào: đƣờng dẫn đến file tham số Ngõ ra: đƣa tất tham số đến giá trị thực Truy vấn window có kích thƣớc cụ thể từ ảnh Hàm get_window.m – Ngõ vào: ảnh để xử lý, chiều rộng chiều cao mong muốn window phƣơng pháp trích rút ác phƣơng pháp chọn lấy trung tâm hay lấy ngẫu nhiên, phƣơng pháp lấy trung tâm trích rút window ảnh có kích thƣớc cụ thể từ ảnh ngõ vào, phƣơng pháp lấy ngẫu nhiên trích rút window hợp lệ có kích thƣớc cụ thể từ ảnh ngõ vào Ngồi cịn có phƣơng pháp lấy window từ tọa độ upper-left cho trƣớc Ngõ ra: window trích rút đƣợc Test mơ hình libSVM cho trƣớc ho trƣớc đƣờng dẫn tìm đến thƣ mục ảnh positive negative, đọc tất ảnh, trích đặc trƣng mơ tả HOG phần tử và phân loại ảnh để so sánh với loại cho trƣớc uối tính tất đo lƣờng b ng số (đƣợc giải thích phần test SVM) Hàm test_svm.m – Ngõ vào: ƣờng dẫn đến mơ hình, đƣờng dẫn đến thƣ mục ảnh positive negative Trƣờng hợp khơng có đƣờng dẫn, cửa sổ nhắc nhở cho đƣờng dẫn đến thƣ mục Ngõ ra: cấu trúc tất đo lƣờng b ng số (đƣợc giải thích phần test SVM) 28 Test 1126 mẫu ảnh positive 1131 mẫu ảnh negative Kết nhƣ sau: OKs KOs FP FN TP TN 2150 107 100 1119 1031 Trong đó: OKs: số phân loại KOs: số phân loại sai FP: số false positive FN: số false negative TP: số true positive TN: số true negative V đƣờng cong RO Hàm plot_ROCcurve.m - Một cửa sổ nhắc nhở cho file mơ hình SVM thƣ mục chứa ảnh huấn luyện positive negative V đo lƣờng độ xác (accuracy) theo chức ngƣỡng phân loại V đo lƣờng recall, precision F-score Hàm plot_reject_curves.m – Ngõ vào: mơ hình libSVM thƣ mục ảnh vào Ngõ ra: bỏ trống 3.4 Xây dựng phát người ảnh tĩnh ùng hệ thống window trƣợt kết hợp phân loại nhị phân huấn luyện ho ảnh, lấy ảnh tỉ lệ ảnh tạo thành hình chóp khơng gian tỉ lệ window phát 64x128 ngƣời đƣợc mơ tả có chiều cao trung bình 100 pixels Trƣợt window quét qua tất mức tỉ lệ hình chóp khơng gian tỉ lệ tất vị trí ảnh So sánh vùng chồng window phát gần để nhóm chúng thành nhóm ứ hai window có vùng chồng lớn tổng vùng đƣợc xem gần nhau, hai window đƣợc xem phát đối tƣợng p dụng loại bỏ không cực đại window phát lân cận biểu diễn window phát mạnh Phƣơng pháp trƣợt window trình bày hình chữ nhật màu đỏ khơng có ngƣời bên hình chữ nhật màu xanh với số tin cậy (percentage of confidence) có ngƣời bên Thực phát ngƣời, với hàm kèm theo 29 ọc tham số khác (từ file.mat) Hàm get_params.m – Ngõ vào: đƣờng dẫn đến file tham số Ngõ ra: đƣa tất tham số đến giá trị thực Tính số chiều hình chóp khơng gian tỉ lệ ảnh ngõ vào cho trƣớc Hàm get_pyramid_dimensions.m - Ngõ vào: ảnh để xử lý Tất tham số hình chóp đƣợc đọc từ file pyramid params Ngõ ra: số mức (level), tổng số window số window mức ác tham số đƣợc xác định gồm bƣớc trƣợt, hệ số tỉ lệ số chiều window đƣợc đọc từ file pyramid parameter Mặc định file đƣợc tìm thƣ mục gốc m khơng tìm thấy thƣ mục params nơi mà file m tồn Nếu hai cách khơng tìm thấy cửa sổ s nhắc nhở Theo tham số đƣợc đọc, hàm tính số window phát mà hình chóp có Tính tất HOGs từ hình chóp khơng gian tỉ lệ ảnh cho trƣớc tính cấu trúc hình chóp ảnh ngõ vào cho trƣớc tham số Hàm get_pyramid_hogs.m – Ngõ vào: ảnh ngõ vào, kích thƣớc mơ tả, hệ số tỉ lệ hình chóp mức bƣớc trƣợt window Ngõ ra: HOGs cho window, tất window hình chóp, số window mức tọa độ window Tính tất ảnh window hình chóp tọa độ ảnh ngõ vào cho trƣớc Hàm get_scale_space_pyramid_images.m – Ngõ vào: ảnh để xử lý Ngõ ra: hình chóp tỉ lệ; mảng cell chứa cấu trúc hình chop gồm tất window hình chóp khơng gian tỉ lệ, tọa độ; tọa độ upper-left cho window cấu trúc hình chop trả Tìm ngƣời tất ảnh thƣ mục cụ thể, v window quét qua tất trình trƣợt cho ảnh, nhắc đƣờng dẫn thƣ mục ảnh gọi window trƣợt v cho ảnh tìm thấy thƣ mục ảnh Hàm sliding_detector.m –Ngõ vào: mơ hình SVM Ngõ ra: bỏ trống V window trƣợt, đƣợc gọi từ hàm sliding detector Tính mơ tả phân loại window window phát trƣợt qua ảnh 30 Hàm draw_sliding_window.m – Ngõ vào: ảnh đƣợc xác định window phát mơ hình libSVM phân loại Ngõ ra: bỏ trống p dụng loại bỏ tất phát lân cận, lựa chọn phát có độ tin cậy cao Hàm non_max_suppression.m – Ngõ vào: tọa độ theo pixel window, đo lƣờng độ tin cậy window kích thƣớc window Ngõ ra: bỏ trống Tìm ngƣời tất ảnh thƣ mục cụ thể ho trƣớc mơ hình, u cầu thƣ mục để đọc ảnh mong muốn Sau tìm ngƣời ảnh, áp dụng loại bỏ không cực đại (non-maximum suppression) v hình chữ nhật giới hạn màu xanh cho vị trí thích hợp Hàm static_detector.m – Ngõ vào: mơ hình SVM Ngõ ra: bỏ trống Hình 3.3 Một vài kết phát ngƣời ảnh tĩnh 3.5 Phát người video ọc file video mp4, đọc số frames video, phát ngƣời video dùng hàm hỗ trợ matlab, vision.PeopleDetector dùng phƣơng pháp step–hàm Phong_nhandang.m 31 Hình 3.4 Một vài kết phát ngƣời video 3.6 ánh giá ết từ phân loại SVM Phân loại nhị phân ngõ đƣợc gắn nhãn positive (p) negative (n) ó ngõ từ phân loại nhị phân Nếu ngõ từ phân loại dự đoán p giá trị thực tế p đƣợc gọi true positive (TP); nhiên giá trị thực tế n đƣợc gọi false positive (FP) Ngƣợc lại, true negative (TN) xảy giá trị dự đoán giá trị thực tế n, false negative (FN) ngõ từ phân loại dự đoán n giá trị thực tế p ác đo lƣờng kiểm tra hiệu suất phân loại nhị phân [18, 19] gồm true positive rate (tỉ lệ positive đúng) (hay gọi recall, probability of detection, sensitivity), false positive rate (tỉ lệ positive sai) (hay gọi specificity, miss rate), precision F-score true _ positive _ rate recall TP TP FN (3.1) false _ positive _ rate FP FP TN (3.2) 32 precision TP TP FP (3.3) Giá trị precision đo tỉ lệ mẫu positive thực chất phát đƣợc tồn số positive ban đầu nhƣng khơng đề cập đến mẫu negative đƣợc phân loại thành positive Mặt khác, giá trị recall đo tỉ lệ mẫu positive thực chất phát đƣợc toàn số positive trả nhƣng không đề cập đến mẫu positive bị phân loại sai Một loại đo lƣờng kết hợp precision recall gọi F1score đo lƣờng trung bình, điều hịa hai đại lƣợng thƣờng đƣợc dùng để so sánh mơ hình khác Giá trị tốt F1score 1, giá trị xấu F1score precision recall precision recall (3.4) Theo số liệu thu đƣợc đề tài: recall positives negatives positives TP=1119 FP=100 negatives TN=1031 FN=7 oks=2150 kos=107 TP 1119 0.993783 TP FN 1119 precision TP 1119 0.917965 TP FP 1119 100 F1score 0.917965 x0.993783 0.95437057 0917965 0.993783 ường cong RO (Receiver Operating haracteristic): Trong phân loại nhị phân, dự đoán mẫu dựa vào biến ngẫu nhiên liên tục X gọi score/confidence đƣợc tính mẫu ho trƣớc tham số ngƣỡng T, mẫu đƣợc phân loại positive X>T ngƣợc lại loại negative X theo mật độ xác suất f1(x) mẫu thực chất thuộc loại positive f0(x) ngƣợc lại o tỉ lệ positive (true positive rate) đƣợc 33 T T cho bởi: TPR(T ) f1 ( x)dx tỉ lệ positive sai đƣợc cho bởi: FPR(T ) f ( x)dx ƣờng cong RO [18, 19] v TPR vói FPR theo tham số ngƣỡng T tham số biến đổi (Mỗi điểm đƣờng cong RO score) tƣơng ứng với ngƣỡng iều chỉnh T dẫn đến điều chỉnh TPR FPR Khi đƣờng cong RO đƣờng chéo s dự đoán ngẫu nhiên (không phân biệt đƣợc mẫu thuộc loại nào), true positive rate b ng false positive rate So sánh đƣờng cong RO [18] nhƣ hình 5a ƣờng gần phía trên, bên trái mặt phẳng tọa độ tốt, đƣờng chéo khơng có giá trị cong ROC thu đƣợc theo số liệu đề tài nhƣ hình 5b (a) (b) Hình 3.5 So sánh đƣờng cong ROC 34 ƣờng hương IV: 4.1 ẾT U N VÀ ẾN NG Ị ết luận - Trên sở nghiên cứu toán phát ngƣời, đặc biệt mô tả đặc trƣng HOG mơ hình phân loại SVM, tác giả xây dựng thành cơng chƣơng trình phát ngƣời (upright) ảnh tĩnh chƣơng trình phát ngƣời video với hỗ trợ phần mềm matlab ây bƣớc đầu để phát triển, ứng dụng toán phát ngƣời (pedestrian - detection) sau ên cạnh đó, q trình xây dựng chƣơng trình, tác giả tìm hiểu thƣ viện libSVM sử dụng liệu training để huấn luyện phân loại test mẫu độc lập dƣới gốc độ nghiên cứu toán nhận dạng, phát ngƣời mặt dù việc phát ngƣời đƣợc tích hợp sẵn phát phần mềm matlab nhƣ phần mềm khác - Về chƣơng trình demo, độ xác phát cịn thách thức số mẫu huấn luyện cịn so với số mẫu dùng ứng dụng thực tế ên cạnh đó, tốc độ chƣơng trình phát ngƣời video thách thức xây dựng b ng phần mềm matlab, tác giả dùng hàm đƣợc matlab hỗ trợ để thực demo chƣơng trình 4.2 iến nghị - ề tài hoàn thành yêu cầu đề ban đầu ây tiền đề để phát triển toán phát ngƣời (upright) ứng dụng sau - ó thể nghiên cứu kết hợp mô tả HOG với mô tả khác để cải thiện tốc độ độ xác phát 35 T UT M O [1] Sanja Fidler, Object Detection Sliding Windows, CSC420: Intro to Image Understanding [2] Section 12.6: Directional Derivatives and the Gradient Vector Recall Internet: http://www.math.tamu.edu/~glahodny/Math251/Section%2012.6.pdf, 7/9/2017 [3] Chris McCormick, HOG Person Detector Tutorial, 2013 [4] Bill Triggs, Navneet Dalal, "Histograms of Oriented Gradients for Human Detection", 2005 IEEE Conference on Computer Vision and Pattern Recognition, vol 01, no , pp 886-893, 2005 [5] Vladimir N Vapnik, Statistical Learning Theory, Copyright © 1998 by John Wiley & Sons, Inc All rights reserved [6] Martin Law, A Simple Introduction to Support Vector Machines, Lecture for CSE 802, Department of Computer Science and Engineering, Michigan State University, 2011 [7] Burges, C J C, A tutorial on support vector machines for pattern recognition Data Mining and Knowledge Discovery, 2, (1998),121–167 [8] Henok Girma, A Tutorial on Support Vector Machine, Center of expermental mechanichs University of Ljubljana, 2009 [9] B Schoelkopf and A.J Smola Learning with Kernels MIT Press, Cambridge, MA,2002 [10] luthuli.cs.uiuc.edu/~daf/cv2e-site/detectingextracts.pdf, chapter 17 Detecting Objects in Images [11] Navneet Dalal, Finding People in Images and Videos, thesis, 2006 [12] Hồ Quốc Thiền, Giám sát an ninh dùng kỹ thuật xử lý hình ảnh, Luận văn thạc sĩ, Trƣờng ại học sƣ phạm k thuật TPH M, 2016 [13] Qiang Zhu, Mei-Chen Yeh, Kwang-Ting Cheng and S Avidan, "Fast Human Detection Using a Cascade of Histograms of Oriented Gradients," 2006 IEEE 36 Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06), 2006, pp 1491-1498 [14] INRIA Person Dataset Internet: http://pascal.inrialpes.fr/data/human/, 7/7/2017 [15] Ning He, J Cao and L Song, "Scale Space Histogram of Oriented Gradients for Human Detection," 2008 International Symposium on Information Science and Engineering, Shanghai, 2008, pp 167-170 [16] G Zhang, F Gao, C Liu, W Liu and Huai Yuan, "A pedestrian detection method based on SVM classifier and optimized Histograms of Oriented Gradients feature," 2010 Sixth International Conference on Natural Computation, Yantai, Shandong, 2010, pp 3257-3260 [17] D Wei, Y Zhao, R Cheng and G Li, "An enhanced Histogram of Oriented Gradient for pedestrian detection," Intelligent Control and Information Processing (ICICIP), 2013 Fourth International Conference on, Beijing, 2013, pp 459-463 [18] Sensitivity and specificity Internet: https://en.wikipedia.org/wiki/Receiver_operating_characteristic, 7/9/2017 [19] Kristen Grauman UT-Austin, Sliding window detection, 2009 37