5

MATLABの "cars"や "Human"のようなオブジェクトのHOG記述子の実装があれば知りたいですか? オブジェクト検出のためのHOG記述子

しかし、場合

は、あなたがそのコードに私を案内して、コードを改善するために、ヒントはのために使用されるように、私を与えることができ、人間だけのためにそこにある。ここ

+0

こんにちはを表示するために、私はあなたが最初にGoogleしようとすることを提案したいが...とにかく、ここでは、入力(だけでなく、それは意志任意の画像を人間としてあなたがイメージを与えるMATLABコード用のリンクです長さ81の豚の特徴ベクトルを生成する)[HOG](http://www.mathworks.com/matlabcentral/fileexchange/28689-hog-descriptor-for-matlab) – G453

+0

@Sistuこのコードは説明なしで使用されています。人間の検出:( – Mario

+1

私の(非常に一般的な)私の理解は、この機能が提供された画像のHOG記述子を返すように設計されているということです。それらの記述子を使用します。foあなたのアプリケーション。だからあなたがそれを "車"に与えれば、あなたは "車"に使うことができる記述子を得るでしょう。 –

答えて

0

「自動車やオートバイなどのオブジェクト」 Dalalのアルゴリズムを完全に実装した優れたMatlabコードです。私は多くの主要な学術プロジェクトにこのコードをテストし、使用しました。

http://hi.baidu.com/fpmaldfoamdfmze/item/4f3b3ac881affcb00c0a7b11 すべてのクレジットは、この投稿者に帰属します。

HOGは、歩行者検出に特有ではありません。任意の剛性(またはほぼ剛性の)オブジェクトで使用できます。

このコードを使用するには、領域上でHOGがどのように計算されるかを理解する必要があります。領域は、重複する「ブロック」に分割されています。ブロックは複数の「セル」で構成されています。各ブロックで空間方向ヒストグラムが計算されます。最終ベクトルは、これらの空間ヒストグラムを連結することによって形成される。 調整可能なパラメータは、

cellpw、cellph:セルのピクセル幅と高さです。

nblockw、nblockh:ブロックサイズは、x方向およびy方向にそれぞれセル数でカウントされます。

nthet:角度ビン数。

をissigned:3Dヒストグラムのグローバルまたはローカル補間か

:フラクション

isglobalinterpolateとして指定されたブロック間の重なりの量:符号付きまたは符号なし勾配が

重複を取られているか否か

ノルムメソッド:ノルムの種類

デフォルトパラメータで試してみてください。

cellpw = 8; cellph = 8; nblockw = 2; ; nblockh = 2; nthet = 9; overlap = 0.5; isglobalinterpolate = 'localinterpolate'; issigned = 'unsigned'; normmethod = 'l2hys';機能を取得MATLABで

は次元が/ Fの長さは、あなたが選択したparamentersに依存

I = imread('car.png'); 
Ig = rgb2gray(I); 
F = hogcalculator(Ig, 8, 8, 2, 2, 9, 0.5,'localinterpolate', 'unsigned', 'l2hys'); 

のようなものです。

コメントの回答 はい、検出システムを構築するには、肯定的な(車)画像と否定的な(車以外の)画像用にこれらの機能を構築する必要があります。 SVMは通常、クラシファイアとして使用されます。

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

を、あなたのトレーニングセット、あなたのトレーニングセットで電車を構築したら - 私はLIBSVMライブラリを使用することをお勧め。最高の精度を得るためにSVMパラメータを微調整します。 この例で指定されたパラメータは最適ではない場合がありますが、いつでも別のセットを試すことができます。私はnthet、cellpwとcellphを最初に変更しようとします。 幸運を祈る!

2

コンピュータビジョンシステムツールボックスにextractHOGFeaturesという機能が追加されました。

1

HOGは一種の特徴記述子であり、どのようなオブジェクトにも適用できます。実装は、ブロックサイズ、セルサイズ、ブロックストライドなどのパラメータを除いて変更されません。車の記述子を取得するには、それらの正と負のサンプルを提供する必要があります。 Opencvは、ユーザがクラシファイアを訓練するための機能を提供します。それは分類器を訓練するためのコードを提供する場合は、MATLABのために同じである必要があります。

1

よく使用することができますVLFeat Toolbox、それは豚の非常にeffiecient implimentaionを持って、あなたはどのオブジェクトの豚の機能を見つけることができる、また、私は視覚化することができます。 "im.jpg"の入力画像の場合は、 hog = vl_hog("im.jpg",8,'verbose') を使用してHOG機能を取得できます。ここで8はウルウィンドウサイズであり、それに応じて調整できます。

機能 imhog = vl_hog('render',hog,'verbose')

関連する問題