HOG là viết tắt của Histogram of Oriented Gradients – một loại “mô tả tính năng”. Mục đích của “bộ mô tả tính năng” là trừu tượng hóa các đối tượng bằng cách trích xuất các đặc điểm của chúng và loại bỏ thông tin vô ích. Do đó, HOG chủ yếu được sử dụng để mô tả hình dạng và diện mạo của các đối tượng trong ảnh.
Bản chất của phương pháp HOG là sử dụng thông tin phân phối cường độ gradient hoặc hướng cạnh để mô tả hình ảnh đặc trưng cục bộ. Toán tử HOG được triển khai bằng cách chia nhỏ hình ảnh thành các vùng phụ được gọi là “ô” và đối với mỗi ô, chúng tôi tính toán biểu đồ về hướng độ dốc của các điểm trong ô. Đặt biểu đồ lại với nhau có thể đại diện cho hình ảnh gốc. Để cải thiện hiệu suất nhận dạng, biểu đồ cục bộ có thể được chuẩn hóa tương phản bằng cách tính ngưỡng cường độ trong một khu vực lớn hơn một ô (được gọi là khối) và sử dụng ngưỡng này để chuẩn hóa tất cả các ô trong khối. Kết quả sau bước chuẩn hóa sẽ là một vectơ đặc trưng bất biến hơn đối với những thay đổi trong điều kiện ánh sáng.
Có 5 bước cơ bản trong việc xây dựng vectơ HOG cho hình ảnh, bao gồm:
- Tiền xử lý
- Tính toán độ dốc
- Tính toán từng bước Các vectơ riêng của các ô
- Khối chuẩn hóa
- Tính toán vectơ HOG
li>
1. Tiền xử lý
Trong bài toán này, chúng ta cần thay đổi kích thước tất cả các ảnh để dễ chia đều ảnh thành các khối, ô và tính toán các đặc trưng trong các bước tiếp theo. Kích thước phổ biến của hình ảnh trong tập dữ liệu đối với a.
Trong các ví dụ được cung cấp trong bài viết này, kích thước điển hình của 1 hình ảnh mặc định là 64×128
2. Tính toán Độ dốc
Đây là bước đầu tiên, được thực hiện bởi hai phép chập 2D của ảnh gốc, tương ứng với các toán tử lấy đạo hàm theo cả hai hướng Ox và Oy. Trong số đó, hai hướng là:
Thật khó hiểu, hãy kiểm tra hình ảnh bên dưới để nhìn rõ hơn.
<img src="https://images.viblo.asia/retina/510816b2-3252-46b6-b5e2-70978a91d88d.png" alt="Theo công thức:
Sau đó, bạn có thể tính công thức Gradient g (*) bao gồm hai thành phần trong hình nón:
Ví dụ:Giả sử chúng ta có một pixel
Chúng ta sẽ áp dụng công thức trên để tính gradient của pixel này:
Đối với Màu, hãy đánh giá hình ảnh chuyển màu của ba kênh (đỏ, lục và lam). Kích thước độ dốc của một pixel là giá trị tối đa của cường độ độ dốc của ba kênh và góc là góc tương ứng với độ dốc tối đa.
blockquote> Sau bước này, kết quả thu được sẽ là:
3. Tính vector đặc trưng của từng ô
Để tính vector đặc trưng của từng ô, ta cần chia ảnh thành khối, mỗi khối được chia đều thành các ô. Để xác định số lượng khối, chúng ta sẽ sử dụng công thức sau:
Các khối có thể được xếp chồng lên nhau như hình:
blockquote> Xác định số khối và kích thước của mỗi khối và ô, để Để tính toán vectơ riêng của mỗi ô, chúng ta cần:
- Phân vùng không gian định hướng thành p ngăn (chiều vectơ riêng của đồ thị).
- Chia nhỏ góc nghiêng của từng pixel thành các ngăn.
Giả sử góc nghiêng của pixel tại vị trí (x,y)) có giá trị rời rạc là alpha(x,y)
p=9 Trường hợp unsigned-HOG:
Trường hợp phân biệt chữ ký-HOG của p=18:
Giá trị bin được định lượng bằng tổng cường độ của biến. thuộc các pixel của ô đó Sau khi tính được đặc trưng ô ta nối các véc tơ đặc trưng của ô để được véc tơ đặc trưng của khối Kích thước của véc tơ đặc trưng của khối được tính theo công thức:
Ví dụ : Trong trường hợp này, hình ảnh của chúng tôi có kích thước 64×128 và chúng tôi chia mỗi hình ảnh thành các khối 16×16. Mỗi khối sẽ chứa 4 ô và mỗi ô sẽ có kích thước 8×8.
Tiếp theo, sử dụng 9 ngăn Không gian định hướng tính toán tính năng HOG cho từng ô, trường hợp “unsigned”-HOG.” Hướng chuyển màu sẽ chạy trong khoảng từ 0 đến 180 độ, trung bình 20 độ cho mỗi ngăn.
Trong mỗi ô, hãy xây dựng biểu đồ độ dốc bằng cách bỏ phiếu pixel vào biểu đồ. Trọng số biểu quyết của mỗi pixel phụ thuộc vào hướng và độ lớn của dải màu (được tính từ bước 2) tại pixel đó. Ví dụ:
Như thể hiện trong hình trên, pixel đầu tiên được bao quanh bởi màu xanh lam. Nó có hướng 80 độ và độ lớn là 2, vì vậy chúng tôi thêm 2 vào ô thứ 5 (hướng 80 độ). Tiếp theo là các pixel được bao quanh bởi màu đỏ. Nó có hướng 10 độ và cường độ 4. Vì không có thùng 10 độ nên ta bỏ phiếu cho thùng 0 độ và 20 độ, mỗi thùng tăng 2 đơn vị. Sau khi bỏ phiếu tất cả các pixel có kích thước pixel 8×8 thành 9 thùng, chúng tôi có thể nhận được các kết quả sau:
4. Chuẩn hóa khối
Để cải thiện hiệu suất nhận dạng, bằng cách tính toán và sử dụng điều này value để chuẩn hóa tất cả các ô trong khối và độ tương phản chuẩn hóa biểu đồ cục bộ. Kết quả sau bước chuẩn hóa sẽ là một vectơ đặc trưng bất biến hơn đối với những thay đổi trong điều kiện ánh sáng.
Đầu tiên, hãy xem xét tác động của việc chuẩn hóa đối với các biến. Vectơ chuyển màu trong ví dụ sau:
Trong hình trên, trường hợp đầu tiên là một ô của hình gốc. Trong trường hợp thứ hai, tất cả các giá trị pixel được tăng thêm 50. Trong trường hợp thứ ba, tất cả các giá trị pixel được nhân với 1,5. Dễ dàng nhận thấy rằng trường hợp thứ ba cho thấy sự gia tăng độ tương phản. Hiệu ứng nhân là làm cho các điểm ảnh sáng sáng hơn và các điểm ảnh tối chỉ sáng hơn một chút, tăng độ tương phản giữa các phần sáng và tối của hình ảnh.
Hãy xem các giá trị pixel thực tế và sự thay đổi của vectơ gradient trong ba tình huống trên trong hình bên dưới:
- Các số trong các ô là pixel của điểm đánh dấu Giá trị pixel của pixel liền kề
- Delta F là đạo hàm riêng của điểm pixel ([Ix, Iy]) theo hai hướng
- |Delta F|là giá trị cường độ điểm ảnh (Gradient Magnitude ), được tính theo công thức (*)
Trong trường hợp một và hai, giá trị cường độ vectơ độ dốc của chúng tương tự nhau, nhưng trong trường hợp thứ ba , cường độ của vectơ độ dốc được tăng lên theo hệ số 1,5. Nếu chúng ta chia ba vectơ cho độ lớn tương ứng của chúng, chúng ta sẽ nhận được kết quả tương đương cho cả ba trường hợp. Vì vậy, trong ví dụ trên, chúng ta đã thấy rằng bằng cách chia các vectơ gradient cho độ lớn của chúng, chúng ta có thể làm cho chúng bất biến để thay đổi độ tương phản.
Có nhiều cách. phương pháp có thể được sử dụng để chuẩn hóa các khối. Đặt v là vectơ để chuẩn hóa, chứa tất cả các biểu đồ cho mỗi khối. ‖v(k)‖ là giá trị chuẩn hóa của v tại k=1, 3, và e là một hằng số nhỏ. Sau đó, giá trị chuẩn hóa có thể được tính bằng một trong các công thức sau:
Kết hợp các vectơ đặc trưng của các khối để thu được vectơ đặc trưng R-HOG của hình ảnh. Công thức tính kích thước véc tơ đặc trưng ảnh là:
5. Tính vectơ đặc trưng HOG
- Đối với mỗi hình ảnh 64×128, được chia thành các khối chồng chéo 16×16, sẽ có 7 khối ngang và 15 khối dọc, do đó sẽ có 7×15 = 105 khối.
- Mỗi khối gồm 4 ô. Khi áp dụng biểu đồ 9 ô cho mỗi ô, mỗi khối sẽ được biểu thị bằng một vectơ có kích thước 36×1.
- Như vậy khi ghép tất cả các vector trong một khối lại với nhau ta sẽ được các vector đặc trưng HOG với kích thước ảnh 105x36x1 = 3780×1.
Liên kết tham khảo:
Histogram of Oriented Gradients
HOG Person Detector Tutorial
.