1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 1 o0o BÀI TIỂU LUẬN HỌC PHẦN IOT VÀ ỨNG DỤNG TÊN ĐỀ TÀI HỆ THỐNG PHÁT HIỆN, TỰ ĐỘNG CẢNH BÁO NGƯỜI BỊ NGÃ TRONG BỆNH VIỆN Hà Nội, thá[.]
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN o0o BÀI TIỂU LUẬN HỌC PHẦN IOT VÀ ỨNG DỤNG TÊN ĐỀ TÀI: HỆ THỐNG PHÁT HIỆN, TỰ ĐỘNG CẢNH BÁO NGƯỜI BỊ NGÃ TRONG BỆNH VIỆN Hà Nội, tháng 12 năm 2022 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN o0o TÊN ĐỀ TÀI: HỆ THỐNG PHÁT HIỆN TỰ ĐỘNG CẢNH BÁO NGƯỜI BỊ NGÃ TRONG BỆNH VIỆN Sinh viên: Giảng viên hướng dẫn: Nguyễn Hữu Hồng Sơn TS Nguyễn Tài Tuyên Hà Nội, tháng 12 năm 2022 Lời cam đoan Em xin cam đoan đề tài Hệ thống phát tự động cảnh báo người bị ngã bệnh viện em nghiên cứu thực Em kiểm tra liệu theo quy định hành Kết làm đề tài Hệ thống phát tự động cảnh báo người bị ngã bệnh viện trung thực không chép từ tập nhóm khác Các tài liệu sử dụng tiểu luận có nguồn gốc, xuất xứ rõ ràng (Ký ghi rõ họ tên) Nguyễn Hữu Hồng Sơn Lời cảm ơn Em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Tài Tuyên – Giảng viên môn IoT ứng dụng - Học viên Cơng nghệ Bưu Viễn thơng nhiệt tình hướng dẫn trang bị cho em kiến thức cần có suốt thời gian làm báo cáo Thầy tạo nhiều điều kiện thuận lợi, định hướng, bảo tận tình cho lời khuyên quý báu giúp em giải khó khăn việc tiếp cận kiến thức thiết bị Đồng thời, thầy giúp em hiểu kiến thức quan trọng, tiếp cận với cách tư duy, giải trình bày để tìm hiểu hồn thành báo cáo thời hạn Lời nói cuối, em xin chân thành cảm ơn! Hà Nội, tháng 12 năm 2022 Sinh viên Nguyễn Hữu Hồng Sơn MỤC LỤC PHẦN MỞ ĐẦU PHẦN NỘI DUNG ĐẶT VẤN ĐỀ NỘI DUNG VÀ KẾT QUẢ THỰC HIỆN 2.1 Yêu cầu hệ thống 2.1.1 Monitor 2.1.2 Sensor 2.2 Các thuật toán sử dụng hệ thống: 2.2.1 Model YOLO-V3 2.2.2 Model AlphaPose 2.2.3 RMPE 2.2.4 Object Tracking 10 2.2.5 DeepSORT 10 2.2.6 Spatial-Temporal Graph Convolutional Networks (ST-GCN) 11 2.3 Xây dựng hệ thống 12 2.3.1 Luồng mở camera – Thông báo ngã Realtime 12 2.3.2 Luồng hiển thị thông tin chi tiết kiện ngã 12 2.3.3 Lưu đồ thuật toán 13 2.3.4 Code (Được đính kèm với tiểu luận) 14 2.4 Kết 14 2.5 Nhận xét 15 2.6 Đề xuất giải pháp khuyến nghị 15 PHẦN KẾT LUẬN 15 TÀI LIỆU THAM KHẢO 16 PHỤ LỤC 16 PHẦN MỞ ĐẦU Theo thống kê vấn đề dân số Liên hợp quốc năm 2008, tỉ lệ người cao tuổi tăng từ 10% năm 2010 lên 23% năm 2050 Đó hệ tỷ suất sinh giảm, tỷ suất chết giảm tuổi thọ trung bình tăng nhanh Bên cạnh đó, tỷ lệ người cao tuổi sống cháu giảm nhanh, tỷ lệ hộ gia đình người cao tuổi sống đơn có vợ chồng người cao tuổi tăng lên đáng kể Trong bối cảnh người cao tuổi sống cô đơn không khỏe mạnh, người già gặp nhiều nguy hiểm đột quỵ hay ngã mà không phát hiện, cấp cứu kịp thời Bài tập nghiên cứu phương thức phát ngã tự động nhằm góp phần tìm giải pháp gia tăng an tồn cho người cao tuổi sống nói riêng, cho tất người nói chung Một thực trạng điện kiện y tế khác tải bệnh viện, làm lãng phí thời gian sức lao động nhiều người người viện phải có người chăm sóc, gây cản trở bác sĩ thăm khám Nếu có hệ thống giám sát bệnh nhân tự động giúp giảm bớt số người chăm sóc, giảm tải tải bệnh viện Vì lý trên, em định nghiên cứu tìm hiểu đề tài xây dựng hệ thống phát ngã tự động thông qua camera đơn PHẦN NỘI DUNG ĐẶT VẤN ĐỀ - Ngày này, hệ thống xây dựng từ cảm biến phục vụ cho y tế, chăm sóc sức khỏe phát triển rộng rãi Hệ thống phát tự động cảnh báo ngã sản phẩm thông minh nhiều tổ chức giới ý phát triển Đặc biệt nước phát triển Nhật, Mỹ, EU…., sản phẩm sản phẩm thông minh trở nên gần gũi với người dân Các loại máy hỗ trợ ngành y tế lĩnh vực đầu tư phát triển, có nhiều sản phẩm thị trường , thiết bị trợ thính thiết bị hỗ trợ giọng nói, sản phẩm hỗ trợ dân dụng khác… - Ở Việt Nam, năm gần đây, hệ thống thông minh xuất hiện, phát triển hệ thống Việt Nam đơn giản lựa chọn Về bản, Hệ thống phát tự động cảnh báo ngã gồm hai phần phần phát ngã phần nhận tín hiệu báo ngã, ứng dụng các hệ thống đại NỘI DUNG VÀ KẾT QUẢ THỰC HIỆN 2.1 Yêu cầu hệ thống 2.1.1 Monitor - Máy Monitor chia làm phần gồm phần: + Phần Backend: Giao tiếp với sensor kết nối với frontend viết Java Spring boot,JPA,Hibernate + Phần Frontend: Hiển thị giao diện kết nối với người dùng viết HTML,CSS,JavaScript + Phần DBMS MySQL: Lưu trữ liệu hệ thông máy Sensor gửi cho Backend - Monitor dùng kỹ thuật Server-Sent Events (SSE) (là công nghệ đẩy máy chủ cho phép máy khách nhận cập nhật tự động từ máy chủ thông qua kết nối HTTP mơ tả cách máy chủ bắt đầu truyền liệu tới máy khách sau kết nối máy khách ban đầu thiết lập) để cập nhật thông báo realtime từ Backend tới Frontend 2.1.2 Sensor - Mỗi sensor có camera xử lý, tài ngun tính tốn riêng biệt, giúp phân tán, giảm thiểu tắc nghẽn, lỗi nút kiến toàn hệ thống không hoạt động - Sensor sử dụng FastAPI để giao tiếp với Monitor, dùng kĩ thuật đa luồng để phát ngã - Mỗi Monitor yêu cầu mở camera, Sensor tạo tiến trình phát ngã chạy song song với hệ thống Mỗi phát ngã, gửi ảnh, thời gian, địa điểm (tên Sensor) cho Monitor qua giao thức HTTP - Khi Monitor yêu cầu tắt camera, Sensor dừng tiến trình phát ngã 2.2 Các thuật toán sử dụng hệ thống: 2.2.1 Model YOLO-V3 - Ứng dụng sử dụng model YOLO-V3 để phát người khung hình sử dụng model AlphaPose để xác định tư khung xương, sau sử dụng mơ hình ST-GCN để dự đốn hành động từ 30 khung hình người sử dụng tracking - You only look once(Yolo) thuật toán nhận diện vật thể nhanh thời điểm Mặc dù phương pháp có độ xác cao nhiên Yolo ứng dụng nhiều dự án thực tế mà độ xác khơng phải ưu tiên hàng đầu 2.2.2 Model AlphaPose - Giới thiệu Human Pose Estimation (HPE): Human Pose thể định hướng người định dạng đồ họa (khung xương) Về bản, tập hợp tọa độ kết nối để mô tả tư người Mỗi phối hợp khung xương gọi phận (hoặc khớp - joint, điểm - keypoint) Một kết nối hợp lệ hai phần gọi cặp (hoặc chi - limb) Không phải tất kết hợp phận tạo cặp hợp lệ - Multi-Person Pose Estimation: Multi-Person Pose Estimation khó nhiều so với Single-Person Pose Estimation, khơng biết vị trí người dẫn đến việc nhầm lẫn phận người với Để giải vấn đề này, tiếp cận cách sau: + Top-Down: Đầu tiên, sử dụng kỹ thuật Object Detection để xác định vị trí người trước, sau thực Pose Estimation cho người vị trí cụ thể Ưu điểm cách đơn giản, dễ thực Còn độ xác cịn tùy vào ngữ cảnh + Down-Top: Ngược lại với cách trên, cách phát toàn phận người ảnh trước, sau liên kết lại với để xác định Pose người Hình AlphaPose 2.2.3 RMPE - AlphaPose (RMPE) đại diện phổ biến HPE theo chiến lược topdown Phương pháp thường phụ thuộc vào độ xác thuật tốn phát người trước Nếu việc phát đối tượng người khơng xác hiệu HPE theo mà giảm xuống - Sơ đồ hoạt động Alpha-Pose – mơ hình top-down pose estimation có dạng hình bên - Với phân vùng mơ hình dự đốn nhiều skeleton sau sử dụng thuật tốn non maximum suppression (Pose NMS) để chọn skeleton có độ xác cao Các mơ hình top-down có độ xác thời gian xử lý phụ thuộc vào mơ hình nhận dạng người tăng lên số lượng người khung ảnh tăng 2.2.4 Object Tracking - Khái niệm: Object Tracking toán theo dõi nhiều đối tượng chuyển động theo thời gian video - Phân loại: Object Tracking chia thành cách tiếp cận + Single Object Tracking (SOT): Cái tên nói lên tất cả, Single Object Tracking tập trung vào việc theo dõi đối tượng toàn video Và tất nhiên, để biết cần theo dõi đối tượng nào, việc cung cấp bounding box từ ban đầu việc bắt buộc phải có + Multiple Object Tracking (MOT): Multiple Object Tracking hướng tới ứng dụng có tính mở rộng cao Bài tốn cố gắng phát đồng thời theo dõi tất đối tượng tầm nhìn, kể đối tượng xuất video Vì điều này, MOT thường tốn khó SOT nhận nhiều quan tâm giới nghiên cứu 2.2.5 DeepSORT - DeepSORT giải vấn đề thiếu sót liên quan đến số lượng ID switches cao Hướng giải mà deep SORT đề xuất dựa việc sử dụng deep learning để trích xuất đặc trưng đối tượng nhằm tăng độ xác trình liên kết liệu Ngồi ra, chiến lược liên kết xây dựng Matching Cascade giúp việc liên kết đối tượng sau biến thời gian hiệu Trong multiple object tracking, đặc biệt lớp thuật tốn tracking-bydetection, có yếu tố ảnh hưởng trực tiếp đến performance việc theo dõi: ● Data Association: Quan tâm đến vấn đề liên kết liệu, cụ thể tiêu chí để xét đánh giá nhằm liên kết detection với track lưu trữ sẵn ● Track Life Cycle Management: Quan tâm đến việc quản lý vòng đời track lưu trữ, bao gồm, khởi tạo track, ngừng theo dõi xóa track 10 khỏi nhớ, … - Trong deep SORT, nhóm tác giả giải vấn đề data association dựa thuật toán Hungary (tương tự SORT), nhiên, việc liên kết khơng dựa IOU mà cịn quan tâm đến yếu tố khác: khoảng cách detection track (xét tính tương quan khơng gian vector) khoảng cách cosin vector đặc trưng trích xuất từ detection track (chi tiết trình phần sau) - vector đặc trưng đối tượng giống đặc trưng đối tượng khác - Luồng xử lý Deep SORT thực qua bước sau: ● Bước 1: Sử dụng Faster Region CNN (với backbone VGG16) để phát đối tượng khung hình ● Bước 2: Deep SORT sử dụng Kalman Filter để dự đoán trạng thái track dựa track khứ Các trạng thái lúc khởi tạo gán giá trị mang tính thăm dị (tentative) Giá trị đảm bảo trì frame tiếp theo, trạng thái chuyển từ thăm dò sang xác nhận (confirmed), cố gắng trì theo dõi 30 frame Ngược lại, dấu chưa đủ frame, trạng thái bị xóa khỏi trình theo dõi 11 ● Bước 3: Sử dụng track xác nhận, tiến hành đưa vào chiến lược đối sánh phân tầng (matching cascade) nhằm liên kết với detection phát dựa độ đo khoảng cách đặc trưng ● Bước 4: Các track detection chưa liên kết đưa đến lớp lọc Sử dụng giải thuật Hungary giải tốn phân cơng với ma trận chi phí IOU để liên kết lần ● Bước 5: Xử lý, phân loại detection track ● Bước 6: Sử dụng Kalman filter để hiệu chỉnh lại giá trị track từ detection liên kết với track khởi tạo track 2.2.6 Spatial-Temporal Graph Convolutional Networks (ST-GCN) - ST-GCN (mạng lưới đồ thị theo không gian thời gian) mơ hình học máy dùng để phát hành động người dựa thông tin khung xương thu từ thuật toán Pose Estimation - Model pretrain: Model ST-GCN train với dataset NTU RGB-D để phát 60 11 loại hành động Ở toán này, em định train lại model với class fall no fall + Đầu vào ST-GCN định dạng (1, 3, 300, 18, 2), tương ứng với ( batch, chanel, frame, joint, person ) channel=0 tọa độ x khớp chuẩn hóa phạm vi [-0,5, 0,5], channel=1 tọa độ y tương ứng, channel=2 giá trị tin cậy, joint số khớp khung person số người + Đầu giá trị tin cậy(confidence) ( batch, class, output_frame, Joint, person ) Để phát hành động, tính tổng giá trị tin cậy cho lớp chọn lớp có giá trị cao Output_frame số lượng khung hình đầu vào chia cho Đầu tính sử dụng để trực quan hóa điểm góp phần vào hành động phát 2.3 Xây dựng hệ thống 2.3.1 Luồng mở camera – Thơng báo ngã Realtime Hình Luồng mở camera – Thông báo ngã Realtime 2.3.2 Luồng hiển thị thông tin chi tiết kiện ngã 12 Hình Luồng hiển thị thơng tin chi tiết kiện ngã 2.3.3 Lưu đồ thuật tốn 13 Hình Lưu đồ thuật tốn 2.3.4 Code (Được đính kèm với tiểu luận) 2.4 Kết Hình Kết thực nghiệm 14 2.5 Nhận xét - Về mặt thực tiễn: Hệ thống phát ngã dựa việc trích xuất thơng tin khung xương, theo dõi qua khung hình người, sau dùng thuật tốn liên quan đến tích chập đồ thị để đưa kết luận Việc đưa dự đốn việc ngã hay khơng dựa thơng tin thời điểm mà dựa khoảng thời gian (30 frames) làm tăng đáng kể độ xác dự đốn - Về kết quả: Tỷ lệ xác mức trung bình - Về giao diện: Giao diện bản, cần cải thiện thêm - Về tốc độ xử lý hệ thống: mức trung bình, có độ trễ đưa kết Cần nghiên cứu để tối ưu thêm Từ đưa kết cách tức (realtime) 2.6 Đề xuất giải pháp khuyến nghị - Về mặt trải nghiệm người dùng: Phát triển thêm số tính cải thiện mặt giao diện - Nghiên cứu thêm để triển khai thiết bị thiết bị edge device nhỏ gọn như: Raspberry Pi, Jetson Nano, để thuận tiện cho việc triển khai bệnh viện PHẦN KẾT LUẬN Qua trình nghiên cứu, em tìm hiểu giải thuật thị giác máy tính như: thuật tốn phát người, thuật tốn object tracking, pose estimation, stgcn có hiểu biết dạng toán này, làm tảng cho trình học tập nghiên cứu thân lĩnh vực Về mặt thực tiễn, tập giới thiệu phương thức phát ngã dựa việc trích xuất thông tin khung xương, theo dõi qua khung hình người, sau dùng thuật tốn liên quan đến tích chập đồ thị để đưa kết luận Việc đưa dự đoán việc ngã hay không dựa thông tin thời điểm mà dựa khoảng thời gian (30 frames) làm tăng đáng kể độ xác dự đốn Ứng dụng viết ngơn ngữ Python sử dụng 15 số thư viện mã nguồn mở OpenCV, Pytorch, FlaskAPI, Dựa vào kết thu được, ta nghiên cứu thêm để triển khai thiết bị thiết bị edge device nhỏ gọn như: Raspberry Pi, Jetson Nano, để thuận tiện cho việc triển khai bệnh viện TÀI LIỆU THAM KHẢO [1] Viblo (30/12/2015) Tạo models tùy chỉnh cho YOLO v3 detect custome object with yolo v3 Truy cập ngày 1/12/2022 từ https://viblo.asia/p/cnn-tao-models-uy-chinh-choyolo-v3-detect-custom-object-with-yolo-v3-4dbZNp9L5YM [2] TiensuGithub (12/12/2016) Giới thiệu Human Pose Estimation Detectron2 platform Truy cập ngày 1/12/2022 từ https://tiensu.github.io/blog/86_human_pose_estimation [3] Mattdinh (05/08/2017) Tổng quan Object Tracking Truy cập ngày 1/12/2022 từ https://mattdinh-aifighter.com/tong-quan-ve-object-tracking/ [3] Viblo (18/12/2020) SORT - Deep SORT : Một góc nhìn Object Tracking Truy cập ngày 1/12/2022 từ https://viblo.asia/p/sort-deep-sort-mot-goc-nhin-ve-objecttracking-phan-1-Az45bPooZxY PHỤ LỤC Danh mục hình vẽ Nội dung TT Hình Trang Hình AlphaPose Hình Luồng mở camera – Thơng báo ngã Realtime 12 16 Hình Luồng hiển thị thơng tin chi tiết kiện ngã 13 Hình Lưu đồ thuật tốn 14 Hình Kết thực nghiệm 14 17 ... đây, hệ thống thông minh xuất hiện, phát triển hệ thống Việt Nam đơn giản lựa chọn Về bản, Hệ thống phát tự động cảnh báo ngã gồm hai phần phần phát ngã phần nhận tín hiệu báo ngã, ứng dụng các hệ. ..HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN o0o TÊN ĐỀ TÀI: HỆ THỐNG PHÁT HIỆN TỰ ĐỘNG CẢNH BÁO NGƯỜI BỊ NGÃ TRONG BỆNH VIỆN Sinh viên: Giảng viên... Kết làm đề tài Hệ thống phát tự động cảnh báo người bị ngã bệnh viện trung thực không chép từ tập nhóm khác Các tài liệu sử dụng tiểu luận có nguồn gốc, xuất xứ rõ ràng (Ký ghi rõ họ tên) Nguyễn