Phát hiện đối tượng người sử dụng HOG-SVM

Một phần của tài liệu Nghiên cứu và phát triển giải thuật phát hiện và theo vết người trên một mạng camera (Trang 50 - 55)

Giải thuật phát hiện chuyển động cho phép xác định các vùng có khả năng xuất hiện người. Tuy nhiên, ngay cả khi sử dụng các giải thuật phức tạp như codebook hoặc mô hình pha trộn các hàm Gauss thì các vùng không mong muốn như các vùng bóng (shadow) làm cho việc khoanh vùng đối tượng không chính xác. Để giải quyết vấn đề này, sử dụng kỹ thuật trượt cửa sổ ở các độ phân giải khác nhau (multiscale sliding window) trên từng vùng phát hiện được, với mỗi cửa sổ, thực hiện kiểm tra xem có người hay không sử dụng thuật toán HOG-SVM. Thuật toán HOG-SVM là một thuật toán rất hiệu quả trong việc phát hiện người. Phần dưới đây trình bày rõ hơn cách tính đặc trưng HOG trên mỗi vùng cửa sổ cho trước và thuật toán SVM để phân lớp người - không người.

Đặc trưng HOG

Để tính đặc trưng HOG, trước tiên ảnh đầu vào cần phải đưa về kích thước chuẩn. Sau khi chuẩn hóa, ảnh được tính Gradient cho từng pixel một. Phương pháp chung nhất là gắn vào điểm trung tâm một mặt nạ đạo hàm rời rạc theo cả hai chiều (dọc và ngang).

Ảnh sau khi được tính Gradient thì được chia thành các Cell có kích thước như nhau (ví dụ 4x4 hoặc 8x8…). Với mỗi Cell, ta tính Histogram của hướng Gradient như sau:

+ Các Gradient các pixel trong Cell có hướng thay đổi từ 00 đến 1800 hoặc từ 00 đến 3600 tùy thuộc vào các Gradient lấy dấu hay không. Giả thiết ở đây, ta lấy hướng Gradient là từ 00 đến 1800.

+ Kết hợp n kênh Histogram (n bins) để biểu diễn hướng của Gradient (xem Hình 2.16) Y -A x is Histogram thứ 0 Histogram thứ 1 20 độ 20 độ 20 độ Histogram thứ 8

Hình 2.17. HOG đối với số bins lần lượt bằng 4 bins; 8 bins; và 16 bins.

Trên Hình 2.17 ta thấy nếu số bin càng lớn, histogram càng được biểu diễn chi tiết hơn; tuy nhiên đổi lại là thời gian tính toán lâu hơn. Theo kết quả thử nghiệm của Dalal và Triggs [6], thì với hướng Gradient từ 00 đến 1800 cùng với sự kết hợp 9 bins cho ta kết quả tốt nhất. Để kể đến sự thay đổi của chiếu sáng và tương phản, cường độ Gradient phải được chuẩn hóa cục bộ, với yêu cầu nhóm các cell lại với nhau thành một vùng lớn hơn (block) và chuẩn hóa nó. Khi đó, bộ diễn tả HOG là vector thành phần của tất cả các vùng block. Thường thì các block này chồng lên nhau (giao nhau bởi một vài cell). Có hai dạng hình học block chính: Block hình chữ nhật (R-HOG) và block hình tròn (C-HOG) (Hình 2.18).

Hình 2.18. Hai loại hình học block chính.

Trong luận văn sử dụng loại block hình chữ nhật (R-HOG) làm tham số mặc định. Như vậy, mỗi block được đặc trưng bởi 3 tham số: số cell trong 1 block; số pixel trong một cell và số kênh (bins) để biểu diễn histogram của một cell. Để chuẩn hoá block ta có thể xem thêm ở [6].

Bộ phân loại SVM

Sau khi chuẩn hóa vector biểu diễn HOG của các block, ta đưa các vector này đến bộ phân loại (ở đây, ta sử dụng SVM), để đánh giá xem có phải đối tượng ta cần xem xét không. Ảnh học được đưa vào bộ huấn luyện của SVM để đưa ra được mô hình huấn luyện, trong khi đó, ảnh nhận dạng được đưa vào bộ nhận dạng, kết hợp với mô hình huấn luyện trước đây để cho ta kết quả nhận dạng: có hay không có đối tượng trong ảnh.

SVM là bộ phân loại tuyến tính sử dụng máy có hỗ trợ vector. Với bộ vector p chiều, cần xác định một siêu phẳng “hyperplane” có p - 1 chiều để phân cách các vector này thành hai lớp: có hoặc không có đối tượng đang xét. Để đơn giản, ta giả thiết bộ vector chỉ có hai chiều. Như vậy, ta cần xác định một “hyperplane” có 2 - 1 = 1 chiều để phân cách các vector này thành hai lớp.

Ta cần xác định hàm y = f(x,w,b) một cách tối ưu nhất (vì có nhiều cách chọn đường phân cách này). Hàm này được chọn, sao cho khoảng cách từ các điểm gần nhất trên mỗi phần là lớn nhất. Ta thấy rằng, chỉ những điểm (vector) gần này được sử dụng để xây dựng “hyperplane” – Support Vectors, các điểm còn lại thì bỏ qua.

Hình 2.19. Bộ phân loại SVM đơn giản với số chiều vector đặc trưng bằng 2.

pos=660, neg=171 pos = 287, neg = 171 Kết quả sau khi Train

Compute Feature

Compute SVM Response

Hình 2.20. Kết quả phát hiện người sử dụng HOG và SVM với Threshold=1.0

Mở rộng vùng ảnh quan tâm và quét cửa sổ.

Thay vì quét cửa sổ HOG trên toàn bộ ảnh gây tốn kém thời gian thì đối với mỗi đối tượng mỗi chuyển động thu được sau khi sử dụng giải thuật trừ nền ta sẽ mở rộng vùng chứa đối tượng với mỗi chiều là dx, dy để thu được một vùng cửa sổ lớn hơn sau đó ta quét cửa sổ HOG trên vùng này để xác định xem vùng chuyển động này có chứa người hay không. Đối với người thì chiều cao thường lớn hơn nhiều so với chiều ngang. Do vậy ta phải chọn dy phải lớn hơn dx, và bằng thử nghiệm đã chọn được giá trị của dx=50 và dy= 100, các giá trị này tương đối nhỏ nên không làm ảnh hưởng tới thời gian tính toán của giải thuật.

Hình 2.21. Kết quả sau khi quét cửa sổ HOG trên toàn bộ ảnh

Hình 2.22. Kết quả sau khi quét cửa sổ HOG trên vùng mở rộng.

Hình 2.21 cho thấy khi quét HOG trên toàn bộ ảnh thì vẫn gây phát hiện nhầm (vùng ảnh bóng đèn). Trên Hình 2.22 khung màu đỏ là vùng đã được mở rộng trên vùng chuyển động sau khi áp dụng giải thuật trừ nền và khung màu vàng là kết quả phát hiện người sử dụng HOG – SVM quét trên vùng cửa sổ màu đỏ. Như vậy khi mở rộng vùng đối tượng chuyển động và thực hiện quét cửa sổ HOG trên vùng mở rộng này đã giảm được nhưng phát hiện thừa do HOG gây ra đồng thời cùng giảm được rất nhiều thời gian tính toán so với việc quét cửa sổ HOG trên toàn bộ ảnh.

Một phần của tài liệu Nghiên cứu và phát triển giải thuật phát hiện và theo vết người trên một mạng camera (Trang 50 - 55)

Tải bản đầy đủ (PDF)

(77 trang)