Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
2,99 MB
Nội dung
ĐẠI HỌC DUY TÂN TRƯỜNG ĐẠI HỌC KHOA HỌC MÁY TÍNH KHOA KHOA HỌC MÁY TÍNH - ĐỀ TÀI: NHẬN DIỆN LỬA BẰNG YOLO • Giáo viên hướng dẫn: T.S Lê Thanh Long Nhóm sinh viên thực : Phạm Đức Bình Nguyễn Trường Thanh Lộc Nguyễn Doãn Thành Long Lớp : K25-TBM2 Đà Nẵng, tháng năm 2022 MỤC LỤC MỞ ĐẦU 1.Tính cấp thiết đề tài .4 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu .5 3.1 Đối tượng .5 3.2 Phạm vi nghiên cứu Phương pháp nghiên cứu 4.1 Phương pháp lý thuyết 4.2 Phương pháp lý thuyết 5 Ý nghĩa đề tài CHƯƠNG TỔNG QUAN VỀ DEEP LEARNING VÀ BÀI TỐN NHẬN DIỆN HÀNH ĐỘNG TRONG THỊ GIÁC MÁY TÍNH 1.1 Tổng quan Deep Learning 1.1.1 Deep Learning gì? 1.1.2 Mạng nơron nhân tạo 1.1.3 Một số ứng dụng Deep Learning .7 1.2 Bài toán nhận diện hành động thị giác máy tính 1.2.1 Tổng quan thị giác máy tính .7 1.2.2 Thế thị giác máy tính 1.2.3 Nhận diện hành động người CHƯƠNG ỨNG DỤNG DEEP LEARNING TRONG NHẬN DIỆN HÀNH ĐỘNG CON NGƯỜI 2.1 Giới thiệu Recurrent Neural Network 2.1.1 Tổng quan 2.1.2 Ý tưởng 2.1.3 Hạn chế RNN .10 2.2 Mơ hình LSTM Mediapipe pose .11 2.2.1 Mơ hình LSTM 11 2.2.2 Ý tưởng cốt lõi LSTM .12 Trang | 2 2.2.3 Bên LSTM 13 2.2.4 LSTM chống vanishing gradient 15 2.2.5 Một số phép tích chập thường sử dụng xử lý ảnh 16 CHƯƠNG XÂY DỰNG VÀ TRIỂN KHAI CHƯƠNG TRÌNH 17 3.1 Bài toán nhận dạng 17 3.2 Mơ hình tổng quan 17 3.3 Chuẩn bị liệu 17 3.4 Xây dựng chương trình thử nghiệm 18 3.4.1 Khởi tạo mơ hình khung xương ảnh 18 3.4.2 Nhận diện pose, ghi nhận số khung, vẽ khung xương lên ảnh 18 3.4.3 Tạo label lưu vào file csv 19 3.4.4 Khởi tạo model 19 3.4.5 Train model lưu vào weight thành file h5 19 3.4.6 Thực kiểm chứng 20 3.5 Kết thử nghiệm 20 KẾT LUẬN TÀI LIỆU THAM KHẢO 21 Trang | 3 MỞ ĐẦU 1.Tính cấp thiết đề tài Ngày nay, dư liẹu video dê dàng đơc tạo cc thit bi ̣ nh: điẹn thoại di đọng, my tnh xch tay, my nh k thut sô, cc hẹ thông camera quan st (CCTV)…bn canh đ cc trang web chia s video khng ngng tăng trởng sô lợng lẫn chất lợng Bài ton nhn diẹn hành đọng ngời video đng gp mọt phân t đọ ng ha khai thc tài nguyn dư liẹu nhiều thng tin Cc ứng dụng lin quan đn ton nhn diẹn hành đọng nh: - An ninh cc hẹ thông gim st truyền thông gm mang li cc camera đơc gim st ngời - Tơng tc giưa ngời my cn nhiều thch thức, dấu hiẹu thi ̣gic phơng thức quan giao tip phi ngn ngư Khai thc hiẹu qu phơng thức giao tip này: Thng qua c ch, hành đọng, hoat đọng hứa hn tạo th hẹ my tnh tơng tc chnh xc t nhin vi ngời Bn cạnh đ nhn diẹn hành đọng ngời video cn đơc ̣ ứng dụng tm tt, truy vấn video, phn tch th thao Deep Learning mọt chủ đề Tr truẹ nhn tạo, tp trung gii quyt cc vấn đề lin quan đn mạng nơron nhn tạo nhằm nng cấp cc cng nghẹ nh nhn diẹn ging ni, thị gic my tnh x lý ngn ngư t nhin… Đã c nhiều nghin cứu ton nhn diẹn hành đọng ngời video nh: nhm tc gi Karpathy, Toderici, Shetty, Leung, Sukthankar & Fei-Fei s dụng CNNs đ phn loại Video theo hành đọng ngời, nhm tc gi Ji, Xu, Yang, & Yu s 3D CNN đ nhn diẹn hành đọng ngời Vì lý đ, lun văn nghin cứu ứng dụng Deep Learning vào ton nhn diẹn hành đọng ngời video, đng thời đề xuất ci tin cc tham sô đâu vào thut ton đ tăng hiẹu qu nhn diẹn so vi cc thut ton hiẹn Nọi dung lun văn gm chơng: Chơng gii thiẹu tổng quan deep learning ton nhn diẹn hành đọng thị gic my tnh Chơng gii thiẹu ứng dụng deep learning nhn diẹn hành đọng ngời, bao gm tổng quan, thut ton CNN cc gii thut Optimazation Deep Learning Khi qut mạng nơron x lý nh nu kin trúc mạng CNN đợc xem xét nghin cứu Chơng xy dng trin khai chơng trình Bao gm m t d liẹu gii thut đợc nghin cứu Cch thc nghiẹm cho cc m hình, sau đ đnh gi đọ chnh xc cc gii thut Mục tiêu nghiên cứu Mục tiu chnh đề tài s dụng k thut Deep learning đ xy dng chơng trình nhn diẹn hành đọng ngời Trang | 4 Đối tượng phạm vi nghiên cứu 3.1 Đối tượng - Cc hành đọng c video - Cc phơng php, gii thut nhn dạng - K thut Deep Learning 3.2 Phạm vi nghiên cứu - Nghin cứu k thut x lý nh - Mediapipe pose LSTM model Phương pháp nghiên cứu 4.1 Phương pháp lý thuyết - Cc tài liẹu sở lý thuyt: x lý nh sô, lc trch nh sô, nhn diẹn th ngời - Nghin cứu mạng Nơ ron nhn th ngời qua cc nút - Phơng php Deep Learning - Cc tài liẹu lin quan ti lp trình 4.2 Phương pháp lý thuyết - Xy dng chơng trình th nghiẹm - Kim th tnh hiẹu qu chơng trình vi cc nọi dung khc Ý nghĩa đề tài Về khoa hc: Đề tài mang ý nghĩa cung cấp mặt lý thuyt đ làm rõ cc phơng php k thut nhn dạng hành đọng ngời Về thc tiên: Gp phân hỗ trợ cho nhiều lĩnh vc khc nh gim st, th dục, th thao Trang | 5 CHƯƠNG TỔNG QUAN VỀ DEEP LEARNING VÀ BÀI TOÁN NHẬN DIỆN HÀNH ĐỘNG TRONG THỊ GIÁC MÁY TÍNH 1.1 Tổng quan Deep Learning 1.1.1 Deep Learning gì? Deep Learning mọt chủ đề Trí truẹ nhân tạo (AI) mọt phạm trù nhỏ máy hc Deep Learning t p trung gii quyt vấn đề liên quan đn mạng nơron nhân tạo nhằm nâng cấ p cơng nghẹ nh nhn diẹn ging nói, thị giác máy tính x lý ngơn ng t nhiên Deep Learning trở thành mọt nhng lĩnh vc quan tr ng khoa hc máy tính Ch vài nă m, Deep Learning thúc đẩy tin bọ đa dạng lĩnh vc nh nhn thức s vt (object perception) , d ịch t đọng (machine translation) , nhn diẹn ging nói - nhng vấn đề tng khó khăn v i nhà nghiên cứu trí tuẹ nhân tạo 1.1.2 Mạng nơron nhân tạo Trong công nghẹ thông tin, mạng nơ ron nhân tạo mọt hẹ thông chơ ng trình cấu trúc d liẹu mơ cách vn hành não ngờ i Mọt mạng nơ ron nh vy thờng bao gm mọt lợ ng l n vi x lý hoạt đọng song song, vi x lý chứa đng mọt vùng kin thức riêng có th truy c p vào d liẹu bọ nh riêng Trong mạng nơron nhân tạo, nơron node (node đơn vị nơron mạng nơron nhn tạo – chic my tnh mạng nơron c th đợc xem nh node) đợ c k t nôi v i mọt mạng l i l n Bn thân tng node ch tr lời đợc nhng câu hỏi ht sức bn không thông minh, nhng đợc g ọ p chung v i chúng lại có sức mạnh x lý đợc c nhng tác vụ khó Và điều quan tr ng nhng thut tốn phù hợ p, có th d ạy huấn luyẹn đợc chúng Trang | 6 1.1.3 Một số ứng dụng Deep Learning - Hẹ thông gợi ý tng - Nhn diẹn hình nh - X lý ngơn ng t nhiên 1.2 Bài toán nhận diện hành động thị giác máy tính 1.2.1 Tổng quan thị giác máy tính Thị giác máy tính (Computer Vision) mọ t lĩ nh v c r ất phát trin Khái niẹm thị giác máy tính có liên quan t i nhiều ngành hc h ng nghiên cứu khác T nhng năm 1970 mà nă ng lc tính tốn máy tính ngày trở nên mạnh mẽ hơn, máy tính lúc có th x lý đợc nhng t p d liẹu ln nh hình nh, đoạn phim khái niẹm k thut thị giác máy tính ngày đợ c nhc đn nghiên cứu nhiều cho t i ngày Hiẹn lĩnh vc đợc chuyên gia đánh giá “non n t” có r ất nhiều s thay đổi thờ i gian t i 1.2.2 Thế thị giác máy tính Thị giác máy tính bao gm lý thuyt k thut liên quan nhằm mục đích tạo mọt hẹ thơng nhân tạo có th ti p nhn thơng tin t hình nh thu đợ c t p d liẹu đa chiều Đôi v i ngờ i chúng ta, trình nhn thức th gi i bên ngồi mọt điều dê dàng Q trình nhn thức đợc “hc” thơng qua q trình sơng ngờ i Tuy nhiên v i vt vô tri vô giác nh nh máy tính, robot… điều qu thc mọt b c tin r ất gian nan Các thit bị ngày không ch nhn thơng tin ở d ạng tín hiẹu đơn l mà cịn có th có “nhìn” tht v i th gii bên ngồi Cái “nhìn” qua q trình phân tích, k t hợ p vi mơ hình nh máy hc, mạng nơ ron… giúp cho thit bị tin d ân t i mọt hẹ thơng nhân tạo có kh quyt định linh hoạt đ n hơ n r ất nhiều Mọt vài lĩnh vc mà Computer Vision đợc ứng d ụng có th k ti nh sau: - Điều khin tin trình (ví dụ: robot công nghiẹ p, hay thi t bị, xe t hành) - Phát hiẹn s thay đổi (ví dụ: thi t bị giám sát) - Tổ chức thơng tin (ví dụ: ch sơ kho d liẹ u nh hoặ c chuỗ i nh liên tục) - Mơ hình hố đơi tợng (ví dụ : q trình ki m tra môi trờ ng công nghiẹp, x lý nh y h c) - Tơng tác (đóng vai trò làm đâu vào cho thi t bị trình tơ ng tác gia ngờ i máy) 1.2.3 Nhận diện hành động người Nhn diẹn hành đọng ngờ i mọt lĩnh vc nghiên cứu r ọng rãi thị giác máy tính Các ứng d ụng bao gm hẹ thơng giám sát, phân tích video, robot mọt loạt hẹ thơng có liên quan đn s tơng tác gia ngời thit bị điẹn t nh giao diẹn ngời-máy tính Trang | 7 Nhn diẹn hành đọng ngời đợc phát trin bt đâu vào đâu năm 1980 Hiẹn nay, nghiên cứu chủ yu t p trung vào viẹc hc nhn bit hành đọng t chuỗi video Mọt hành đọng mọt chuỗi chuyn đọng th ngời, có th bao gm nhiều bọ phn th đng thờ i T quan đim thị giác máy tính, viẹc nhn dạng hành đọng đ phù hợ p v i quan sát v i mẫu đợc xác định trc sau gán cho mọ t nhãn loại hành đọng Tùy thuọc vào đọ phức tạ p, hoạt đọng ngờ i có th đợ c phân loại thành bôn cấp đọ: c ch, hành đọng, tơng tác hoạt đọng nhóm, nhiều nghiên cứu theo h ng mọt cấu trúc t d i lên nhn d ạng hoạt đọng ngờ i Các phân hẹ thơng nh vy bao gm trích xuất đặc trng, hc tp hành đọng, phân loại, nhn dạng hành đọng phân đoạn Mọt quy trình đơn gin gm ba b c, cụ th phát hiẹn ngờ i bọ phn th, theo dõi, sau nhn bằng cách s d ụng k t qu theo dõi Ví dụ, đ nhn hành đọng “ bt tay”, cánh tay bàn tay hai ngời đợc phát hiẹn trc tiên theo dõi đ tạo mọt mô t không gian-thờ i gian chuyn đọng h Mô t đợc so sánh v i mẫu hiẹn có d liẹu huấn luyẹn đ xác định loại hành đọng Mô hình d a r ất nhiều vào tính xác viẹc theo dõi, điều không đ tin cy nhng cnh lọn xọn CHƯƠNG ỨNG DỤNG DEEP LEARNING TRONG NHẬN DIỆN HÀNH ĐỘNG CON NGƯỜI Trang | 8 2.1 Giới thiệu Recurrent Neural Network 2.1.1 Tổng quan Ý tởng chnh RNN (Recurrent Neural Network) s dụng chuỗi cc thng tin Trong cc mạng nơ-ron truyền thông tất c cc đâu vào c đâu đọc lp vi Tức chúng khng lin kt thành chuỗi vi Nhng cc m hình khng phù hợp nhiều ton V dụ, nu muôn đon t tip theo c th xuất hiẹn mọt cu ta cân bit cc t trc đ xuất hiẹn lân lợt th nh? RNN đợc gi hi quy (Recurrent) lẽ chúng thc hiẹn mọt tc vụ cho tất c cc phân t mọt chuỗi vi đâu phụ thuọc vào c cc phép tnh trc đ Ni cch khc, RNN c kh nh cc thng tin đợc tnh ton trc đ Trn lý thuyt, RNN c th s dụng đợc thng tin mọt văn bn dài, nhin thc t n ch c th nh đợc mọt vài bc trc đ (ta bàn cụ th vấn đề sau) mà thi Về bn mọt mạng RNN c dạng nh sau: 2.1.2 Ý tưởng Mọt cch nm na, đôi vi mạng neural thng thờng, cho tất c dư liẹu vào mọt lúc Nhng đi khi, dư liẹu mang ý nghĩa trình t, tức nu thay đổi trình t dư liẹu, kt qu khc Dê thấy rõ dư liẹu văn bn V dụ, “Con ăn cơm cha” “Con cha ăn cơm”, nu tch cu theo t, ta đợc bọ vocab [ ‘con’, ‘ăn’, ‘cơm’, ‘cha’], one hot encoding cho tất c vào mạng neural , c th thấy ngay, khng c s phn biẹt giưa cu trn Viẹc đo thứ t duyẹt cc t làm sai lẹch ý nghĩ cu Ni cch khc, cân mọt mạng neural c th x l tuân t Cc x đy đại diẹn cho dư liẹu đâu vào lân lợt (đợc chia theo time step) xt đại diẹn cho time step thứ t, yt là output mọt step V dụ, x2 sẽ vector đại diẹn t thứ cu văn bn Hình nh di đy cho thấy rõ điều thc s xy mọt step Trang | 9 Hidden state ht (trong mọt sô tài liẹu tờng ký hiẹn st ) Đy chnh bọ nh mạng. ht là tổng hợp thng tin hidden state trc (ht −1) cọng vi input time step t ( xt ) Activation function đy chủ yu ReLu ht = g 1(Whh ht −1+Whx xt +bh) ∗ ∗ Output time step yt : Tại block mạng RNN c đâu Trong đ, ht là tổng hợp thng tin cc state trc đ tip tục truyền chuỗi mạng, ta c thm yt là output tng time step mọt Ở đy g 2 thờng hàm softmax yt = g 2(Wyh ht +by) ∗ 2.1.3 Hạn chế RNN Phi thc hiẹn tuân t: Khng tn dụng đợc kh tnh ton song song my tnh (GPU/TPU) Vanishing gradient (Đạo hàm bị triẹt tiu): Vì hàm kch hoạt (tanh hay sigmoid) ta cho kt qu đâu nằm đoạn [-1, 1][−1,1] (vi sigmoid [0, 1][0,1]) nn đạo hàm n bị đng khong [0, 1][0,1] (vi sigmoid [0, 0.25][0,0.25]) Ở trn, dùng chain rule đ tnh đạo hàm C mọt vấn đề đy là, hàm lẫn sigmoid c đạo hàm đâu Mà đạo hàm nút mạng tơng ứng đ bị bão ha Lúc đ cc nút pha trc bị bão hoà theo Nn vi cc gi trị nhỏ ma trn, ta thc hiẹn phép nhn ma trn đạo hàm tơng ứng xy Vanishing gradient, tức đạo hàm bị triẹt tiu ch sau vài bc nhn Nh vy, cc bc xa khng cn tc dụng vi nút hiẹn nưa, làm cho RNN khng th hc đợc cc phụ thuọc xa Vấn đề khng ch xy vi mạng RNN mà c mạng neural truyền thông vi nhiều lp c hiẹn tợng Vi cch nhìn nh trn, ngồi Vanishing gradient, ta cn gặp phi Exploding Gradient (bùng nổ đạo hàm) Tùy thuọc vào hàm kch hoạt tham sô Trang | 10 mạng, vấn đề xy cc gi trị ma trn ln (ln 1) Tuy nhin, ngời ta thờng ni vấn đề Vanishing nhiều Exploding, lý sau Thứ nhất, bùng nổ đạo hàm c th theo dõi đợc đạo hàm bị bùng nổ ta thu đợc kt qu mọt gi trị phi sô NaN làm cho chơng trình ta bị dng hoạt đọng Thứ hai, bùng nổ đạo hàm c th ngăn chặn đợc ta đặt mọt ngỡng gi trị trn (tham kho k thut Gradient Clipping) Cn kh đ theo dõi s mt đạo hàm nh tìm cch x l n Đ x lý Vanishing Gradient, c cch phổ bin: Cch thứ nhất, thay s dụng activation function sigmoid, ta thay bằng ReLu (hoặc cc bin th nh Leaky ReLu) Đạo hàm ReLu là 1, nn ta c th kim sot phân vấn đề mt đạo hàm Cch thứ hai, ta thấy RNN thuân khng c thit k đ lc thng tin khng cân thit Ta cân thit k mọt kin trúc c th nh dài hạn hơn, đ LSTM GRU 2.2 Mơ hình LSTM Mediapipe pose 2.2.1 Mơ hình LSTM Mạng bọ nh dài-ngn (Long Short Term Memory networks), thờng đợc gi LSTM - mọt dạng đặc biẹt RNN, n c kh hc đợc cc phụ thuọc xa LSTM đợc gii thiẹu Hochreiter & Schmidhuber (1997), sau đ đợc ci tin phổ bin nhiều ngời ngành Chúng hoạt đọng cc kì hiẹu qu trn nhiều ton khc nn dân trở nn phổ bin nh hiẹn LSTM đợc thit k đ trnh đợc vấn đề phụ thuọc xa (long-term dependency) Viẹc nh thng tin suôt thời gian dài đặc tnh mặc định chúng, ta khng cân phi huấn luyẹn n đ c th nh đợc Tức nọi n c th ghi nh đợc mà khng cân can thiẹp Mi mạng hi quy c dạng mọt chuỗi cc m-đun lặp lặp lại mạng nơ-ron Vi mạng RNN chuẩn, cc m-dun c cấu trúc đơn gin, thờng mọt tâng Trang | 11 LSTM c kin trúc dạng chuỗi nh vy, nhng cc m-đun n c cấu trúc khc vi mạng RNN chuẩn Thay ch c mọt tâng mạng nơ-ron, chúng c ti tâng tơng tc vi mọt cch đặc biẹt 2.2.2 Ý tưởng cốt lõi LSTM Chìa kha LSTM trạng thi t bào (cell state) - chnh đờng chạy thng ngang pha trn sơ đ hình vẽ Trạng thi t bào mọt dạng giông nh băng truyền N chạy xuyn suôt tất c cc mt xch (cc nút mạng) ch tơng tc tuyn tnh đi chút Vì vy mà cc thng tin c th dê dàng truyền thng suôt mà khng sợ bị thay đổi Trang | 12 LSTM c kh bỏ thm vào cc thng tin cân thit cho trạng thi t bo, chúng đợc điều chnh cẩn thn cc nhm đợc gi cổng (gate) Cc cổng nơi sàng lc thng tin qua n, chúng đợc kt hợp mọt tâng mạng sigmoid mọt phép nhn 2.2.3 Bên LSTM Bc đâu tin LSTM quyt định xem thng tin cân bỏ t trạng thi t bào Quyt định đợc đa tâng sigmoid - gi “tâng cổng qun” (forget gate layer) N lấy đâu vào ht −1 và xt ri đa kt qu mọt sô khong [0, 1][0,1] cho sô trạng thi t bào Ct −1 Đẩu th hiẹn n giư toàn bọ thng tin lại, cn ch toàn bọ thng tin bị bỏ Quay trở lại vi v dụ m hình ngn ngư d đon t tip theo da trn tất c cc t trc đ, vi ton nh vy, trạng thi t bào c th mang thng tin gii tnh mọt nhn vt đ giúp ta s dụng đợc đại t nhn xng chuẩn xc Tuy nhin, đề cp ti mọt ngời khc ta khng mn nh ti gii tnh nhn vt nưa, n khng cn tc dụng vi chủ th mi Trang | 13 Bc tip theo quyt định xem thng tin mi ta lu vào trạng thi t bào Viẹc gm phân Đâu tin s dụng mọt tâng sigmoid đợc gi “tâng cổng vào” (input gate layer) đ quyt định gi trị ta cp nhp Tip theo mọt tâng tanh tạo mọt véc-tơ cho gi trị mi c nhằm thm vào cho trạng thi Trong bc tip theo, ta kt hợp gi trị đ lại đ tạo mọt cp nhp cho trạng thi ~ t Chẳng hạn vi v dụ m hình ngn ngư ta, ta muôn thm gii tnh nhn vt mi vào trạng thi t bào thay th gii tnh nhn vt trc đ Giờ lúc cp nhp trạng thi t bào cũ c − thành trạng thi mi C Ở cc bc trc đ quyt định viẹc cân làm, nn ta ch cân thc hiẹn xong t t Ta nhn trạng thi cũ vi ft đ bỏ thng tin ta quyt định qun lúc trc Sau đ cọng thm i c Trạng thi mơi thu đợc phụ thuọc vào viẹc ta quyt định cp nhp gi trị trạng thi ~ ¿ t t Vi tồn m hình ngn ngư, chnh viẹc ta bỏ thng tin gii tnh nhn vt cũ, thm thng tin gii tnh nhn vt mi nh ta quyt định cc bc trc đ Trang | 14 Cuôi cùng, ta cân quyt định xem ta mn đâu Gi trị đâu da vào trạng thi t bào, nhng đợc tip tục sàng lc Đâu tin, ta chạy mọt tâng sigmoid đ quyt định phân trạng thi t bào ta muôn xuất Sau đ, ta đa n trạng thi t bo qua mọt hàm đ cho gi trị n khong [-1, 1][−1,1], nhn n vi đâu cổng sigmoid đ đợc gi trị đâu ta mong muôn Vi v dụ m hình ngn ngư, ch cân xem chủ th mà ta c th đa thng tin mọt trạng t sau đ V dụ, nu đâu chủ th sô t sô nhiều ta c th bit đợc dạng trạng t theo sau n phi nh th 2.2.4 LSTM chống vanishing gradient Ta p dụng thut ton back propagation through time cho LSTM tơng t nh RNN Trang | 15 Thành phân chnh gy vanishing gradient RNN ∂ δ t + ∂ s t =( t s ) W , t ∗ đ st ,W