paint-brush
Phát hiện bạo lực trong video: Phương pháp đề xuấttừ tác giả@kinetograph
102 lượt đọc

Phát hiện bạo lực trong video: Phương pháp đề xuất

dài quá đọc không nổi

Trong bài báo này, các nhà nghiên cứu đề xuất một hệ thống tự động phát hiện bạo lực trong video, sử dụng tín hiệu âm thanh và hình ảnh để phân loại.
featured image - Phát hiện bạo lực trong video: Phương pháp đề xuất
Kinetograph: The Video Editing Technology Publication HackerNoon profile picture
0-item


tác giả:

(1) Praveen Tirupattur, Đại học Trung tâm Florida.

Bảng liên kết

3. Phương pháp đề xuất

Chương này cung cấp một mô tả chi tiết về cách tiếp cận được áp dụng trong công việc này. Cách tiếp cận được đề xuất bao gồm hai giai đoạn chính: Đào tạo và Kiểm tra. Trong giai đoạn huấn luyện, hệ thống học cách phát hiện loại bạo lực có trong video bằng cách huấn luyện các bộ phân loại có các đặc điểm hình ảnh và âm thanh được trích xuất từ tập dữ liệu huấn luyện. Trong giai đoạn thử nghiệm, hệ thống được đánh giá bằng cách tính toán độ chính xác của hệ thống trong việc phát hiện bạo lực đối với một video nhất định. Mỗi giai đoạn này được giải thích chi tiết trong các phần sau. Vui lòng tham khảo Hình 3.1 để biết tổng quan về phương pháp được đề xuất. Cuối cùng, phần mô tả các số liệu được sử dụng để đánh giá hệ thống được trình bày.

3.1. Đào tạo

Trong phần này, chi tiết về các bước liên quan đến giai đoạn đào tạo sẽ được thảo luận. Phương pháp đào tạo được đề xuất có ba bước chính: Trích xuất tính năng, Phân loại tính năng và Hợp nhất tính năng. Mỗi bước trong số ba bước này sẽ được giải thích chi tiết trong các phần sau. Trong hai bước đầu tiên của giai đoạn này, các đặc điểm âm thanh và hình ảnh từ các phân đoạn video có chứa bạo lực và không có bạo lực sẽ được trích xuất và được sử dụng để huấn luyện bộ phân loại SVM hai lớp. Sau đó, trong bước kết hợp tính năng, trọng số tính năng được tính cho từng loại bạo lực mà hệ thống nhắm tới. Các trọng số tính năng này có được bằng cách thực hiện tìm kiếm lưới trên tổ hợp trọng số có thể có và tìm ra tổ hợp tốt nhất giúp tối ưu hóa hiệu suất của hệ thống trên bộ xác thực. Tiêu chí tối ưu hóa ở đây là giảm thiểu EER (Tỷ lệ lỗi bằng nhau) của hệ thống. Để tìm các trọng số này, một tập dữ liệu tách khỏi tập huấn luyện sẽ được sử dụng, chứa các video bạo lực thuộc tất cả các danh mục được nhắm mục tiêu. Vui lòng tham khảo Chương 1 để biết chi tiết về các danh mục mục tiêu.


Hình 3.1: Hình thể hiện tổng quan hệ thống. Bốn bộ phân loại SVM khác nhau được đào tạo, mỗi bộ phân loại dành cho các tính năng Âm thanh, Máu, Chuyển động và SentiBank. Hình ảnh từ web được sử dụng để phát triển mô hình máu nhằm phát hiện máu trong khung hình video. Để huấn luyện các bộ phân loại cho tất cả các tính năng, dữ liệu từ bộ dữ liệu VSD2104 được sử dụng. Mỗi phân loại này đưa ra xác suất riêng cho một phân đoạn video có chứa bạo lực. Các xác suất riêng lẻ này sau đó được kết hợp bằng cách sử dụng kỹ thuật hợp nhất muộn và xác suất đầu ra cuối cùng, là tổng có trọng số của các xác suất riêng lẻ, được hệ thống trình bày dưới dạng đầu ra. Video được cung cấp làm đầu vào cho hệ thống được chia thành các phân đoạn một giây và xác suất mỗi phân đoạn chứa bạo lực sẽ được lấy làm đầu ra.

3.1.1. Khai thác tính năng

Nhiều nhà nghiên cứu đã cố gắng giải quyết vấn đề Phát hiện bạo lực bằng các tính năng âm thanh và hình ảnh khác nhau. Thông tin chi tiết về nghiên cứu liên quan đến phát hiện bạo lực được trình bày trong Chương 2. Trong các tác phẩm trước, đặc điểm hình ảnh phổ biến nhất được sử dụng để phát hiện bạo lực là chuyển động và máu và tính năng âm thanh phổ biến nhất được sử dụng là MFCC. Cùng với ba tính năng cấp thấp phổ biến này, phương pháp đề xuất này còn bao gồm SentiBank (Borth và cộng sự [4]), đây là một tính năng trực quan thể hiện cảm xúc trong hình ảnh. Chi tiết về từng đặc điểm và tầm quan trọng của nó trong việc phát hiện bạo lực và các phương pháp trích xuất được sử dụng sẽ được mô tả trong các phần sau.

3.1.1.1. Tính năng MFCC

Tính năng âm thanh đóng vai trò rất quan trọng trong việc phát hiện các sự kiện như tiếng súng, vụ nổ, v.v., những sự kiện này rất thường gặp trong các cảnh bạo lực. Nhiều nhà nghiên cứu đã sử dụng tính năng âm thanh để phát hiện bạo lực và thu được kết quả tốt. Mặc dù một số công trình trước đó đã xem xét entropy năng lượng [Nam et al. [41]] trong tín hiệu âm thanh, hầu hết đều sử dụng tính năng MFCC để mô tả nội dung âm thanh trong video. Các tính năng MFCC này thường được sử dụng trong nhận dạng giọng nói và âm thanh.


Trong công việc này, các tính năng MFCC được cung cấp trong bộ dữ liệu VSD2014 được sử dụng để huấn luyện bộ phân loại SVM trong khi phát triển hệ thống. Trong quá trình đánh giá, các tính năng MFCC được trích xuất từ luồng âm thanh của video đầu vào, với kích thước cửa sổ được đặt thành số lượng mẫu âm thanh trên mỗi khung hình trong luồng âm thanh. Điều này được tính bằng cách chia tốc độ lấy mẫu âm thanh cho giá trị fps (khung hình trên giây) của video. Ví dụ: nếu tốc độ lấy mẫu âm thanh là 44.100 Hz và video được mã hóa ở tốc độ 25 khung hình/giây thì mỗi cửa sổ có 1.764 mẫu âm thanh. Vùng chồng lấp cửa sổ được đặt thành 0 và 22 MFCC được tính cho mỗi cửa sổ. Với thiết lập này, sẽ thu được vectơ đặc trưng MFCC 22 chiều cho mỗi khung hình video.

3.1.1.2. Tính Năng Máu

Máu là yếu tố dễ thấy nhất trong những cảnh có cảnh bạo lực cực độ. Ví dụ: các cảnh có cảnh đánh đập, đâm, nổ súng và cháy nổ. Trong nhiều công trình trước đây về phát hiện bạo lực, việc phát hiện các pixel đại diện cho máu được sử dụng vì đây là dấu hiệu quan trọng của bạo lực. Để phát hiện máu trong khung, bảng màu được xác định trước được sử dụng trong hầu hết các tác phẩm trước đó, chẳng hạn như Nam et al. [41] và Lin và Wang [38]. Các phương pháp tiếp cận khác để phát hiện máu, chẳng hạn như việc sử dụng Bản đồ tự tổ chức (SOM) của Kohonen (Clarin và cộng sự [12]), cũng được sử dụng trong một số công trình trước đó.


Trong công việc này, một mô hình màu được sử dụng để phát hiện các pixel đại diện cho máu. Nó được biểu diễn bằng biểu đồ ba chiều với mỗi chiều một chiều cho các giá trị màu đỏ, xanh lục và xanh lam của pixel. Trong mỗi chiều có 32 thùng, mỗi thùng có chiều rộng 8 (32 × 8 = 256). Mẫu máu này được tạo ra theo hai bước. Ở bước đầu tiên, mô hình máu được khởi động bằng cách sử dụng các giá trị RGB (Đỏ, Xanh lục, Xanh lam) của các pixel chứa máu. Biểu đồ được chia thành 3 chiều được điền với các giá trị RGB của các pixel chứa máu này. Giá trị trong thùng chứa pixel máu sẽ tăng lên 1 mỗi lần một pixel máu mới được thêm vào mô hình. Sau khi sử dụng đủ số lượng pixel đẫm máu để điền vào biểu đồ, các giá trị trong thùng sẽ được chuẩn hóa bằng tổng của tất cả các giá trị. Các giá trị trong mỗi thùng hiện biểu thị xác suất một pixel hiển thị máu với các giá trị RGB của nó. Để lấp đầy mô hình máu, pixel chứa máu được cắt từ nhiều hình ảnh chứa máu khác nhau được tải xuống từ Google. Việc cắt các vùng chỉ chứa pixel máu được thực hiện thủ công. Vui lòng tham khảo hình ảnh Hình 3.2 để biết các mẫu vùng bị cắt, mỗi vùng có kích thước 20 pixel × 20 pixel.


Hình 3.2: Hình vẽ vùng cắt mẫu có kích thước 20×20 chứa máu.


Sau khi khởi động xong, mô hình sẽ được sử dụng để phát hiện máu trong các hình ảnh được tải xuống từ Google. Chỉ những pixel có xác suất đại diện cho máu cao mới được sử dụng để mở rộng hơn nữa mô hình đã được khởi động. Việc tải xuống hình ảnh và mở rộng mẫu máu được thực hiện tự động. Để tải xuống hình ảnh có chứa máu từ Google, các từ tìm kiếm như “hình ảnh đẫm máu”, “cảnh đẫm máu”, “chảy máu”, “máu bắn tung tóe”, “máu nhỏ giọt” được sử dụng. Một số mẫu hình ảnh đã tải xuống có thể được xem trong Hình 3.3. Các giá trị pixel có xác suất máu cao sẽ được thêm vào mô hình máu cho đến khi nó có ít nhất một triệu giá trị pixel.


Chỉ riêng mẫu máu này là không đủ để phát hiện chính xác máu. Cùng với mẫu máu này, cũng cần có mẫu không phải máu. Để tạo ra điều này, tương tự như cách tiếp cận trước đó, những hình ảnh không chứa máu được tải xuống từ Google và giá trị pixel RGB từ những hình ảnh này được sử dụng để xây dựng mô hình không phải máu. Một số hình ảnh mẫu được sử dụng để tạo ra mô hình không phải máu này được thể hiện trong Hình 3.3. Bây giờ bằng cách sử dụng các mô hình máu và không phải máu này, xác suất pixel đại diện cho máu được tính như sau



Hình 3.3: Hình hiển thị các hình ảnh mẫu được tải xuống từ Google để tạo mô hình máu và không phải máu.


Bằng cách sử dụng công thức này, đối với một hình ảnh nhất định, xác suất của mỗi pixel đại diện cho máu sẽ được tính toán và Bản đồ xác suất máu (BPM) được tạo ra. Bản đồ này có cùng kích thước với bản đồ của hình ảnh đầu vào và chứa các giá trị xác suất máu cho mỗi pixel. BPM này được nhị phân hóa bằng cách sử dụng một giá trị ngưỡng để tạo ra BPM nhị phân cuối cùng. Ngưỡng được sử dụng để nhị phân hóa BPM được ước tính (Jones và Rehg [35]). Từ BPM nhị phân này, vectơ đặc trưng 1 chiều có độ dài 14 được tạo ra chứa các giá trị như tỷ lệ máu, tỷ lệ xác suất máu, kích thước của thành phần được kết nối lớn nhất, giá trị trung bình, phương sai, v.v. Vectơ đặc trưng này được trích xuất cho mỗi khung trong video và được sử dụng để huấn luyện bộ phân loại SVM. Một hình ảnh mẫu cùng với BPM và BPM nhị phân của nó được trình bày trong Hình 3.4. Từ hình này có thể thấy rằng phương pháp này đã hoạt động rất tốt trong việc phát hiện các pixel có chứa máu.


Hình 3.4: Hình minh họa hiệu suất của mô hình máu được tạo ra trong việc phát hiện máu. Cột đầu tiên có hình ảnh đầu vào, cột thứ hai có bản đồ xác suất máu và cột cuối cùng có bản đồ xác suất máu nhị phân.

3.1.1.3. Tính năng chuyển động

Chuyển động là một tính năng trực quan khác được sử dụng rộng rãi để phát hiện bạo lực. Công việc của Deniz et al. [21], Nievas và cộng sự. [42] và Hassner và cộng sự. [28] là một số ví dụ trong đó chuyển động được sử dụng làm tính năng chính để phát hiện bạo lực. Ở đây, chuyển động đề cập đến mức độ biến đổi không gian-thời gian giữa hai khung hình liên tiếp trong video. Chuyển động được coi là một dấu hiệu tốt về bạo lực vì số lượng bạo lực đáng kể được mong đợi trong những cảnh có bạo lực. Ví dụ: trong những cảnh có cảnh đánh nhau giữa người với người, có chuyển động nhanh của các bộ phận cơ thể con người như chân và tay, còn trong những cảnh có vụ nổ, có rất nhiều chuyển động từ các bộ phận đang bay ra xa nhau vì vụ nổ.


Ý tưởng sử dụng thông tin chuyển động để phát hiện hoạt động bắt nguồn từ tâm lý học. Nghiên cứu về nhận thức của con người đã chỉ ra rằng mô hình chuyển động động học là đủ để nhận thức về hành động (Blake và Shiffrar [2]). Các nghiên cứu về thị giác máy tính (Saerbeck và Bartneck [50], Clarke và cộng sự [13], và Hidaka [29]) cũng đã chỉ ra rằng các đặc điểm động tương đối đơn giản như vận tốc và gia tốc có tương quan với cảm xúc mà con người cảm nhận được.


Trong công việc này, để tính toán lượng chuyển động trong một đoạn video, hai cách tiếp cận khác nhau được đánh giá. Cách tiếp cận đầu tiên là sử dụng thông tin chuyển động được nhúng bên trong codec video và cách tiếp cận tiếp theo là sử dụng luồng quang để phát hiện chuyển động. Những cách tiếp cận này sẽ được trình bày tiếp theo.


3.1.1.3.1. Sử dụng Codec

Trong phương pháp này, thông tin chuyển động được trích xuất từ codec video. Độ lớn chuyển động ở mỗi pixel trên mỗi khung hình được gọi là vectơ chuyển động được lấy từ codec. Vectơ chuyển động này là vectơ hai chiều và có cùng kích thước với khung hình trong chuỗi video. Từ vectơ chuyển động này, một đặc điểm chuyển động thể hiện lượng chuyển động trong khung được tạo ra. Để tạo ra đặc điểm chuyển động này, đầu tiên vectơ chuyển động được chia thành 12 vùng con có kích thước bằng nhau bằng cách cắt nó dọc theo trục x và trục y thành ba và bốn vùng tương ứng. Lượng chuyển động dọc theo trục x và y ở mỗi pixel từ mỗi tiểu vùng này được tổng hợp và các tổng này được sử dụng để tạo biểu đồ chuyển động hai chiều cho mỗi khung hình. Biểu đồ này biểu thị vectơ chuyển động của một khung. Tham khảo hình ảnh bên trái trong Hình 3.5 để xem trực quan các vectơ chuyển động tổng hợp cho một khung hình từ video mẫu. Trong hình ảnh trực quan này, các vectơ chuyển động được tổng hợp cho các tiểu vùng có kích thước 16 × 16 pixel. Độ lớn và hướng chuyển động trong các vùng này được thể hiện bằng chiều dài và hướng của các đường đứt nét màu xanh lá cây phủ lên hình ảnh.

3.1.1.3.2. Sử dụng luồng quang

Cách tiếp cận tiếp theo để phát hiện chuyển động sử dụng luồng quang học (Wikipedia [57]). Ở đây, chuyển động tại mỗi pixel trong khung hình được tính toán bằng Luồng quang học dày đặc. Đối với điều này, việc triển khai thuật toán Gunner Farneback (Farneb¨ack [24]) do OpenCV (Bradski [5]) cung cấp được sử dụng. Việc triển khai được cung cấp dưới dạng một hàm trong OpenCV và để biết thêm chi tiết về hàm cũng như các tham số, vui lòng tham khảo tài liệu do OpenCV cung cấp (OpticalFlow [43]). Các giá trị 0,5, 3, 15, 3, 5, 1,2 và 0 được truyền cho các tham số hàm lần lượt là thang đo pyr, cấp độ, kích thước thắng, số lần lặp, poly n, poly sigma và cờ. Khi các vectơ chuyển động ở mỗi pixel được tính toán bằng Luồng quang học, tính năng chuyển động từ khung sẽ được trích xuất bằng quy trình tương tự được đề cập trong Phần 3.1.1.3.1 ở trên. Tham khảo hình ảnh bên phải trong Hình 3.5 để có ấn tượng về các vectơ chuyển động tổng hợp được trích xuất từ một khung. Các vectơ chuyển động được tổng hợp cho các tiểu vùng có kích thước 16×16 pixel như trong phương pháp trước đó để cung cấp sự so sánh tốt hơn giữa các tính năng được trích xuất bằng cách sử dụng thông tin Codec và luồng quang.


Sau khi đánh giá cả hai phương pháp này để trích xuất thông tin chuyển động từ video, các nhận xét sau đây được thực hiện. Đầu tiên, việc trích xuất chuyển động từ Codec nhanh hơn nhiều so với việc sử dụng luồng quang vì các vectơ chuyển động được tính toán trước và lưu trữ trong codec video. Thứ hai, trích xuất chuyển động bằng luồng quang không hiệu quả lắm khi có các vùng bị mờ trong khung hình. Hiện tượng mờ này thường do chuyển động đột ngột trong một cảnh gây ra, điều này rất phổ biến trong những cảnh có cảnh bạo lực. Do đó, việc sử dụng luồng quang để trích xuất thông tin chuyển động nhằm phát hiện bạo lực không phải là một phương pháp đầy hứa hẹn. Vì vậy, trong công việc này thông tin được lưu trữ trong codec video được sử dụng để trích xuất các đặc điểm chuyển động. Các đặc điểm chuyển động được trích xuất từ mỗi khung hình trong video và được sử dụng để huấn luyện bộ phân loại SVM.


Hình 3.5: Thông tin chuyển động từ các khung được trích xuất bằng codec so với sử dụng luồng quang.

3.1.1.4. SentiBank-Tính năng

Ngoài các tính năng cấp thấp nói trên, tính năng SentiBank được Borth et al. [4] cũng được áp dụng. SentiBank là một đại diện cấp trung của nội dung trực quan dựa trên Bản thể luận tình cảm trực quan (VSO) quy mô lớn [1]. SentiBank bao gồm 1.200 khái niệm ngữ nghĩa và các bộ phân loại tự động tương ứng, mỗi bộ được định nghĩa là một Cặp danh từ tính từ (ANP). Những ANP như vậy kết hợp các tính từ cảm xúc mạnh mẽ để liên kết với các danh từ tương ứng với đồ vật hoặc cảnh vật (ví dụ: “bầu trời đẹp”, “con bọ kinh tởm” hoặc “em bé dễ thương”). Hơn nữa, mỗi ANP (1) phản ánh tình cảm mạnh mẽ, (2) có liên kết đến cảm xúc, (3) thường được sử dụng trên các nền tảng như Flickr hoặc YouTube và (4) có độ chính xác phát hiện hợp lý. Ngoài ra, VSO nhằm mục đích đủ toàn diện và đa dạng để bao quát nhiều loại khái niệm khác nhau như con người, động vật, đồ vật, địa điểm tự nhiên hoặc nhân tạo và do đó, cung cấp những hiểu biết bổ sung về loại nội dung đang được phân tích. Bởi vì SentiBank đã thể hiện hiệu suất vượt trội so với các đặc điểm hình ảnh cấp thấp trong phân tích tình cảm Borth et al. [4], lần đầu tiên nó được sử dụng để phát hiện những cảm xúc phức tạp như bạo lực từ các khung hình video.


SentiBank bao gồm 1.200 SVM, mỗi SVM được đào tạo để phát hiện một trong 1.200 khái niệm ngữ nghĩa từ một hình ảnh. Mỗi SVM là một trình phân loại nhị phân cung cấp đầu ra nhị phân 0/1 tùy thuộc vào việc hình ảnh có chứa một tình cảm cụ thể hay không. Đối với một khung hình nhất định trong video, một vectơ chứa đầu ra của tất cả 1.200 SVM được coi là tính năng SentiBank. Để trích xuất tính năng này, việc triển khai dựa trên python được sử dụng. Để đào tạo bộ phân loại SVM, các tính năng SentiBank được trích xuất từ mỗi khung trong video đào tạo sẽ được sử dụng. Quá trình trích xuất tính năng SentiBank mất vài giây vì nó liên quan đến việc thu thập đầu ra từ 1.200 SVM được đào tạo trước. Để giảm thời gian trích xuất tính năng, tính năng SentiBank cho từng khung được trích xuất song song bằng cách sử dụng đa xử lý.

3.1.2. Phân loại tính năng

Bước tiếp theo trong quy trình sau khi trích xuất tính năng là phân loại tính năng và phần này cung cấp chi tiết về bước này. Việc lựa chọn bộ phân loại và các kỹ thuật huấn luyện được sử dụng đóng vai trò rất quan trọng để có được kết quả phân loại tốt. Trong công việc này, SVM được sử dụng để phân loại. Lý do chính đằng sau sự lựa chọn này là do các nghiên cứu trước đây về phát hiện bạo lực đã sử dụng SVM để phân loại các đặc điểm âm thanh và hình ảnh và đã mang lại kết quả tốt. Trong hầu hết các công trình được đề cập trong Chương 2, SVM đều được sử dụng để phân loại, mặc dù chúng có thể khác nhau về các hàm kernel được sử dụng.


Từ tất cả các video có sẵn trong tập huấn luyện, các tính năng âm thanh và hình ảnh được trích xuất bằng quy trình được mô tả trong Phần 3.1.1. Sau đó, các đặc điểm này được chia thành hai bộ, một bộ để huấn luyện bộ phân loại và bộ còn lại để kiểm tra độ chính xác phân loại của bộ phân loại đã huấn luyện. Vì các bộ phân loại được sử dụng ở đây là SVM, nên cần phải lựa chọn hạt nhân nào sẽ sử dụng và các tham số hạt nhân nào cần đặt. Để tìm loại hạt nhân và tham số hạt nhân tốt nhất, kỹ thuật tìm kiếm dạng lưới được sử dụng. Trong tìm kiếm dạng lưới này, các hạt nhân Tuyến tính, RBF (Hàm Cơ sở Bán kính) và Chi-Square cùng với một phạm vi giá trị cho các tham số của chúng sẽ được kiểm tra để tìm ra sự kết hợp tốt nhất mang lại kết quả phân loại tốt nhất. Bằng cách sử dụng phương pháp này, bốn bộ phân loại khác nhau được đào tạo, một bộ phân loại cho mỗi loại đối tượng. Sau đó, các bộ phân loại đã được huấn luyện này sẽ được sử dụng để tìm trọng số đặc trưng ở bước tiếp theo. Trong công việc này, việc triển khai SVM do scikit-learn (Pedregosa et al. [45]) và LibSVM (Chang và Lin [9]) cung cấp được sử dụng.

3.1.3. Tính năng kết hợp

Trong bước kết hợp tính năng, xác suất đầu ra từ mỗi bộ phân loại tính năng được hợp nhất để có được điểm cuối cùng về bạo lực trong một phân đoạn video cùng với loại bạo lực có trong đó. Sự hợp nhất này được thực hiện bằng cách tính tổng các xác suất có trọng số từ mỗi phân loại tính năng. Để phát hiện loại bạo lực mà video thuộc về, quy trình như sau. Đầu tiên, các đặc điểm âm thanh và hình ảnh được trích xuất từ các video thuộc từng loại bạo lực có chủ đích. Sau đó, các tính năng này được chuyển đến bộ phân loại SVM nhị phân đã được huấn luyện để xác định xác suất của từng video có chứa nội dung bạo lực. Giờ đây, các xác suất đầu ra này từ mỗi bộ phân loại đối tượng được hợp nhất bằng cách gán cho mỗi bộ phân loại đối tượng một trọng số cho từng loại bạo lực và tính tổng trọng số. Trọng số được gán cho mỗi bộ phân loại đặc điểm thể hiện tầm quan trọng của đặc điểm đó trong việc phát hiện một loại bạo lực cụ thể. Các trọng số đặc trưng này phải được điều chỉnh phù hợp cho từng loại bạo lực để hệ thống phát hiện đúng loại bạo lực.


Có hai cách tiếp cận để tìm trọng số. Cách tiếp cận đầu tiên là điều chỉnh trọng số của bộ phân loại đặc điểm theo cách thủ công cho từng loại bạo lực. Cách tiếp cận này cần rất nhiều trực giác về tầm quan trọng của một đặc điểm trong việc phát hiện một loại bạo lực và rất dễ mắc lỗi. Cách tiếp cận khác là tìm các trọng số bằng cơ chế tìm kiếm dạng lưới trong đó một tập hợp các trọng số được lấy mẫu từ phạm vi các trọng số có thể có. Trong trường hợp này, phạm vi trọng số có thể có cho mỗi bộ phân loại đối tượng là [0,1], tuân theo ràng buộc rằng tổng trọng số của tất cả các bộ phân loại đối tượng lên tới 1. Trong công việc này, cách tiếp cận thứ hai được sử dụng và tất cả các các kết hợp trọng số có giá trị bằng 1 sẽ được liệt kê. Mỗi kết hợp trọng số này được sử dụng để tính tổng có trọng số của các xác suất phân loại cho một loại bạo lực và các trọng số từ tổ hợp trọng số tạo ra tổng cao nhất sẽ được gán cho từng phân loại cho loại bạo lực tương ứng. Để tính toán các trọng số này, một tập dữ liệu khác với tập huấn luyện sẽ được sử dụng để tránh việc khớp các trọng số quá mức với tập huấn luyện. Tập dữ liệu được sử dụng để tính toán trọng lượng có các video về tất cả các loại bạo lực được nhắm đến trong công việc này. Điều quan trọng cần lưu ý là, mặc dù mỗi bộ phân loại SVM đã huấn luyện đều có bản chất nhị phân, nhưng các giá trị đầu ra từ những bộ phân loại này có thể được kết hợp bằng cách sử dụng tổng có trọng số để tìm ra loại bạo lực cụ thể mà video thuộc về.

3.2. Kiểm tra

Trong giai đoạn này, đối với một video đầu vào nhất định, mỗi phân đoạn chứa bạo lực sẽ được phát hiện cùng với loại bạo lực có trong đó. Đối với một video nhất định, phương pháp sau đây được sử dụng để phát hiện các phân đoạn chứa bạo lực và thể loại bạo lực trong đó. Đầu tiên, các đặc điểm hình ảnh và âm thanh được trích xuất từ một khung hình cứ sau 1 giây, bắt đầu từ khung hình đầu tiên của video, thay vì trích xuất các đặc điểm từ mọi khung hình. Những khung hình mà từ đó các đặc điểm được trích xuất sẽ biểu thị một đoạn 1 giây của video. Sau đó, các đặc điểm từ các phân đoạn video dài 1 giây này được chuyển đến bộ phân loại SVM nhị phân đã được huấn luyện để lấy điểm cho từng phân đoạn video là bạo lực hoặc không bạo lực. Sau đó, tổng có trọng số của các giá trị đầu ra từ các phân loại riêng lẻ được tính cho từng danh mục bạo lực bằng cách sử dụng các trọng số tương ứng được tìm thấy trong bước tổng hợp. Do đó, đối với một video có độ dài 'X' giây nhất định, hệ thống sẽ xuất ra một vectơ có độ dài 'X'. Mỗi phần tử trong vectơ này là một từ điển ánh xạ từng loại bạo lực với một giá trị điểm. Lý do sử dụng phương pháp này gồm hai phần, thứ nhất là để phát hiện các khoảng thời gian có bạo lực trong video và để tăng tốc độ phát hiện bạo lực của hệ thống. Việc trích xuất tính năng, đặc biệt là trích xuất tính năng Sentibank rất tốn thời gian và thực hiện cho từng khung hình sẽ khiến hệ thống bị chậm. Nhưng cách tiếp cận này có tác động tiêu cực đến độ chính xác của hệ thống vì nó phát hiện bạo lực không phải ở từng khung hình mà ở từng giây.

3.3. Số liệu đánh giá

Có nhiều số liệu có thể được sử dụng để đo lường hiệu suất của hệ thống phân loại. Một số biện pháp được sử dụng để phân loại nhị phân là Độ chính xác, Độ chính xác, Độ thu hồi (Độ nhạy), Độ đặc hiệu, Điểm F, Tỷ lệ lỗi bằng nhau (EER) và Diện tích dưới đường cong (AUC). Một số thước đo khác như Độ chính xác trung bình (AP) và Độ chính xác trung bình trung bình (MAP) được sử dụng cho các hệ thống trả về danh sách được xếp hạng do truy vấn. Hầu hết các biện pháp ngày càng được sử dụng nhiều trong nghiên cứu Học máy và Khai thác dữ liệu này đều được mượn từ các ngành khác như Truy xuất thông tin (Rijsbergen [49]) và Sinh trắc học. Để thảo luận chi tiết về các biện pháp này, hãy tham khảo tác phẩm của Parker [44] và Sokolova và Lapalme [53]. Đường cong ROC (Đặc tính hoạt động của máy thu) là một phương pháp được sử dụng rộng rãi khác để đánh giá hoặc so sánh các hệ thống phân loại nhị phân. Các số đo như AUC và EER có thể được tính toán từ đường cong ROC.


Trong công việc này, các đường cong ROC được sử dụng để: (i) So sánh hiệu suất của các bộ phân loại riêng lẻ. (ii) So sánh hiệu suất của hệ thống trong việc phát hiện các loại bạo lực khác nhau trong nhiệm vụ phân loại Đa lớp. (iii) So sánh hiệu năng của hệ thống trên Youtube và tập dữ liệu Hollywood-Test trong nhiệm vụ phân loại nhị phân. Các số liệu khác được sử dụng ở đây là Độ chính xác, Thu hồi và EER. Những biện pháp này được sử dụng vì đây là những biện pháp được sử dụng phổ biến nhất trong các nghiên cứu trước đây về phát hiện bạo lực. Trong hệ thống này, các tham số (trọng lượng tổng hợp) được điều chỉnh để giảm thiểu EER.

3.4. Bản tóm tắt

Chương này trình bày mô tả chi tiết về phương pháp tiếp cận trong công việc này nhằm phát hiện bạo lực. Phần đầu tiên đề cập đến giai đoạn huấn luyện và phần thứ hai đề cập đến giai đoạn thử nghiệm. Trong phần đầu tiên, các bước khác nhau liên quan đến giai đoạn đào tạo sẽ được giải thích chi tiết. Đầu tiên, việc trích xuất các đặc điểm âm thanh và hình ảnh sẽ được thảo luận và trình bày chi tiết về những đặc điểm được sử dụng cũng như cách chúng được trích xuất. Tiếp theo, các kỹ thuật phân loại được sử dụng để phân loại các đặc trưng được trích xuất sẽ được thảo luận. Cuối cùng, quy trình được sử dụng để tính toán trọng số đối tượng cho việc hợp nhất đối tượng sẽ được thảo luận. Trong phần thứ hai, quy trình được sử dụng trong giai đoạn thử nghiệm để trích xuất các phân đoạn video có chứa bạo lực và phát hiện loại bạo lực trong các phân đoạn này sẽ được thảo luận.


Tóm lại, các bước tiếp theo trong phương pháp này là trích xuất tính năng, phân loại tính năng, hợp nhất tính năng và thử nghiệm. Ba bước đầu tiên tạo thành giai đoạn huấn luyện và bước cuối cùng là giai đoạn thử nghiệm. Trong giai đoạn huấn luyện, các đặc điểm âm thanh và hình ảnh được trích xuất từ video và chúng được sử dụng để huấn luyện các bộ phân loại SVM nhị phân cho mỗi đặc điểm. Sau đó, một tập dữ liệu riêng biệt được sử dụng để tìm các trọng số tính năng nhằm giảm thiểu EER của hệ thống trên tập dữ liệu xác thực. Trong giai đoạn thử nghiệm cuối cùng, đầu tiên, các tính năng hình ảnh và âm thanh được trích xuất từng đoạn video có độ dài 1 giây của video thử nghiệm đầu vào. Sau đó, các đặc điểm này được chuyển đến các bộ phân loại SVM đã được huấn luyện để có được xác suất của các đặc điểm này thể hiện bạo lực. Tổng có trọng số của các xác suất đầu ra này được tính cho từng loại bạo lực bằng cách sử dụng các trọng số thu được trong bước kết hợp tính năng. Loại bạo lực có tổng trọng số tối đa được gán làm nhãn cho phân đoạn video 1 giây tương ứng. Bằng cách sử dụng các nhãn này, các phân đoạn chứa bạo lực và loại bạo lực có trong đó được hệ thống trình bày dưới dạng đầu ra. Việc thiết lập thử nghiệm và đánh giá hệ thống này được trình bày trong chương tiếp theo.



Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.


[1] http://visual-sentiment-ontology.appspot.com