理論

針對影像中的每個像素,皆會計算其梯度方向與幅度。梯度濾波器核 在 x 方向和 y 方向上的值分別為:

方程式 47。


梯度大小 以及導覽 接著計算如下:

方程式 48。


根據其方向,計算出的梯度隨後會被分配至特定數量的方向區間中。 該區間的投票值是 梯度幅值的函數。正如 Dalal 和 Triggs 所發現的,將方向劃分為 9 個區間,範圍為 在使用 HOG 特徵時,可為人體偵測方法帶來最佳結果 [Dal05]. 在 VA 範例設計「HOG_9Bins_HistogramMax.vad」和「HOG_9Bins_Histogram.vad」中,我們已實作此類分桶處理。 此外,在範例「HOG_4Bins_HistogramMax.vad」中,我們將資料分為 4 個桶,範圍為 . 任務或權重 具有某種取向的 放入一個箱子中(方向為 ) 是透過 插值來實現的:

方程式 49。


這裡 是各區間之間的角度步長。 單一區間欄 接著,計算「定向梯度直方圖」(每個均對應 8x8 像素的區域)如下:

式(50)。


接著,將每個 8x8 像素單元的直方圖分組為 2x2 單元大小的區塊,以涵蓋亮度 或對比度的局部變化。這些區塊之間具有 . 為進行物件辨識而使用 HOG 描述子時,需進行區塊正規化(演算法詳見 [Dal05]) 將效能提升了 . 當前的設計範例中省略了區塊正規化。在「HOG_4Bins_HistogramMax.vad」 和 「HOG_9Bins_HistogramMax.vad」這兩項設計中, 最大直方圖方向 傳送至 DMA;而在「HOG_9Bins_Histogram.vad」中,則將完整的方向梯度直方圖傳送至 PC。 以下介紹的設計可輕鬆調整以符合使用者的特殊需求。也就是說,方向分桶的數量 與步長,或是根據 [ 進行區塊歸一化 [Dal05] 亦可額外實作。