CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÁT HIỆN CÁC SỰ KIỆN BẤT THƯỜNG TỪ VIDEO 1. Một số khái niệm 1. Khái niệm bất thường trong phân tích dữ liệu Trong phân tích dữ liệu, bất thường là các mẫu ngoại lệ, hiếm gặp và có sự sai khác đáng kể so với phần lớn các mẫu bình thường còn lại. Có nhiều nguyên nhân gây ra bất thường tuỳ thuộc vào ứng dụng và ngữ cảnh xem xét.
Ví dụ, trong cuộc sống hằng ngày, đa số các hoạt động của các nhân, tập thể hay hệ thống là bình thường. Ngược lại, các hoạt động có tính chất gây hại như gian lận thẻ tín dụng, xâm nhập mạng, khủng bố hoặc phá vỡ một hệ thống là bất thường. Hình 1 minh họa một số bất thường trong tập dữ liệu 2 chiều đơn giản. Tập dữ liệu gồm các số lượng lớn các mẫu bình thường nằm trong hai vùng N1 và N2 trong khi các điểm còn lại O1, O2, O3 nằm cách xa các vùng khác là các bất thường.
Hình 1: Một ví dụ đơn giản về sự bất thường trong bộ dữ liệu 2 chiều [5] Bất thường có liên quan đến nhiễu, nhưng khác với nhiễu. Hình 2 minh hoạ sự khác biệt giữa nhiễu và bất thường [4]. Cả hai hình 2(a) và 2(b) đều có hai vùng dữ liệu chính giống hệt nhau. Tuy nhiên, trong hình 2(a), một điểm dữ liệu (điểm A) rất khác so với dữ liệu còn lại, và được coi là điểm dữ liệu bất thường.
Trong hình 2(b), điểm dữ liệu A nằm trong một vùng dữ liệu thưa thớt, được coi như nhiễu dữ liệu. Hình 2: Sự khác biệt giữa nhiễu và bất thường [6] 1. Các kiểu bất thường Các bất thường có thể được phân làm 3 loại sau: - Loại 1: Bất thường điểm: Nếu một mẫu dữ liệu tách biệt với phần còn lại của dữ liệu, mẫu dữ liệu đó được gọi là điểm bất thường. Đây là loại bất thường đơn giản nhất và là trọng tâm của phần lớn các nghiên cứu về phát hiện bất thường.
Ví dụ trong ứng dụng phát hiện gian lận thẻ tín dụng. Tập dữ liệu tương ứng với các giao dịch của một thẻ thanh toán. Giả sử rằng dữ liệu chỉ có một đặc trưng là lượng tiền giao dịch. Một giao dịch với một số tiền cao hơn hẳn so với khoảng tiền tiêu dùng bình thường của một cá nhân sẽ là một bất thường điểm.
- Loại 2: Bất thường ngữ cảnh: Một mẫu dữ liệu là bất thường trong một ngữ cảnh cụ thể nhưng là bình thường trong các ngữ cảnh khác, thì nó được gọi là bất thường ngữ cảnh. Ví dụ hành động đi xe đạp trên một con đường là một hành động bất thường nếu con đường đó là đường dành cho người đi bộ. Nếu là đường dành cho người đi xe đạp thì hành động đi xe đạp là hành động bình thường. - Loại 3: Bất thường tập thể: Nếu một tập các mẫu dữ liệu bất bất thường đối với toàn bộ tập dữ liệu, thì được gọi là bất thường tập thể.
Các mẫu dữ liệu riêng lẻ trong một bất thường tập thể có thể không phải là bất thường, nhưng sự xuất hiện cùng nhau của chúng có thể là bất thường tập thể. Ví dụ trong trường hợp người dân đi biểu tình, nếu một vài người đi bộ là bình thường, trong khi nhiều người đi bộ cùng nhau để biểu tình lại là bất thường. Phát hiện bất thường từ video 1. Định nghĩa bài toán Phát hiện bất thường là phát hiện ra các mẫu bất thường trong một tập dữ liệu.
Cụ thể là xác định đặc điểm khác biệt nổi bật của những bất thường so với các phần lớn các mẫu bình thường trong dữ liệu. Đặc điểm của dữ liệu có thể rất khác nhau tuỳ thuộc vào miền ứng dụng. Trong khuôn khổ của luận văn thạc sĩ này, em quan tâm nghiên cứu và giải quyết bài toán phát hiện bất thường từ video thu được từ camera giám sát an ninh. Trong một mạng camera giám sát an ninh nơi công cộng, tùy theo từng môi trường giám sát cụ thể, nhưng một số bất thường sau luôn cần phải được phát hiện và cảnh báo kịp thời cho những bên liên quan: đánh nhau, tụ tập, trộm cướp tại cây ATM, phóng xe quá tốc độ hoặc không đúng làn đường quy định, v.
Nói chung, các bất thường thường hiếm gặp so với các sự kiện bình thường. Để tránh tốn thời gian và công sức, việc phát triển các giải thuật thông minh để phát hiện tự động bất thường là một nhu cầu cấp thiết. Đối với dữ liệu đầu vào là video, hệ thống phát hiện bất thường cần chỉ đoạn video nào có chứa sự kiện bất thường, tức là thời điểm bắt đầu và kết thúc của sự kiện. Nếu có thể chỉ ra đó là loại bất thường nào trong số các loại bất thường đã được định nghĩa từ trước.
Việc phát hiện bất thường có thể coi là hiểu video ở cấp độ thô, lọc ra những bất thường từ sự kiện bình thường. Mỗi khi một sự kiện bất thường được phát hiện, nó có thể tiếp tục được phân loại vào các nhóm bất thường cụ thể dựa trên các kỹ thuật phân lớp. Hình 3: Minh họa hệ thống phát hiện bất thường Hình 3 minh họa hệ thống phát hiện bất thường. Đầu vào của hệ thống là luồng video đến liên tục và đầu ra là bất thường nếu có.
Do các sự kiện bất thường trong thế giới thực thường khá phức tạp và đa dạng. Vì vậy, rất khó có thể liệt kê tất cả các bất thường có thể xảy ra. Mong muốn khi thiết kế các hệ thống phân loại sự kiện bất thường / bình thường là không yêu cầu phải có thông tin / hiểu biết trước về bất thường. Nói cách khác, việc phát hiện bất thường phải được thực hiện với ít chỉ dẫn nhất có thể (minimum supervision).
Đầu ra của hệ thống gồm nhãn và độ tin cậy của dự đoán. Hình 4: Minh họa gói (bag) và thể hiện (instance) [4] Gói (bag) là một tập hợp các mẫu có cùng nhãn, thể hiện là một mẫu trong gói. Gói và thể hiện được minh họa trong Hình 4. Hình 5: Minh họa phân đoạn trong một video [4] Phân đoạn là một chuỗi các khung hình liền nhau trong một video được minh họa như Hình 5.
Một clip là một chuỗi 16 khung hình liên tiếp nhau trong một video. Một video có nhãn yếu là video chỉ biết có nhãn bình thường hoặc bất thường mà không biết chính xác thời điểm xảy ra bất thường trong video đó. Khung làm việc tổng quát của một hệ thống phát hiện bất thường Một hệ thống phát hiện thông thường được thực hiện thông qua 2 pha như hình 4: - Pha huấn luyện: Xác định tham số của mô hình phát hiện, nhận dạng sử dụng bộ dữ liệu huấn luyện. - Pha nhận dạng: Thực hiện phân lớp dữ liệu mới sử dụng mô hình đã được huấn luyện ở pha trên.
Trong cả hai pha đều đòi hỏi một số phép xử lý cơ bản như sau: - Tiền xử lý dữ liệu: Chuyển đổi dữ liệu đầu vào sang định dạng chuẩn của mô hình. - Trích chọn đặc trưng: Từ dữ liệu đã được tiền xử lý, thực hiện trích rút các đặc trưng biểu diễn video. Các đặc trưng này có thể được thiết kế bằng tay hoặc được học bởi kỹ thuật học sâu. - Huấn luyện bộ phân lớp: Sử dụng các đặc trưng được trích chọn để làm dữ liệu đầu vào cho việc huấn luyện bộ phân lớp.
Đối với học máy truyền thống, bộ phân lớp và bộ trích chọn đặc trưng thường làm việc độc lập trong khi trong các mô hình học sâu, chúng thường được tích hợp vào một mô hình hợp nhất. - Nhận dạng: Dữ liệu cần nhận dạng cũng được chuyển qua các bước tiền xử lý, trích chọn đặc trưng, sau đó dùng bộ phân lớp đã được huấn luyện để dự đoán nhãn của lớp. Hình 6: Khung làm việc tổng quát của một hệ thống phát hiện bất thường 1. Một số vấn đề thường gặp của phát hiện bất thường Giả định về bất thường: Bất thường được phát hiện dựa trên giả định rằng bất kỳ sự kiện nào sai khác so với các mẫu bình thường đã được học từ trước sẽ được coi là sự kiện bất thường.
Tuy nhiên, giả định này có thể không đúng vì rất khó hoặc không thể định nghĩa một sự kiện bình thường (rất khó để đưa ra tất cả các sự kiện bình thường). Theo [9], ở mức độ trừu tượng, sự bất thường được định nghĩa là một mẫu không phù hợp với dự kiến hành vi bình thường. Do đó, một cách tiếp cận phát hiện bất thường đơn giản là xác định vùng biểu thị hành vi bình thường và cảnh báo mọi quan sát trong dữ liệu không thuộc về khu vực bình thường này là bất thường. Tuy nhiên một số yếu tố làm cho cách tiếp cận này gặp phải các thách thức: - Cách xác định một khu vực bình thường bao gồm mọi hành vi bình thường có thể là rất khó khăn.
Ngoài ra, ranh giới giữa hành vi bình thường và bất thường thường không chính xác. Trong thực tế, cùng một hành vi nhưng tùy theo từng điều kiện có thể là hành vi bình thường hoặc bất thường. Do đó, một quan sát bất thường nằm gần ranh giới có thể thực sự là bình thường, và ngược lại. - Khi các bất thường là kết quả của các hành động cố ý, các tác nhân gây ra bất thường thường tự thích nghi để làm cho các quan sát bất thường xuất hiện bình thường.
Điều này làm cho nhiệm vụ xác định hành vi bình thường trở nên khó khăn hơn. Do đó, việc sử dụng cả dữ liệu bình thường và bất thường để huấn luyện hệ thống có thể giúp một hệ thống phát hiện bất thường học tốt hơn. Gán nhãn yếu dữ liệu: Như đã trình bày ở phần trên, một hệ thống nhận dạng bất thường nói chung đều phải sử dụng dữ liệu đã gán nhãn để huấn luyện các tham số của mô hình (học có giám sát – supervised learning). Thông thường, mỗi mẫu sẽ được gán về một nhãn thuộc một lớp cụ thể nào đó.
Đối với bài toán phân lớp nhị phân (bất thường / bình thường), các đoạn video sẽ được gán hai nhãn là bất thường hoặc bình thường. Do sự hiếm gặp của các mẫu bất thường, cũng như việc gán nhãn đòi hỏi nhiều thời gian và công sức, trong thực tế có nhiều tình huống người gán nhãn chỉ thực hiện gán nhãn thô. Nghĩa là họ gán nhãn “bất thường” cho một video dài chỉ chứa một sự kiện bất thường xảy ra thời gian ngắn, hầu hết thời gian còn lại của video chứa các hoạt động bình thường. Việc gán nhãn như vậy được coi là gán nhãn yếu.