Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,52 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỂN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN PHÁT HIỆN BÀN TAY TRONG VIDEO DỰA TRÊN KỸ THUẬT HỌC SÂU VÀ THEO VẾT Sinh viên thực : Nguyễn Đình Hà Lớp: KSCLC HTTT&TT – K58 Giáo viên hướng dẫn: PGS TS Trần Thị Thanh Hải HÀ NỘI 6-2018 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: Nguyễn Đình Hà Điện thoại liên lạc 0969538900 Email: nguyenha.pfiev@gmail.com Lớp: KSCLC Hệ thống thông tin truyền thông K58 Hệ đào tạo: KSCLC-TN-TT Đồ án tốt nghiệp thực tại: Viện nghiên cứu quốc tế MICA – Trường Đại học Bách khoa Hà Nội Thời gian làm ĐATN: Từ ngày 19/1/2018 đến 28/05/2018 Mục đích nội dung ĐATN Nghiên cứu kỹ thuật phát phân vùng đối tượng bàn tay ảnh Các nhiệm vụ cụ thể ĐATN - Tìm hiểu toán phát phân vùng đối tượng bàn tay video hướng giải - Tìm hiểu thử nghiệm kỹ thuật mạng neuron tích chập nhằm phát phân đoạn vùng bàn tay (Mask R-CNN) - nghiên cứu thử nghiệm kỹ thuật theo vết Mean Shift để nâng cao độ xác giải thuật Mask R-CNN - Đánh giá độ xác, ưu nhược điểm kỹ thuật nghiên cứu Lời cam đoan sinh viên: Tơi – Nguyễn Đình Hà - cam kết ĐATN cơng trình nghiên cứu thân hướng dẫn PGS.TS Trần Thị Thanh Hải Các kết nêu ĐATN trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày tháng năm Tác giả ĐATN Nguyễn Đình Hà Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn PGS.TS Trần Thị Thanh Hải Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Bài toán phát phân đoạn vùng bàn tay ảnh có nhiều ứng dụng hệ thống thông minh hệ thống nhận dạng cử tay nhằm điều khiển thiết bị điện gia dụng nhà thông minh Vấn đề đặt tốn phát có hay khơng đối tượng bàn tay (hand detection), có xác định vùng bàn tay ảnh (hand segmentation) Trong thời gian gần đây, có số mơ hình giải tốt cho tốn phát phân vùng đối tượng nói chung dựa kỹ thuật học sâu tiên tiến Fast R-CNN, Faster R-CNN, Mask R-CNN Trong khuôn khổ ĐATN, em tìm hiểu kiến trúc mạng Mask R-CNN Đây kiến trúc mạng neuron sâu cho kết phân đoạn tốt lớp đối tượng ảnh người, xe, vật Tuy nhiên chưa có cơng việc sử dụng mạng Mask R-CNN cho toán phát phân vùng bàn tay ảnh video ĐATN em nghiên cứu đánh giá tính khả thi kiến trúc Mask R-CNN để giải toán phát phân vùng bàn tay pha tiền xử lý hệ thống nhận dạng cử hồn Các nghiên cứu thực nghiệm cho thấy Mask R-CNN làm việc tốt bàn tay xuất trực diện trước khung hình camera, khơng bị che khuất trùng lấp vùng ảnh có tính chất màu da (mặt người) Để khắc phục thách thức này, ĐATN mình, em nghiên cứu áp dụng giải thuật Meanshift để theo vết bàn tay nhằm loại bỏ phát thừa bổ sung phát thiếu Việc kết hợp Mask R-CNN với giải thuật tracking cho hiệu phát cao Mask R-CNN nguyên Các đánh giá thực nghiệm triển khai CSDL đa thể thức đa góc nhìn cử động bàn tay, thu thập Viện MICA Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trần Thị Thanh Hải hướng dẫn ân cần, tận tình, kiên nhẫn với em tạo động lực cho em khoảng thời gian thực đồ án tốt nghiệp Em xin chân thành cảm ơn Viện Nghiên cứu Quốc tế MICA tạo cho em môi trường thuận lợi để học tập nghiên cứu Em xin gửi lời cảm ơn đến tất thầy cô Viện CNTT nói riêng thầy Trường Đại học Bách khoa Hà Nội nói chung truyền đạt cho em kiến thức cần thiết suốt thời gian học giảng đường Em xin gửi lời cảm ơn đến tất bạn lớp đồng hành em suốt thời gian học tập làm việc, giúp đỡ động viên em nhiều Em xin gửi lời cảm ơn đến gia đình ln quan tâm, ủng hộ hết lòng vật chất tinh thần suốt thời gian qua Do thời gian kiến thức có hạn nên khơng tránh khỏi thiếu sót định Em mong nhận đóng góp q báu thầy bạn Cuối cùng, em xin gửi lời chúc sức khỏe, hạnh phúc tới thầy cơ, gia đình bạn bè Hà Nội, ngày tháng năm 2018 Sinh viên Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ MỞ ĐẦU 10 CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ PHÂN VÙNG ĐỐI TƯỢNG BÀN TAY VÀ VẤN ĐỀ ĐẶT RA VỚI ĐỒ ÁN 12 1.1 Ngữ cảnh toán 12 1.2 Các thành phần hệ thống phát phân vùng đối tượng 14 1.3 Một số nghiên cứu liên quan phát phân đoạn bàn tay người ảnh 15 1.3.1 Hướng tiếp cận phát đối tượng bàn tay ảnh dựa vào đặc trưng thiết kế tay 16 1.3.2 Hướng tiếp cận biểu diễn phát phân vùng dựa kỹ thuật học sâu 16 1.3.3 Nhận xét chung 18 1.4 Mục tiêu đồ án 18 CHƯƠNG 2: KỸ THUẬT HỌC SÂU MASK R-CNN VÀ THUẬT TOÁN THEO VẾT MEAN SHIFT 20 2.1 Giới thiệu chung mạng nơ ron tích chập 20 2.1.1 Mạng nơ ron 20 2.1.2 Mạng nơ ron tích chập 21 2.1.3 Kiến trúc CNN cho toán nhận dạng phân vùng đối tượng 23 2.2 Mạng Mask R-CNN 26 2.3 Thuật toán Mean shift theo vết đối tượng 31 CHƯƠNG 3: Triển khai mô đun nhận dạng đánh giá thử nghiệm 33 3.1 Mơ hình đề xuất nghiên cứu 33 3.1.1 Quá trình huấn luyện Mask R-CNN 34 3.1.2 Cài đặt module huấn luyện Mask R-CNN 37 3.2 Kết thí nghiệm 37 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT 3.2.1 Kết huấn luyện với ảnh resize kích cỡ 256x256 (1) 38 3.2.2 Kết huấn luyện với ảnh crop kích cỡ 256x256 39 3.2.3 Kết huấn luyện ảnh gốc góc nhìn 40 3.2.4 Kết có áp dụng thuật toán tracking 42 CHƯƠNG 4: KẾT LUẬN 44 4.1 Kết đạt 44 4.2 Những điểm hạn chế 44 4.3 Hướng phát triển 44 TÀI LIỆU THAM KHẢO 45 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT DANH MỤC HÌNH ẢNH Hình 1: Sơ đồ bố trí Kinect thu thập liệu cử người điều khiển góc nhìn khác 13 Hình 2: Minh họa đầu vào đầu toán phát phân vùng đối tượng bàn tay 13 Hình Sơ đồ tổng thể hệ thống áp dụng học máy (https:machinlearningcoban.com) 15 Hình Kiến trúc mạng CNN [9] 17 Hình 5: Sơ đồ khối chung hệ thống 19 Hình 6: Minh họa mạng nơ ron người (từ Rob Fergus) 20 Hình 7: Mạng nơ ron nhiều tầng 21 Hình 8: Kết nối tầng mạng nơ ron truyền thống 22 Hình 9: Kết nối tầng mạng nơ ron tích chập 22 Hình 10: Các bước mạng neuron tích chập 23 Hình 11: Cấu trúc mạng R-CNN [13] 23 Hình 12: Kiến trúc Fast R-CNN 25 Hình 13: Hoạt động Spatial pyramid pooling 25 Hình 14: Kiến trúc Faster R-CNN 26 Hình 15: Kiến trúc Mask R-CNN 27 Hình 16: Giải thích kiến trúc Mask R-CNN (Medium.com) 27 Hình 17: Cách hoạt động mạng tích chập đầy đủ 28 Hình 18: Mô tả cách hoạt động khối deconvolution unpooling 28 Hình 19: Max Pooling 29 Hình 20: Mơ tả phương pháp RoIAlign 30 Hình 21: Kiến trúc backbone Mask R-CNN 30 Hình 22: Mạng kim tự tháp 31 Hình 23: Ví dụ thuật tốn Mean shift (opencv docs) 32 Hình 24: Sơ đồ thuật tốn mơ hình đề xuất 33 Hình 25: Chuẩn bị liệu 35 Hình 26: Giá trị hàm mát trình huấn luyện 36 Hình 27: Một số trường hợp nhận dạng sai mạng 39 Hình 28: So sánh kết phân vùng mơ hình ảnh resize ảnh gốc 42 Hình 29: Thuật tốn Mean Shift áp dụng tăng độ xác cho Mask R-CNN 42 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT DANH MỤC BẢNG Bảng 1: Kết thử nghiệm ảnh gốc 38 Bảng 2: Kết thử nghiệm với ảnh resize (256x256) 38 Bảng 3: Kết với ảnh crop kích thước 256x256 40 Bảng 4: Kết huấn luyện liệu Kinect 40 Bảng 5: Kết huấn luyện liệu Kinect 41 Bảng 6: Kết huấn luyện liệu Kinect 41 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt, thuật ngữ Từ đầy đủ CNN Convolutional Neural Networks RCNN Region-based Convolutional Neural Networks Mask RCNN Mask Convolutional Neural Networks FPN Feature Pyramid Network STIP Spatio-temporal interest points SPP Spatial Pyramid Pooling GPU Graphical Processing Unit RoI Region of Interest SVM Support Vector Machine Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT MỞ ĐẦU Trong ĐATN này, em tập trung giải toán phát phân vùng đối tượng bàn tay ảnh video Bài toán phát phân vùng đối tượng bàn tay pha quan trọng hệ thống nhận dạng hoạt động bàn tay người Mặc dù nghiên cứu rộng rãi từ vài thập kỉ gần nhiên nhiệm vụ thách thức với nhiều vấn đề đặt thay đổi điều kiện chiếu sáng, tốc độ chụp camera khác cử bàn tay nhanh đặc biệt bàn tay người có nhiều hình dạng, tư khác nhau, bàn tay cầm nắm vật dụng hay tương tác với tay lại Trong đồ án em tìm hiểu ứng dụng kỹ thuật học sâu tiên tiến, vốn hiệu toán phát phân đoạn đối tượng nói chung, chưa kiểm chứng đối tượng bàn tay với thách thức nêu Có nhiều kiến trúc học sâu đạt kết tốt cho việc giải toán phát hiện, phân đoạn đối tượng thời gian gần Trong đồ án em nghiên cứu phương pháp Mask R-CNN đề xuất tài liệu tham khảo [1] tác giả Kaiming He đồng nghiệp đề xuất Phương pháp đánh giá thực nghiệm tốt liệu dùng chung cộng đồng nghiên cứu COCO, ImageNet Để thực đối tượng bàn tay, em tìm hiểu huấn luyện lại mạng Mask R-CNN dựa tập mẫu tập cử bàn tay Kết thực nghiệm đánh giá CSDL đa thể thức đa góc nhìn gồm loại cử thực người khác môi trường tự nhiên Các kết thực nghiệm cho thấy giải thuật thực tốt camera góc nhìn trực diện có góc lệch khoảng 45 độ Khi góc nhìn lệch đến 90 độ, độ xác phát giảm nhanh chóng bàn tay bị che khuất nhiều, hình ảnh bàn tay mờ chuyển động (motion blur) bàn tay vị trí gần với khn mặt có tính chất màu da tương tự Để cải thiện kết phát tình vậy, em ứng dụng kỹ thuật theo bám đối trượng Mean Shift đề xuất [2] Giải thuật cho phép theo vết đối tượng (bàn tay) ảnh không phát giải thuật Mask RCNN, khắc phục tượng phát thiếu loại bỏ số trường hợp phát nhầm Đề tài em thực phòng Computer Vision, Viện MICA hướng dẫn PGS.TS Trần Thị Thanh Hải Trong đồ án tốt nghiệp này, em trình bày theo chương: 10 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT CHƯƠNG 3: TRIỂN KHAI MÔ ĐUN PHÁT HIỆN VÀ PHÂN ĐOẠN BÀN TAY 3.1 Mơ hình đề xuất nghiên cứu Mơ hình đề xuất em sử dụng Mask R-CNN với kiến trúc backbone FPN kết hợp với thuật toán tracking đối tương Mean-Shift để phát vùng bàn tay ảnh Sở đồ khối hệ thống sau: Hình 24: Sơ đồ thuật tốn mơ hình đề xuất Giải thích khối: 1- Phát đối tượng bàn tay mơ hình (4) 2- Khởi tạo cửa sổ theo vết dựa vào kết Mask R-CNN từ ảnh trước phát đối tượng 3- Mở rộng cửa sổ theo vết phát mơ hình (5) 4- Mơ hình Mask R-CNN huấn luyện lại từ trọng số tập liệu COCO với đối tượng bàn tay ảnh kích cỡ gốc (480x640) 5- Mơ hình Mask R-CNN huấn luyện lại từ trọng số tập liệu COCO với đối tượng bàn tay ảnh kích cỡ resize (256x256) Giải thích mơ hình: Với cơng cụ trình bày phần em xin đề xuất mơ hình kết hợp Mask R-CNN thuật toán theo vết đối tượng Mean shift để giải toán phát phân vùng đối tượng bàn tay ảnh: 33 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Em chuẩn bị mơ hình Mask R-CNN huấn luyện với đối tượng bàn tay: Một mơ hình coi mơ hình phụ em huấn luyện cách crop vùng bàn tay lại kích cỡ 256x256 tập huấn luyện đưa vào mô hình huấn luyện trộn lẫn (3 Kinect) Mơ hình thứ coi mơ hình đánh giá theo thí nghiệm cụ thể Trong mơ hình này, liệu huấn luyện thực với độ phân giải gốc Dữ liệu ảnh để kiểm thử hoàn toàn độc lập với tập huận luyện đọc vào cách để việc theo vết hoạt động Thuật tốn mean shift hoạt động cần khởi tạo cửa số đối tượng Nếu ảnh ban đầu chưa có khởi tạo cách lấy vào đối tượng có điểm số dự đoán cao coi đối tượng xác mà ta cần theo vết suốt video (hoặc chuỗi ảnh tuần tự) Việc khởi tạo dựa điểm số mạng dự đốn đơi sai em áp dụng ngưỡng để đảm bảo độ tin cho kết (trong trường hợp em sử dụng ngưỡng 0.96) Trong trình chạy cửa sổ bị xóa mà đối tượng khơng tìm thấy ảnh frame em tiến hành khởi tạo lại Do trình đánh giá kết phát riêng Mask R-CNN, số trường hợp Mask R-CNN không phát đối tượng nhiên crop vùng đối tượng với kích cỡ 256x256 cho vào mạng huấn luyện với ảnh cho kết xác em có sử dụng model crop cho việc phát frame thiếu Để đánh giá mức độ sai khác cửa sổ theo vết ứng viên dự đoán Mask R-CNN em so sánh tiêu chí khoảng cách tâm, độ sai khác màu sắc vùng thông độ sai khác giá trị màu H V không gian màu HSV điểm số dự đoán Mask R-CNN Do việc sai khác mặt đơn vị nên em chuẩn hóa chúng dạng tỉ lệ [0, 1]: D d H S Score 3.1.1 Quá trình huấn luyện Mask R-CNN Để huấn luyện mạng Mask R-CNN em có tham gia vào q trình chuẩn bị liệu tập liệu MICA với khoảng 3000 ảnh tổng số khoảng 15000 góc nhìn thu từ Kinect ảnh với cơng cụ (Interactive Segmentation Tool) ví dụ cho việc chuẩn bị liệu: 34 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Hình 25: Chuẩn bị liệu Hình bên trái ảnh gốc Hình bên phải vùng bàn tay tách khỏi Em sử dụng mơ hình pre-train tác giả tập liệu COCO để khởi tạo tham số mơ hình cho mạng Các bước huấn luyện sau: Bước 1: Chuẩn bị liệu ảnh màu ảnh nhị phân chứa vùng đối tượng ảnh màu tương ứng Bước 2: Tải trọng số Pre-train cấu hình tham số mạng Bước 3: Tải liệu lên tiến hành huấn luyện Bước 4: Lưu lại checkpoint để huấn luyện lại xảy lỗi Từ việc chuẩn bị liệu em có khoảng 15 000 ảnh Q trình huấn luyện mạng theo bước sau: - Huấn luyện lớp đầu với khoảng 40 000 bước lặp với giá trị learning rate 0.001 - Tiếp theo 80 000 bước lặp toàn mạng với giá trị learning rate 0.001 - 40 000 bước lặp huấn luyện toàn mạng với learning rate 0.0001 Trong q trình huấn luyện em có thử kích thước với ảnh đầu vào kích thước gốc 480x640 kích cỡ 256x256 sau resize Em thực thí nghiệm GPU GTX 1080 Ti với dung lượng Ram 12gb Với số lượng ảnh lớn huấn luyện mạng giới hạn dung lượng Ram em chọn cách thực trao đổi kích cỡ ảnh huấn luyện số lượng ảnh cho vào huấn luyện Trong trình thực đồ án em có thực thí nghiệm sau: Thí nghiệm 1: Huấn luyện Mask R-CNN với 9723 ảnh (dữ liệu người với 11 hành động khác nhau) góc nhìn khác trộn lẫn Đầu vào ảnh resize kích cỡ 256x256 Dữ liệu test: 1403 ảnh chia góc nhìn Thí nghiệm 2: Huấn luyện với số lượng ảnh crop lại kích với kích thước 256x256 lan từ tâm vùng bàn tay Thí nghiệm 3: Huấn luyện Mask R-CNN với khoảng 2200 ảnh (4 người với hành động khác góc nhìn K1, K3, K5) với độ phân giải gốc 35 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT (480x640) Dữ liệu từ người hành động độc lập tập huấn luyện sử dụng cho việc test Thời gian huấn luyện cho thí nghiệm khoảng 30 tiếng GPU với bước huấn luyện đề cập Giá trị hàm mất trình huấn luyện: Như nói phần mạng neuron q trình huấn luyện thực chất trình tối ưu hàm mát cho giá trị tới cực tiểu Trong Mask R-CNN giá trị hàm loss định nghĩa tổng giá trị loss khác nhau: Lcls: hàm mát dự đoán lớp Lbbox: giá trị mát dự đốn bao đóng Lmask: giá trị mát dự đoán phân vùng Loss = Lcls + Lbbox + Lmask Trong trình huấn luyện em thấy giá trinh hàm Loss hội tụ sau 160.000 bước lặp Minh họa cho biểu thị hàm loss trình huấn luyện mạng Mask R-CNN với thí nghiệm huấn luyện ảnh resize kích cỡ 256x256 em trình bày sau Các thí nghiệm khác đồ thị tương em khơng report thêm Commented [T1]: Mạng ? có nhiều thí nghiệm Hình 26: Giá trị hàm mát trình huấn luyện 36 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT 3.1.2 Cài đặt module huấn luyện Mask R-CNN Ngơn ngữ lập trình dùng cho việc thao tác liệu: Python ngôn ngữ lập trình scripting phổ biến thú vị Hơn hiệu việc xử lý liệu, dễ học, dễ làm dễ cài đặt Python ngôn ngữ phổ biến Cơng cụ xử lí ảnh Video em sử dụng Opencv việc xử dụng đơn giản Opencv hỗ trợ python numpy Cấu hình máy tính sử dụng để chạy thử nghiệm: 12 core CPU 2.5GHz, GPU GeForce GTX 1080 Ti, 12GB VRam Mơi trường lập trình python cần cài đặt python package cần thiết là: tensorflow, keras, opencv2, numpy Để sử dụng Mask R-CNN ta có lựa chọn framework : Tensorflow Caffe tại: http://caffe.berkeleyvision.org https://www.tensorflow.org/ Source code Mask R-CNN public tại: https://github.com/matterport/Mask_RCNN Hoặc với Caffe : https://github.com/facebookresearch/Detectron Trong đồ án em sử dụng framework Tensorflow Sau cài đặt gói python cần thiết framework ta tiến hành clone source từ github lệnh: git clone https://github.com/matterport/Mask_RCNN Tải trọng số mơ hình pre-train tại: https://github.com/matterport/Mask_RCNN/releases Chuẩn bị liệu ảnh màu nhị phân load toàn lên mạng tiến hành train Quá trình test làm tương tự với train thay đổi mode mơ hình từ training -> inference Thuật toán Tracking MeanShift ta sử dụng thư viện OpenCV3 để chạy 3.2 Kết thí nghiệm Các thí nghiệm em có kết gồm - Huấn luyện trộn lẫn góc nhìn ảnh resize kích cỡ 256x256, kiểm thử trộn lẫn ảnh gốc ảnh resize kích cỡ 256x256 - Huấn luyện trộn lẫn góc nhìn với ảnh crop kích cỡ 256x256 test ảnh crop kích cỡ 256x256 ảnh gốc - Huấn luyện tập liệu nhỏ với kích cỡ ảnh gốc với góc nhìn kiểm thử tất góc nhìn - Kết hợp thuật toán theo vết đối tượng để tăng độ xác mơ hình 37 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Trong thí nghiệm này, AP tỷ lệ vùng giao vùng hợp tạo vùng phát với groundtruth Thời gian tính tốn: Đối với nghiệm thời gian thử nghiệm ảnh GPU GTX 1080Ti Vram 12Gb: - Thử nghiệm trọng số huấn luyện từ Mask R-CNN tốc độ đạt khoảng 5fps - Thử nghiệm kết hợp thuật tốn theo vết theo mơ hình đề xuất tốc độ khoảng 3fp 3.2.1 Kết huấn luyện với ảnh resize kích cỡ 256x256 Như đề cập phần em huấn luyện với số lượng ảnh 11339 ảnh hỗn hợp Kinect 1, 3, test tập liệu 1599 ảnh thuộc góc nhìn 1, 3, có số lượng gần tương đương Có kết test ảnh resize kích cỡ 256x256 ảnh gốc : Kết thí nghiệm : Bảng 1: Kết thử nghiệm ảnh gốc K1 (458) K3 (458) K5 (487) K1 + K3 + K5 (1403) mAP 0.075 0.292 0.201 0.192 AP(0.5) 0.261 0.826 0.725 0.610 AP(0.6) 0.138 0.664 0.382 0.402 AP(0.7) 0.046 0.181 0.076 0.103 K5 (487) K1 + K3 + K5 Bảng 2: Kết thử nghiệm với ảnh resize (256x256) K1 (458) K3 (458) (1403) mAP 0.082 0.362 0.252 0.232 AP(0.5) 0.276 0.852 0.742 0.623 AP(0.6) 0.161 0.727 0.532 0.473 AP(0.7) 0.036 0.401 0.146 0.194 38 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Nhận xét: Từ kết ta thấy độ xác trên góc nhìn thứ thấp , góc nhìn thứ thứ có độ xác giá trị AP=0.5 chấp nhận Ta thu kết góc nhìn thứ bàn tay bị lẫn nhiều màu nền, thêm cử nhanh làm cho hình ảnh bị hiệu ứng mờ (motion blur) làm hệ thống không nhận dạng Một nguyên nhân ta resize ảnh huấn luyện đầu vào kích thước 256x256 làm cho thơng tin bị mát Thí nghiệm huấn luyện tất góc nhìn, sau 160 bước giá trị hàm loss cao nguyên nhân gây nên kết Với Mask R-CNN kết thử nghiệm cho thấy việc resize ảnh lúc thử nghiệm không gây nhiều sai khác kiến trúc có sử dụng mạng FPN Mặc dù kết thử nghiệm với kích thước ảnh resize kích cỡ 256x256 kích cỡ ảnh huấn luyện cho kết cao khoảng 4% Hình 27: Một số trường hợp nhận dạng sai mạng Trên hình số trường hợp nhận dạng sai mạng huấn luyện với kích cỡ ảnh crop 256x256 Màu vàng thể ground truth màu lại thể đối bàn tay phát mạng Nguyên nhân bàn tay bị lẫn mặt, nhận dạng nhầm tay lại bàn tay di chuyển nhanh gây nên hiệu ứng mờ (motion blur) 3.2.2 Kết huấn luyện với ảnh crop kích cỡ 256x256 Em tiến hành với tập liệu kết em đánh giá ảnh crop kích cớ 256x256 ảnh gốc Trong thí nghiệm em huấn luyện ảnh crop kích cỡ 256x256 với tâm trọng tâm vùng bàn tay phân vùng thủ công Trong trường hợp em báo cáo kết thử nghiệm với tập ảnh thuộc góc nhìn với trường hợp ảnh thử nghiệm crop kích thước 256x256 ảnh thử nghiệm giữ nguyên kích thước gốc 39 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Bảng 3:Kết với ảnh crop kích thước 256x256 Kích thước gốc Crop kích thước 256x256 mAP 0.04 0.756 AP(0.5) 0.18 0.993 AP(0.6) 0.08 0.986 AP(0.7) 0.018 0.940 Dễ nhận thấy ảnh kích cỡ ban đầu 480x640 so với ảnh crop thông tin bị nhiều so với ảnh gốc mà mơ hình cho kết tệ với ảnh kích cỡ gốc Tuy nhiên với ảnh crop lại kích cỡ 256x256 chứa vùng bàn tay khơng bị nhận nhầm Độ xác đạt tới 99% 3.2.3 Kết huấn luyện ảnh gốc góc nhìn Với ảnh gốc em huấn luyện góc nhìn riêng lẻ với số lượng ảnh tương đối nhỏ so với thí nghiệm khoảng 2000 ảnh kiểm thử khoảng 400 ảnh Kết sau: Bảng 4: Kết huấn luyện liệu Kinect K1 (458) K3(458) K5(487) Mean Shift mAP 0.335 0.495 0.432 0.42177584 AP(0.5) 0.701 0.862 0.800 0.78883552 AP(0.6) 0.584 0.819 0.734 0.72369723 AP(0.7) 0.421 0.647 0.549 0.51919942 Overlap 0.473609 0.49123127 40 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Bảng 5: Kết huấn luyện liệu Kinect K1 (458) K3(458) K5(487) Mean Shift mAP 0.180 0.5 0.586 0.542 AP(0.5) 0.470 0.920 0.971 0.970 AP(0.6) 0.352 0.889 0.949 0.942 AP(0.7) 0.182 0.696 0.784 0.732 Overlap 0.71332992 0.68871723 Bảng 6: Kết huấn luyện liệu Kinect K1 (458) K3(458) K5(487) Mean Shift mAP 0.182 0.586 0.650 0.649 AP(0.5) 0.443 0.950 0.981 0.982 AP(0.6) 0.359 0.936 0.973 0.974 AP(0.7) 0.213 0.805 0.901 0.892 0.745 0.789 Overlap Nhận xét: Từ bảng kết ta thấy việc sử dụng Mask R-CNN cho kết tốt thực huận luyện góc nhìn thử nghiệm góc nhìn Trên góc nhìn thứ sử dụng huấn luyện tập liệu chung cho góc nhìn cho kết nhiên ta kiểm nghiệm với tập liệu thuộc góc nhìn cho kết cao nhiều nhiên hạn chế so với góc nhìn lại Mask R-CNN cho độ xác tốt với đối tượng bàn tay góc nhìn trực diện (Kinect 5) lên đến 98% So sánh kết mơ hình huấn luyện với ảnh resize kích cỡ 256x256 mơ hình huấn luyện với ảnh gốc: 41 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Hình 28: So sánh kết phân vùng mơ hình ảnh resize ảnh gốc Hình 28a ảnh gốc, 28b kết mơ hình huấn luyện với ảnh resize, 28c kết với mô hình huấn luyện ảnh gốc góc nhìn Em nhận thấy với ảnh gốc kích cỡ 480x640 huấn luyện góc nhìn thứ gần với ground truth so với mơ hình ảnh resize Ảnh resize thường bị thiếu ngòn tay Điều cho thấy mơ hình huấn luyện ảnh kích thước gốc hiệu so với mơ hình huấn luyện kích cỡ ảnh resize độ xác phân vùng 3.2.4 Kết có áp dụng thuật tốn tracking Ở phần 3.2.3 em có thêm vào kết thử nghiệm áp dụng thuật toán theo vết đối tượng Mean Shift dễ thấy kết nâng lên so với kết bình thường Như cho thấy mơ hình đề xuất hiệu toán phát phân vùng đối tượng Bằng cách sử dụng kết hợp với thuật toán theo vết đối tượng em giải trường hợp không phát được, phát sai mơ hình Như số trường hợp hệ thống nhận diện nhầm vùng mặt vào đối tượng bàn tay, hệ thống nhận diện thiếu bàn tay vị trí đưa sang phải, sang trái Hình 29: Thuật tốn Mean Shift áp dụng tăng độ xác cho Mask R-CNN 42 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Trên hình 29a 29b kết phát video liên tiếp người thực hành động đưa tay sang trái ghi lại bới góc nhìn thứ với mơ hình Mask R-CNN huấn luyện với ảnh kích thước gốc (29a) mơ hình đề xuất kết hợp thuật tốn theo vết (29b) Hình 29c mô tả cửa sổ theo vết đối tượng bàn tay (hình chữ nhật màu xanh dương) Hình 29d thể trường hợp bàn tay không phát Mask R-CNN, nhiên thuật tốn theo vết tìm vị trí đối tượng bàn tay, em tiến hành mở rộng kích cỡ 256x256 (hình vng màu xanh dương) sử dụng mơ hình huấn luyện với ảnh Crop (mơ hình cho kết tốt với ảnh đối tượng crop lại kích cỡ 256x256) phân vùng bàn tay phát cách xác, nhược điểm ta phải thực lần chạy thuật toán phát cho ảnh làm tăng thời gian chạy hệ thống Giá trị Overlap bảng laf giá trị trung bình mức độ phủ vùng bàn tay phân vùng Ground truth Em nhận thấy với mơ hình đề xuất độ phủ trung bình vùng bàn tay tăng lên so với thí nghiệm sử dụng Mask R-CNN Kết cho thấy độ xác tăng lên nhờ việc áp dụng thuật toán theo vết đồng thời loại bỏ hầu hết ứng viên khơng xác Thêm đầu mơ hình đề xuất có nhiều đối tượng bàn tay ảnh yêu cầu toán đặt nhận dạng bàn tay thực cử Vì nên mơ hình hạn chế nhận diện đối tượng góc nhìn thứ kết thường xun có xuất bàn tay lại khơng thực hành động ảnh hưởng nhiều đến kết phát theo vết 43 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT CHƯƠNG 4: KẾT LUẬN 4.1 Kết đạt Trong trình thực ĐATN, em tìm hiểu làm chủ số kỹ thuật lĩnh vực thị giác máy tính học máy, cụ thể mạng nơ ron tích chập Em hiểu quy trình triển khai mơ hình mạng nơ ron máy chủ Bên cạnh đó, em tìm hiểu thêm lĩnh vực Thị Giác Máy Tính cụ thể lý thuyết thuật tốn để tính tốn luồng quang học Ngồi ra, em học thêm ngơn ngữ lập trình python sử dụng để thao tác với liệu sử dụng thuật toán thư viện opencv, numpy Kết chạy tương đối tốt so với yêu cầu phát vùng đối tượng bàn tay ảnh 4.2 Những điểm hạn chế - Thời gian chạy chương trình chậm chưa thể đạt đến thời gian thực Với mơ hình đề xuất em chưa nghiên cứu tối ưu thời gian chạy - Kết đạt góc nhìn thứ chưa tốt - Một số trường hợp áp dụng thuật toán theo vết đối tượng bàn tay bị loại bỏ nhầm góc nhìn thứ 4.3 Hướng phát triển Như nói chương toán phát phân vùng đối tượng bàn tay đóng vai trò quan trọng vấn đề giác máy tính mà hướng phát triển cho tốn có nhiều: - Cải thiện độ chĩnh xác cho phát phân vùng đối tượng góc nhìn khó góc nhìn thứ 1, đánh giá thủ nghiệm nhiều tập liệu khác - Cải thiện tốc độ tính tốn cho thuật tốn nhằm ứng dụng cho tốn đòi hỏi thời gian thực - Từ kết phân vùng đối tượng áp dụng cho pha nhận diện chuyển động, cử chỉ, … 44 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT TÀI LIỆU THAM KHẢO He K., Gkioxari G., Dollár P., et al (2017) Mask R-CNN ArXiv170306870 Cs Carreira-Perpiñán M.Á (2015) A review of mean-shift algorithms for clustering ArXiv150300687 Cs Stat Real-Time Hand Gesture Detection and Recognition Using Bag-of-Features and Support Vector Machine Techniques - IEEE Journals & Magazine , accessed: 05/20/2018 Oualla M., Sadiq A., and Mbarki S (2014) A survey of Haar-Like feature representation 2014 International Conference on Multimedia Computing and Systems (ICMCS), 1101– 1106, 1101–1106 Chouvatut V., Yotsombat C., Sriwichai R., et al (2015) Multi-view hand detection applying viola-jones framework using SAMME AdaBoost 2015 7th International Conference on Knowledge and Smart Technology (KST), 30–35, 30–35 Object detection based on HOG features: Faces and dual-eyes augmented reality - IEEE Conference Publication , accessed: 05/20/2018 Divvala S.K., Efros A.A., and Hebert M (2012) How important are Deformable Parts in the Deformable Parts Model? ArXiv12063714 Cs Hand detection using multiple proposals , accessed: 05/20/2018 Backpropagation Applied to Handwritten Zip Code Recognition - MITP Journals & Magazine , accessed: 05/26/2018 10 Girshick R., Donahue J., Darrell T., et al (2016) Region-Based Convolutional Networks for Accurate Object Detection and Segmentation IEEE Trans Pattern Anal Mach Intell, 38(1), 142–158 11 Segmentation as selective search for object recognition - IEEE Conference Publication accessed: 05/20/2018 12 Yan S., Xia Y., Smith J.S., et al (2017) Multiscale Convolutional Neural Networks for Hand Detection Appl Comput Intell Soft Comput, 2017, 1–13 13 Le T.H.N., Quach K.G., Zhu C., et al (2017) Robust Hand Detection and Classification in Vehicles and in the Wild IEEE, 1203–1210, 1203–1210 14 Dai J., He K., Li Y., et al (2016) Instance-sensitive Fully Convolutional Networks ArXiv160308678 Cs 45 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT 15 Roy K., Mohanty A., and Sahay R.R (2017) Deep Learning Based Hand Detection in Cluttered Environment Using Skin Segmentation IEEE, 640–649, 640–649 16 Krizhevsky A., Sutskever I., and Hinton G.E (2012) ImageNet Classification with Deep Convolutional Neural Networks Advances in Neural Information Processing Systems 25 Curran Associates, Inc., 1097–1105 17 Girshick R., Donahue J., Darrell T., et al (2013) Rich feature hierarchies for accurate object detection and semantic segmentation ArXiv13112524 Cs 18 He K., Zhang X., Ren S., et al (2014) Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition ArXiv14064729 Cs, 8691, 346–361 19 Ren S., He K., Girshick R., et al (2015) Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks ArXiv150601497 Cs 20 He K., Zhang X., Ren S., et al (2015) Deep Residual Learning for Image Recognition ArXiv151203385 Cs 21 Lin T.-Y., Dollár P., Girshick R., et al (2016) Feature Pyramid Networks for Object Detection ArXiv161203144 Cs Carreira-Perpiñán M.Á (2015) A review of mean-shift algorithms for clustering ArXiv150300687 Cs Stat Real-Time Hand Gesture Detection and Recognition Using Bag-of-Features and Support Vector Machine Techniques - IEEE Journals & Magazine , accessed: 05/20/2018 Oualla M., Sadiq A., and Mbarki S (2014) A survey of Haar-Like feature representation 2014 International Conference on Multimedia Computing and Systems (ICMCS), 1101– 1106, 1101–1106 Chouvatut V., Yotsombat C., Sriwichai R., et al (2015) Multi-view hand detection applying viola-jones framework using SAMME AdaBoost 2015 7th International Conference on Knowledge and Smart Technology (KST), 30–35, 30–35 Object detection based on HOG features: Faces and dual-eyes augmented reality - IEEE Conference Publication , accessed: 05/20/2018 Divvala S.K., Efros A.A., and Hebert M (2012) How important are Deformable Parts in the Deformable Parts Model? ArXiv12063714 Cs 46 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT Hand detection using multiple proposals , accessed: 05/20/2018 Backpropagation Applied to Handwritten Zip Code Recognition - MITP Journals & Magazine , accessed: 05/26/2018 10 Girshick R., Donahue J., Darrell T., et al (2016) Region-Based Convolutional Networks for Accurate Object Detection and Segmentation IEEE Trans Pattern Anal Mach Intell, 38(1), 142–158 11 Segmentation as selective search for object recognition - IEEE Conference Publication accessed: 05/20/2018 12 Yan S., Xia Y., Smith J.S., et al (2017) Multiscale Convolutional Neural Networks for Hand Detection Appl Comput Intell Soft Comput, 2017, 1–13 13 Le T.H.N., Quach K.G., Zhu C., et al (2017) Robust Hand Detection and Classification in Vehicles and in the Wild IEEE, 1203–1210, 1203–1210 14 Dai J., He K., Li Y., et al (2016) Instance-sensitive Fully Convolutional Networks ArXiv160308678 Cs 15 Roy K., Mohanty A., and Sahay R.R (2017) Deep Learning Based Hand Detection in Cluttered Environment Using Skin Segmentation IEEE, 640–649, 640–649 16 Krizhevsky A., Sutskever I., and Hinton G.E (2012) ImageNet Classification with Deep Convolutional Neural Networks Advances in Neural Information Processing Systems 25 Curran Associates, Inc., 1097–1105 17 Girshick R., Donahue J., Darrell T., et al (2013) Rich feature hierarchies for accurate object detection and semantic segmentation ArXiv13112524 Cs 18 He K., Zhang X., Ren S., et al (2014) Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition ArXiv14064729 Cs, 8691, 346–361 19 Ren S., He K., Girshick R., et al (2015) Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks ArXiv150601497 Cs 20 He K., Zhang X., Ren S., et al (2015) Deep Residual Learning for Image Recognition ArXiv151203385 Cs 21 Lin T.-Y., Dollár P., Girshick R., et al (2016) Feature Pyramid Networks for Object Detection ArXiv161203144 Cs 47 Sinh viên thực hiện: Nguyễn Đình Hà - Khóa 58 Lớp KSCLC HTTT&TT ... phát hình dạng, phát màu da, dò theo ngữ cảnh 1.3.2 Hướng tiếp cận biểu diễn phát phân vùng dựa kỹ thuật học sâu Kỹ thuật học sâu (Deep learning) thuật toán học máy xây dựng dựa số ý tưởng mô... cận biểu diễn phát phân vùng dựa kỹ thuật học sâu 16 1.3.3 Nhận xét chung 18 1.4 Mục tiêu đồ án 18 CHƯƠNG 2: KỸ THUẬT HỌC SÂU MASK R-CNN VÀ THUẬT TOÁN THEO VẾT MEAN SHIFT... tùy thuộc nhiều vào liệu sử dụng cho tốn cụ thể Kỹ thuật học sâu cải thiện phần thách thức Khác với đặc trưng trích xuất tay, kỹ thuật học sâu không phụ thuộc vào đa dạng liệu Kỹ thuật xây dựng