Đặc biệt trong 5 năm gần đây, sự xuất hiện của các mô hình ước lượng tư thế mã nguồn mở, hoạt động trong thời gian thực với độ chính xác cao tạo ra cơ hội xây dựng những hệ thống phát hi
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
NGUYÊN VĂN NHỊNH - 19522596 TRAN HUYEN TRANG - 19522615
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG ỨNG DỤNG PHÁT HIỆN CÚ NGÃ DỰA TREN THUẬT TOÁN PHAN TÍCH TƯ THE
Fall Detection Application Development Based on Pose Detection
Algorithm
CU NHAN NGANH CONG NGHE THONG TIN
GIANG VIEN HUONG DAN
TS NGUYEN TAN CAM
TP HO CHÍ MINH, 2022
Trang 2LỜI CẢM ƠN
Đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến TS Nguyễn Tan Cầm, người đã tận tình hướng dẫn và hỗ trợ nhóm trong suốt quá trình thực hiện khoá luận tốt nghiệp
này Những nhận xét và chia sẻ của thay thật sự rất quý báu và ý nghĩa.
Tiếp theo, nhóm xin cảm ơn quý thầy cô đang công tác tại trường Đại Học Công
Nghệ Thông Tin Quá trình làm khoá luận đã cho nhóm cơ hội vận dụng những kiến
thức và kinh nghiệm quý thầy cô truyền đạt xuyên suốt quá trình học tập tại trường.
Do kiến thức và kỹ năng của nhóm còn hạn chế nên không thẻ tránh khỏi thiếu sót
trong khoá luận này Nhóm hi vọng nhận được những ý kiến đánh giá và đóng góp từ
phía thầy cô để hoàn thiện thêm trong tương lai.
Xin chân thành cảm ơn!
Nguyễn Van Nhịnh — Tran Huyền Trang
Trang 31.3 Đối tượng nghiên cứu
1.4 Pham vi nghiên cứu
CHƯƠNG 2 : TONG QUAN «s«eceeeeeeeeEEttttttttttrrrkkkkkkrrkririrrdde 4
2.1 Ước lượng tư thế.
2.3.2 Lựa chọn bộ dit liỆU - ¿62+ 6S *StE2E S2 EEEEEEeEEkekresrssekrrrsreerre 28
CHƯƠNG 3 : PHƯƠNG PHÁP THỰC NGHIỆM
3.1 QQuy fTÌnhh 5 5 sọ HT HH 006010 10 32
3.2 Logic phát hiện té ngã
ko 7a 39 3.4 Phương pháp đánh giá -.-. -< 55s s<s2sSSASYSEEEAEAAE101011088 s58 42
CHƯƠNG 4 : KET QUẢ 5° 222++esEEEEEVEV.eedeettotvrvkrreorooorrre 44
AL KEt QUa na .ẽ.ẽ.ẽ.ẽẽẽẽẽẽẽẽ 44
Trang 5DANH MỤC HÌNH
Hình 2.1 Trên: Hướng tiếp cận từ trên xuống, Dưới: Hướng tiếp cận dưới lên Nguồn:
Hình 2.2 Công thức tính AP Nguôn: [6] . - ¿+ 5S St SveEEkskekekrrrrreree 8
Hình 2.3 Công thức tinh IoU Nguồn: [6] -¿¿£°2222v22c+z++t22vvvvvccerzee 9 Hình 2.4 Thứ tự trọng điểm cơ thể người trong OpenPose Nguồn: [9] 0
Hình 2.5 Vị trí trọng điểm cơ thể người trong OpenPose Nguồn: [9] 1
Hình 2.6 Khái quát quy trình xử lý dữ liệu của OpenPose (a) Hình ảnh đầu vào (b) Part Confidence Maps (c) PAFs (d) Bipartile Matching (e) Kết quả phân tích Nguon: 17 2
Hình 2.7 Minh hoạ PAF Trái: PAF tương ứng với cặp bộ phận khuyu tay phải và cổ
tay Màu của vecto mã hóa hướng của cặp bộ phận Phải: Một vectơ 2D trong mỗi
3
pixel của mỗi PAF mã hóa vị trí và hướng của cặp bộ phận Nguồn: [8].
Hình 2.8 Khái quát quy trình xử lý dữ liệu của MoveNet Nguồn: [11] „l5
Hình 2.9 Nghiên cứu phát hiện té ngã theo nhóm đặc trưng Thống kê dựa vào 81 nghiên cứu được xuất bản từ năm 2015 đến 2020 trong [13] - - 20
Hình 3.1 Quy trình xử lý dữ liệu - 551 SE ghưn 33 Hình 3.2 Các bước xử lý một Video -¿- ¿c5 St sseeeeeeeseeeeeeerrrrrrreeee 2 Hình 3.3 Quy trình phát hiện té ngã trong nghiên cứu của Weiming Chen và cộng sự.
007 ‹::-3 35
Hình 3.4 Hình chữ nhật bao quanh cơ thể người trong nhiều tư thế (a) Tư thế đi bộ (b) Tư thé đang ngã (c) Tư thé sau khi ngã Nguồn: [14] -¿ 38
Hình 3.5 Thông tin tư thế trong khung hình 17, video 0, bộ dữ liệu Charfi2012 dataset
do OpenPose trích Xuất -s:-222+22ES++t22EE32+t2222112222111121211112211112222211 xe, 39
Hình 3.6 Thông tin tư thế trong khung hình 17, video 0, bộ dữ liệu Charfi2012 dataset
do MoveNet trích xuất -©22222222+22222292122222222111112 222211111 c1 re 42
Hình 4.1 Hình chữ nhật bao quanh đối tượng té ngã (a) Trong mô phỏng tư thế ngã của nghiên cứu gốc (b) Trong video 18 của bộ dữ liệu UR Fall Detection (c) Trong
video 13 của bộ dữ liệu Charfi2012 đdafaS€t - - 5c S252 + *+vvsrxsrrrrrereerr 48
Trang 6Bảng 2.3 So sánh các bộ dit liệu té ngã hình ảnh chuẩn - -2-= 30
Bảng 4.1 Kết quả thử nghiệm - 2222222222 2222122211112 221111 EEE.eccrer 44
Bảng 4.2 Phân loại các trường hop dự đoán sai - - «+ 5++x+xexexerkrkekereree 47
Trang 7DANH MỤC TU VIET TAT
Ky hiệu / Chữ viết tắt Tên day đủ
AP Average Precision
FN False Negative
FP False Positive
FPS Frame Per Second
PAE Part Affinity Field
TN True Negative
Trang 8TÓM TẮT KHOÁ LUẬN
Té ngã là một van dé sức khỏe cộng đồng nghiêm trọng, đặc biệt đối với người cao tuổi Ké từ năm 1996, nhiều nguyên cứu về hệ thống phát hiện té ngã đã được xuất
bản với nhiều cách tiếp cận khác nhau nhằm không ngừng cải thiện độ chính xác, tính
linh hoạt và khả dụng của hệ thống Đặc biệt trong 5 năm gần đây, sự xuất hiện của
các mô hình ước lượng tư thế mã nguồn mở, hoạt động trong thời gian thực với độ
chính xác cao tạo ra cơ hội xây dựng những hệ thống phát hiện té ngã dễ triển khai
và hiệu quả Trong nghiên cứu này, chúng tôi xây dựng ứng dụng phát hiện té ngã áp dụng mô hình ước lượng tư thế Quá trình thực hiện được chia làm hai bước Ở bước một, chúng tôi xây dựng và so sánh hai mô hình phát hiện té ngã lần lượt sử dụng thư
viện ước lượng tư thế OpenPose và MoveNet Khi đánh giá trên hai bộ dữ liệu chuẩn
là UR Fall Detection và Charfi2012 dataset, mô hình sử dụng OpenPose đạt tỷ lệ
chính xác là 68.04% và mô hình sử dụng MoveNet đạt tỷ lệ chính xác là 70.79% Ỏ
bước hai, chúng tôi áp dụng mô hình sử dụng MoveNet đề bước đầu xây dựng ứng
dụng phát hiện té ngã hoạt động trong thời gian thực và xử lý thông tin tại chỗ Bên
cạnh đó, chúng tôi thảo luận về những lợi ích của việc sử dụng mô hình ước lượng tư thế trong bài toán phát hiện té ngã, đồng thời chỉ ra những hạn chế của nghiên cứu hiện tại và dé xuất hướng phát triển trong tương lai.
Trang 9CHƯƠNG 1 : MỞ ĐÀU
1.1 Lý do chọn đề tài
Trên toàn cau, té ngã là một van dé sức khỏe cộng đồng nghiêm trong Ước tính mỗi năm có khoảng 684,000 ca tử vong xảy ra do té ngã Trong đó, người cao tuôi là đối tượng có nguy cơ tử vong hoặc chan thương nặng do té ngã lớn nhất, và tuổi càng
cao thì nguy cơ càng cao [1] Cùng lúc đó, con người trên toàn thế giới đang sống lâu
hơn Theo Tổ chức Y tế Thế giới WHO, đến năm 2030, dự kiến cứ 6 người trên thế giới thì có 1 người từ 60 tuổi trở lên và dân số từ 60 tuổi trở lên sẽ tăng từ 1 tỷ người
vào năm 2020 lên 1.4 tỷ người [2] Giữa bối cảnh này, phát hiện té ngã, đặc biệt với đối tượng người cao tuổi, sẽ đóng vai trò quan trọng trong việc giảm thiểu các ton
thất về sức khoẻ và tài chính liên quan đến té ngã.
Trên thực tế, phát hiện té ngã là một chủ đề nghiên cứu nhận được nhiều quan tâm trong vài thập kỷ gần đây Nghiên cứu sớm nhất về phát hiện té ngã xuất hiện vào năm 1996 và tính tới nay đã có hàng ngàn nghiên cứu về chủ đề này, đa số từ các
nước Hoa Kỳ, Anh, Trung Quốc và Đức Có thé phân loại các nghiên cứu này dựa vào loại cảm biến được sử dụng để phát hiện té ngã, cụ thể là: cảm biến đeo được
(wearable sensor), cảm biến thị giác (visual sensor), và cảm biến môi trường xung quanh (ambient sensor) Trong đó, hệ thống sử dụng cảm biến thị giác có ưu điểm
nổi bật là không xâm phạm tới đối tượng nghiên cứu và không bị giới hạn về pin Tuy
nhiên, theo Xueyi Wang và cộng sự, nghiên cứu về phát hiện té ngã vẫn gặp phải một
số thử thách Thứ nhất, hiện nay chưa có bộ dữ liệu tẽ ngã chuẩn bao gồm dữ liệu từ đời thật để làm khung tham chiếu chung cho việc đánh giá hệ thống Thứ hai, còn ít
hệ thống có khả năng phát hiện té ngã trong điều kiện thời gian thực Thứ ba, chưa
có nhiều đầu tư đến thiết kế hệ thông dé dam bảo tinh bảo mật, quyền riêng tư và các nhu cầu khác của đối tượng người dùng hướng tới là người cao tuổi [3] Tất cả các
điểm yếu này cần được cải thiện để đưa hệ thống từ nghiên cứu tới triển khai trong
thực tế,
Trang 10Trong khoảng 5 năm gần đây, sự xuất hiện của nhiều mô hình ước lượng tư thế mã
nguồn mở tạo ra cơ hội đề khắc phục một số nhược điểm kể trên Các mô hình nhưOpenPose, AlphaPose, PoseNet hay MoveNet của Tensorflow có ưu điểm là hoạtđộng trong thời gian thực với độ chính xác cao và tương đối dễ cài đặt Một số nghiên
cứu về phát hiện té ngã đã áp dụng các mô hình ké trên để xây dựng những hệ thốngphát hiện té ngã nhanh, nhẹ và có thê triển khai trên nhiều nền tang với nhiều thiết bịphần cứng khác nhau Dự kiến trong tương lai ngày càng nhiều nghiên cứu phát hiện
té ngã sẽ khai thác mô hình ước lượng tư thế dé nâng cao hiệu quả của hệ thống va
rút ngắn khoảng cách giữa nghiên cứu và triển khai thực tế
1.2 Mục đích
Nghiên cứu của chúng tôi mong muốn đóng góp cho chủ đề phát hiện té ngã thông
qua việc ứng dụng mô hình ước lượng tư thế mã nguồn mở Cụ thé, chúng tôi sẽ:
« _ Xây dựng hai mô hình phát hiện té ngã lần lượt sử dụng thư viện ước lượng
tư thế mã nguồn mở OpenPose và MoveNet
e - Đánh giá và so sánh hai mô hình thông qua thử nghiệm trên bộ dữ liệu té ngã
chuân.
1.3 Đối tượng nghiên cứu
e Thu viện ước lượng tư thế, cụ thé là OpenPose và MoveNet
¢ _ Hệ thống phat hiện té ngã sử dung cảm biến thị giác.
« _ Bộ dữ liệu té ngã chuẩn
1.4 Phạm vỉ nghiên cứu
¢ _ Hệ thống phát hiện té ngã sử dụng một loại cảm biến (cụ thé là cảm biến thi
giác), thay vì hệ thống đa cảm biến
e Phat hiện té ngã dựa trên ước lượng tư thế của một đối tượng thay vì nhiều đối
tượng.
Trang 11CHƯƠNG 2 : TONG QUAN
2.1 Ước lượng tư thế
Ước lượng tư thế người (human pose estimation) là một tác vụ thuộc lĩnh vực thị giácmáy tính, với mục tiêu là xác định vị trí các trọng điểm cơ thể người (humankeypoints) như các chi hay khớp trong không gian 2D hoặc 3D từ dữ liệu đầu vào là
hình ảnh hoặc video Ước lượng tư thế có nhiều ứng dụng như trong nhận diện hành
động, theo dõi giám sát, phân tích thé thao và dịch ngôn ngữ ký hiệu
Có nhiều cách tiếp cận bài toán ước lượng tư thế Các công trình nghiên cứu đời đầu
đưa ra phương pháp cô điển mang tên “pictorial structures" Phương pháp này thé
hiện tương quan trong không gian của các bộ phận co thé người đưới dạng mô hình
đồ hoạ cấu trúc cây Các đặc trưng được sử dụng trong phương pháp này là cạnh(edge), đường viền (contour) và HOG (viết tắt của histogram of oriented gradients).Phương pháp cô điển hoạt động khá tốt với dữ liệu đầu vào tối ưu, nhưng gặp khókhăn khi dữ liệu đầu vào chứa hình ảnh người không rõ nét hay bị che khuất Hơn thếnữa, các mô hình theo phương pháp cô điền có tính khái quát thấp, tức mô hình được
huấn luyện băng bộ dữ liệu A đạt hiệu kết quả thấp khi chạy trên bộ dữ liệu B
Gần đây xuất hiện nhiều phương pháp ước lượng tư thế dựa trên học sâu có khả năng
khắc phục những nhược điểm của phương pháp cô điển Trong phần này, chúng tôi
tập trung tìm hiểu phương pháp ước lượng tư thé trong không gian 2D dựa trên học
sâu, va đi sâu vào hai mô hình là OpenPose và MoveNet.
Trang 12Các phương pháp ước lượng tư thế có thể được chia thành hai nhóm: ước lượng tư
thế một người (single-person) và nhiều người (multi-person)
Ước lượng tư thế một người xác định tư thế của một người từ hình ảnh chứa
một hoặc nhiều người
Ước lượng tư thế nhiều người xác định tư thế của tất cả mọi người trong hình
anh dau vào.
Cách tiếp cận
Hai cách tiếp cận phô biến trong ước lượng tu thé là từ trên xuống (top-down) và từ
dưới lên (bottom-up).
Tiếp cận từ trên xuống: Trước tiên, mỗi cá thé người trong hình ảnh đầu vàođược xác định và đóng khung Sau đó, thông tin tư thế của từng cá thé sẽ được
xác định Cách tiếp cận này gặp phải van dé cam kết sớm (early commitment),tức là nếu bước dau tiên là phát hiện cá thê người không thành công, thì không
có khả năng phục hồi Bên cạnh đó, với mỗi cá thể người được xác định thì tacần chạy một phân tích tư thế người Điều này có nghĩa là chi phí tính toáncủa cách tiếp cận từ trên xuống tỷ lệ thuận với số lượng người trong hình ảnh.Tiếp cận từ dưới lên: Cách tiếp cận này xác định vi trí của tất cả các trọngđiểm cơ thể người trong hình ảnh, sau đó nhóm các trọng điểm này theo từng
cá thể người Cách tiếp cận từ dưới lên vừa tránh được vấn đề cam kết sớm,
vừa giảm được độ phức tạp tính toán so với cách tiếp cận từ trên xuống Tuynhiên, cách tiếp cận từ dưới lên thường gặp vấn đề trong việc nhóm các trọng
điểm cơ thé người trong trường hợp dit liệu gốc chứa hình ảnh nhiều người
chông chéo lên nhau.
Trang 13Hình 2.1 Trên: Hướng tiếp cận từ trên xuống, Dưới: Hướng tiếp cận dưới lên.
Nguồn: [5]
Thành phần
Có bốn thành phần chính trong một phương pháp ước lượng tư thế: kiến trúc xươngsông (backbone architecture), hàm mat mat (loss function), bộ dữ liệu (dataset) và chi
số đánh gia (evaluation metrics)
¢ Kién trúc xương sống Xương sông (backbone) ở đây chi mang trích xuất đặc
trưng (feature extractor network) trong kiến trúc học sâu Các kiến trúc xươngsống phổ biến trong ước lượng tư thế bao gồm AlexNet, R-CNN, Fast R-CNN,
FPN, Faster R-CNN, Mask R-CNN, VGG và ResNet.
¢ Ham mat mát Hàm mat mát được dùng dé đánh giá khả năng dự đoán của
một thuật toán bằng cách đo lường sự khác biệt giữa giá trị thực và giá trị dựđoán Ba loại hàm mat mát phổ biến là: LI loss (còn gọi là Mean Absolute
Error), L2 loss (còn gọi là Mean Squared Error) và Log loss (còn gọi là
Cross-entropy).
o LI loss duoc tinh bang trung bình cộng cua tất cả các chênh lệch tuyệt
đối giữa giá trị thực và giá trị dự đoán
Trang 14o L2 loss được tinh bằng giá trị trung bình của chênh lệch bình phương
giữa giá trị thực và giá trị dự đoán.
o Log loss được tính dựa trên số điểm được ấn định cho mỗi sự khác biệt
giữa giá trị dy đoán và giá trị thực Chênh lệch càng nhỏ thì điểm càng
nhỏ Một thuật toán có Log loss nhỏ là thuật toán có độ chính xác cao.
¢ Bo dữ liệu Bộ dữ liệu được sử dụng dé dao tạo và đánh giá các thuật toán học
máy Nghiên cứu ước lượng tư thế chủ yếu sử dụng bốn bộ dữ liệu chuẩn sau:
Frames Labeled In Cinema, Leeds Sports Pose Dataset, Max Planck Institute for Informatics Human Pose Dataset (còn gọi là MPII) va Common Objects in
Context (còn gọi là COCO) Trong đó, COCO được sử dung rất rộng rãi Một
sản phẩm của Microsoft, COCO là bộ dữ liệu rất lớn với 200,000 hình ảnh, đạidiện cho 250,000 người Mỗi cá thé người được gan nhãn với 17 trọng điểm
Dữ liệu của COCO rất đa dạng, bao gồm nhiều tư thế người, trong điều kiện
có che khuất và được thu thập ở môi trường đời thật thay vì trong phòng thí
nghiệm.
«Chỉ số đánh giá Chỉ số đánh giá được sử dụng dé so sánh và đối chiếu các
thuật toán với nhau Theo thời gian, chỉ số đánh giá thường dùng trong nghiên
cứu ước lượng tư thế chuyền từ đo tỷ lệ phát hiện bộ phận cơ thé sang đo tỷ lệ
phát hiện khớp và trọng điểm
Ở đây chúng tôi tập trung tìm hiểu AP (viết tắt của Average Precision, tức độchính xác trung bình) Vốn là chỉ số dé đánh giá các mô hình trong bài toánphát hiện đối tượng (object detection), AP đã được biến đổi để áp dụng chobài toán phát hiện trọng điểm (keypoint detection) trong Thử Thách Phát HiệnTrọng Điểm COCO (COCO Keypoint Detection Task) Công thức tinh AP là:
Trang 15Hình 2.2 Công thức tính AP Nguồn: [6].
e Precision là chi sô đo tân suât dự đoán chính xác của mô hình, duoc tinh
băng công thức: True Positive / (True Positive + False Positive)
e Recall là chỉ sô do tan suat đưa ra dự đoán của mô hình, được tinh bang
công thức: True Positive / (True Positive + False Negative).
e Threshold, tức Intersection Over Union (IoU) threshold, là phan trăm IoU
chap nhận được IoU do sự trùng lặp giữa vị trí hộp bao quanh (boundingbox) một đối tượng trong dự đoán và trong thực tế Dự đoán có IoU bằng
hoặc cao hơn ngưỡng IoU được coi là dự đoán đúng AP được tính trên nhiêu ngưỡng IoU khác nhau nhăm làm giảm thiêu tác động của việc chon
một ngưỡng IoU ngẫu nhiên IoU là khái niệm thuộc lĩnh vực phát hiện đối
tượng.
le) Trong Thử Thách Phát Hiện Trọng Điểm COCO, IoU được thay thé
bang khái niệm tương đương là Object Keypoint Similarity (OKS)
OKS đo sự trùng lặp giữa vị trí của trọng điểm trong dự đoán vàtrong thực tế
Chỉ số quan trọng nhất trong Trong Thử Thách Phát Hiện Trọng
Điểm COCO, tức COCO AP, là giá trị AP trung bình trên 10ngưỡng OKS, từ 0.5 đến 0.95, với khoảng cách giữa hai ngưỡng liêntiếp là 0.05 [7]
Lưu ý một khái niệm liên quan với AP là mAP (viết tắt của MeanAverage Precision) Trong một số trường hợp, AP được tính chotừng lớp (class) và mAP là giá trị trung bình của tất cả các AP củatất cả các lớp Trong một số trường hợp khác thì AP và mAP có ý
Trang 16nghĩa tương đương Với thử thách COCO, mAP và AP là giống
Năm 2017, Zhe Cao và cộng sự cho ra mắt OpenPose, mô hình ước lượng tư thế 2D
mã nguồn mở hoạt động trong thời gian thực đầu tiên [8] OpenPose đưa ra khái nệmPAFs (viết tắt của Part Affinity Fields) dé thé hiện liên kết các bộ phận co thể với cáthể người trong hình ảnh theo cách tiếp cận từ dưới lên
Đầu ra của OpenPose là ba giá trị: toạ độ x, toạ độ y và độ tự tin của dự đoán cho mỗiđiểm trong danh sách 25 trọng điểm sau:
Trang 17/ (0, "Nose"}, // {1, "Neck"},
// {2, “RShoulder"},
// {3, "“RElbow"},
// {4, “RWrist"},
// {5, “LShoulder"}, // {6, "LElbow"},
// {7, “LWrist"}, // {8, "MidHip"}, // {9, “RHip"},
// {10, "RKnee"}, // {11, "RAnkle"},
// {12, "LHip"),
// {13, "LKnee"},
// {14, "LAnkle"},
// {15, "REye"}, // {16, "LEye"}, // {17, "REar"}, // {18, "LEar"},
// {19ƒ7 "LBigToe"}, // {20, "LSmallToe"}, // {21, "LHeel")},
ý / {22, "RBigToe"), // {23, "RSmallToe"}, // {24, "RHeel"},
Hình 2.4 Thứ tự trọng điểm cơ thé người trong OpenPose Nguôn: [9]
OpenPose có thể chạy với dit liệu đầu vào ở tốc độ 22 FPS (viết tắt cua Frame Per
Second, tức số khung hình trên giây) trên máy Nvidia GTX 1080 Ti mà van dam bảo
độ chính xác cao.
10
Trang 18Hình 2.5 Vi trí trọng điểm cơ thể người trong OpenPose Nguồn: [9].
Động lực lớn đằng sau việc phát hành OpenPose là nhằm tạo điều kiện cho ngườidùng sử dụng mô hình ước lượng tư thé dé dang hơn Trước OpenPose, các mô hìnhước lượng tư thế 2D như Mask R-CNN hoặc Alpha-Pose yêu cầu người dùng tự càiđặt toan bộ quy trình xử lý dữ liệu, trình đọc khung hình va màn hình dé trực quanhóa kết quả Trong khi đó, OpenPose hỗ trợ người dùng ở nhiều mặt như:
« OpenPose có thé chạy trên nhiều nền tảng (Ubuntu, Windows, Mac OSX va
các hệ thống nhúng)
« OpenPose hỗ trợ nhiều phần cứng (GPU CUDA, GPU OpenCL, thiết bị chỉ
dành cho CPU).
11
Trang 19« OpenPose hỗ trợ nhiều định dang dit liệu đầu vào (hình ảnh, video, webcam,
livestream bằng camera IP) và dữ liệu đầu ra (người dùng có thể chọn giữa
hién thị kết quả và lưu kết quả trên đĩa)
« OpenPose cung cấp nhiều lựa chọn tuỳ chỉnh (bật chuẩn hóa tọa độ pixel, kiếm
soát số lượng GPU sử dụng, bỏ qua khung hình để xử lý nhanh hơn, v.v.)
Dưới đây là mô tả quy trình xử lý dữ liệu của OpenPose:
, (b) Part Confidence Maps
(c) Part Affinity Fields (a) Input Image (d) Bipartite Matching (e) Parsing Results
Hình 2.6 Khái quát quy trình xử lý đữ liệu của OpenPose (a) Hình anh dau vào (b)
Part Confidence Maps (c) PAFs (d) Bipartile Matching (e) Kết quả phân tích
Nguồn: [8]
¢ Dé liệu đầu vào là một hình anh màu có kích thước w x h
« _ Một mạng truyền thang (feedforward network) dự đoán cùng lúc:
o Tập S bao gồm các 2D Confidence maps chứa thông tin về vị trí của bộ
phận cơ thể
« Tập S =(S1, S2, , SJ) có J Confidence maps, mỗi Confidence
map tương ứng với một bộ phận cơ thể, với Sj € Rw x h, j €
{1 1}.
o Tập L bao gồm các 2D PAFs chứa thông tin về mức độ liên kết giữa
các bộ phận với nhau.
« TậpL= (LI, L2, , LC) có C trường vecto, mỗi trường tương
ứng với một cặp bộ phận cơ thé, với Le € Rw xhx2,c € {1 C} Mỗi vị trí hình ảnh trong Le mã hóa một vectơ 2D.
12
Trang 20e« Tap S và L được phân tích bởi thuật toán Greedy Inference để thu về đữ liệu
dau ra là vi trí trọng điêm cho tat cả mọi người trong hình ảnh.
Hình 2.7 Minh hoa PAF Trái: PAF tương ứng với cặp bộ phận khuyu tay phải và
cổ tay Màu của vecto mã hóa hướng của cặp bộ phận Phải: Một vectơ 2D trong
mỗi pixel của mỗi PAF mã hóa vị trí và hướng của cặp bộ phận Nguồn: [8]
OpenPose là một trong những nghiên cứu ước lượng tư thé được triển khai rộng rãinhất, theo trang Paper with Code [10] Trong quá trình nghiên cứu, chúng tôi cũng
quan sát rằng OpenPose là một trong những mô hình ước lượng tư thế được sử dụngnhiều nhất trong nghiên cứu phát hiện té ngã
2.1.3 MoveNet
Ra mắt vào thang 5 năm 2021, MoveNet là mô hình ước lượng tư thé mới nhất của
Tensorfow Tensorflow là thư viện mã nguồn mở dành cho máy học và trí tuệ nhântạo của Google MoveNet được tạo ra nhằm lap day lỗ hồng trong nghiên cứu về ước
lượng tư thế Cụ thể, có nhiều nghiên cứu tập trung vào việc tạo ra các mô hình lớn
và chính xác cao, nhưng ít nghiên cứu tập trung vào việc tạo ra các mô hình chạy
nhanh và dễ triển khai trong mọi điều kiện MoveNet được thiết kế với mục đích đưa
ra ước lượng chính xác cho nhiều loại tư thế, trong nhiều môi trường và với nhiều
Trang 21hình MoveNet là MoveNet Lightning, dành cho các ứng dụng yêu cầu độ trễ thấp, và
MoveNet Thunder, dành cho các ứng dụng yêu cầu độ chính xác cao [11]
Một số đặc điểm của MoveNet là:
Cực nhanh MoveNet Thunder có thể chạy ở tốc độ 30+ FPS, trong khiMoveNet Lightning có thé chạy ở tốc độ 50+ FPS
Phát hiện 17 trọng điểm co thé theo thứ tự sau: mũi, mắt trái, mắt phải, tai trái,tai phải, vai trái, vai phải, khuỷu tay trái, khuỷu tay phải, cô tay trái, cô tayphải, hông trái, hông phải, đầu gối trái, đầu gối phải, mắt cá chân trái, mắt cá
chân phải.
Chạy trên hầu hết các máy tính dé bàn, máy tính xách tay và điện thoại hiện
đại.
Mô hình MoveNet trong TensorFlow.Js chạy hoàn toàn ở phía máy khách
trong trình duyệt mà không cần lệnh gọi máy chủ sau khi tải trang và không
cần cài đặt phụ thuộc
Hiện tại MoveNet chỉ có thé phát hiện tư thế một người
Bộ trích xuất đặc trưng của MoveNet bao gồm bốn thành phần:
Bản đồ nhiệt trung tâm người (person center heatmap): dự đoán trung tâm hình
học của các cá thể người Trung tâm hình học được định nghĩa là trung bìnhcộng của tất cả các trọng điểm của một người
Trường hồi quy trọng điểm (keypoint regression field): dự đoán tập hợp cáctrọng điểm của một người Được sử dụng dé nhóm các trọng điểm thành các
Trang 22« _ Trường độ lệch 2D cho mỗi trọng điểm (2D per-keypoint offset field): dự đoán
offset cục bộ từ mỗi pixel trong bản đồ đặc trưng dau ra đến vị trí sub-pixel
chính xác của mỗi trọng điểm.
Quy trình xử ly đữ liệu của MoveNet như sau (lưu ý trong thực tế, các bước được
thực hiện song song thay vì tuần tự như mô tả ở đây):
mamxăMax
Hình 2.8 Khái quát quy trình xử lý dữ liệu của MoveNet Nguon: [11].
« Bước 1: Xác định các tâm của tất cả các cá thé trong khung và chọn tâm có
điểm cao nhất dựa vào khoảng cách nghịch đảo từ tâm khung hình Đây là tâm của người trung tâm của khung hình.
¢ _ Bước 2: Dự đoán một tập hợp các trọng điểm ban đầu cho người trung tâm của
khung hình bằng cách cắt đầu ra hồi quy trọng điểm (keypoint regression
output) từ pixel tương ứng với trung tâm của người đó.
« Bước 3: Loại bỏ các trọng điểm thuộc về người trong nền (tức những người
không phải người trung tâm) dựa vào khoảng cách giữa trọng điểm tới trọng điểm hồi quy tương ứng Khoảng cách càng xa thì khả năng trọng điểm này
thuộc về người trong nền càng cao.
+ _ Bước 4: Thu về tập hợp các trọng điềm cuối cùng bằng cách truy xuất tọa độ
của các giá trị bản đồ nhiệt lớn nhất (maximum heatmap value) trong mỗi kênh
trọng điểm (keypoint channel) Thêm độ lệch 2D vào mỗi toạ độ để tỉnh chỉnh kết quả.
15
Trang 23Dưới đây là bảng so sánh OpenPose và MoveNet:
Tiêu chí OpenPose MoveNet Lightning MoveNet Thunder
Phân loại Ước lượng tư thế | Ước lượng tư thế một người
Bộ dữ liệu | COCO, MPII COCO, Active
(Active là bộ dữ liệu nội bộ của Google chứa 23.5 nghìn hình ảnh được lấy từ các video thé dục và
khiêu vũ trên YouTube.)
Chỉ số đánh | COCO: AP = COCO mẫu nam giới: AP | COCO mẫu nam giới:
Trang 24mAP = 92.3
Intel UHD 620 Graphics (GPU): 64.0
Bang 2.1 So sánh OpenPose và MoveNet Thông số kỹ thuật của MoveNet được
Cung cấp tại [12]
Xét về độ chính xác, cả MoveNet Lightning và MoveNet Thunder déu dat diém APcao hơn OpenPose Xét về tốc độ, thời gian xử lý trung bình của MoveNet Lightning
trên 5 loại GPU là 20.48 ms và của MoveNet Thunder là 35.9 ms So với OpenPose
(36ms) thì MoveNet Thunder có tốc độ gần như tương đương còn MoveNet Lightningnhanh hơn đến 43% Xét về việc triển khai, MovetNet vượt trội hơn OpenPose về độ
dễ dang và đa dang Mô hình MoveNet có thé được sử dụng trong ứng dụng web, ứng
dụng mobile và hệ thống điện toán biên thông qua TensorFlow.js và TFLite Với
17
Trang 25những lợi thế kể trên, chúng tôi dự đoán trong tương lai MoveNet sẽ được sử dụngrộng rãi trong cả nghiên cứu lẫn ứng dụng thực tế.
2.2 Ước lượng tư thế trong bài toán phát hiện té ngã
2.2.1 Tổng quan
Một trong những ứng dụng nổi bật của ước lượng tư thé là trong bài toán phát hiện téngã Theo Xueyi Wang và cộng sự, một hệ thống phát hiện té ngã thường bao gồmbốn lớp [3]:
Lớp cảm biến sinh lý có vai trò thu thập dữ liệu Các loại cảm biến thườngđược sử dụng bao gồm cảm biến đeo được, cảm biến hình ảnh và cảm biến
môi trường.
Lớp giao tiếp cục bộ có vai trò truyền dữ liệu từ lớp cảm biến sinh lý tới lớp
xử ly thông tin.
Lớp xử lý thông tin có vai trò phân tích xử lý dữ liệu để phát hiện té ngã.
Lớp ứng dụng người dùng có vai trò trình bày kết quả phân tích phát hiện té
ngã tới người dùng.
Trong các hệ thống phát hiện té ngã sử dụng cảm biến thị giác, lớp xử lý thông tin
thường bao gồm hai bước chính:
Bước 1, Đặc trưng hoa (characterization), nhận dtr liệu đầu vào là tín hiệuhình ảnh và trả về các đặc trưng dé miêu tả thông tin của hình anh đó Các đặc
trưng nay sẽ là dit liệu đầu vào cho bước tiếp theo Theo Jestis Salinas
Gutiérrez va cộng sự, ba loại đặc trưng chính là: Đặc trung toàn cục (global descriptor), đặc trưng cục bộ (local descriptor) và đặc trưng độ sâu (depth
descriptor) [13].
o Đặc trưng toàn cục là các đặc trưng mô tả hình ảnh của đối tượng
trong khung hình Trước đó, hình ảnh của đối tượng cần được xác định
và tách ra khỏi hình nền của khung hình Một sé ky thuat dé xác định
18
Trang 26đặc trưng toan cục là phân đoạn bong (silhouette segmentation),
phương pháp không-thời gian (space-time methods) và luồng quang
học (optical flow).
o Đặc trưng cục bộ là các đặc trưng liên quan tới chuyên động và tư thé
của con người được phát hiện trong một khung hình Artificial Neural
Network (ANN) thường được sử dụng đề xác định loại đặc trưng này
o Đặc trưng độ sâu chỉ áp dụng với các hình ảnh có chứa thông tin về
độ sâu Đặc trưng được trích xuất thường là bản đồ độ sâu (depth map)
hoặc đữ liệu về khung xương (skeleton) của đối tượng trong khunghình Một số kỹ thuật dé xác định đặc trưng độ sâu là biểu diễn ban đồ
độ sâu (depth map representation) và biéu diễn khung xương (skeleton
representation).
« Buéc 2, Phân loại (classification), có nhiệm vu gan nhãn cho hành động là
“ngã" hoặc “không ngã”, dựa vào đặc trưng của hành động đó.
Theo thời gian, SỐ lượng các nghiên cứu sử dụng đặc trưng toàn cục và đặc trưng độsâu giảm đi trong khi số lượng nghiên cứu sử dụng đặc trưng cục bộ tăng lên Lý do
vì các đặc trưng cục bộ có lợi thế là ít nhảy cảm với khung hình chứa thông tin nhiễu,khung hình bị chắn hay khung hình từ nhiều góc quay khác nhau Ta có thể quan sát
xu hướng chuyền sang đặc trưng cục bộ trong các nghiên cứu về phát hiện té ngã từ
năm 2015 tới 2020.
19
Trang 27Nghiên cứu phát hiện té ngã theo nhóm đặc trưng
Hình 2.9 Nghiên cứu phát hiện té ngã theo nhóm đặc trưng Thong kê dựa vào 81
nghiên cứu được xuất bản từ năm 2015 đến 2020 trong [ 13]
Ước lượng tư thế thuộc nhóm kỹ thuật tính toán đặc trưng cục bộ Các mô hình ướclượng tư thế như OpenPose và AlphaPose thường được xây dựng bằng Convolutional
Neural Network (CNN), là một loại ANN Trong thời gian khảo sát từ 2015 đến 2020,Jesús Salinas Gutiérrez và cộng sự xác định 6 nghiên cứu sử dụng OpenPose dé xác
định toạ độ trọng điểm trên cơ thể người làm đặc trung để xác định té ngã [13] Khi
mở rộng thời gian khảo sát sang năm 2021 và 2020, chúng tôi xác định được thêm
một số nghiên cứu phát hiện té ngã sử dụng mô hình ước lượng tư thế như OpenPose,
AlphaPose và PoseNet của Tensorflow.
Năm xuất bản Mô hình ước lượng tư thế Nghiên cứu
20
Trang 28« Weiming Chen và cộng sự [14] đặt ra giả thuyết nguyên nhân dẫn đến té ngã
là do trọng tâm của cơ thé người trở nên không 6n định, dẫn tới việc mat thăngbằng Từ đó, các tác giả thiết kế thuật toán hướng ngưỡng (threshold-based)
dé phát hiện té ngã dựa trên ba giá trị sau:
o Tốc độ rơi tại tam của khớp hông
o Góc giữa đường tâm của cơ thể người và mặt đất
o Ty lệ chiều rộng trên chiều cao của khung hình chữ nhật bao quanh cơ
thé người
21
Trang 29Nếu cả ba giá trị vượt qua ngưỡng được xác định trước thì khung hình nàyđược đánh giá là té ngã Đề tính toán các giá trị trên, các tác giả sử dụng thông
tin về toa độ trọng điểm cơ thé người được trích xuất bởi OpenPose Khi thửnghiệm thuật toán trên bộ dữ liệu tự xây dựng bao gồm 100 video (60 té ngã,
40 không té ngã), họ đạt được độ chính xác là 97%.
Bo-Hua Wang và cộng sự [16] giới thiệu một thuật toán phát hiện té ngã dựa
trên sự kết hợp của hai loại đặc trưng là động (dynamic) nhằm mô tả trạng tháikhi đang ngã, và tĩnh (static) nhằm mô tả trạng thái sau khi đã ngã Đặc trưngđộng nhận giá tri là thay đồi tốc độ của cơ thé người Đặc trưng tĩnh nhận giátrị là vị trí tay chân và khung hình bao quanh cơ thé người và được xác địnhdựa trên toạ độ trọng điểm trích xuất bởi OpenPose Mỗi loại đặc trưng đượcphân loại bằng hai thuật toán khác nhau là Multilayer perceptron và Random
Forest Cuối cùng, hai kết quả phân loại được kết hợp đề thu được kết quả phát
hiện té ngã cuối cùng Thuật toán này đạt được độ chính xác là 96.91% trên
bộ dữ liệu Le2i và 97.33% trên bộ dữ liệu UR Fall Detection.
Wan-Jung Chang và cộng sự [20] mong muốn tránh các rủi ro trong quá trìnhtruyền dữ liệu hình ảnh đến máy chủ thông qua mạng internet như tắc nghẽn
đường truyền hoặc lộ thông tin do lỗi an ninh Các tác giả đề xuất một hệ thống
phát hiện tẽ ngã hoạt động trên kiến trúc điện toán biên (edge computing
architecture) Dé hiện thực hoá hệ thống này, họ điều chỉnh OpenPose đề xây
dựng OpenPose-Light vừa có khả năng xác định tư thế, vừa sử dụng ít tàinguyên tính toán hơn Với OpenPose-Light, các tác giả thu về giá trị tọa độ
tương ứng với vị trí các khớp trên cơ thé người, từ đó tính toán giá trị ty lệ
chiều dài cơ thê so với chiều rộng Nếu giá trị này vượt qua một ngưỡng nhất
định, thì khung hình sẽ được đưa vào một mạng LSTM dé phát hiện té ngã Sau khi thử nghiệm trên bộ dữ liệu tự xây dựng bao gồm 800 đoạn video (400
té ngã lần lượt về phía trái, phải, trước, sau, và 400 các hoạt động khác như đi
bộ, chạy, ngồi, ngồi x6m), họ dat được độ chính xác 98.1%.
22
Trang 30¢ Heilym Ramirez và cộng sự [21] đưa ra giả thuyết rằng, so với hệ thống phát
hiện té ngã được công bồ bởi Lourdes Martinez-Villasefior và cộng sự [29] kếthợp đữ liệu đầu vào từ video và cám biến độ sâu hoặc cảm biến môi trường,
họ có thé đạt được độ chính xác cao hơn chỉ với dữ liệu đầu vào từ video
Tương tự như nghiên cứu cua Lourdes Martinez-Villasefior và cộng sự, các
tác giả sử dụng thuật toán K Nearest Neighbors dé phát hiện té ngã Điều khácbiệt là đữ liệu đầu vào dé huấn luyện thuật toán là toa độ trọng điểm cơ thé
người do AlphaPose trích xuất Khi thử nghiệm trên bộ dữ liệu UP-FALL, các
tac gia đạt được độ chính xác 98.84%, là gia tri cao nhất trong số các nghiên
cứu phát hiện té ngã khác cũng sử dùng bộ dữ liệu này Cac tác giả nhận xét
rang bất kỳ mô hình ước lượng tư thế phù hợp nao cũng có thé thay thé
AlphaPose trong nghiên cứu này.
e Nazar Mamchur và cộng sự [26] phat triển một cấu trúc mạng nơ-ron phát hiện
té ngã nhẹ và đơn giản, có thể chạy trên thiết bị di động Họ sử dụng mô hình
ước lượng tư thế TensorFlow Lite PoseNet để phát hiện toạ độ trọng điểm của
đối tượng Sau đó, các chuỗi toạ độ này được phân tích bởi một mạng LTSM
dé phát hiện té ngã Khi thử nghiệm với dữ liệu kết hợp từ hai bộ dit liệu téngã chuẩn là Multple Camera Fall Dataset và UR Fall Detection, họ đạt được
chính xác là 91%.
2.2.2 Nhận xét
Qua khảo sát trên, chúng tôi nhận thấy một số lợi ích của việc sử dụng mô hình ướclượng tư thế mã nguồn mở trong bài toán phát hiện té ngã Đầu tiên là hỗ trợ trong
việc xác định đặc trưng một cach đơn giản va đa dang [21] và [26] trực tiếp sử dụng
toạ độ trọng điểm cơ thê người trích xuất bởi mô hình ước lượng tư thế làm đặc trưngcho bước phân loại té ngã Trong khi đó, [14], [16] và [20] sử dụng toạ độ trọng điểm
cơ thé người dé tính toán các đặc trưng khác như tốc độ rơi xuống tại tâm của khớp
hông, góc giữa đường tâm của cơ thé người và mặt dat hay tỷ lệ khung hình chữ nhật
23