Hơn nữa, phương pháp còn có thể ứng dụng vào các bộ lọc video trên mạng xã hội như Facebook, Tiktok,… để kiểm duyệt nội dung, ngăn chặn những video bạo lực xuất hiện tràn lan trên mạng x
Trang 3NGƯỜI HƯỚNG DẪN KHOA HỌC: GS TS TỪ MINH PHƯƠNG
HÀ NỘI - NĂM 2023
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong đề án tốt nghiệp là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Hà Nội, tháng 5 năm 2023
Tác giả đề án
Phạm Đức Cường
Trang 5LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn đến các thầy, cô Khoa Công nghệ thông tin 1 tại Học viện Công nghệ Bưu Chính Viễn thông, những người trong 2 năm vừa qua đã truyền đạt cho em rất nhiều kiến thức, kinh nghiệm quý báu, những hành trang cho em hướng đến tương lai
Em xin gửi lời cảm ơn chân thành nhất đến GS TS Từ Minh Phương, người
đã tận tình hướng dẫn và chỉ bảo em tận tình trong quá trình thực hiện đề án Những lời khuyên của thầy trong suốt quá trình này đã giúp em có thêm nhiều kiến thức cũng như kinh nghiệm trong lĩnh vực nghiên cứu khoa học
Em cũng xin cảm ơn ba bạn Ngô Tiến Đức, Phạm Tiến Đức, Hà Như Thái – học viên lớp M21CQIS01-B đã giúp đỡ em rất nhiều trong việc thu thập, gán nhãn
và xử lý dữ liệu để em có thể hoàn thành được đề án này
Em xin gửi lời cảm ơn đến các anh chị, các bạn và các em trong lớp M21CQIS01-B, cảm ơn tất cả mọi người đã tạo ra một môi trường học tập chuyên nghiệp, sáng tạo để em có thể phát triển được như ngày hôm nay
Cuối cùng, em xin cảm ơn gia đình, đồng nghiệp và bạn bè, những người đã luôn ở cạnh, quan tâm, chia sẻ, tạo điều kiện tốt nhất cho em để có thể hoàn thành được đề án này
Hà Nội, tháng 5 năm 2023
Tác giả đề án
Phạm Đức Cường
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH SÁCH BẢNG vi
DANH SÁCH HÌNH VẼ vii
MỞ ĐẦU 1
1 Tính cấp thiết của đề án 1
2 Tổng quan về vấn đề nghiên cứu 2
3 Mục đích nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 3
5 Phương pháp nghiên cứu 3
CHƯƠNG 1 : TỔNG QUAN VỀ BÀI TOÁN PHÁT HIỆN HÀNH VI BẠO LỰC 4
1.1 Bài toán phát hiện hành vi bạo lực 4
1.1.1 Giới thiệu bài toán 4
1.1.2 Hướng tiếp cận 5
1.2 Các nghiên cứu liên quan 5
1.3 Kiến thức cơ sở 13
1.3.1 Phát hiện đối tượng 13
1.3.2 Theo dõi đối tượng 14
1.3.3 Phân loại hành vi bạo lực 15
1.4 Kết luận chương 22
Trang 7CHƯƠNG 2 : MÔ HÌNH HỌC SÂU ĐA TẦNG 23
2.1 Đặt vấn đề 23
2.2 Mô hình học sâu đa tầng 23
2.2.1 Tầng phát hiện đối tượng 25
2.2.2 Tầng theo dõi đối tượng 28
2.2.3 Tầng phân loại hành vi bạo lực 36
2.3 Kết luận chương 40
CHƯƠNG 3 : THỰC NGHIỆM VÀ ĐÁNH GIÁ 41
3.1 Mô tả dữ liệu 41
3.2 Mô tả thực nghiệm 43
3.3 Phương pháp đánh giá 44
3.4 Kết quả thực nghiệm và đánh giá 45
3.4.1 Quá trình huấn luyện 45
3.4.2 So sánh kết quả với các biến thể 49
3.5 Kết luận chương 51
KẾT LUẬN 52
DANH MỤC TÀI LIỆU THAM KHẢO 53
Trang 8DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
1 AI Artificial Intelligence Trí tuệ nhân tạo
2 Bi-LSTM Bidirectional Long Short-Term
Memory
Mạng bộ nhớ dài-ngắn hạn hai chiều
3 CNN Convolutional Neural Network Mạng nơ-ron tích chập
4 FC Fully Connected Layer Lớp kết nối toàn bộ
5 FLOPS Floating Point Operations Per
Second
6 IOU Intersection Over Union Phần giao trên phần hợp
7 KNN K-nearest Neighbor Giải thuật k hàng xóm gần nhất
8 LSTM Long Short -Term Memory Mạng bộ nhớ dài-ngắn hạn
9 MOT Multiple Object Tracking Theo dõi đa đối tượng
10 MOTA Multiple Object Tracking
Accuracy
Độ chính xác theo dõi nhiều đối tượng
11 NMS Non Maximum Suppression Chặn không cực đại
12 RNN Recurrent Neural Network Mạng nơ-ron hồi quy
13 RPN Region Proposal Network Mạng đề xuất khu vực
14 SORT Simple Online Realtime Object
Tracking
Theo dõi đối tượng trực tuyến thời gian thực đơn giản
15 SOT Single Object Tracking Theo dõi một đối tượng
17 YOLO You Only Look Once
Trang 9DANH SÁCH BẢNG
Bảng 2.1 Kết quả pretrain YOLOv7 trên MS COCO 27Bảng 3.1 Thống kê các tập dữ liệu 43Bảng 3.2 So sánh kết quả thực nghiệm 49
Trang 10DANH SÁCH HÌNH VẼ
Hình 1.1 Sơ đồ hoạt động của “Fast Fight Detection” (Nguồn: [15]) 6
Hình 1.2 Các vùng màu chuyển động trong hình ảnh bạo lực và bình thường (Nguồn: [15]) 7
Hình 1.3 Kiến trúc Single-Frame CNN (Nguồn: [7]) 9
Hình 1.4 Hình ảnh từ tập dữ liệu HockeyFight 10
Hình 1.5 Kiến trúc 3D CNN (Nguồn: [29]) 10
Hình 1.6 Sơ đồ tổng quan mô hình CNN-LSTM (Nguồn: [30]) 12
Hình 1.7 Cảnh bạo lực trong tập dữ liệu PTIT 12
Hình 1.8 Đầu ra của bài toán phát hiện đối tượng (Nguồn: Internet) 13
Hình 1.9 Đầu ra của bài toán theo dõi đa đối tượng (Nguồn: Internet) 15
Hình 1.10 Kiến trúc tổng quát CNN-LSTM 16
Hình 1.11 Sự biến đổi dữ liệu trong CNN (Nguồn: cs231n) 17
Hình 1.12 Minh họa phép tính tích chập trong CNN (Nguồn: cs231n) 18
Hình 1.13 Dữ liệu khi áp dụng Max Pooling và Average Pooling 20
Hình 1.14 Lớp kết nối toàn bộ (Nguồn: Internet) 20
Hình 1.15 Chi tiết kiến trúc của mô-đun đơn giản trong RNN (Nguồn: Internet) 21
Hình 1.16 Chi tiết kiến trúc của mô-đun trong mạng LSTM (Nguồn: Internet) 21
Hình 2.1 Sơ đồ tổng quan mô hình học sâu đa tầng 24
Hình 2.2 Mốc thời gian phát triển của YOLO 25
Hình 2.3 Kiến trúc của YOLOv7 (Nguồn: Internet) 26
Hình 2.4 Kết quả thử nghiệm pretrain YOLOv7 trên các tập dữ liệu 28
Hình 2.5 Luồng xử lí của SORT 30
Hình 2.6 Luồng xử lí của ByteTrack 31
Hình 2.7 Ví dụ đầu vào cho ByteTrack (Nguồn: [33]) 31
Hình 2.8 Minh hoạ cách hoạt động của ByteTrack 32
Hình 2.9 Minh hoạ kết quả của tầng theo dõi đối tượng 35
Hình 2.10 Kiến trúc CNN-LSTM được sử dụng 36
Hình 2.11 Kiến trúc ResNet-50 được sử dụng 37
Trang 11Hình 2.12 Kiến trúc EfficientNet-B0 được sử dụng 38
Hình 2.13 Kiến trúc Bi-LSTM được sử dụng 39
Hình 2.14 Sơ đồ chi tiết mô hình học sâu đa tầng 40
Hình 3.1 Một số hình ảnh trong tập dữ liệu HockeyFight 41
Hình 3.2 Một số hình ảnh trong tập dữ liệu Peliculas 42
Hình 3.3 Một số hình ảnh trong tập dữ liệu PTIT 42
Hình 3.4 Biểu đồ phân chia dữ liệu 43
Hình 3.5 Biểu đồ loss trên tập dữ liệu HockeyFight 45
Hình 3.6 Biểu đồ accuracy trên tập dữ liệu HockeyFight 46
Hình 3.7 Biểu đồ loss trên tập dữ liệu Peliculas 47
Hình 3.8 Biểu đồ accuracy trên tập dữ liệu Peliculas 47
Hình 3.9 Biểu đồ loss trên tập dữ liệu PTIT 48
Hình 3.10 Biểu đồ accuracy trên tập dữ liệu PTIT 48
Hình 3.11 Trường hợp khu vực bạo lực quá nhỏ trong tập dữ liệu PTIT 50
Hình 3.12 Trường hợp thiếu ánh sáng trong tập dữ liệu PTIT 50
Trang 12MỞ ĐẦU
1 Tính cấp thiết của đề án
Trong kỉ nguyên Internet hiện nay, những cảnh bạo lực trong phim ảnh, phương tiện truyền thông hay mạng xã hội trở nên phổ biến, có thể truy cập dễ dàng dẫn đến rất nhiều hành động bạo lực, đặc biệt là từ giới trẻ Hành vi bạo lực thường xảy ra nhất là hành vi bạo lực thể chất - những hành vi cố ý xâm hại tính mạng hoặc gây ra thương tích trên cơ thể cho nạn nhân
Hành vi bạo lực nói chung và bạo lực thể chất nói riêng gây ra rất nhiều hệ lụy cho xã hội, gây tổn hại cả về sức khỏe, tinh thần, tài sản và đôi khi là cả tính mạng của con người Đã có nhiều biện pháp khắc phục được đưa ra nhưng tình trạng bạo lực vẫn thường xuyên xảy ra, không có dấu hiệu thuyên giảm
Camera giám sát đã và đang được triển khai trên khắp thế giới, với mục đích góp phần tăng cường an ninh, bảo vệ con người Với số lượng camera giám sát khổng lồ và không ngừng gia tăng như vậy, hoàn toàn có thể sử dụng để phát hiện các hành vi bạo lực thể chất Một phương pháp phát hiện hành vi bạo lực từ video
đủ tốt có thể có thể giúp cơ quan chức năng ngăn chặn hay chí ít là giảm thiểu tối đa những thiệt hại do bạo lực gây ra Hơn nữa, phương pháp còn có thể ứng dụng vào các bộ lọc video trên mạng xã hội như Facebook, Tiktok,… để kiểm duyệt nội dung, ngăn chặn những video bạo lực xuất hiện tràn lan trên mạng xã hội, hạn chế phần nào sự truy cập từ người dùng – một trong những nguyên nhân dẫn đến tình trạng bạo lực gia tăng
Ở Việt Nam, dù đã có những nghiên cứu về phát hiện hành vi bạo lực từ video nhưng chưa được ứng dụng rộng rãi trong thực tế Gần đây, BKAV đã phát triển hệ thống AI view kết hợp giữa camera và AI phục vụ giám sát trật tự an ninh
có tính năng phát hiện hành bạo lực, tuy nhiên tính năng này mới chỉ dừng lại ở chức năng phát hiện súng và đám đông Chính vì vậy, đề án đã lựa chọn và nghiên
cứu đề tài “Xây dựng mô hình học sâu đa tầng phát hiện hành vi bạo lực”
Trong phạm vi kiến thức, đề án sẽ tập trung nghiên cứu và xây dựng mô hình học sâu đa tầng cho bài toán phát hiện hành vi bạo lực thể chất từ video, cụ thể là
Trang 13những hành vi bạo lực mà đối tượng sử dụng các bộ phận cơ thể tác động gây thương tích lên đối tượng khác mà không sử dụng vũ khí hay công cụ hỗ trợ Với mục đích trình bày đề án một cách khoa học và không dài dòng, kể từ đây, đề án sẽ
sử dụng cụm từ “phát hiện hành vi bạo lực” thay cho “phát hiện hành vi bạo lực
thể chất từ video” Đề án sẽ trình bày một số nội dung chính như sau:
• Chương 1: Tổng quan về bài toán phát hiện hành vi bạo lực
Nội dung chương 1 sẽ giới thiệu về bài toán phát hiện hành vi bạo lực, hướng tiếp cận bài toán, trình bày các nghiên cứu liên quan cùng các vấn đề tồn tại của từng phương pháp, các kiến thức cơ sở cần thiết và đưa ra là kết luận chương
• Chương 2: Mô hình học sâu đa tầng
Nội dung của chương 2 trình bày về mô hình học sâu đa tầng, đi sâu vào mô
tả kiến trúc và cách hoạt động của từng tầng sau đó đưa ra kết luận chương
• Chương 3: Thực nghiệm và đánh giá
Nội dung của chương 3 trình bày cách xây dựng bộ dữ liệu cho bài toán, mô
tả quá trình thực nghiệm, các phương pháp đánh giá kết quả, từ đó trình bày kết quả thực nghiệm và đưa ra đánh giá cùng kết luận chương
2 Tổng quan về vấn đề nghiên cứu
Trong những năm gần đây, bài toán phát hiện hành vi bạo lực đang nhận được rất nhiều sự quan tâm Chính vì vậy, nhiều phương pháp đã được đề xuất để giải quyết bài toán Các phương pháp này tập trung vào sử dụng xử lý ảnh truyền thống để trích xuất đặc trưng sau đó dùng mô hình học máy để phân loại hành vi, một số ít là những phương pháp sử dụng học sâu Một số nghiên cứu nổi bật sẽ được trình bày ở chương 1 của đề án
3 Mục đích nghiên cứu
Ứng dụng công nghệ trí tuệ nhân tạo để xây dựng mô hình học sâu đa tầng phát hiện hành vi bạo lực Từ đó có thể ứng dụng vào các hệ thống camera giám sát giúp nâng cao năng lực hiệu quả làm việc của các cơ quan quản lý Kịp thời phát
Trang 14hiện ngăn chặn hành vi bạo lực, giảm thiểu thiệt hại về người và tài sản Hơn nữa là nâng cao ý thức người dân góp phần ổn định trật tự xã hội, nâng cao chất lượng cuộc sống Mô hình còn có thể ứng dụng vào các bộ lọc video trên mạng xã hội như Facebook, Tiktok, … để kiểm duyệt nội dung, ngăn chặn những video bạo lực xuất hiện tràn lan trên mạng xã hội, hạn chế phần nào sự truy cập từ người dùng – một trong những nguyên nhân dẫn đến tình trạng bạo lực gia tăng
4 Đối tượng và phạm vi nghiên cứu
Bài toán phát hiện hành vi bạo lực trên thế giới và Việt Nam
Xây dựng một tập dữ liệu mới, chuẩn hoá trong môi trường Việt Nam và dành riêng cho bài toán phát hiện hành vi bạo lực
Xây dựng và thử nghiệm mô hình học sâu đa tầng phát hiện hành vi bạo lực trên tập dữ liệu sẵn có và được xây dựng
Đưa ra so sánh nhận xét về mô hình học sâu đa tầng
Kết luận và đề xuất về hướng nghiên cứu tiếp theo
5 Phương pháp nghiên cứu
Tham khảo các mô hình học sâu hiệu quả cao, từ đó đưa ra mô hình học sâu phù hợp để giải quyết bài toán
Phân tích, đánh giá phương pháp có sẵn trên thế giới và Việt Nam trong phát hiện hành vi bạo lực
Đánh giá độ chính xác và tốc độ của mô hình thông qua các bài kiểm tra thử nghiệm trên các tập dữ liệu sẵn có và tập dữ liệu được xây dựng, chuẩn hóa trong môi trường Việt Nam
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÁT HIỆN HÀNH VI
BẠO LỰC
Nội dung chương 1 sẽ giới thiệu về bài toán phát hiện hành vi bạo lực và hướng tiếp cận bài toán Do phạm vi nghiên cứu của luận án tập trung chủ yếu phát hiện hành vi bạo lực từ video, nên để làm cơ sở trình bày chương sau, phần tiếp theo sẽ trình bày các kết quả nghiên cứu đã có về nội dung này cùng những vấn đề tồn tại trong từng phương pháp Các kiến thức cơ sở cần thiết được đưa ra ở phần tiếp theo và cuối cùng là kết luận chương
1.1 Bài toán phát hiện hành vi bạo lực
1.1.1 Giới thiệu bài toán
Phát hiện hành vi bạo lực là quá trình giám sát, theo dõi và phân tích hành vi của các đối tượng và trạng thái môi trường xung quanh nhằm suy diễn/nhận dạng những hoạt động đang xảy ra có phải hành vi bạo lực hay không Trong phạm vi đề
án, hành vi bạo lực bao gồm các hành vi cố ý xâm hại tính mạng hoặc gây ra thương tích trên cơ thể cho nạn nhân
Một trong những mục tiêu của phát hiện hành vi bạo lực là cung cấp thông tin về hành vi của các đối tượng có phải là bạo lực hay không, từ đó cho phép hệ thống chủ động đưa ra cảnh báo đến cơ quan chức năng hay bộ phận liên quan, giúp
họ can thiệp kịp thời, hỗ trợ giảm thiểu tối đa thiệt hại của hành vi bạo lực
với độ dài bất kỳ
So với những phương pháp khác, phương pháp do đề án trình bày không chỉ đưa ra cảnh báo mà còn có thể chỉ ra vị trí chính xác của nhóm người có hành vi bạo lực trong video
Trang 161.1.2 Hướng tiếp cận
Phát hiện hành vi bạo lực sử dụng học sâu là một hướng tiếp cận hiệu quả với chi phí thấp cho thu thập dữ liệu nhờ hệ thống camera rộng lớn và nguồn video khổng lồ trên Internet Hướng nghiên cứu này gần đây thu hút được nhiều sự quan tâm của cộng đồng nghiên cứu do tình trạng bạo lực hiện nay đang ngày càng gia tăng Thêm vào đó, sự tiến bộ không ngừng của công nghệ giúp chất lượng dữ liệu thu thập ngày càng tốt và hệ thống phần cứng mạnh mẽ có thể thực thi được những thuật toán phức tạp, giúp ích rất nhiều cho các công trình nghiên cứu
Phát hiện hành vi bạo lực sử dụng học sâu có thể được chia thành 3 bước cơ bản, bao gồm:
video bình thường (bước gán nhãn sẽ bao gồm các thao tác chia cắt, phân
loại video thành 2 nhóm chỉ chứa video bạo lực và video bình thường)
Bước 2: huấn luyện, kiểm tra các mô hình học sâu dựa trên dữ liệu đã
được gán nhãn
hoặc mô hình nếu cần thiết để đạt được kết quả tốt nhất có thể
1.2 Các nghiên cứu liên quan
Trong những năm gần đây, bài toán phát hiện hành vi bạo lực đang nhận được rất nhiều sự quan tâm Chính vì vậy, nhiều phương pháp đã được đề xuất để giải quyết bài toán [12], [15], [25], [26], [31] Các phương pháp này tập trung vào
sử dụng xử lý ảnh truyền thống để trích xuất đặc trưng sau đó dùng mô hình học máy để phân loại hành vi Phương pháp đạt kết quả tốt có thể kể đến Fast Fight Detection [15] của nhóm tác giả I S Gracia, O D Suarez, G B Garcia, và T.-K Kim Trong bài nghiên cứu, nhóm tác giả đề xuất một phương pháp dựa trên việc phát hiện các vùng màu chuyển động Sau đó các đặc trưng trích xuất từ những vùng màu này được sử dụng để phân biệt hành vi là bạo lực hay bình thường Sơ đồ hoạt động của phương pháp được mô tả ở hình 1.1
Trang 17Hình 1.1 Sơ đồ hoạt động của “Fast Fight Detection” (Nguồn: [15])
Các bước chính trong phương pháp:
hình liên tiếp
quan trọng, mang nhiều đặc trưng So sánh hai hình ảnh nhị phân chứa các vùng màu đã đánh dấu trong hình 1.2, có thể thấy trong hình ảnh bạo lực, các vùng màu chuyển động có kích thước khá lớn và được tập trung thành cụm, đối với hình ảnh bình thường, các vùng màu nhỏ và phân bố rời rạc
Trang 18Hình 1.2 Các vùng màu chuyển động trong hình ảnh bạo lực và bình thường (Nguồn:
[15])
và sử dụng làm đặc trưng phân loại như diện tích, tâm hình, chu vi, cũng như khoảng cách tâm giữa các vùng màu
Bộ dữ liệu được dùng để thử nghiệm trong nghiên cứu là Movies, Hockey và UCF101: Bộ dữ liệu Movies bao gồm 200 video, các video bạo lực được cắt từ các cảnh trong những bộ phim hành động, các cảnh không bạo lực được cắt từ các video công khai không chứa hành vi bạo lực Bộ dữ liệu Hockey bao gồm 1000 video từ trò chơi khúc côn cầu trên băng trong giải đấu National Hockey League (NHL), được phân thành hai nhóm, 500 bạo lực và 500 không, mỗi video có giới hạn là 50 khung hình Bộ dữ liệu UCF101 là tập dữ liệu gồm các video hành động thực tế được thu thập từ YouTube, có 101 danh mục hành động “Punching” and “Sumo” trong bộ dữ liệu UCF101 được thêm vào dữ liệu bạo lực
Để thử nghiệm kết quả với các cách trích rút đặc trưng khác nhau, tác giả đã chia phương pháp thành hai biến thể khác nhau:
Trang 19 Biến thể đầu tiên (v1) giả định rằng vị trí và hình dạng của K vùng màu lớn nhất có thể phân biệt giữa hành vi bạo lực và không Để mô tả vị trí và hình dạng biến thể này sử dụng thông tin tâm và khoảng cách giữa các tâm vùng màu Sau đó, biến thể này (v1) sử dụng K khu vực tốt nhất, K tâm của các khu vực này và khoảng cách giữa các tâm Do đó, một chuỗi S có 3K + K (K
- 1) / 2 đặc điểm
Biến thể thứ hai (v2) sử dụng các đặc trưng sau để mô tả vị trí và hình dạng: trọng tâm, khoảng cách giữa các tâm khối và độ nén Cuối cùng, biến thể này (v2) sử dụng K khu vực tốt nhất, K trọng tâm của những khu vực này, khoảng cách giữa các trọng tâm này và độ nén K Do đó, dãy S có 2K + K (K
- 1) / 2 đặc điểm
Sử dụng những đặc trưng trên, tác giả thực nghiệm với ba mô hình phân loại
là KNN (K-nearest neighbor), Adaboot và Random Forests Kết quả cho thấy độ chính xác của phương pháp với từng biến thể khi sử dụng mô hình KNN và AdaBoost là khá tốt, còn mô hình Random Forests cho kết quả rất tốt Tuy nhiên độ chính xác của phương pháp chưa được tốt khi so với những phương pháp hiện đại khác Ngoài ra phương pháp còn gặp khó khăn trong việc phân loại các video có chuyển động liên tục hay những video có cảnh bạo lực chỉ chiếm một phần nhỏ khung hình Nhìn chung, phương pháp chưa thể áp dụng vào các hệ thống phát hiện hành vi bạo lực trong thực tế
Học sâu là một tập hợp con của học máy, tập trung chủ yếu vào sử dụng mạng nơ-ron nhiều lớp Học sâu đã đạt được độ chính xác và hiệu quả cao trong rất nhiều bài toán thị giác máy tính so với học máy truyền thống, trong đó phải kể đến phân loại hình ảnh Mạng nơ-ron tích chập CNN (Convolutional Neural Network) [28] là một trong những kiến trúc được sử dụng rộng rãi nhất được dùng để phân loại ảnh CNN ra đời dựa vào việc mô phỏng một phần cách thức hoạt động của não
bộ con người - sử dụng những đặc trưng từ không gian để phân loại một bức ảnh CNN sử dụng rất nhiều bộ lọc có khả năng học hỏi để tự động trích xuất đặc trưng
Trang 20từ hình ảnh, vì vậy CNN có thể “nhìn được” những đặc trưng quan trọng mà trích xuất đặc trưng thủ công khó có thể phát hiện
Bài toán phát hiện hành vi bạo lực là bài toán con của phân loại hành vi Vì vậy, những nghiên cứu ứng dụng CNN cho bài toán phân loại hành vi cũng có thể được áp dụng cho bài toán phát hiện hành vi bạo lực Một ví dụ đó là Single-Frame CNN (hình 1.3)- coi bài toán phân loại hành vi như một bài toán phân loại ảnh thông thường, sử dụng từng khung hình làm hình ảnh đầu vào cho CNN Phương pháp có hiệu quả trong một số loại hành vi nhất định như chạy hay đi bộ nhưng không hiệu quả với bài toán phân loại hành vi Nguyên nhân chính do hành động là một chuỗi hình ảnh liên tiếp, nên nếu chỉ sử dụng một hình ảnh đơn lẻ thì khó có thể đưa ra được dự đoán chính xác Ví dụ với hình ảnh từ tập dữ liệu Hockey ở hình 1.4, không thể phân biệt được đây là hành vi bạo lực hay chỉ là một hoạt động thể thao thông thường Nhằm khắc phục nhược điểm này, tác giả Shuiwang Ji đã đề xuất phương pháp 3D Convolutional Neural Networks [29], được mô tả ở hình 1.5 Cách tiếp cận này sử dụng mạng nơ-ron tích chập 3 chiều, cho phép xử lý thông tin không gian và thời gian Phương pháp này kết hợp thông tin không gian và thời gian một cách chậm rãi tại mỗi lớp CNN trong toàn bộ mạng Một tensor bốn chiều (hai chiều không gian, một chiều kênh màu và một chiều thời gian) có hình dạng [H, W,
C, T] được truyền qua mô hình, cho phép mô hình dễ dàng tìm hiểu tất cả các loại tương tác của không gian và thời gian giữa các khung hình liên tiếp
Hình 1.3 Kiến trúc Single-Frame CNN (Nguồn: [7])
Trang 21Hình 1.4 Hình ảnh từ tập dữ liệu HockeyFight
Hình 1.5 Kiến trúc 3D CNN (Nguồn: [29])
3D CNN cho kết quả tốt trong bài toán phân loại hành vi và có thể áp dụng cho bài toán phát hiện hành vi bạo lực Tuy nhiên, 3D CNN cần được chạy trên những máy tính có cấu hình phần cứng cao, nếu không tốc độ sẽ rất chậm Yêu cầu như vậy không phù hợp cho những hệ thống thời gian thực, khi mà những hệ thống này cần tối giản chi phí cấu hình phần cứng máy tính mà vẫn đạt được tốc độ đủ thấp để chạy trong thực tế
Khác với CNN, mạng nơ-ron hồi quy RNN (Recurrent Neural Network) [6] được tạo ra với ý tưởng bắt chước suy nghĩ của con người – một nhược điểm mà
Trang 22mạng nơ-ron truyền thống chưa thể làm được RNN có dạng một chuỗi các mô-đun lặp đi lặp lại của mạng nơ-ron để mô phỏng lại cách suy nghĩ của não người, được thiết kế cho việc xử lý các loại dữ liệu có dạng chuỗi tuần tự Trong RNN, trạng thái
ẩn tại mỗi bước thời gian sẽ được tính toán dựa vào dữ liệu đầu vào tại bước thời gian tương ứng và các thông tin có được từ bước thời gian trước đó, tạo khả năng ghi nhớ các thông tin đã được tính toán ở những bước thời gian trước cho mạng Tuy nhiên, RNN thường xuyên gặp phải hai vấn đề nghiêm trọng đó là Gradient quá nhỏ (Vanishing Gradient) và Gradient quá lớn (Exploding Gradient), gây khó khăn cho các kỹ thuật tối ưu hóa trọng số dựa trên gradient để huấn luyện mạng nơ-ron Nguyên nhân là do việc lựa chọn các hàm kích hoạt không hợp lý hoặc số lượng các lớp ẩn của mạng quá lớn Mạng bộ nhớ dài-ngắn hạn LSTM (Long Short -Term Memory) [6], [27] – phiên bản mở rộng của RNN được sinh ra để khắc phục nhược điểm này LSTM bao gồm nhiều tế bào LSTM liên kết với nhau, mỗi tế bào bao gồm 4 tầng mạng nơ-ron khác nhau và tương tác với nhau một cách đặc biệt Nhờ vậy, LSTM có thể ghi nhớ thông tin trong thời gian dài, phù hợp để học tập với chuỗi hình ảnh trong bài toán phân loại hành vi
Qua bài nghiên cứu “Vision-based Fight Detection from Surveillance Cameras” [30], tác giả cho thấy CNN-LSTM có thể áp dụng tốt cho bài toán phát hiện hành vi bạo lực Đầu tiên, các khung hình liên tiếp được đưa vào một CNN để trích xuất đặc trưng Sau đó những đặc trưng này được đưa vào Bidirectional LSTM [21], kết hợp cùng Attention [8] để phân loại những khung hình liên tiếp đó là bạo lực hay không Sơ đồ tổng quan của phương pháp được mô tả ở hình 1.6 Phương pháp được thử nghiệm trên tập dữ liệu Hockey, Peliculas và Collected Surveillance Camera cho kết quả rất tốt và có thể sử dụng để phân loại những video có chuyển động liên tục
Trang 23Hình 1.6 Sơ đồ tổng quan mô hình CNN-LSTM (Nguồn: [30])
Dù vậy, phương pháp [30] đạt độ chính xác không cao khi phân loại những video có cảnh bạo lực chỉ chiếm phần nhỏ so với khung hình Ví dụ ở hình 1.7, là một cảnh bạo lực được lấy từ tập dữ liệu PTIT, chỉ chiếm một phần diện tích nhỏ trong khung hình, khi đó thuật toán sẽ hoạt động không tốt Nguyên nhân là vì khi
sử dụng toàn ảnh để trích chọn đặc trưng thì phần đặc trưng mô tả hành vi bạo lực không thực sự nổi bật so với các đối tượng khác Để khắc phục nhược điểm này, đề
án trình bày phương pháp phát hiện hành vi bạo lực đa tầng Mô hình này cho phép mạng tập trung hơn vào vị trí xảy ra hành vi bạo lực, từ đó cho kết quả có độ chính xác cao hơn Ngoài ra mô hình có thể đưa ra vị trí chính xác của các đối tượng có hành vi bạo lực trong khung hình, thay vì chỉ đưa ra dự đoán có/không phải hành vi bạo lực trên toàn khung hình như phương pháp [30]
Hình 1.7 Cảnh bạo lực trong tập dữ liệu PTIT
Trang 241.3 Kiến thức cơ sở
Để giải quyết bài toán phát hiện hành vi bạo lực, đề án chia bài toán thành ba bài toán con và lần lượt giải quyết với mô hình học sâu đa tầng được trình bày Ba bài toán con bao gồm:
Phát hiện đối tượng
Theo dõi đối tượng
Phân loại hành vi bạo lực
1.3.1 Phát hiện đối tượng
Phát hiện đối tượng là nhóm các bài toán có mục đích xác định vị trí hiện diện của các đối tượng và nhãn của các đối tượng nằm trong một hình ảnh bằng các hộp giới hạn (bounding box)
Đầu ra: Một hoặc nhiều hộp giới hạn và nhãn cho mỗi hộp giới hạn
tương ứng với các đối tượng trong hình ảnh
Hình 1.8 Đầu ra của bài toán phát hiện đối tượng (Nguồn: Internet)
Rất nhiều nghiên cứu đã được công bố để giải quyết bài toán phát hiện đối tượng Các phương pháp tốt nhất có thể được chia thành 2 nhóm:
Trang 25 Lớp các mô hình R-CNN: R-CNN, Fast R-CNN, Faster RNN
Lớp các mô hình YOLO: YOLO, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOv6, YOLOv7
Các mô hình R-CNN nói chung có thể chính xác hơn, tuy nhiên các mô hình YOLO lại nhanh hơn rất nhiều so với R-CNN, và thậm chí đạt được việc phát hiện đối tượng trong thời gian thực mà độ chính xác thấp hơn không quá nhiều
1.3.2 Theo dõi đối tượng
Theo dõi đối tượng - Object Tracking là bài toán theo dõi một hoặc nhiều đối tượng chuyển động theo thời gian trong một video, nhận đầu vào là các hình ảnh liên tiếp trong video và đầu ra là định danh của đối tượng có trong video đó Object Tracking có thể chia thành 2 nhóm bài toán:
Theo dõi một đối tượng - Single Object Tracking (SOT): tập trung vào
việc theo dõi một đối tượng duy nhất trong toàn bộ video
Object Tracking hướng tới các ứng dụng có tính mở rộng cao hơn Bài toán cố gắng phát hiện đồng thời theo dõi tất cả các đối tượng trong tầm nhìn, kể cả các đối tượng mới xuất hiện trong video
Theo dõi đa đối tượng là một bài toán khó và đang được nghiên cứu nhiều trong những năm gần đây Một phương pháp theo dõi đa đối tượng cố gắng hướng đến việc theo dõi tất cả các đối tượng xuất hiện trong khung hình, bằng việc phát hiện và gắn định danh cho từng đối tượng Bên cạnh đó, các định danh đã được gán cho một đối tượng cần đảm bảo nhất quán qua từng khung hình Các vấn đề cần chú
ý trong theo dõi đa đối tượng:
Phát hiện "tất cả" các đối tượng: đây vẫn luôn là vấn đề được quan
tâm nhất và vẫn không ngừng có những phương pháp, những thuật toán cải thiện vấn đề này Trong các phương pháp theo dõi dựa trên phát hiện đối tượng, việc đảm bảo tính chính xác của quá trình phát hiện cũng vô cùng quan trọng
Trang 26 Đối tượng bị che khuất 1 phần hoặc toàn bộ: khi một định danh
được gán cho một đối tượng, định danh cần đảm bảo nhất quán trong suốt video, tuy nhiên, khi một đối tượng bị che khuất, nếu chỉ dựa riêng vào phát hiện đối tượng là không đủ để giải quyết vấn đề này
Đối tượng ra khỏi phạm vi của khung hình và sau đó xuất hiện lại: cần giải quyết tốt vấn đề nhận dạng lại đối tượng kể cả việc che
khuất hay biến mất để giảm số lượng định danh bị thay đổi/chuyển đổi (ID switches) xuống mức thấp nhất có thể
Các đối tượng có quỹ đạo chuyển động giao nhau hoặc chồng
chéo lên nhau: việc các đối tượng có quỹ đạo chồng chéo lên nhau
cũng có thể dẫn đến hậu quả nhầm lẫn định danh cho các đối tượng
Hình 1.9 Đầu ra của bài toán theo dõi đa đối tượng (Nguồn: Internet)
1.3.3 Phân loại hành vi bạo lực
Phân loại hành vi bạo lực là bài toán có nhiệm vụ xác định một chuỗi hành động có phải là hành vi bạo lực hay không Qua các nghiên cứu ở 1.2, mô hình CNN-LSTM là thích hợp nhất cho bài toán này CNN-LSTM là mô hình kết hợp
Trang 27của CNN và LSTM Kiến trúc tổng quát được mô tả trong hình 1.10 CNN-LSTM bao gồm 2 thành phần:
CNN có nhiệm vụ trích xuất các đặc trưng không gian từ hình ảnh đầu vào
LSTM có nhiệm vụ nhận những đặc trưng không gian của CNN từ những hình ảnh liên tiếp, kết hợp trích xuất ra đặc trưng về mặt thời gian và đưa
CNN có kiến trúc khá giống với mạng nơ-ron truyền thống, chúng được cấu tạo từ rất nhiều nơ-ron và có khả năng học dữ liệu nhờ thay đổi các trọng số và hệ
số chênh lệch Mỗi nơ-ron nhận dữ liệu đầu vào từ nhiều nguồn, thực hiện các biến đổi nhân vô hướng CNN có đầu vào là một mảng các phần tử (có thể đại diện cho 1 ảnh), đầu ra của nó là xác suất tương ứng với mỗi lớp cần phân loại Vì vậy mà cách huấn luyện trên CNN không có nhiều thay đổi, vẫn sử dụng các hàm mất mát để đánh giá độ chính xác của mô hình tại lớp đầu ra cuối cùng
Trang 28Điểm đặc biệt của CNN là dữ liệu đầu vào của mạng có thể truyền dưới dạng ảnh, tức là dữ liệu dưới dạng ma trận Các phép biến đổi trong mạng, ở đây là phép tích chập cũng được tích hợp dễ dàng và ít tham số hơn nhiều so với mạng nơ-ron truyền thống tiêu chuẩn Đối với mạng nơ-ron truyền thống tiêu chuẩn, lớp đầu vào nhận dữ liệu là một vector, tức mảng một chiều và biến đổi nó lần lượt qua mỗi lớp
ẩn Mỗi lớp ẩn được cấu tạo từ tập các nơ-ron, mỗi nơ-ron sẽ được kết nối toàn bộ
từ các nơ-ron của lớp trước đó Mỗi nơ-ron đều có tập các kết nối riêng biệt, không chia sẻ với các nơ-ron khác, vì vậy chúng đều có tập trọng số riêng của mình Lớp cuối cùng được gọi là lớp đầu ra, trong bài toán phân loại, thì mỗi nơ-ron trong lớp đầu ra sẽ biểu diễn xác suất là lớp tương ứng của dữ liệu đầu vào
CNN được xây dựng và thiết kế để khắc phục nhược điểm tổng trọng số quá lớn của mạng nơ-ron truyền thống CNN có thể xử lý được dữ liệu ảnh và giữ nguyên cấu trúc của chúng, mà không phải biến đổi duỗi ma trận ảnh thành mảng một chiều Cụ thể hơn, các nơ-ron trong CNN được sắp xếp trong không gian 3 chiều: chiều rộng, chiều cao và chiều sâu Các nơ-ron lớp ẩn không kết nối với toàn
bộ nơ-ron lớp trước mà chỉ cần kết nối tới một phần nơ-ron nhỏ Nhìn chung cứ qua mỗi lớp, dữ liệu giảm đi về kích thước chiều rộng, chiều cao và tăng về chiều sâu
Hình 1.11 Sự biến đổi dữ liệu trong CNN (Nguồn: cs231n)
Một CNN đơn giản bao gồm chuỗi các lớp liên tiếp, mỗi lớp có hàm kích hoạt và cách biến đổi dữ liệu riêng của nó Thường có 3 loại lớp chính trong CNN:
Lớp tích chập (Convolutional layer)
Lớp tổng hợp (Pooling layer)
Lớp kết nối toàn bộ (Fully Connected layer)
Trang 29i Lớp tích chập
Điểm khác biệt giữa Deep Learning và Machine Learning là mô hình mạng của Deep Learning có khả năng trích chọn đặc trưng tự động, mà không phải làm thủ công như ở các phương pháp, thuật toán ở Machine Learning Đây cũng chính
là nhiệm vụ, mục tiêu của lớp tích chập
Hình 1.12 Minh họa phép tính tích chập trong CNN (Nguồn: cs231n)
Hình 1.11 thể hiện các thành phần cũng như cách biến đổi, tính toán nằm trong lớp tích chập Ảnh đầu vào được cho qua một bộ lọc chạy dọc bức ảnh Bộ lọc
có kích thước là (3x3 hoặc 5x5) và áp dụng phép tích vô hướng để tính toán, cho ra một giá trị duy nhất Sau mỗi lần, bộ lọc lại dịch chuyển qua một vị trí khác lân cận, theo cả hai chiều để áp dụng tiếp việc lọc Đầu ra của phép tích chập là một tập các giá trị ảnh được gọi là mạng đặc trưng (features map)
Thực chất, ở các lớp đầu tiên, phép tích chập đơn giản là phép tìm biên ảnh, sau khi cho qua bộ lọc nó sẽ làm hiện lên các đặc trưng của đối tượng trong ảnh như đường vẽ xung quanh đối tượng, các góc cạnh, và các lớp tiếp theo sẽ lại trích xuất tiếp các đặc trưng của các đối tượng đó, việc có nhiều lớp như vậy cho phép
Trang 30chúng ta chia nhỏ đặc trưng của ảnh tới mức nhỏ nhất có thể Vì thế mới gọi là mạng đặc trưng
Dưới đây là một số các khái niệm cơ bản:
Filter Kernel hay Feature Detector: chúng đều là cách gọi của bộ lọc
Convolved Feature, Activation Map hay Feature Map: là đầu ra của
ảnh khi cho bộ lọc chạy hết bức ảnh với phép tích vô hướng
Receptive field: là vùng ảnh được chọn để tính tích chập, vùng này có
kích thước bằng đúng kích thước của bộ lọc
Depth: là số lượng bộ lọc Lưu ý: ở đây là số lượng bộ lọc (filter) chứ
không phải số lượng kênh màu RGB trên ảnh
Stride: là khoảng cách dịch chuyển của bộ lọc sau mỗi lần tính Ví dụ khi
stride = 2 Tức sau khi tính xong tại một vùng ảnh, nó sẽ dịch sang phải 2 pixel Tương tự với việc dịch xuống dưới
Zero-Padding: là việc thêm các giá trị 0 ở xung quanh biên ảnh, để đảm
bảo phép tích chập được thực hiện đủ trên toàn ảnh
ii Lớp tổng hợp
Lớp tổng hợp thực hiện chức năng làm giảm kích thước đầu vào và giảm độ phức tạp tính toán của model, ngoài ra lớp tổng hợp còn giúp kiểm soát hiện tượng overfitting Thông thường, lớp tổng hợp có nhiều hình thức khác nhau phù hợp cho nhiều bài toán, tuy nhiên có hai phương pháp được sử dụng rộng rãi và phổ biến:
Max Pooling: Thay thế vùng nhỏ trên dữ liệu bằng giá trị lớn nhất của
vùng đó Ý nghĩa của việc này là giữ lại những chi tiết có thông tin lớn nhất, quan trọng nhất để đại diện cho một vùng thông tin
Average Pooling: Thay thế vùng nhỏ trên dữ liệu bằng giá trị trung bình
của vùng đó Ý nghĩa của việc này là lấy thông tin tổng thể để đại diện cho một vùng thông tin
Ví dụ về max pooling với bộ lọc 2x2 và stride = 2 Bộ lọc sẽ chạy dọc ảnh và với mỗi vùng ảnh được chọn, sẽ chọn ra một giá trị lớn nhất và giữ lại Hình 1.13
Trang 31biểu diễn giá trị dữ liệu trước và sau khi áp dụng max pooling Lưu ý rằng, thông thường các lớp tổng hợp có kích thước là 2 và stride = 2 Nếu lấy giá trị quá lớn, thay vì giảm tính toán nó lại làm phá vỡ cấu trúc ảnh và mất mát thông tin nghiêm trọng Vì vậy mà một số chuyên gia không thích sử dụng lớp này mà thay vào đó sử dụng thêm các lớp tích chập và tăng số bước nhảy lên mỗi lần
Hình 1.13 Dữ liệu khi áp dụng Max Pooling và Average Pooling
iii Lớp kết nối toàn bộ
Tại lớp mạng này, mỗi một nơ-ron của lớp này sẽ liên kết tới mọi nơ-ron của lớp khác Để đưa ảnh từ các lớp trước vào mạng này, buộc phải dàn phẳng bức ảnh
ra thành mảng một chiều thay vì là mảng nhiều chiều như trước Tại lớp cuối cùng
sẽ sử dụng một hàm quen thuộc trong học máy, đó là SoftMax để phân loại đối tượng dựa vào những đặc trưng đã được tính toán của các lớp trước đó
Hình 1.14 Lớp kết nối toàn bộ (Nguồn: Internet)
Trang 321.3.3.2 LSTM
LSTM (Long Short Term Memory Network) - mạng bộ nhớ dài-ngắn hạn là một dạng đặc biệt của RNN, nó có 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 kì 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 thiết kế để tránh được vấn đề phụ thuộc xa (long-term dependency) Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của chúng, không cần phải huấn luyện nó để có thể nhớ được Tức là ngay nội tại của
nó đã có thể ghi nhớ được mà không cần bất kỳ can thiệp nào
Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại của mạng nơ-ron Với RNN chuẩn, các mô-đun này có cấu trúc rất đơn giản, thường là một tầng tanh, thể hiện trong hình 1.14
Hình 1.15 Chi tiết kiến trúc của mô-đun đơn giản trong RNN (Nguồn: Internet)
LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các mô-đun trong nó có cấu trúc khác với RNN chuẩn Thay vì chỉ có một tầng mạng nơ-ron, chúng có tới 4 tầng tương tác với nhau một cách rất đặc biệt, thể hiện trong hình 1.15
Hình 1.16 Chi tiết kiến trúc của mô-đun trong mạng LSTM (Nguồn: Internet)
Trang 33Bộ nhớ của LSTM được gọi là tế bào (Cell) và có thể coi chúng là các hộp đen nhận đầu vào là trạng thái phía trước ℎ𝑡−1 và đầu vào hiện tại 𝑥𝑡 Bên trong hộp đen này sẽ tự quyết định cái gì cần phải nhớ và cái gì sẽ xoá đi Sau đó, chúng sẽ kết hợp với trạng thái phía trước, nhớ hiện tại và đầu vào hiện tại Vì vậy mà có thể truy xuất được quan hệ của các từ phụ thuộc xa nhau rất hiệu quả
1.4 Kết luận chương
Chương 1 đã giới thiệu về bài toán phát hiện hành vi bạo lực và hướng tiếp cận bài toán, trình bày các kết quả nghiên cứu đã có về nội dung này cùng những vấn đề tồn tại trong từng phương pháp Ngoài ra, các kiến thức cơ sở cần thiết cũng
đã được nhắc đến Dựa vào những nội dung đó, chương 2 sẽ trình bày về mô hình học sâu đa tầng cho bài toàn phát hiện hành bạo lực, đi sâu vào kiến trúc và cách hoạt động của từng tầng
Trang 34CHƯƠNG 2: MÔ HÌNH HỌC SÂU ĐA TẦNG
Chương 2 trình bày một mô hình học sâu đa tầng cho bài toán phát hiện hành
vi bạo lực, đi sâu vào mô tả kiến trúc và cách hoạt động của từng tầng
2.1 Đặt vấn đề
Nhiều nghiên cứu về phát hiện hành vi bạo lực đã áp dụng học máy truyền thống (như thấy trong chương 1) do sự phát triển của công nghệ trí tuệ nhân tạo Tuy nhiên kết quả đạt được chưa tốt Để giải quyết hạn chế đó, các phương pháp ứng dụng học sâu đã được phát triển và đem lại kết quả tốt như [29] và [30] Tuy nhiên, những phương pháp này vẫn còn những tồn tại mặc dù kết quả khá tốt Với [29] là tốc độ xử lý và không thể đưa ra vị trí chính xác các đối tượng có hành vi bạo lực với cả [29] và [30]
Mô hình học sâu đa tầng được đề án trình bày với mục đích khắc phục những tồn tại của [29] và [30] Mô hình được đề án trình bày cho phép mạng tập trung hơn vào vị trí xảy ra hành vi bạo lực cùng với sự theo dõi chính xác hành động của từng đối tượng, từ đó cho kết quả có độ chính xác cao hơn và đưa ra vị trí chính xác của các đối tượng có hành vi bạo lực trong khung hình, thay vì chỉ phát hiện trong toàn
bộ khung hình có hành vi bạo lực hay không như các mô hình trước đó, thông qua giải quyết ba bài toán tương ứng với từng tầng của mô hình:
Phát hiện đối tượng
Theo dõi đối tượng
Phân loại hành vi bạo lực
Các phần tiếp theo trong chương sẽ mô tả kỹ hơn về mô hình học sâu đa tầng, bao gồm kiến trúc và cách hoạt động của từng tầng
2.2 Mô hình học sâu đa tầng
Với đầu vào là video, mô hình học sâu đa tầng cho bài toán phát hiện hành vi bạo lực được minh hoạ trong hình 2.1 Cách tiếp cận này được chia thành ba tầng, giải quyết ba bài toán con tương ứng Tầng đầu tiên – tầng phát hiện đối tượng, giải
Trang 35quyết bài toán phát hiện đối tượng, những khung hình liên tiếp – phụ thuộc vào số lượng bước thời gian của LSTM, các hình ảnh liên tiếp từ video sẽ được đưa vào tầng này, mô hình phát hiện đối tượng được sử dụng sẽ có nhiệm vụ phát hiện và khoanh vùng những đối tượng người Tầng thứ hai – tầng theo dõi đối tượng, giải quyết bài toán theo dõi đối tượng, có nhiệm vụ theo dõi những đối tượng được phát hiện từ tầng thứ nhất bằng một thuật toán theo dõi đối tượng Do các hành vi bạo lực thể chất chỉ có thể xảy ra với các đối tượng gần nhau, nên tầng thứ hai sử dụng thêm thuật toán GroupPeople với mục đích kết hợp những đối tượng người gần nhau thành các nhóm, những hành động liên tiếp từ cùng nhóm người được sử dụng làm đầu vào cho tầng tiếp theo Tầng thứ ba - tầng phân loại hành vi bạo lực, giải quyết bài toán phân loại hành vi bạo lực với mô hình CNN-LSTM, hành động của nhóm người từ các khung hình liên tiếp được đưa vào CNN để trích xuất đặc trưng sau đó đưa vào LSTM để quyết định xem nhóm người có hành vi bạo lực thực sự hay chỉ là hành động bình thường
Hình 2.1 Sơ đồ tổng quan mô hình học sâu đa tầng
Trang 362.2.1 Tầng phát hiện đối tượng
Tầng phát hiện đối tượng giải quyết bài toán phát hiện đối tượng, có nhiệm
vụ phát hiện những đối tượng người trong từng hình ảnh của video:
Đầu ra: vị trí của các đối tượng người trong hình ảnh
Với những ưu điểm vượt trội về tốc độ và độ chính xác, YOLOv7 – một mô hình thuộc lớp YOLO được lựa chọn sử dụng cho tầng phát hiện đối tượng
2.2.1.1 Giới thiệu YOLOv7
YOLOv7 [9] - là một mô hình mạng CNN thuộc lớp các mô hình YOLO, được thiết kế cho nhiệm vụ phát hiện, nhận dạng, phân loại đối tượng Mục tiêu của YOLOv7 không chỉ là dự báo nhãn cho vật thể như các bài toán phân loại thông thường mà còn xác định vị trí của vật thể
YOLOv7 là phiên bản thứ bảy của YOLO và là phiên bản mới nhất tại thời điểm đề án được thực hiện Mỗi phiên bản được xây dựng để cải tiến phiên bản tiền nhiệm nên có thể nói YOLOv7 là mô hình tốt nhất trong lớp các mô hình YOLO Dưới đây là mốc thời gian thể hiện sự phát triển của YOLO những năm gần đây
Hình 2.2 Mốc thời gian phát triển của YOLO
Trang 372.2.1.2 Cách hoạt động của YOLOv7
Hình 2.3 Kiến trúc của YOLOv7 (Nguồn: Internet)
Giống với các mô hình YOLO khác, YOLOv7 sử dụng mạng nơ-ron tích chập, thường được gọi là xương sống của mạng, để đưa ra dự đoán về các hộp giới hạn (bounding box) và xác suất của đối tượng cùng một lúc Xương sống của YOLOv7 là ELAN (Efficient Layer Aggregation Network) YOLOv7 cũng sử dụng mạng đề xuất khu vực (Region Proposal Network) - mạng CNN để đề xuất các vùng
và loại đối tượng cần xem xét trong vùng, thực hiện một lần duy nhất và đưa ra các
dự đoán với sự trợ giúp của một lớp được kết nối đầy đủ duy nhất
Một kỹ thuật quan trọng được sử dụng trong mô hình YOLOv7 là NMS (non-maximum suppression) NMS là một bước hậu xử lý được sử dụng để cải thiện độ chính xác và hiệu quả của việc phát hiện đối tượng Trong phát hiện đối tượng, thông thường có nhiều hộp giới hạn được tạo cho một đối tượng trong một hình ảnh Các hộp giới hạn này có thể chồng lên nhau hoặc nằm ở các vị trí khác nhau, nhưng tất cả chúng đều đại diện cho cùng một đối tượng NMS được sử dụng
để xác định và loại bỏ các hộp giới hạn dư thừa hoặc không chính xác và đề xuất một hộp giới hạn duy nhất cho từng đối tượng trong ảnh
YOLOv7 cũng sử dụng “feature pyramid networks” (FPN) FPN là một kiến trúc CNN được sử dụng để phát hiện các đối tượng ở nhiều tỉ lệ FPN xây dựng một kim tự tháp gồm các bản đồ đặc trưng, với mỗi cấp độ của kim tự tháp được sử dụng để phát hiện các đối tượng ở một tỉ lệ khác nhau Điều này giúp cải thiện hiệu
Trang 38suất phát hiện trên các đối tượng nhỏ, vì mô hình có thể nhìn thấy các đối tượng ở nhiều tỉ lệ
Một trong những cải tiến đáng giá so với các phiên bản trước của YOLOv7
đó là sử dụng chín hộp neo, cho phép YOLO phát hiện phạm vi hình dạng và kích thước đối tượng rộng hơn so với các phiên bản trước, do đó giúp giảm số lượng xác định sai Một cải tiến quan trọng khác trong YOLOv7 là việc sử dụng hàm mất mát mới gọi là “focal loss” Focal loss giảm trọng số mất mát cho các ví dụ được phân loại tốt và tập trung vào các ví dụ khó hơn - các đối tượng khó phát hiện YOLOv7 cũng có độ phân giải cao hơn so với các phiên bản trước, cho phép YOLOv7 phát hiện các đối tượng nhỏ hơn và có độ chính xác tổng thể cao hơn
YOLOv7 vượt qua mọi mô hình phát hiện đối tượng trong cả tốc độ và độ chính xác từ 5 FPS tới 160 FPS và đạt độ chính xác cao nhất với 56.8% AP trong số toàn bộ các mô hình phát hiện đối tượng thời gian thực, có tốc độ 30 FPS hoặc hơn trên GPU NVIDIA Tesla V100
YOLOv7 cung cấp rất nhiều mô hình được huấn luyện trước (pretrain) với
độ chính xác đã được kiểm tra trên tập MS COCO - một cơ sở dữ liệu khổng lồ của Microsoft cho các tác vụ phát hiện đối tượng với khoảng 1,5 triệu hình ảnh được dán nhãn Những pretrain của YOLOv7 này được đánh giá là một trong những pretrain tốt nhất khi mà độ chính xác đạt được là rất cao với thang đo AP – thang đo chuyên để đánh giá các mô hình phát hiện đối tượng và tốc độ xử lý cũng cực kỳ nhanh Kết quả cụ thể của từng pretrain YOLOv7 trên tập dữ liệu MS COCO được biểu diễn ở bảng 2.1 Kết quả được thực hiện trên GPU NVIDIA Tesla V100
Bảng 2.1 Kết quả pretrain YOLOv7 trên MS COCO