Histogram of oriented gradients là gì

     
1. Ra mắt về thuật toán HOG

1.1. Giới thiệu chung

Có rất nhiều các phương pháp khác nhau trong computer vision. Lúc phân loại ảnh, bạn cũng có thể áp dụng chúng ta các quy mô CNN (Inception Net, mobile Net, Resnet, Dense Net, Alexnet, Unet,…) và khi phân phát hiện trang bị thể là các mô hình YOLO, SSD, Faster RCNN, Fast RCNN, Mask RCNN.

Bạn đang xem: Histogram of oriented gradients là gì

Các thuật toán nhắc trên đều là những quy mô deep learning. Vậy trước khi deep learning bùng nổ, thuật toán nào thường được áp dụng trong cách xử trí ảnh? Bài lúc này chúng ta đã tìm hểu về thuật toán tuy cổ xưa nhưng cũng rất tác dụng trong giải pháp xử lý ảnh, đó chính là HOG (histogram of oriented gradient).

Thuật toán này sẽ tạo nên ra những bộ tế bào tả đặc thù (feature descriptor) nhằm mục đích mục đích phát hiện vật dụng thể (object detection). Xuất phát từ một bức ảnh, ta sẽ kéo ra 2 ma trận đặc biệt giúp lưu lại thông tin ảnh đó là độ bự gradient (gradient magnitute) với phương của gradient (gradient orientation). Bằng phương pháp kết phù hợp 2 tin tức này vào trong 1 biểu đồ cung cấp histogram, trong số ấy độ bự gradient được đếm theo những nhóm bins của phương gradient. Cuối cùng ta vẫn thu được véc tơ đặc trưng HOG đại diện cho histogram. Nguyên sơ là vậy, trên thực tiễn thuật toán còn vận động phức tạp hơn khi véc tơ HOG sẽ tiến hành tính trên từng vùng cụ bộ như mạng CNN và sau đó là phép chuẩn hóa cụ bộ để đồng điệu độ đo. ở đầu cuối véc tơ HOG tổng hợp từ những véc tơ bên trên vùng cục bộ.

Trên đây là toàn bộ lý giải vắn tắt về nguyên lý hoạt động vui chơi của HOG. Có thể sẽ hơi khó khăn hiểu với các bạn đọc thuở đầu nhưng chớ lo lắng. Chúng ta sẽ sáng sủa tỏ sau thời điểm đọc chương 2 lý giải chi tiết về thuật toán HOG.

1.2. Ứng dụng của HOG

Vậy HOG bao gồm ứng dụng rõ ràng như cố kỉnh nào? một vài tác vụ đã vận dụng HOG và mang lại độ chuẩn chỉnh xác cao rất có thể kể đến là:

Nhận diện khuôn mặt (face detection): Thường chúng ta sẽ nghĩ về ngay mang lại thuật toán Haar Cascde Classifier. Tuy vậy HOG cũng là 1 thuật toán rất kết quả được áp dụng trong câu hỏi này. Bởi vì nó có kỹ năng biểu diễn các đường nét bao gồm của khuôn mặt dựa trên phương cùng độ mập gradient thông qua các véc tơ trên mỗi cell như hình mô tả bên dưới:

*

Nhận diện các vật thể khác: hình như còn tương đối nhiều các ngôi trường hợp dìm diện đồ dùng thể trên hình ảnh tĩnh như phương tiện, biểu lộ giao thông, động vật hoặc thậm chỉ là ảnh động từ video.

Tạo feature cho các bài toán phân một số loại ảnh: Nhiều việc phân loại hình ảnh được xây dựng trên một bộ dữ liệu kích thước nhỏ tuổi thì sử dụng những mạng học tập sâu chưa chắc đã có lại kết quả và dễ mang đến overfiting. Vì sao vì tài liệu ít thường không đủ để giảng dạy cho laptop nhận giỏi các đặc thù của trang bị thể. Khi đó sử dụng HOG nhằm tạo đặc trưng sẽ với lại tác dụng tốt hơn. Cụ thể tôi cũng trở nên thực hiện tại một ví dụ sống cuối.

1.3. Thuật ngữ

Trước khi tìm hiểu thuật toán HOG, tôi sẽ phân tích và lý giải trước những thuật ngữ được sử dụng:

Feature Descriptor: Bộ biểu hiện đặc trưng, là 1 phép chuyển đổi dữ liệu thành các đặc trưng giúp ích mang lại phân loại hoặc thừa nhận diện trang bị thể. Các phương pháp có thể nói tới như HOG, SUFT, SHIFT.

Gradient: Là đạo hàm của véc tơ cường độ màu sắc giúp phát hiện nay hướng dịch chuyển của các vật thể vào hình ảnh.

Xem thêm: Giải Vật Lí 9 Bài 39 Tổng Kết Chương 2 Điện Tử Học, Vật Lý Lớp 9

Local cell: Ô cục bộ. Vào thuật toán HOG, một hình hình ảnh được tạo thành nhiều cells bởi một lưới ô vuông. Từng cell được gọi là một trong những ô cục bộ.

Local portion: Vùng viên bộ. Là một trong những vùng trước trích suất ra tự ô vuông trên hình ảnh. Vào phần trình bày về thuật toán thì vùng viên bộ còn gọi là block.

Local normalization: Phép chuẩn chỉnh hóa được tiến hành trên một vùng viên bộ. Hay là phân tách cho norm chuẩn chỉnh bậc 2 hoặc norm chuẩn chỉnh bậc 1. Mục đích của việc chuẩn hóa là để đồng nhất các quý giá cường độ màu sắc về thông thường một phân phối. Ta sẽ hiểu rõ hơn trong phần trình diễn thuật toán.

gradient direction: Phương gradient. Là độ béo góc thân véc tơ gradient $x$ và $y$ giúp khẳng định phương biến đổi cường độ màu sắc hay đó là phương đổ bóng của hình ảnh. Giả sử $G_x, G_y$ theo thứ tự là cực hiếm gradient theo theo lần lượt phương $x$ và $y$ của hình ảnh. Lúc ấy phương gradient được tính như sau:

< heta = extacrtan(fracG_yG_x)> gradient magnitude: Độ bự gradient. Là chiều nhiều năm của véc tơ gradient theo phương $x$ và phương $y$. Biểu diễn phân phối histogram của véc tơ này theo véc tơ phương gradient sẽ thu được véc tơ mô tả đặc thù HOG. Độ lớn gradient được xem như sau:<|G| = sqrtG_x^2+G_y^2>2. Kim chỉ nan về HOG

Điểm cốt yếu trong nguyên lý hoạt động của HOG đó là hình trạng của một đồ dùng thể cục bộ hoàn toàn có thể được mô tả thông qua hai ma trận chính là ma trận độ phệ gradient (gradient magnitude) với ma trận phương gradient (gradient direction). Vậy 2 ma trận gradient trên được tạo thành ra như vậy nào? Đầu tiên hình hình ảnh được phân thành 1 lưới ô vuông cùng trên đó họ xác định không ít các vùng toàn bộ liền kề hoặc chồng lấn lên nhau. Các vùng này tương tự như phần đông vùng hình hình ảnh cục cỗ mà họ tính tích chập vào thuật toán CNN. Một vùng viên bộ bao gồm nhiều ô toàn cục (trong thuật toán HOG là 4) có kích thước là 8x8 pixels. Sau đó, một biểu vật dụng histogram những thống kê độ lớn gradient được thống kê giám sát trên từng ô toàn bộ mà bọn họ sẽ tìm hiểu ở phần 2.1 phương thức tính. Bộ biểu thị HOG (HOG descriptor) được tạo thành thành bằng phương pháp nối ngay tức thì (concatenate) 4 véc tơ histogram ứng với từng ô thành một véc tơ tổng hợp. Để cải thiện độ chủ yếu xác, mỗi quý giá của véc tơ histogram bên trên vùng tổng thể sẽ được chuẩn chỉnh hóa theo norm chuẩn bậc 2 hoặc bậc 1 (cụ thể hơn sẽ lý giải mục 2.1 mặt dưới). Phép chuẩn hóa này nhằm làm ra bất biến xuất sắc hơn đối với những thay đổi trong phát sáng và đổ bóng.

Bộ biểu hiện HOG bao gồm một vài điểm mạnh chính so với các bộ bộc lộ khác. Vì nó hoạt động trên các ô cục bộ, nó bất biến đối với các phép đổi khác hình học, biến đổi độ sáng. Hơn nữa, như Dalal với Triggs sẽ phát hiện tại ra, khi thực hiện phép chuẩn chỉnh hóa trên vùng tổng thể sẽ có thể chấp nhận được chuyển động cơ thể của người quốc bộ được loại bỏ miễn là họ gia hạn được tư thế đứng thẳng. Bởi vì đó, bộ diễn tả HOG sệt biệt cân xứng để phát hiện con bạn trong hình ảnh.

2.1. Thuật toán HOG

2.1.1. đo lường gradient

Trong hầu hết các thuật toán xử lý ảnh, bước trước tiên là tiền xử lý dữ liệu hình ảnh (pre-processing image). Chúng ta sẽ cần chuẩn chỉnh hóa color và quý giá gamma. Tuy nhiên, cách này hoàn toàn có thể được bỏ qua mất trong phần thống kê giám sát bộ bộc lộ HOG, bởi vì việc chuẩn hóa bộ biểu đạt ở bước tiếp sau đã đạt được kết quả tương tự. Nạm vào đó, tại bước đầu tiên của giám sát bộ mô tả họ sẽ tính các giá trị gradient. Phương pháp phổ thay đổi nhất là áp dụng một phương diện nạ đạo hàm rời rốc (discrete derivative mask) theo một hoặc cả hai phía ngang và dọc. Núm thể, phương pháp sẽ lọc ma trận cường độ ảnh với những bộ lọc như Sobel mask hoặc scharr.

Xem thêm: Hạt Chestnut Là Gì ? Mua Ở Đâu, Cách Làm Bánh Với Chestnut Chestnut Có Nghĩa Là Gì

Để tính cỗ lọc sobel, phép tích chập của kernel form size $3x3$ được tiến hành với hình ảnh ban đầu. Nếu chúng ta kí hiệu $mathbfI$ là ma trận hình ảnh gốc cùng $G_x, G_y$ là 2 ma trận hình ảnh mà mỗi điểm trên nó theo thứ tự là đạo hàm theo trục $x$ trục $y$. Chúng ta cũng có thể tính toán được kernel như sau:

Đạo hàm theo hướng ngang: Đạo hàm theo chiều dọc:

Kí hiệu * tương tự như như phép tích chập giữa cỗ lọc phía trái và ảnh đầu vào bên phải.

Gía trị độ béo gradient (gradient magnitude) với phương gradient (gradient direction) rất có thể được tạo thành từ 2 đạo hàm $G_x$ và $G_y$ theo công thức mặt dưới:

Độ khủng gradient Phương gradient:< heta = extacrtan(fracG_yG_x)>

Hiện tại, gradient được xem khá dễ dàng trên tủ sách sklearn hoặc OpenCV: