勾配方向ヒストグラム(HOG)は、物体検出を目的としたコンピュータビジョンおよび画像処理で使用される特徴記述子です。この手法は、画像内の局所的な領域における勾配方向の出現回数をカウントします。この方法は、エッジ方向ヒストグラム、スケール不変特徴変換記述子、形状コンテキストなどと類似していますが、均一な間隔で配置されたセルの密なグリッド上で計算され、精度向上のために重複する局所コントラスト正規化を使用する点で異なります。

Wayland Research Inc.のRobert K. McConnell は、 1986 年の特許出願で HOG という用語を使用せずに HOG の背後にある概念を初めて説明しました。[ 1 ] 1994 年に、三菱電機研究所でこの概念が使用されました。[ 2 ]しかし、使用が広く普及したのは 2005 年にフランス国立情報学自動化研究所 ( INRIA ) の研究者であるNavneet DalalとBill Triggsがコンピュータ ビジョンとパターン認識に関する会議(CVPR)で HOG 記述子に関する補足的な研究を発表したときでした。この研究では、静止画像での歩行者検出に焦点を当てていましたが、その後、テストを拡張してビデオでの人間の検出や、静止画像でのさまざまな一般的な動物や乗り物も検出するようになりました。
方向勾配ヒストグラム記述子の基本的な考え方は、画像内の局所的な物体の外観や形状は、輝度勾配またはエッジ方向の分布によって記述できるというものです。画像はセルと呼ばれる小さな連結領域に分割され、各セル内のピクセルについて、勾配方向のヒストグラムが作成されます。記述子は、これらのヒストグラムを連結したものです。精度を向上させるために、局所ヒストグラムは、ブロックと呼ばれる画像のより大きな領域全体の輝度値を計算し、その値を使用してブロック内のすべてのセルを正規化することで、コントラスト正規化できます。この正規化により、照明や影の変化に対する不変性が向上します。
HOG記述子は、他の記述子に比べていくつかの重要な利点があります。局所セルで動作するため、オブジェクトの向きを除いて、幾何学的および測光的変換に対して不変です。このような変化は、より大きな空間領域でのみ発生します。さらに、DalalとTriggsが発見したように、粗い空間サンプリング、細かい方向サンプリング、および強力な局所測光正規化により、歩行者がほぼ直立姿勢を維持している限り、歩行者の個々の身体の動きを無視することができます。したがって、HOG記述子は、画像中の人物検出に特に適しています。[ 3 ]
画像前処理における多くの特徴検出器の計算の最初のステップは、正規化された色値とガンマ値を確保することです。しかし、DalalとTriggsが指摘するように、HOG記述子の計算では、このステップは省略できます。なぜなら、その後の記述子の正規化によって実質的に同じ結果が得られるからです。したがって、画像前処理はパフォーマンスにほとんど影響を与えません。代わりに、計算の最初のステップは勾配値の計算です。最も一般的な方法は、水平方向と垂直方向の一方または両方に、1次元中心点離散微分マスクを適用することです。具体的には、この方法では、次のフィルタカーネルを使用して画像の色データまたは強度データをフィルタリングする必要があります。
DalalとTriggsは、3x3 Sobelマスクや対角マスクなど、より複雑なマスクもテストしたが、これらのマスクは一般的に画像中の人間の検出において性能が劣っていた。彼らはまた、微分マスクを適用する前にガウス平滑化を試みたが、同様に平滑化を省略した方が実際には性能が良いことがわかった。[ 4 ]
計算の 2 番目のステップは、セル ヒストグラムを作成することです。セル内の各ピクセルは、勾配計算で見つかった値に基づいて、方向ベースのヒストグラム ビンに対して重み付き投票を行います。セル自体は長方形または放射状のいずれかの形状で、ヒストグラム チャネルは、勾配が「符号なし」か「符号付き」かに応じて、0 ~ 180 度または 0 ~ 360 度に均等に分布します。Dalal と Triggs は、9 つのヒストグラム チャネルと組み合わせて使用される符号なし勾配が、人間の検出実験で最高のパフォーマンスを発揮することを発見しましたが、符号付き勾配は、車やバイクなどの他のオブジェクト クラスの認識を大幅に改善することにつながると指摘しました。投票の重みに関しては、ピクセルの寄与は、勾配の大きさ自体、または大きさの何らかの関数のいずれかになります。テストでは、勾配の大きさ自体が一般的に最良の結果をもたらします。投票の重みの他のオプションには、勾配の大きさの平方根または二乗、または大きさのクリップ バージョンが含まれます。[ 5 ]
照明とコントラストの変化を考慮するため、勾配強度を局所的に正規化する必要があり、そのためにはセルをまとめてより大きな空間的に接続されたブロックにする必要があります。HOG 記述子は、すべてのブロック領域からの正規化されたセル ヒストグラムのコンポーネントを連結したベクトルです。これらのブロックは通常重なり合っており、各セルが最終的な記述子に複数回寄与します。ブロックの形状は主に 2 つあります。長方形の R-HOG ブロックと円形の C-HOG ブロックです。R-HOG ブロックは一般的に正方形のグリッドで、ブロックあたりのセル数、セルあたりのピクセル数、セル ヒストグラムあたりのチャネル数の 3 つのパラメータで表されます。Dalal と Triggs の人体検出実験では、最適なパラメータは、ブロックあたり 4 つの 8x8 ピクセルのセル (ブロックあたり 16x16 ピクセル) と 9 つのヒストグラム チャネルであることがわかりました。さらに、ブロックの端のピクセルの重みを減らすために、ヒストグラムの投票を集計する前に各ブロック内にガウス空間ウィンドウを適用することで、パフォーマンスがわずかに向上することがわかりました。 R-HOGブロックは、スケール不変特徴変換(SIFT)記述子と非常によく似ています。しかし、その構成は似ているものの、R-HOGブロックは方向合わせを行わずに、ある単一スケールの密なグリッドで計算されるのに対し、SIFT記述子は通常、疎なスケール不変のキー画像ポイントで計算され、方向を合わせるために回転されます。さらに、R-HOGブロックは空間形状情報を符号化するために併用されるのに対し、SIFT記述子は単独で使用されます。
円形 HOG ブロック (C-HOG) には、単一の中央セルを持つものと、角度で分割された中央セルを持つものの 2 つのバリアントがあります。さらに、これらの C-HOG ブロックは、角度および半径方向のビンの数、中央ビンの半径、および追加の半径方向ビンの半径の拡張係数という 4 つのパラメータで記述できます。Dalal と Triggs は、2 つの主要なバリアントが同等のパフォーマンスを提供し、半径方向のビンが 4 つ、中央半径が 4 ピクセル、拡張係数が 2 の場合に実験で最高のパフォーマンスが得られることを発見しました (良好なパフォーマンスを実現するには、最後にこの構成を使用してください)。また、ガウス重み付けは、C-HOG ブロックと組み合わせて使用しても利点はありませんでした。C-HOG ブロックは形状コンテキスト記述子に似ていますが、C-HOG ブロックには複数の方向チャネルを持つセルが含まれているのに対し、形状コンテキストは定式化で単一のエッジ存在カウントのみを使用するという点で大きく異なります。[ 6 ]
ダラルとトリッグスは、ブロック正規化のための4つの異なる方法を検討した。は、与えられたブロック内のすべてのヒストグラムを含む非正規化ベクトルとする。をそのkノルムとする。そしては小さな定数(正確な値は重要ではないはずです)とします。すると、正規化係数は次のいずれかになります。
DalalとTriggsの実験では、L2-hys、L2-norm、L1-sqrtスキームは同様のパフォーマンスを示し、L1-normはやや信頼性が低いパフォーマンスを示したが、4つの方法すべてが非正規化データに比べて非常に大きな改善を示した。[ 8 ]
HOG記述子は、機械学習アルゴリズムに特徴量として提供することで、物体認識に使用できます。DalalとTriggsは、サポートベクターマシン(SVM)の特徴量としてHOG記述子を使用しました[ 9 ] 。ただし、HOG記述子は特定の機械学習アルゴリズムに結び付けられていません。
DalalとTriggsは、当初の人体検出実験において、R-HOGとC-HOG記述子ブロックを、一般化Haarウェーブレット、PCA-SIFT記述子、および形状コンテキスト記述子と比較した。一般化Haarウェーブレットは方向付けされたHaarウェーブレットであり、2001年にMohan、Papageorgiou、およびPoggioが自身の物体検出実験で使用した。PCA-SIFT記述子はSIFT記述子に似ているが、正規化された勾配パッチに主成分分析が適用される点で異なる。PCA-SIFT記述子は2004年にKeとSukthankarによって初めて使用され、通常のSIFT記述子よりも優れていると主張された。最後に、形状コンテキストはC-HOGブロックで使用されるものと同様の円形ビンを使用するが、エッジの存在に基づいてのみ投票を集計し、方向に関しては区別しない。形状コンテキストは、2001年にBelongie、Malik、およびPuzichaによって初めて使用された。
テストは2つの異なるデータセットで開始されました。マサチューセッツ工科大学(MIT)の歩行者データベースには、市街地の歩行者のトレーニング画像509枚とテスト画像200枚が含まれています。このセットには、人物の正面または背面を写した画像のみが含まれており、人物のポーズのバリエーションはほとんどありません。このセットはよく知られており、2000年にPapageorgiouとPoggioが行った実験など、さまざまな人物検出実験で使用されています。MITデータベースは現在、https://web.archive.org/web/20041118152354/http://cbcl.mit.edu/cbcl/software-datasets/PedestrianData.htmlで研究用に利用可能です。2番目のセットは、HOG記述子がMITセットでほぼ完璧に機能したため、DalalとTriggsが人物検出実験専用に開発したものです。INRIAとして知られるこのセットには、個人の写真から撮影された1805枚の人物画像が含まれています。このデータセットには、様々なポーズをとった人間の画像が含まれており、群衆シーンなどの複雑な背景も含まれているため、MITのデータセットよりも複雑です。INRIAデータベースは現在、http://lear.inrialpes.fr/dataで研究に利用できます。
上記のサイトには、INRIAの人体検出データベースからの例を示す画像が掲載されています。
結果に関しては、C-HOG および R-HOG ブロック記述子は同等の性能を示し、C-HOG 記述子は、両方のデータセットで固定された偽陽性率において検出ミス率でわずかに優位性を維持しました。MIT セットでは、C-HOG および R-HOG 記述子は、10 − 4 の偽陽性率で実質的にゼロの検出ミス率を示しました。INRIA セットでは、C-HOG および R-HOG 記述子は、10 − 4の偽陽性率で約 0.1 の検出ミス率を示しました。一般化 Haar ウェーブレットは、次に高い性能を示すアプローチです。MIT セットでは、10 − 4 の偽陽性率で約 0.01 のミス率を示し、INRIA セットでは約 0.3 のミス率を示しました。PCA-SIFT 記述子と形状コンテキスト記述子は、両方のデータセットでかなり低い性能を示しました。どちらの方法も、MITデータセットでは10⁻⁴の偽陽性率で0.1の見逃し率を示し、INRIAデータセットでは10⁻⁴の偽陽性率でほぼ0.5の見逃し率を示した。
Pascal Visual Object Classes 2006 ワークショップの一環として、Dalal と Triggs は、ヒストグラム方向勾配記述子を、自動車、バス、自転車などの人間以外の画像オブジェクト、および犬、猫、牛などの一般的な動物に適用した結果を発表しました。彼らは、それぞれのケースにおけるブロック構成と正規化の最適なパラメータを結果に含めました。以下の参考文献の画像は、オートバイの検出例の一部を示しています。[ 10 ]
2006年の欧州コンピュータビジョン会議(ECCV)の一環として、DalalとTriggsはCordelia Schmidと協力し、HOG検出器を映画やビデオにおける人物検出の問題に適用しました。彼らは、個々のビデオフレーム上のHOG記述子と、新たに導入した連続するビデオフレームのペア上の内部モーションヒストグラム(IMH)を組み合わせました。これらの内部モーションヒストグラムは、連続する2つのフレームから得られたオプティカルフローフィールドからの勾配の大きさを使用します。これらの勾配の大きさは、HOG記述子アプローチ内で静止画像データから生成されたものと同じ方法で使用されます。複数の映画から取得した2つの大規模データセットでテストしたところ、HOG-IMHを組み合わせた方法は、約0.1のミス率を達成しました。偽陽性率。[ 11 ]
2006年のインテリジェントビークルシンポジウムで、 F. Suard、A. Rakotomamonjy、およびA. Bensrhairは、 HOG記述子に基づく歩行者検出のための完全なシステムを発表しました。彼らのシステムは2台の赤外線カメラを使用して動作します。赤外線画像では人間は周囲よりも明るく見えるため、システムはまず、人間が存在する可能性のある広い視野内の関心位置を特定します。次に、サポートベクターマシン分類器が、これらのより小さな関心位置から取得したHOG記述子に対して動作し、歩行者の存在に関する決定を形成します。歩行者が視野内に特定されると、ステレオビジョンを使用して歩行者の実際の位置が推定されます。[ 12 ]
2006年のIEEEコンピュータビジョンおよびパターン認識会議で、 Qiang Zhu、Shai Avidan、Mei-Chen Yeh、Kwang-Ting Chengは、 HOG記述子法を使用して人物検出を大幅に高速化するアルゴリズムを発表しました。彼らの方法は、HOG記述子と、顔検出に通常大きな成功を収めているカスケード分類器アルゴリズムを組み合わせて使用します。また、均一なサイズのブロックに依存するのではなく、サイズ、位置、アスペクト比が異なるブロックを導入します。人物検出に最適なブロックを分離するために、AdaBoostアルゴリズムを適用して、カスケードに含めるブロックを選択します。実験では、彼らのアルゴリズムはオリジナルのDalalとTriggsのアルゴリズムと同等の性能を達成しましたが、最大70倍高速に動作しました。2006年、三菱電機研究所は、出願番号20070237387でこのアルゴリズムの米国特許を出願しました。[ 13 ]
2010 年のIEEE International Conference on Image Processingで、 Rui Hu、Mark Banard、John Collomosse は、スケッチベースの画像検索 (SBIR) で使用するために HOG 記述子を拡張しました。ラプラシアン平滑化制約の下でCanny エッジ検出器の支配的な応答から密な方向フィールドが外挿され、このフィールド上で HOG が計算されました。結果として得られた勾配フィールド HOG (GF-HOG) 記述子は、スケッチまたは画像エッジマップの局所的な空間構造を捉えました。これにより、記述子をフリーハンドのスケッチ形状で検索可能なコンテンツベースの画像検索システムで使用できるようになりました。 [ 14 ] GF-HOG 適応は、SBIR タスクでSIFT、SURF 、HOG などの既存の勾配ヒストグラム記述子よりも約 15 パーセント優れていることが示されました。 [ 15 ]
2010年、Martin Krückhansは3D点群用のHOG記述子の改良版を発表しました。[ 16 ]彼は画像勾配の代わりに、点(ピクセル)と平面間の距離、いわゆる残差を使用して点群内の局所領域を特徴付けました。彼の方向付き残差ヒストグラム記述子(HOR)は、3D点群の物体検出タスクで成功裏に使用されました。[ 17 ]