1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu và cải tiến thuật toán nhận dạng hành vi của người già cho ElderRobot

75 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và cải tiến thuật toán nhận dạng hành vi của người già cho ElderRobot
Tác giả Danh Đức Khánh Duy
Người hướng dẫn TS. Nguyễn Minh Sơn
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 75
Dung lượng 45,66 MB

Nội dung

Robot kế thừa các chức năng như nhận diện hình dáng cơ thê đối tượng bằng mô hình thuật toán RetinaFace và MobileFaceNet để theo xác định đâu là đối tượng cần theo dõi, nhận dạng thân hì

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HỌC CÔNG NGHỆ THONG TIN

KHOA KY THUAT MAY TÍNH

Danh Đức Khánh Duy

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ CẢI TIỀN THUẬT TOÁN NHẬN

DẠNG HÀNH VI CỦA NGƯỜI GIÀ CHO ELDERROBOT

Studying and improving the elderly behavior recognition algorithm

for ElderRobot

KY SƯ NGANH KY THUAT MAY TÍNH

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

Danh Đức Khánh Duy — 17520050

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ CẢI TIỀN THUẬT TOÁN NHẬN

DẠNG HÀNH VI CỦA NGƯỜI GIÀ CHO ELDERROBOT

Studying and improving the elderly behavior recognition algorithm

for ElderRobot

KY SƯ NGANH KỸ THUAT MAY TÍNH

GIANG VIEN HUONG DAN

TS Nguyén Minh Son

TP HO CHÍ MINH, 2022

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 66/QD-DHCNTT

ngày 14 tháng 02 năm 2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

LOI CAM ON

Đầu tiên, em xin gửi lời cảm ơn chân thành đến toàn thé quý thay cô trường

Đại học Công Nghệ Thông Tin - Đại học Quốc gia TP Hồ Chí Minh, đặc biệt là

quý thầy cô khoa Kỹ Thuật Máy Tính đã truyền đạt cho em những kiến thức và kinh

nghiệm quý báu trong suốt 4 năm học vừa qua.

Qua những ngày tháng nỗ lực phấn đấu và những đêm không ngủ vượt qua

những ngày cách ly do dịch Covid- 19 dưới sự giúp đỡ tận tình của các thầy cô và bạn

bẻ chúng em đã hoàn tat dé tài này đúng thời hạn Một đề tài khá hap dẫn và cắp thiết

về hỗ trợ con người và xã hội tương lai Lời đầu tiên, chúng em xin bày tỏ lòng biết

ơn sâu sắc tới TS Nguyễn Minh Sơn, người đã tận tình truyền đạt những kiến thức trong quá trình học tập và trực tiếp hướng dẫn đề tài này, chỉ dạy những kinh nghiệm

quý báu để em hoàn thành đề tài.

Em xin gửi lời chúc sức khỏe đến tất cả quý thầy cô để mãi là những người thầy người hướng dẫn, giúp đỡ, nuôi ước mơ cho các thế hệ sinh viên ngày một trưởng

thành và vững vàng hơn trong quá trình học tập và rèn luyện trong trường cũng như

cuộc sông sau này.

Một lần nữa em xin chân thành cảm ơn!

Sinh viên thực hiện

Danh Đức Khánh Duy

Trang 5

MỤC LỤC

Chương 1 GIGI THIỆU ĐÈ TÀI HUMANOID ROBOT DONG HANH CÙNG

NGƯỜI CAO TUÔI 2.2001 t Hee 2

1.1 Giới thiệu để tài che 2 1.2 Robot đồng hành và chăm sóc người cao tuôi -: cz©ccsscce¿ 3 1.3 Humanoid robot đồng hành cùng người cao tuổi -c-cccc +2 3

1.4 Giới hạn và mục tiêu để tài, cá cv HH reo 4

Chương2 | MOT SO NGHIÊN CỨU LIEN QUAN -:-©cc+¿ 5

2.1 Một vai mô hình thuật toán đã được phat triỂn: -.ccccccccccceeccecr Õ

2.1.1 An Eight-camera Fall Detection System - 5 25+ 5+++++ 5

2.1.2 Human Fall-down Event Detection ¿- - 5+ 5<+s+x+cscscer++ 7

2.2 Mô hình thuật toán Human Pose Estimation (KeyPoint Detection) 8

2.3 Mô hình thuật toán OpenPose ceeseeeesceeecseseeeeseeeeeeseseneneee 0 2.3.1 CMUPose NetwOork -c-cĂccScStceereririrererree 2 2.3.2 OpenPose NetwOoFk cccccSSsteeerieeereree 3 2.3.3 Loss Function ch St th re 4 2.3.4 Confidence Maps (CMS) 552522 2S 2+crtzterererrerrerer 4 2.3.5 Part Affinity Fields (PAF§) - cty 5 2.3.6 Kết quả của OpenPose trong MPII Multi-Person - - 6

2.3.7 Kết quả của OpenPose trong COCO Keypoint Challenge 7

2.3.8 Mạng nơ-ron tích chập CNN (Convolution Neural Network) §

2.3.9 VGG Very Deep Convolutional Networks (VGƠNe)) 23

2.3.10 Caffe — Deep learning framework 0 ccc sees eeeteteeeeeteeeeeeneneee 26 2.4 Xác định hành vi dựa trên đặc trưng đối tượng

Trang 6

2.4.1 Mô hình 2D cơ thể người c¿2222++tvccvvrrerrrvrrrrrrrrree 27 2.4.2 Trích xuất đặc trưng đối tượng

2.4.3 Mô hình Neural Network - ¿5c S+ cty 33

Chương 3 | THIET KE HE THONG.

3.1 Tổng quan về hệ thống -:¿¿-22V222++++222EEEEEvrrrtttrrrrrrrrrrrrrrrr 38

3.2 Hệ thống phan cứng và linh kiện sử dụng.

3.2.1 Tổng quan hệ thống phần cứng kế thừa -c 3Ð 3.2.2 Mô hình thiết kế Humanoid Robot

3.2.3 Bộ bánh xíCh esse - St St E112 111212111 11110121 1H hư 43

3.2.4 Driver Motor L298N Ặ- cài 44

3.2.5 Động co DC giảm tốc Servo JGB37-520 -ccccc ccz 45 3.2.6 Mạch nguồn giảm áp XL4015 2cc+++c2cvvvvecrerrrrrd 46

3.2.7 — Pin Li-ion 7.4V Ăà che AT

3.2.8 USB Wifi N150USM che 4

3.2.9 Máy Tinh AI NVIDIA Jetson Nano Developer Kit - 48

3.2.10 Webcam Logitech HD C310 - - 2 +5++++x+xexerrkekererrre 49

3.3 Hệ thống phần mềm ¿ 2+++22E+++tEEE+++ttEEEYvrttrErvrrerrrrrrrrrg 49 3.3.1 Tổng quan hệ thống phần mềm -:¿£+2vvcczzz+rr 49 3.3.2 Dự đoán cơ thé người thông qua mô hình thuật toán OpenPose 50

3.3.3 _ Tính toán đặc trưng cơ thể -++z++222++ztrtrrvserrrrrscee 51 3.3.4 Dự đoán hành vi đối tượng qua mạng nơ-ron - -: 53

3.3.5 Tối ưu thuật toán cccceeereerrrrrrrrirrrirrrrrrree 54

Chuong 4 THỤC NGHIEM VA ĐÁNH GIA KET QUẢ - 56

4.1 Thực nghiệm mô hình nhận diện cơ thé với OpenPose - «- 56

Trang 7

4.2 Thực nghiệm mô hình nhận dạng hành vi đối TƯỢNG c-ccce 57

4.3 Đánh giá kết qua thực nghiệm

Chương 5 KÉT LUẬN VÀ HƯỚNG PHÁT TRIẺN - 60 5.1 Kết luận

5.2 Hướng phát triển trong tương lai -2¿-222+z++222vverrrrxxererrrreecrr 61 TÀI LIEU THAM KHẢO

Trang 8

DANH MỤC HÌNH

Hình 2-1: Ví dụ về các đặc điểm của đối tượng thay đổi theo thời gian 5Hình 2-2: Theo dõi sự thay đôi của đối tượng qua từng frame - 2z: 6Hình 2-3: Bước 1: dựa vào mang CNN trích xuất ra được mô hình 2D 7Hình 2-4: Bước 2: dự đoán hành vi đối tượng sau 8 ÍTan€s +-«++<<c+ec++ 7Hình 2-5: Một vài ví dụ cho mô hình 2D cơ thé người 2: 5 2cs+5z+s2 8Hình 2-6: Ví dụ cho kết quả trả về của mô hình PoseNet -¿ 5¿©5s+¿ 9Hình 2-7: Ví dụ cho kết quả trả về của OpenPOse -2 2+s+cx+£xzzEzrxerxeei 9Hình 2-8: (a) Đầu vào, (b) Confidence Maps, (c) Affinity Fields -.- 11Hình 2-9: (trái)CM cho vai trái, (phai)PAF cho cặp điểm cổ và vai trái 11Hình 2-10: Các PAFs tương ứng từng đối trong cecceccecsessesssessecsesssesseesessesssesseeseess 12Hình 2-11: Kiến trúc CMUPose NetWOrk 5: 2-56 SE+2E22EE+EEeEEerEerrkerkerkerex 12Hình 2-12: Kiến trúc OpenPose Network -22 + x+2x++E++Ektrxerkezrxerxerkerex 13

Hình 2-13: Sang lọc PAREs qua các Stage - LH HH ng ưên 13

Hình 2-14: Biểu đồ CM (Sp) 5k 52 S2 22E1212E52121711111111211211 211111111 15

Hình 2-15: MPII [DafaS€( - G5 0190199 TH ng Hi ngư 16

Hình 2-16: Biểu đồ mAP - : 2vc222vt 22v tr tt tri 16Hình 2-17: Kết qua của cái đội nhóm đầu - 2-2 5¿©+++++£x++£x+zxzxesrxe 17

Hình 2-18: Thí nghiệm tự so sánh trên bộ xác nhận COCO <++<< «52 17

Hình 2-19: Mang ma trận RGB 6x6x3 (3 ở đây là giá tri RGB) 18 Hình 2-20: Các lớp trong CÍNN LH HH TH HH HH 19 Ig0¡):2200Ìiiuii0 801i: ái 1111077 20 Hình 2-22: Tính toán và Feature 1nap - - c1 3111131111111 E11 EEkrerrvre 20

Hình 2-23: Pooling ÏaW€T - < s1 HT TH Hư 21 Hình 2-24: Kiến trúc VGG Neural Network ccscssssssessesstsssesseestessessessesstessesseeseess 23

Hình 2-25: Fully Connect ÌLaY€TS c1 11910119119 11 2 1H ng ng ng 24

Hình 2-26: Kiến trúc của VGnet- Í 6 +- +: ©5¿22£+2E+Ex+EE++EE+EEtExtrEezrxerxerxeree 25

Hình 2-27: (trai) COCO format, (phải) MPII format 555555 «<< s++ss+ 27

Hình 2-28: Tương quan giữa góc nghiêng và độ cao của đối tượng - 28

Trang 9

Hình 2-29: Sự khác biệt về chiều rộng và chiều cao giữa các tư thế khác nhau 29Hình 2-30: Ví dụ cho dáng “đứng' và “đi” của người cao tuổi -. - 29Hình 2-31: Ví dụ về dang “ngã” của người cao tuôi -¿-cs¿©cscsscc+z 29Hình 2-32: Danh sách vị trí các điểm cơ thé theo COCO model -: 30

Hình 2-33: Bao viền Cy (xanh) và Cr c2 31

Hình 2-34: Ảnh hưởng của vi trí điểm tay chân lên kích thước bao viền Cz 31

Himh 2-35: M6 ta 8 32

Hình 2-36: Mô tả cách tính khoảng cách giữa thân người so với chan 32

Hình 2-37: Mô hình một tế bào thần kinh -c++c++rrrxxerrrrkerrrrkrrree 33 Hình 2-38: P€rC€DTOII - ó5 1 131 HH TH Hư 33

Hình 2-39: Biều đồ kết quả của hàm Sigmoid 2- 5-2 2 2+s+£xezxezxezxzrszsez 34Hình 2-40: Kiến trúc của mạng ñƠ-TOII 2 + ¿5° E+SE+EE+EE£EE+EE£E£EeEEerkerxersrree 35

Hình 2-41: Tương quan giữa các lớp trong mạng nƠ-TON - - -«- -s«<s++s<+s++ 35 Hình 2-42: Cost FUTCLIOH - - c1 1101113101121 1 9101 1 91011 36

Hình 3-1: Tổng quan hệ thong - ¿2 2 E+E£2EE+EE+EEtEEEEEESEEtEEtEEEZEErrkrrkerex 38Hình 3-2: Hệ thống phần cứng -¿- 2 2 2E +E£EE#EEEEEEEEEEEEEEEEEEEEEEErkrrkrrkrree 39

Hình 3-3: VỊ trí các linh kiện trên rODOI - << * E333 EEE++eeeeeeeeeeezee 40

Hình 3-4: Thiết kế ban đầu của rob0t c: c5c++ccvtterrxtrrrrtrrrrrtrrrrrkrrrre 4IHình 3-5: Thiết kế khi thay đôi phần bụng -¿ 2¿+¿2++2+++£x++zxzzeersz 41Hình 3-6: Thiết kế thay đổi phần thân đưới 2 2¿+¿+++2+++zx++zxzx+srs+ 42Hình 3-7: Thiết kế phần than đưới (phần bánh xe) - 2-2-2 +£+z+zx+zxzsz 42Hình 3-8: Hướng di chuyên của rObOL -¿- + ¿5£ +E+SE+EE+EE£EE£EZEEEerEerxerkersrree 42Hình 3-9: Bộ bánh xích — phần chân của robot - ¿2+ ++++zx++z++zx+zxzsz 44

Hình 3-10: Module điều khiển động cơ L298N -¿- 2: ©2+©5z22x2zxvzxesrez 44

Hình 3-11: Động cơ DC Servo JGB32-520 - -. ce LH HH HH ngư 46

Hình 3-12: Mạch nguồn giảm áp XLL4015 -. 2-22 5¿22+2£++£x++£xzrxerreeree 46

Hình 3-13: Pin Li-ion 7 4V - . sgk rn 47

Hinh 3-14: NISOUSM 0001177 47 Hình 3-15: Jetson Nano - - - ( (<< << << << 1111111111111 111111 SE E955 11k kkkkkkEk 48

Trang 10

Hình 3-16: Mô hình tổng quan phan mềm - 2-2 5¿2+22++£+++£x++zxzx+zrs+ 49Hình 3-17: Mô hình thuật toán nhận diện cơ thé TIBƯỜII c5 + se 50

Hình 3-18: Mô hình mạng nơ-ron don Qian ee eee - + vs Eeeeeeeserrersessee 54

Hình 3-19: Đối tượng di chuyển ngang -2¿ ¿©5222 22E2EEtEEterxsrxrrreeree 54

Hình 4-1: Biểu đồ tỉ lệ nhận diện điểm cơ thể -¿¿:252cccecrcreerrrrrrkee 56 Hình 4-2: Mô hình mẫu cho 4 hành vi cơ bản -2 2- 25++5+2x>xzzxzzzzszse2 57

Hình 4-3: Biểu đồ kết quả huấn luyện ¿- 2 2¿©5¿2+2++£x++zxezrxrrxesree 58Hình 4-4: Một vài kết quả thực nghiỆm 2 5 11991112 111 vn rưưn 59

Trang 11

DANH MỤC BANG

Bang 3-1: Ưu, nhược điểm của bánh xe và bánh xích -2 ¿22s s+zxz>sz 42Bang 4-1: Kết quả thực nghiệm trên phần cứng l 2-2 +522s+z+zzxzsz 56Bang 4-2: Kết quả thực nghiệm trên phần cứng 2 -2- 2-2 2 s2 +++£++£+z£+2 +2 57Bảng 4-3: Kết quả huấn luyện - ¿- 2: 552 S22EE2EE£EEESEEE2EEEEEEEEerkrrrkerrrcree 57Bảng 4-4: Kết quả thực nghiệm dự đoán hành vi -. 2-2 s25z22s+zx+zxzsz 58Bảng 5-1: Bảng so sánh kết quả với một vài thuật toán khác - - 60

DANH MỤC TỪ VIET TAT

STT | Kí hiệu chữ viết tắt Chữ viết đầy đủ

1 CNN Convolution Neural Network

2 |RNN Recurrent Neural Network

3 |DNN Deep Neural Network

4 | VGG Visual Geometry Group

5 CMs Confidence Maps

6 | PAFs Affinity Fields

7 FPS Frames per second

8 |IP Internet Protocol

9 SSD Single Shot Detector

10 | ReLU Rectified Linear Unit

II | FFN Feed Forward Network

12 | CUDA Nvidia’s Compute Unified Device Architecture

13 | cuDNN CUDA Deep Neural Network

14 | CPU Central Processing Unit

15 | GPU Graphics Processing Unit

Trang 12

TÓM TÁT KHÓA LUẬN

Những robot cần thiết trong tương lai gần là những robot thân thiện với con

người, có thể cùng tồn tại và hỗ trợ con người một cách hiệu quả đặc biệt là người cao tuổi Đề có thể chăm sóc họ, robot cần thiết phải thực hiện theo dõi con người

dựa vào chuyên động và đánh giá các mối nguy hiểm dựa vào hành vi của đối tượng

cần theo dõi Trong nghiên cứu này, một robot có tác vụ nhận diện hình dáng cơ thể

và đưa ra dự đoán cho hành vi (cụ thể là hành vi đi, đứng, ngã) của người cao tuổi.

Robot kế thừa các chức năng như nhận diện hình dáng cơ thê đối tượng bằng mô hình thuật toán RetinaFace và MobileFaceNet để theo xác định đâu là đối tượng cần theo

dõi, nhận dạng thân hình bằng SSD_MobileNet để tiến hành theo dõi, tích hợp thêm

mô hình thuật toán OpenPose đã được qua huấn luyện cho phép nhận các bộ phận cơ thể con người từ đó cho phép dự đoán hành vi đối tượng thông qua mạng Neural, cuối

cùng là điều khiển robot di chuyển dé giữ một khoảng cách nhất định từ robot tới đối tượng theo dõi Đồng thời tiến hành phát video theo dõi lên mạng hỗ trợ người nhà

có thé theo dõi người thân Robot đến nay đã có thé thực hiện một số tác vụ như xác định người cần theo dõi, nhận dạng thân người, dự đoán hành vi hiện tại và điều khiển

theo đõi đối tượng theo khoảng cách cũng như phát video theo dõi ở mạng nội bộ.

Trang 13

Chương 1 GIỚI THIỆU DE TÀI HUMANOID ROBOT DONG HANH

CUNG NGUOI CAO TUOI

1.1 Giới thiệu dé tài

Tiến bộ công nghệ là một xu hướng phổ biến có ảnh hưởng đáng kẻ đến cuộc sống

của con người Robot là một trong những phát minh công nghệ vĩ đại nhất Ứng dụng

của người máy đã dẫn đến sự cải thiện đáng kể trong đời sống con người và ngành công nghiệp Ngày nay, robot là một phần quan trọng trong các lĩnh vực khác nhau

bao gồm: sản xuất, dịch vụ y tế và gia dụng, hoạt động quân sự và giải trí.

Theo báo cáo Triển vọng dân số thé giới 2019: Dân số thé giới đang gia đi, với nhóm 65 tuổi trở lên tăng nhanh nhất; dự báo đến năm 2050, 1/6 dân số thế giới sẽ

trên 65 tuổi (khoảng 16%) và 1/4 dân số sống ở châu Âu và Bắc Mỹ có thể từ 65 tuổi trở lên tức là cứ 4 người sống ở châu Âu và Bắc Mỹ thì có 1 người trên 65 tuổi Cũng

theo báo cáo, năm 2018, lần đầu tiên trong lịch sử nhân loại, những người từ 65 tuổi trở lên có số lượng đông hơn trẻ em dưới 5 tuổi trên thế giới Những người cao tuổi

từ 80 tuổi trở lên dự kiến có thé tăng gấp gan 3 lần, từ 143 triệu người năm 2019 lên

426 triệu người vào năm 2050.

Dân số gia đang gia tăng trên toàn thé giới, điều nay cho thấy nhu cầu sức khỏe của

ho là một van dé quan trọng đối với các cơ quan cung cấp dịch vụ y tế, các chính phủ,

nhân viên chăm sóc và gia đình của họ Điều này dẫn đến sự xuất hiện của các robot chăm sóc sức khỏe có vai trò có trong việc hỗ trợ người lớn tuổi hoàn thành các hoạt

động thường ngày, giúp theo dõi hành vi, sức khỏe người già và là bạn đồng hành khi

họ một mình Trong tương lai gần, thế giới sẽ thiếu hụt trầm trọng nhân viên chăm

sóc người cao tuổi, đây là nguyên nhân khiến chi phí chăm sóc người cao tuôi tăng cao và tạo ra gánh nặng cho gia đình và người chăm sóc Vì vậy Robot là sự bù đắp thích đáng cho sự thiếu hụt đó (WHO, 2016).

Trang 14

1.2 Robot đồng hành và chăm sóc người cao tuổi

Với sự tiễn bộ của robot và trí tuệ nhân tạo, các robot đồng hành trong xã hội bắtđầu được hình thành: những sinh vật cơ khí có hình dạng con người hoặc động vật,nhỏ hơn hoặc lớn hơn có thé thực hiện các nhiệm vụ khác nhau và có thé tương tácvới con người và môi trường xung quanh chúng Qua đó có thé thực hiện các chứcnăng theo dõi chăm sóc người già yếu hoặc bệnh tật

Có thé nhắc tới một số robot phục vụ cho van đề trên như:

- Ri-man" tt các nhà khoa học thuộc viện nghiên cứu Riken (Nhật Ban): Robot có

thé di chuyền theo dõi và thực hiện một số chức năng như ăm người, nghe nhịp

thở và phân biệt được một số mùi vị

- Buddy The Emotion Robot từ Blue Frog Robotics"! cung cấp một robot thông

minh đa năng sử dụng trong gia đình, nó hỗ trợ theo dõi, giám sát phát hiện tình

huống bat thuong, diéu khién thiét bi trong nha, theo dõi chăm sóc người cao tuổinhắc nhở tư thế và lịch trình, cung cấp đa phương tiện tương tác xã hội trên môi

trường mạng,

1.3 Humanoid robot đồng hành cùng người cao tuổi

Humanoid robot: là một robot có hình dạng cơ thể được xây dựng dựa trên hìnhdáng của con người Có thé tự điều khiển, nghĩa là có thé thích ứng với các điều kiệnkhác nhau của môi trường và sự thay đổi của chính nó dé thực hiện mục đích đặt ra

- Mô hình thuật toán trên Humanoid robot được kế thừa từ “Thuật toán theo dõi va

đồng hành cùng người cao tuổi”! đã đáp ứng được những yêu cầu:

e Làm thé nào dé xác định đối tượng cần theo dõi.

e Sau khi xác định đối tượng phải làm sao dé theo dõi đối tượng khi đối tượng di

chuyền và môi trường thay đôi

e Xử lý dé điều khiến robot có thé đi cùng đối tượng

e Xử lý như thế nào khi bị mất đối tượng

Trang 15

1.4 Giới hạn và mục tiêu dé tài

- _ Những yêu cầu được đặt ra ở đề tài này:

Xây dựng tập dữ liệu dành cho việc huấn luyện thuật toán nhận dạng dáng

người và phân biệt hành vi đối tượng

Nghiên cứu các mô hình thuật toán phù hợp cho phép nhận diện cơ thé đốitượng và tìm kiếm những đặt trưng cơ bản cho từng hành vi

Dự đoán và đánh giá hành vi cụ thé của đối tượng theo dõi

Tích hợp được mô hình thuật toán nhận diện và dự đoán hành vi vào Humaniod robot.

- - Giới hạn đê tài:

Đề tài chúng tôi được thực hiện với điều kiện phát hiện và theo dõi một đối

tượng trong không gian phòng với diện tích 30m2 và không có vật cản.

Nhận dạng hai chuỗi hành vi cơ bản là: “Đi rồi ngã sang hai bén’ và “Đứng rồi

ngã sang hai bên".

- Muc tiêu đề tài: Dựa trên mô hình Humanoid robot đề tài tập trung vào việc tạo

ra thuật toán có khả năng tích hợp lên robot cho phép theo dõi và nhận diện dáng người, đưa ra các dự đoán cho hành vi của người cao tuôi và cảnh cáo khi có các

tình huống bất thường (té ngã) xảy ra

Trang 16

Chương 2 MỘT SO NGHIÊN CỨU LIEN QUAN

2.1 Một vài mô hình thuật toán đã được phát triển:

2.1.1 An Eight-camera Fall Detection System

- Tén đầy đủ: An Eight-camera Fall Detection System Using Human Fall Pattern

Recognition via Machine Learning By a Low-cost Android Box").

- M6 ta: là một hệ thống giám sát bằng cách phân tích hành vi, tốc độ và gia tốc

thay đổi tư thé của mục tiêu từ đó dự đoán, phát hiện té ngã

- _ Thuật toán dựa vào sự thay đổi vị trí của đối tượng giữa các Frame tính toán được

các đặc điểm như tốc độ, gia tốc và độ cao, từ đó đưa ra các dự đoán cho từng

chuỗi hành vi cụ thể

Hình 2-1: Ví dụ về các đặc điểm của đối tượng thay đổi theo thời gian"!

Trang 17

Frame 1 Frame 2 Frame 3 Frame 4

Hình 2-2: Theo dõi sự thay đôi của đối tượng qua từng frame"!

- Uudiém:

Sử dụng mô hình thuật toán AI do SpeedyAL Inc cung cấp đạt độ ôn định và

chính xác cao lên tới 89%.

Mô hình sử dụng nhiều camera cho phép nhìn thấy đối tượng ở mọi hướng hạn

chế việc mat dau hoặc đồi tượng bị che phủ dẫn tới đánh giá sai

Hệ thống giám sát yêu cầu rất ít về bộ nhớ máy tính (khoảng dưới 50kilobytecho mỗi camera) va các tính toán liên quan đòi hỏi rat ít về yêu cầu phần cứngnên có thé phù hợp cho các thiết bị như Raspberry Pi hoặc Android TV

- Nhược điểm:

Tốc độ chưa thực sự nhanh chỉ khoảng 7fps cho kết quả chính xác trên 90%

và giảm dan khi tăng fps

Cần bảo đảm tất cả các camera được lắp đặt ở các vị trí tối ưu, chỉ có thê theo

dõi ở một khu vực nhất định

Mô hình được huấn luyện dựa trên các model có sẵn do SpeedyAI cung cấp,

các tính toán chính hoàn toàn phụ thuộc vào nguôn câp dữ liệu.

Trang 18

2.1.2 Human Fall-down Event Detection

- Tén day du: Human Fall-down Event Detection Base on 2D Skeletons and Deep

Learning Approach".

- M6 tả: là thuật toán sử dung mạng tích chập CNN dé xuất ra tập dữ liệu là mô

hình xương người 2D cho từng Frame sau đó đưa các đặc trưng của đối tượngđược xuất ra trong 8 Frame liên tục vào mạng RNN để dự đoán hành vi

Input frame CNN Skeleton Pose

e© Du đoán được nhiều hành vi cụ thê với độ chính xác lên tới 88.9%

e - Mô hình thuật toán đơn giản, dé dàng bổ xung các mô hình hành vi và mở rộng

mục đích sử dụng cho thuật toán.

- Nhược điểm:

e Có yêu cầu cao về phần cứng dé huấn luyện mô hình và thực thi các tính toán

liên quan Thuật toán được kiểm tra trên phần cứng GTX 1060 6G GPU trả vềtốc độ xử lý là 8fps

Trang 19

e Doi hỏi công việc nhận dang mô hình 2D xương người đảm bảo độ chính xác

và đầy đủ, kết quả nhận được bị ảnh hưởng trực tiếp nếu đối tượng theo dõi bịche khuất

2.2 Mô hình thuật toán Human Pose Estimation (KeyPoint Detection)

Nhận diện dang người hay nhận diện cơ thể người (Human Pose Estimation), haycòn gọi là nhận diện các điểm cở thé (KeyPoint Detection), là bài toán thường xuất

hiện trong các vấn đề liên quan đến thị giác máy tính, đòi hỏi chương trình thực thitìm kiếm và đánh dấu từng bộ phận cơ thể của đối tượng trên khung hình Từ những

điểm đánh dấu và tùy vào mục đích sử dụng của người dung ta có được một mô hình2D hoặc mô hình 3D cơ thể

Một vài mô hình thuật toán tiêu biéu được phát triển dành riêng cho van đề nhận

diện dáng người:

- PoseNet được phát triển dé thực thi trên Tensorflow.js, với kích thước nhỏ gon

cho phép khả năng sử dụng trực tiếp trên mọi trình duyệt hoặc mọi thiết bị diđộng PoseNet có thể được sử dụng để tìm ra một hoặc nhiều đối tượng trongkhung hình với độ chính xác tương đối cao Mô hình thuật toán đã được sử dụng

Trang 20

và đánh giá độ hiệu quả trong đề tài “Camera thông minh nhận dạng hoạt động

người ”1!!,

left eyo left ear

nose

right eye

right ear &

right shovloer left shoulder,

right ankle left ankle

Hình 2-6: Ví dụ cho kết quả trả về của mô hình PoseNet”*!

- MoveNet tương tự với PoseNet nhưng được phát triển dé thích hợp cho các thiết

bị nhúng.

- OpenPose cho phép nhận diện nhiều người trong thời gian thực bao gồm việc

nhận diện và tìm kiếm các điểm trên cơ thể, khuôn mặt, bàn tay và bàn chân (baogồm 135 điểm khác nhau) chỉ trên một hình ảnh

Hình 2-7: Ví dụ cho kết qua trả về của OpenPose!°!

- _ Các yêu cầu đặt ra cho mô hình thuật toán nhận diện dáng người trong đề tài này

như sau:

Trang 21

e Có khả năng thực thi được trên máy tính nhúng (cụ thé là JetsonNano) với tốc

độ nhận diện và độ chính xác phù hợp cho việc theo dõi đối tượng người cao

tuôi

e Tích hợp được với hệ thống phần mềm trên Humanoid robot, sử dụng được

với ngôn ngữ C/C++.

e Kết quả trả về mô hình 2D xương người với độ chính xác tốt

Dé phù hợp với các yêu cầu về phần cứng cũng như phần mềm hỗ trợ thì mô

hình thuật toán OpenPose được lựa chọn cho đề tài này

2.3 Mô hình thuật toán OpenPose

OpenPosel“2! được tạo ra bởi nhóm tác giả CMU-Perceptual-Computing-Lab đã

giành chiến thắng trong cuộc thi “The COCO keypoints challenge in 2016”, Thuật

toán đã khắc phục những điểm yếu của các mô hình khác như cho phép xử lý, tínhtoán ngay trên hình anh đầu vào mà không cần sử dụng nhiều luồng, có thể chạy trên

mọi nền tảng như Windows, IOS, Linux hoặc các hệ thống nhúng, người dung có thể

chọn bât kì đầu vào nào như hình ảnh, video, webcam hay IP camera.

- Dau vào là hình ảnh mau với kích thước w*h sẽ cho dữ liệu đầu ra là danh sách

vị trí 2D cho từng bộ phận trên cơ thể, việc nhậ diện chia làm 3 stages chính:

e Stagel: bao gồm mô hình 10 layers của VGG-19""*! đã được tinh chỉnh dé tạo

ra các lớp input đưa vào mang CNN.

e Stage2: chia thành 2 nhánh mang CNN da tầng với nhánh đầu tiên được sử

dụng dé dự doán mô hình 2D xương người (vi dụ hình 2-9-trai) với đầu ra là

danh sách Confidence Maps (hình 2-8-b) Nhánh thứ hai sẽ dự đoán danh sách

các Affinity Fields (hình 2-8-c) kết nối các bộ phận cơ thể tương ứng với nhau

(ví dụ hình 2-9-phai).

e Stage3: từ Confidence Maps va Affinity Fields tính toán và đưa ra mô hình 2D

cơ thê người.

10

Trang 22

(b) Part Confidence Maps

YRS

(a) Theat Tre (c) Part Affinity Fields

Hình 2-8: (a) Đầu vào, (b) Confidence Maps, (c) Affinity Fields"!

Hình 2-9: (trái)CM cho vai trái, (phải)PAF cho cặp điểm cổ và vai trái?”

- Dé dễ dàng phân biệt từng điểm của các đối tượng khác nhau trong khung hình

khi có sự xuất hiện của nhiều đối tượng thuật toán OpenPose đã đưa ra PartAffinity Fields (PAFs) để đánh giá độ tương ứng của các điểm trên khung hình

với nhau (ví dụ ở hình 2-10).

11

Trang 23

Hình 2-10: Các PAFs tương ứng từng đối trong"

Hình 2-11: Kiến trúc CMUPose Network“!

- Hinh ảnh đầu vào sẽ được phân tích bỡi 10 layers đầu tiên của VGG19, tạo ra

danh sách đặc trưng F được đưa vào giai đoạn đầu tiên của mỗi nhánh (Branch)

- O giai đoạn (Stage) đầu tiên, CMPose Network sẽ tạo ra CMs, S! = p!(F), và danh

sách PAFs, L! = @!Œ) § và L có thé được tinh chỉnh để kết qua phân tích trả về

có độ chính xác cao hơn.

12

Trang 24

- O giai đoạnt(t>2), S và L trở thành:

gf = HH ”,LÝ”) 422 (1)

Y= Rey) VE># (2)

2.3.2 OpenPose Network

Stage t, (t < Tp) Stage t, (Tp < t < Tp +Te)

Hình 2-12: Kiến trúc OpenPose Network"!

- Kién trúc của OpenPose Network có sự khác biệt so với CMUPose Network

- Pau tiên OpenPose Network sẽ tạo ra danh sách PAFs (L*):

"` ae lah) N << Tp, (3)

- Sau đó tạo ra danh sách CMs (S§Đ:

st? = p'(E,LT?), Vt=Tp, (4)

sé = p'(F,L7’,S‘ 1), VTp <t<Tp+Te, (5)

- C6 thé thay rang việc tao ra PAFs quan trong hon tao ra CMs, do đó tinh chỉnh

PAFs yếu tố chính dé tăng độ chính xác cho mạng

Stage 1 Stage 2 Stage 3

Hình 2-13: Sang loc PAFs qua các Stage!

13

Trang 25

CMUPose Network có kiến trúc bao gồm nhiều Convolutional Layers có kích

thước 7x7 Trong OpenPose Network, với mỗi 7x7 Convolution Kernel đã được

thay thế bỡi 3 3x3 Kernels liên tiếp Reception Field được giữ nguyên và số lượng

Operation đã được tiêu giảm (trong khi trước kia cần Ø7 Operation thì chỉ cần 51

cho bây giờ).

Ngoài ra, đầu ra của từng bộ 3 Convolution Kernel đã được rang buộc vào nhau,

tương tự DenseNet!°! Số lượng Layers phi tuyến tuyến được tăng gấp 3 lần và

mạng có thê giữ đặc trưng lower level và higher level

L là độ tin cậy của PAE, S” là độ tin cậy của CM và W là bộ lọc nhị phân với

W(p) = 0 khi bị mat pixel thứ p

Kiểm soát trung gian giữa các Stage khắc phục được van đề mat Gradient!°! bang

việc bô xung các Gradient một cách định ki.

Trang 26

- Nhu phương trình ở trên với xj là độ tin cậy của bộ phận j và đối tượng k, p là

giá trị tại điểm, nó là một điểm Gaussian thay đối chậm với đỉnh năm ở trung tâm

nơi mà o kiêm soát độ rộng của đỉnh.

Hình 2-14: Biéu đồ CM (Sp)!

- Hosu dụng mức cao nhất của CM thay vì mức trung bình (cụ thé ở hình 2-14) dé

các đỉnh của Gaussion có sự khác biệt.

2.3.5 Part Affinity Fields (PAFs)

- Dé nhận diện trong môi trường có nhiều đối tượng, việc cần thiết là phan biệt

được bộ phận cơ thể nào kết nối với bộ phận nào trong danh sách tất cả các điểm

đã nhận diện, ví dụ khi trong ảnh có nhiều phần cổ và vai, đặc biệt khi các điểm

cơ thê này lại được xếp gần nhau, do đó rất khó dé phân biệt được theo cách thông

thường.

- OpenPose đã tạo ra Part Affinity Fields (PAF) dé đánh giá mối liên kết của từng

bộ phận cơ thê với nhau, PAF càng cao thì khả năng cặp bộ phận cơ thê là cùngmột đối tượng

- PAF (L*) là một vector mang giá trị khi p nằm trên cơ thê, ngược lại sẽ trả về 0:

Trang 27

- Cho nhận dạng nhiều đối tượng thì tổng của E phải là maximized:

max E, = max = Là Emn * Z3: (12)

mED;, n€?;„

2.3.6 Kết qua của OpenPose trong MPII Multi-PersonTM

Method Hea Sho Elb Wri Hip_ Kne An mAP | s/ image

Subset of 288 images as in [1]

Deepcut [1] 734 718 579 399 567 440 320 | 541 57995

Iqbal et al [41] 700 65.2 564 461 52.7 479 445 | 547 10 DeeperCut [2] 87.9 840 71.9 639 688 638 58.1 71.2 230 Newell et al [48] 91.5 87.2 759 654 722 67.0 621 | 745 -

- D6i với tập hợp con 288 hình anh cũng như tập hợp thử nghiệm day đủ, OpenPose

cũng thu được mAP cao, vượt trội hơn hoặc có thể so sánh với DeepCut,

DeeperCut va Newell ECCV’ 16.

- mAP cong qua các ngưỡng PCKh khác nhau trên bộ xác thực MPII (a) đường

cong mAP của các thí nghiệm tự so sánh (b) đường cong mAP cua PAF qua các

giai đoạn.

16

Trang 28

2.3.7 Kết quả của OpenPose trong COCO Keypoint Challenge!

- Bộ đữ liệu COCO bao gồm hơn 100 nghìn cá nhân người được gan nhãn với hon

1 triệu điểm chính Bộ thử nghiệm chứa các tập con challenge” và

“test-dev”, mỗi tập có khoảng 20 nghìn hình ảnh Đánh giá COCO xác định sự tương

đồng về điểm chính của đối tượng (OKS) và sử dụng độ chính xác trung bình

trung bình (AP) trên 10 ngưỡng OKS làm thước đo cạnh tranh chính OKS đóng

vai trò giống như IoU trong việc phát hiện đối tượng Nó được tinh từ thang điểm

của người và khoảng cách giữa điêm dự đoán va GT.

Team AP | AP AP APM APL

Hình 2-17: Kết quả của cái đội nhóm dau

Method [AP | APS AP5 AP‘? APE | Stages

5PAF-1CM | 653 | 852 71d 622 70.7

4PAF-2CM | 652 | 853 714 623 701

3PAF-3CM | 650 | 851 712 624 694 4PAF-1CM | 618 85.3 70.9 61.9 69.6 3PAF-1CM | 646 | 848 706 618 69.5 3CM-3PAF | 610 | 839 65.7 585 6543 Œœ d>ƠI Œœ Œœ Œœ

Hình 2-18: Thí nghiệm tự so sánh trên bộ xác nhận COCO"!

- _ Trong khi các con số biểu thị số lượng các giai đoạn ước tinh cho PAF va CM

Giai đoạn đề cập đến số lượng giai đoạn PAF và CM Giảm số lượng giai đoạn

làm tăng hiệu suất thời gian chạy

17

Trang 29

2.3.8 Mạng nơ-ron tích chap CNN (Convolution Neural Network)

- Khai niệm

e M6hinh mạng no-ron tích chap (CNN) là 1 trong những mô hình để nhận dạng

và phân loại hình ảnh Trong đó, xác định đối tượng và nhận dạng khuôn mặt

là 1 trong số những lĩnh vực mà CNN được sử dụng rộng rãi

e CNN phân loại hình ảnh băng cách lấy 1 hình ảnh đầu vào, xử lý và phân loại

nó theo các hạng mục nhất định (Vi dụ: Chó, Mèo, Hồ, ) Máy tinh coi hìnhảnh đầu vào là 1 mảng pixel và nó phụ thuộc vào độ phân giải của hình anh.Dựa trên độ phân giải hình ảnh, máy tính sẽ thấy H x W x D (H: Chiều cao,W: Chiều rộng, D: Độ dày)

Hình 2-19: Mang ma tran RGB 6x6x3 (3 ở day là giá tri RGB)

e Về mặt kỹ thuật, mô hình CNN dé đào tạo và thử nghiệm, mỗi đầu hình anh

sẽ đưa nó qua một loạt các lớp chuyền động với bộ lọc (Kernels), tập hợp cáclớp kết nối đầy đủ (Full Connected) và áp dụng chức năng Softmax để phânloại các đối tượng có giá tri từ 0 đến 1 Hình dưới đây là toàn bộ luồng CNN

xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị

18

Trang 30

- Thanh phan các lớp co bản của CNN

e Lớp tích chập (Convolution layer): Tích chập là lớp đầu tiên dé trích xuất các

tính năng từ hình ảnh đầu vào Tích chập duy trì mối quan hệ giữa các pixel

bằng cách tìm hiểu các tính năng hình ảnh bằng cách sử dụng các ô vuông nhỏ

của đữ liệu đầu vào Nó là một phép toán có 2 đầu vào như ma trận hình ảnh

và 1 bộ lọc hoặc kernel Một số khái niệm cần nhắc đến ở lớp này là filter map,

stride, padding, feature map.

o Filter map là một ma trận 3 chiều trong đó bao gồm những con số hay còn

gọi là các parameter.

o Stride ở đây có thé hiểu là khoảng dịch chuyền filter map từ trái sang phải

theo pixel.

o Padding: những giá trị 0 được thêm vào input.

o Feature map thé hiện kết quả mỗi lần filter quét qua input Mỗi lần quét

như thế xảy ra quá trình tính toán

19

Trang 31

Hình 2-22: Tính toán va Feature map

¢ Pooling layer: nêu như đầu vào quá lớn các lớp pooling layer sé được xếp vào

giữa các lớp convolutional layer để giảm các parameter có 2 loại phổ biến là

max pooling và average pooling.

20

Trang 32

Single depth slice

max pool with 2x2 filters

and stride 2 [6 | 8 |

Hinh 2-23: Pooling layer

e Relu layer: là một hàm kích hoạt trong mang nơ-ron Tác dụng chính của ham

kích hoạt này chính là việc mô phỏng các nơ-ron có tỉ lệ truyền xung qua axon

Trong hàm kích hoạt có các hàm cơ bản như: Sigmoid, Tanh, Relu, leaky relu,

Maxout.

e Hiện nay hàm Relu được sử dụng khá phổ biến va thông dụng đặc biệt trong

huấn luyện các mạng nơ-ron do hiệu suất của nó khá tốt

e Fully connected layer: ding dé đưa ra kết quả Sau khi Convolution layer và

pooling layer nhận được các ảnh truyền qua thi lúc đó ta sẽ thu được kết qua

là model đã đọc được thông tin về ảnh Vì vậy, dé liên kết các đặc điểm đó lại

và cho ta output chúng ta dùng fully connected layer.

- Kién trúc của CNN

e Mang CNN bao gồm nhiều lớp Convolution chồng lên nhau, sử dụng các hàm

kích hoạt dé kích hoạt các trọng số Mỗi lớp sau khi được kích hoạt sẽ cho ra

kết quả trừu tượng cho các lớp tiếp theo Mỗi lớp kế tiếp chính là thê hiện kết

quả của lớp trước đó.

e Thông qua quá trình training, các lớp CNN tự động học các giá trị được thé

hiện qua các lớp filter.

e Có 2 điều cần quan tâm ở mô hình CNN là tính bắt biến và tính kết hợp Trong

trường hợp, cùng một đối tượng mà chiếu theo những góc khác nhau sẽ cho

độ chính xác có sự ảnh hưởng.

21

Trang 33

e Đối với phép dịch, quay và co din sẽ sử dung pooling dé sử dụng làm bắt biến

các tính chất kia Vì vậy mà CNN đưa ra kết quả có độ chính xác cao

e_ Cấu trúc cơ bản của CNN gồm 3 phan chính: Local receptive field, shared

weights và bias, pooling.

o Local receptive field (trường cục bộ): tác dung của lớp này chính là

giúp tách loc dữ liệu, thông tin của ảnh và chọn vùng ảnh có giá tri sử

dụng nhất

o Shared weights va bias (trọng số và chia sẻ): làm giảm tối đa đối tượng

các tham số Bởi trong mỗi Convolution có những feature map khác nhau,

mỗi feature lại giúp xác định một vài feature trong ảnh.

o Pooling layer: lớp tông hợp, gần như là lớp cuối trước khi cho ra kết quả

Vì vậy, dé có được kết quả dễ hiéu và sử dụng nhất thi pooling sẽ có tácdụng làm đơn giản hóa thông tin đầu nghĩa là lược bớt thông tin khôngcần thiết và cho ra kết quả ta mong muốn

e_ Chọn tham số cho CNN: ta cần dé ý những mục như số convolution layer,

filter size, pooling size và việc train test.

o Càng nhiều convolution layer thì chương trình càng được cải thiện

Tuy nhiên việc sử dụng quá nhiều sẽ dẫn đến tốc độ của bài toán, đôikhi chỉ sau 3 đến 4 lớp có thê cho ra kết quả phù hợp

o Filter size: thông thường, các filter size thường có kích thước 3x3 hoặc

Trang 34

2.3.9 VGG Very Deep Convolutional Networks (VGGNet)

VGG (Visual Geometry Group) là mô hình mang CNN với kiến trúc nhiều lớp,VGG được phát triển để tăng độ sâu cho mạng CNN với độ sâu tương ứng cho

VGGI6 và VGG19 là 16 và 19 lớp Convolutional Kiến trúc VGG là cơ sở của các

mô hình nhận dạng đối tượng mang tính đột phá Được phát triển như một mạng

nơ-ron sâu, VGGNet cũng vượt qua các đường cơ sở về nhiêu tác vụ và bộ dữ liệu ngoài

ImageNet Hơn nữa, bây giờ nó vẫn là một trong những kiến trúc nhận dạng hình

ảnh phổ biến nhất.

Hình 2-24: Kiến trúc VGG Neural Network"®!

- _ VGGI6 hỗ trợ lên tới 16 lớp có thê nhận dạng hình ảnh với hơn 1000 đối tượng

khác nhau bao gồm động vật, con người, phương tiện giao thông, Ngoài ra các

model có hình anh đầu vào kích thước 224x224 VGG16 đạt được hơn 92.5%

top-5 độ chính xác cho ImageNet (ImageNet là tap dataset với hon 14 triệu hình ảnh

cho hơn 1000 nhóm đối tượng khác nhau)

- VGG19 tương tự với VGG16 nhưng được bồ xung thêm 3 lớp Convolutional

- Kién trúc VGGnet: VGG được xây dựng dựa trên mô hình phổ biến của mạng

CNN, với VGG16 bao gồm 13 Convolutional Layer và 3 Fully Connected Layers,

cu thé:

e Input: VGGnet nhận hình anh input với kích thước 224x224.

23

Trang 35

e Convolutional Layers: tận dụng tối thiểu Receptive Field, ví dụ như với kích

thước 3x3, kích thước nhỏ nhất có thể, vẫn lọc được trên/xuống và trái/phải

Hơn nữa vẫn có bộ Convolution Fillter kích thước 1x1 hoạt động như một

phương thức biến đổi tuyến tính Input Nhờ vào các tính toán dựa trênReLU[17], thời gian huấn luyện đã được rút ngắn một cách đáng kể so với các

mô hình Neural Network khác.

e Hidden Layers: tat cả các Hidden Layers của VGG đều sử dụng ReLU, so với

LRN (Local Response Normalization) thì việc tính toán trên ReLU mang lại

hiệu quả hơn về bộ nhớ và cả thời gian huấn luyện, tuy vậy độ chính xác không

có sự khác biệt quá lớn.

Hình 2-25: Fully Connect Layersl?'!

e Fully Connect Layers: VGGnet bao gồm 3 Fully Connect Layers với Layer 1

va Layer 2 có 4069 kênh cho mỗi Layer và 1000 kênh tương ứng với 1000 đối

tượng cho Layer 3.

24

Trang 36

S181||J |2u12 Exe ÑUIsn susAeq] JguølflJoAulo2 ET

Jace] Da12aMg3 Ayn4

Hình 2-26: Kiến trúc của VGGnet-16"'*!

25

Trang 37

2.3.10 Caffe — Deep learning framework

Caffe được phát triển bởi Berkeley AI Research (BAIR) và su đóng góp từ cộng

đồng Mặc dù Caffe hỗ trợ Convolutional Neural Networks, nhưng hiện tại nókhông hỗ trợ Recurrent Neural Networks Được giới thiệu đầu tiên năm 2014 với

mục dich là sử dung dé áp dụng thuật toán Deep Learning trong các bài toán liên

quan đến thị giác máy, cho đến ngày nay cùng với sự đóng góp của cộng đồng,

caffe framework được sử dụng cho nhiều lĩnh vực khác như xử lý ngôn ngữ tựnhiên, xử lý tiếng nói Các tính năng chính của Caffe bao gồm hỗ trợ Central

Processing Units va Graphics Processing Units, cũng như Nvidia’s Compute

Unified Device Architecture (CUDA) và thu viện cuDNN (CUDA Deep Neural

Network), cũng từ nhà cung cap này Do đó, Framework được thiết kế chủ yếucho tốc độ

Một số tính năng nổi bật của Caffe Framework:

e Ngoài ngôn ngữ dùng dé phát triển là C++, Caffe Framework còn hỗ trợ cho

Matlab và Python.

e Dễdàng trong việc thiết lập các cài đặt do Caffe có kiến trúc đặc biệt trong đó

sử dụng các thư viện đi kèm một cách độc lập.

e Caffe có thé dé dàng cho phép người dung chọn huấn luyện Deep Learning trên

CPU hay GPU.

e Người dùng có thể tự thiết lập một cấu trúc mạng cho hệ thống của mình theo

một quy ước có trước, vì vậy người dùng không cần can thiệp quá sâu vào phần

lập trình mà vẫn sử dụng được Deep Learning.

e Người sử dụng có thé dé dàng thực hiện quá trình huấn luyện trên dữ liệu của

mình thông qua các câu lệnh đơn giản Ngoài ra, người dùng cũng có thé sửdụng các mô hình đã được huấn luyện sẵn (pretrain model) do cộng đồng đóng

góp (models zoo).

Tuy nhiên Caffe ít linh động, model được định nghĩa trước phức tạp và khó khăn khi định nghĩa mô hình model mới.

26

Ngày đăng: 23/10/2024, 01:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN