TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 40
NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG CẢNH BÁO HÀNH VI NGUY HIỂM
Ở CHUNG CƯ
RESEARCH AND BUILD A WARNING SYSTEM OF DANGEROUS BEHAVIOR
IN APARTMENTS
Nguyễn Quốc Toàn1,*, Nguyễn Nhật Minh1, Nguyễn Tiến Mạnh1,
Nguyễn Trọng Thành1, Hoàng Xuân Quý1, Nguyễn Thị Cẩm Ngoan2
1Lớp CNTT 04 - K16, Khoa công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
2Khoa công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
*Email: toanquoc2003@gmail.com
TÓM TẮT
Trong bàio này, chúng tôi đã tìm cách để có thể xây dựng một ứng dụng phân loại hành vi nguy hiểm. Sau quá trình
sàng lọc tất cả các hình truyền thống và hình học sâu, cuối cùng chúng tôi xác định chọn hình RNN kết hợp
với YoLov8 LSTM. RNN là một loại thuật toán trong lĩnh vực học máy dùng để xử lý dữ liệu tuần tự, như văn bản, âm
thanh hoặc chuỗi thời gian sử dụng chuỗi các thông tin. RNN có khả năng nhớ các thông tin được tính toán trước đó. Cụ
thể ở đây là nhận diện hành động trong video hoặc hình ảnh có phải hành vi nguy hiểm không. Mặc dù trình mô hình của
chúng tôi chưa đạt chính xác quá cao, nhưng chúng tôi vẫn có thể nhận được kết quả chính xác ở mức độ chấp nhận được
và đã xác định thành công hành vi nguy hiểm dựa vào mô hình đã đào tạo.
Từ khóa: nhận diện nguy hiểm; học sâu; RNN
ABSTRACT
In this paper, we found a method to build an application for classifying dangerous actions. After screening all traditional
models and deep learning models, we chose RNN models combined with YoLo v8 and LSTM models. RNN is a type of
artificial neural network that is designed to process sequential data. Unlike feedforward neural networks, RNNs can use
their internal state (memory) to process sequences of inputs. This allows them to exhibit temporal dynamic behavior. RNNs
are characterized by the direction of the flow of information between their layers, which can be bi-directional. They apply
to tasks such as unsegmented, connected handwriting recognition, or speech recognition. Specifically, here is the
classification of actions to determine whether they are dangerous. Although our model is not yet accurate enough, we are
still able to obtain accurate results to a certain extent and successfully identify dangerous actions based on the trained
model.
Keywords: classify dangerous actions; deep learning; RNN
CHỮ VIẾT TẮT
AI Artificial intelligence Trí tuệ nhân tạo
RNN Recurrent neural network Mạng nơ-ron hồi quy
LSTM Long short-term memory Bộ nhớ dài-ngắn hạn
1. GIỚI THIỆU
Bài báo này trình bày việc sử dụng hình mạng neural
hồi quy (RNN) để phân loại hành vi nguy hiểm. hình
này đã cho thấy hiệu suất tốt trong việc phân loại video các
hành vi xác định được đối tượng thực hiện hành vi
nguy hiểm hay không. Việc sử dụng các kỹ thuật học sâu
để phân loại các hành vi nguy hiểm đưa ra cảnh báo
cần thiết vì hiện nay các vụ tai nạn đáng tiếc do trẻ em chơi
ngoài ban công tại các tòa nhà chung xảy ra rất nhiều.
Cùng với sự phát triển của phần cứng mạnh mẽ cho phép
tính toán hàng tỷ phép tính trong một giây, mạng RNN trở
nên phổ biến hơn và được áp dụng vào nhiều lĩnh vực khác
nhau của đời sống như lĩnh vực thị giác y tính, lĩnh vực
tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, lĩnh
vực y khoa,...
2. CÁC NGHIÊN CỨU LIÊN QUAN
Ý tưởng về trí thông minh nhân tạo nhận diện các hành
vi bất thường hay nguy hiểm của con người đã nâng cao
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 41tiêu chuẩn của các hệ thống quan sát, nhận thức tình huống,
an toàn nhà ở và môi trường thông minh.
Ở trong nước cũng như ngoài nước cũng đã rất nhiều
các công ty hay tổ chức sử dụng trí tuệ nhân tạo để nhận
biết các hành vi bất thường. Tiêu biểu như startup Vsta với
sản phẩm AI nhận diện hành vi Asilla đã đạt giải thưởng AI
Awards 2022 do VnExpress tổ chức.
thể nói với sự phát triển ngày càng mạnh của trí tuệ
nhân tạo thì trí thông minh nhân tạo nhận diện hành vi bất
thường sẽ ngày càng được cải thiện. Trong tương lai gần nó
sẽ được ứng dụng vào việc bảo vệ nhà, hoặc hệ thống quan
sát trong các viện dưỡng lão.
3. PHƯƠNG PHÁP VÀ TƯ LIỆU
Trong phần này, nghiên cứu sẽ trình bày chi tiết về thuật
toán RRN. Recurrent Neural Network (RNN) một loại
mạng neural được thiết kế để xử lý dữ liệu tuần tự. RNN có
khả năng nhớ thông tin từ các bước trước đó, điều này giúp
hiểu được ngữ cảnh thứ tự của dữ liệu. RNN thể
được sử dụng để dịch văn bản từ một ngôn ngữ sang ngôn
ngữ khác, học cách tạo ra văn bản mới dựa trên văn bản đã
học, chuyển đổi giọng nói thành văn bản hay để tạo ra
tả văn bản cho hình ảnh.
3.1. Thuật toán RNN
- Giới thiệu về thuật toán RNN
Ý tưởng chính của RNN (Recurrent Neural Network)
sử dụng chuỗi các thông tin. Trong các mạng nơ-ron truyền
thống tất cả các đầu vào cả đầu ra độc lập với nhau.
Tức chúng không liên kết thành chuỗi với nhau. Nhưng
các hình này không phù hợp trong rất nhiều bài toán.
dụ, nếu muốn đoán từ tiếp theo có thể xuất hiện trong một
câu thì ta cũng cần biết các từ trước đó xuất hiện lần lượt
thế nào chứ nhỉ? Nói cách khác, RNN có khả năng nhớ các
thông tin được tính toán trước đó. Trên thuyết, RNN
thể sử dụng được thông tin của một văn bản rất dài, tuy
nhiên thực tế thì nó chỉthể nhớ được một vài bước trước
đó (ta cùng bàn cụ thể vấn đề này sau) thôi. Về cơ bản
một mạng RNN có dạng như sau:
Hình 1. Mô tả phép triển khai nội dung của một RNN
Triển khai đây thể hiểu đơn giản ta vẽ ra một
mạng nơ-ron chuỗi tuần tự.
Thuật toán RNN (Recurrent Neural Network) một loại
thuật toán trong lĩnh vực học máy dùng để xử dữ liệu tuần
tự, như văn bản, âm thanh hoặc chuỗi thời gian. được
thiết kế để xử thông tin tính chất thời gian, giúp lưu
giữ sử dụng thông tin từ quá khứ để dự đoán tạo ra
kết quả trong tương lai.
Ý tưởng chính của RNN (Recurrent Neural Network)
sử dụng chuỗi các thông tin. Trong các mạng nơ-ron truyền
thống tất cả các đầu vào cả đầu ra độc lập với nhau.
Tức chúng không liên kết thành chuỗi với nhau. Nhưng
các mô hình này không phù hợp trong rất nhiều bài toán.
RNN được gọi là hồi quy (Recurrent) bởi lẽ chúng thực
hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi
với đầu ra phụ thuộc vào cả các phép tính trước đó. Nói
cách khác, RNN khả năng nhớ các thông tin được tính
toán trước đó.
- Cấu trúc của mạng RNN
Neural Network bao gồm 3 phần chính Input layer,
Hidden layer Output layer, ta thể thấy đầu vào
đầu ra của mạng neuron này là độc lập với nhau. Như vậy
mô hình này không phù hợp với những bài toán dạng chuỗi
như tả, hoàn thành câu,... những dự đoán tiếp theo
như từ tiếp theo phụ thuộc vào vị trí của trong câu
những từ đằng trước nó.
Mạng RNN bao gồm một loạt các "cell" kết nối với nhau
theo thứ tự tuần tự. Mỗi cell có nhiều đầu vào một đầu
ra. Đầu ra của mỗi cell được truyền vào cell tiếp theo
cũng được dùng như một phần tử đầu vào cho chính cell đó,
tạo thành một vòng lặp. Quá trình lặp lại này cho phép mạng
RNN có khả năng ghi nhớ thông tin trước đó và ảnh hưởng
đến đầu ra hiện tại.
3.2. Ứng dụng của mạng RNN
- Mô hình hóa ngôn ngữ và sinh văn bản
hình ngôn ngữ cho phép ta dự đoán được xác xuất của
một từ nào đó xuất hiện sau một chuỗi các từ đi liền trước nó.
Do khnăng ước lượng được độ ơng tự của các câu nên
nó còn được ứng dụng cho việc dịch máy. Một điểm thú
của việc thdự đoán đưc từ tiếp theo ta có thể xây
dựng được một mô hình tự sinh từ cho phép máynh có th
tự tạo ra các văn bản mới từ tập mẫu và xác suất đầu ra của
mỗi từ. Vậy nên, y thuộc vào mô hình ngôn ngữ mà ta có
thtạo ra được nhiều văn bản khác nhau. Trong hình
ngôn ngữ, đầu o thường một chuỗi các từ (được tả
bằng vec- one-hot) đầu ra là một chuỗi c từ dự đoán
được. Khi huấn luyện mạng, ta sn ot = xt + 1 ta muốn
đầu ra tại bước t chính là từ tiếp theo của câu.
- Dịch máy
Dịch máy (Machine Translation) tương tự như mô hình
hóa ngôn ngữ ở điểm là đầu vào một chuỗi các từ trong
ngôn ngữ nguồn (ngôn ngữ cần dịch - dụ tiếng Việt).
Còn đầu ra sẽ một chuỗi các từ trong ngôn ngữ đích (ngôn
ngữ dịch - ví dụ là tiếng Anh). Điểm khác nhau ở đây đầu
ra của ta chỉ xử sau khi đã xem xét toàn bộ chuỗi đầu vào.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 42từ dịch đầu tiên của câu dịch cần phải đầy đủ thông
tin từ đầu vào cần dịch mới có thể suy luận được.
- Nhận dạng giọng nói
Đưa vào một chuỗi các tín hiệu âm thanh, ta thể dự
đoán được chuỗi các đoạn ngữ âm đi kèm với xác suất của
chúng.
- Mô tả hình ảnh
Cùng với ConvNet, RNN được sử dụng để tự động tạo
mô tả cho các ảnh chưa được gán nhãn. Sự kết hợp này đã
đưa ra được các kết quả khá kinh ngạc. Ví dụ như các ảnh
dưới đây, các tả sinh ra mức độ chính xác độ tường
tận khá cao.
Hình 2. Mô tả độ chính xác và độ tường tận
- Huấn luyện RNN
Huấn luyện mạng RNN cũng tương tự như các mạng nơ-
ron truyền thống, tuy nhiên giải thuật lan truyền ngược
(backpropagation) phải thay đổi một chút. Đạo hàm tại mỗi
đầu ra phụ thuộc không chỉ vào các tính toán tại bước đó,
còn phụ thuộc vào các bước trước đó nữa, vì các tham
số trong mạng RNN được sử dụng chung cho tất cả các
bước trong mạng. Với các bước phụ thuộc càng xa thì việc
học sẽ càng khó khăn hơn sẽ xuất hiện vấn đề hao
hụt/bùng nổ (vanishing/exploding) của đạo hàm. một
vài phương pháp được đề xuất để giải quyết vấn đề này và
các kiểu mạng RNN hiện nay đã được thiết kế để triệt tiêu
bớt chúng như LSTM.
- Ưu và nhược điểm của thuật toán RNN
+ Ưu điểm:
- khả năng xử lý dữ liệu đầu vào bất kỳ độ dàio.
- Kích thước hình không tăng theo kích thước đầu
vào.
- Việc huấn luyện hình sử dụng thông tin Time-
Step trước đó.
- Các hệ số của hình (weight bias) được chia sẻ
theo thời gian.
+ Nhược điểm:
Việc xử lý, tính toán mất khá nhiều thời gian.
- Thông tin từ các Time-Step xa không được duy trì
tốt.
- Không thể xem xét bất kỳ đầu vào nào trong tương lai
cho trạng thái hiện tại.
3.3. Thuật toán LSTM
- Giới thiệu về mạng LSTM
Mạng bộ nhớ dài-ngắn (Long Short Term Memory
networks), thường được gọi LSTM - là một dạng đặc biệt
của RNN, khả năng học được các phụ thuộc xa.
LSTM được giới thiệu bởi Hochreiter & Schmidhuber
(1997), và sau đó đã được cải tiến và phổ biến bởi rất nhiều
người trong ngành. Chúng hoạt động cực hiệu quả trên
nhiều bài toán khác nhau nên dần đã trở nên phổ biến như
hiện nay.
LSTM cũng kiến trúc dạng chuỗi như vậy, nhưng các
mô-đun trong cấu trúc khác với mạng RNN chuẩn.
Thay chỉ một tầng mạng nơ-ron, chúng tới 4 tầng
tương tác với nhau một cách rất đặc biệt.
Hình 3. Mạng bộ nhớ dài ngắn LSTM
- Cấu trúc của mạng LSTM
LSTM có cấu trúc dạng chuỗi các nút mạng như RNN,
nhưng cấu trúc bên trong thì lại phức tạp hơn, bao gồm 4
tầng tương tác với nhau như hình bên dưới. Điểm đặc biệt
của mạng LSTM nằm trạng thái ô C (cell state), nơi lưu
trữ các trọng số dài hạn của hình. Các thông số trạng
thái ô C, trạng thái ẩn h (hidden state), đầu vào tại thời điểm
t xt được đưa vào nút mạng. Sau khi được xử qua các
hàm kích hoạt sigmoid, tanh các phép toán véc–tơ, kết
quả đầu ra là trạng thái ô C và trạng thái ẩn h tại thời điểm
t sẽ được sử dụng cho nút mạng t+1 tiếp theo.
Hình 4. Cấu trúc một nút mạng trong mạng LSTM
- Ưu và nhược điểm của mạng LSTM
Ưu điểm:
- Xử lý được độ dài ngắn và dài của dữ liệu đầu vào
- Xử lý được sự phụ thuộc dài hạn
- Giảm được hiện tượng mất mát thông tin
- Tích hợp được với các thành phần khác
Nhược điểm:
- Đòi hỏi lượng dữ liệu lớn
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 43- Tính phức tạp và đòi hỏi tài nguyên tính toán cao
- Khó khăn trong việc định lượng điều chỉnh c tham
số
- Ứng dụng của mạng LSTM
Thuật toán LSTM (Long Short-Term Memory) một
phiên bản cải tiến của mạng -ron hồi quy (RNN), được
xây dựng để giải quyết vấn đề biến mất gradient trong quá
trình huấn luyện mạng nơ-ron hồi quy thông thường. LSTM
đã được áp dụng và cho thấy hiệu quả trong nhiều lĩnh vực
khác nhau. Dưới đây một số ứng dụng của thuật toán
LSTM:
- Xử lý ngôn ngữ tự nhiên
- Nhận dạng giọng nói
- Dự đoán chuỗi thời gian
- Phân loại hình ảnh
- Tự động gợi ý
- Dịch máy
- Ý tưởng đằng sau LSTM
Ý tưởng chính của LSTM thành phần ô trạng thái (cell
state) được thể hiện qua đường chạy ngang qua đỉnh đồ thị
như hình vẽ bên dưới:
Hình 5. Đường đi của ô trạng thái (cell state) trong mạng LSTM
Ô trạng thái là một dạng băng chuyền chạy thẳng xuyên
suốt toàn bộ chuỗi với chỉ một vài tương tác tuyến tính nhỏ
giúp cho thông tin thể truyền dọc theo đồ thị mạng
ron ổn định.
LSTM khả ng xóa thêm thông tin vào ô trạng
thái điều chỉnh các luồng thông tin này thông qua các
cấu trúc gọi là cổng.
Cổng làchế đặc biệt để điều chỉnh luồng thông tin đi
qua. Chúng được tổng hợp bởi một tầng ẩn của hàm
activation sigmoid và với một toán tử nhân như đồ thị.
Hình 6. Một cổng của hàm sigmoid trong LSTM
4. THỰC NGHIỆM
4.1. Cơ sở dữ liệu
Dữ liệu được thu thập trên trang website Roboflow:
một nền tảng toàn diện dành cho việc xây dựng triển khai
các ứng dụng thị giác máy tính (computer vision). Nó cung
cấp các công cụ dịch vụ giúp bạn làm việc với dữ liệu
hình ảnh, huấn luyện nh, triển khai tích hợp các
ứng dụng thị giác máy tính vào dự án của mình.
Dữ liệu lan can lấy theo dạng huấn luyện mô hình
YOLOv8 với số lượng khoảng 800 ảnh.
Dữ liệu được thu thập trên Google.com.
4.2. Huấn luyện mô hình
Qua 2 bước huấn luyện mô hình:
- Huấn luyện hình dự đoán lan can bằng Model
YOLOv8 được huấn luyện trên Google Colab. hình
huấn luyện trên một tập dữ liệu chứa ảnh các label tương
ứng của các class được huấn luyện.
- Huấn luyện hình LSTM dự đoán hành động nguy
hiểm được thực hiện trên phần mềm Visual Studio Code.
Mô hình huấn luyện dựa theo đầu vào là các hình ảnh được
nhận định theo các mức nguy hiểm.
4.3. Đánh giá trên tập thực nghiệm
Sau nhiều lần huấn luyện Model YOLOv8 độ chính xác
của model: 0,874.
Kết quả được lưu vào trong file best.pt.
Quá trình huấn luyện Model LSTM
Hình 7. Sau nhiều lần huấn luyện nâng cao tỷ lệ dự đoán:
Accuracy xấp xỉ 1.0
4.4. Triển khai chương trình
Sau khi hoàn thành xong quá trình huấn luyện, chúng tôi
thực hiện chương trình chạy hoàn chỉnh dự đoán hành vi
nguy hiểm khi có lan can. Yêu cầu về phần cứng, cần máy
tính đủ mạnh để thực hiện chạy chương trình nhanh chóng
và hiệu quả (CPU 2-4 nhân, GPU,…).
Khi chạy chương trình trên một video: những kết quả sẽ
nhận được:
- Hành vi bình thường (normal)
- Cảnh cáo hành vi (warning)
- Báo nguy hiểm (dangerous)
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 44
Hình 8. Chạy chương trình trên một video
5. KẾT LUẬN
Trong bài báo này, nhóm tác giả đã tìm hiểuxác định
mục tiêu nghiên cứu là hướng tới lợi ích cộng đồng. Từ đó,
xây dựng bài toán cụ thể về nhận diện hành vi nguy hiểm.
Bài báo đã đưa ra phương pháp kết hợp các model
YOLOv8 LSTM để nhận diện và phân loại hành vi nguy
hiểm khi lan can. Đây scho sự phát triển ứng dụng
cảnh cáo hoàn thiện phát triển n trong tương lai về vấn
đề tương tự.
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Phương Nga, Trần Hùng Cường, 2021. Giáo trình Trí tuệ nhân tạo. Nhà xuất bản Thống kê.
[2]. Nguyễn Thị Len, 2014. Đề xuất phương pháp nhận dạng mặt người ứng dụng chống gian lận trong thi cử. Luận
văn thạc sĩ, Học viện công nghệ bưu chính viễn thông.
[3]. M. S. V. Ashwini B. Akkawar, 2015. Review And Comparative Study of Face Recognition Using Different Neural
Networking algorithm. International Journal of Engineering Research and General Science, Vols. Volume 3, no. Issue 2,
Part 2, pp. 479-484.
[4]. Ostawal Prachi Satish, P.G.Salunke, 2014. A Survey on Face Recognition and Facial Expression Identification.
International Journal of Engineering and Computer Science, Volume 3 Issue 12, Page No. 9524-9527
[5]. Joshi Practeek, 2017. Artificial intelligence with python a comprehensive guide to building intelligemce apps for
python beginners and developers. Packt Publlishing.
[6]. Stuart Russell, 2020. Peter Norvig: Artificial Intelligence: A Modern Approach, 4th Edition, Pearson.
[7]. M. G. Kresimir Delac, 2007. PCA and LDA based Neural Networks for Human Face Recognition. in Face
Recognition, Vienna, Austria, I-Tech, pp. 94-106.