AdaBoost.SAMME
画像から HOG 特徴を抽出して、分類器 (特に、scikit-learn: multiclass Adaboost in scikit-learn ensembleを使用)に通すことができるようにしたいと考えています。
そのためには、画像を配列のようなものに変換する必要がありますshape = [n_samples, n_features]
しかし、画像から HOG 特徴を抽出した出力は 1D 配列です。これは私のコードの関連部分です:
tree = io.imread('C:\\Users\\app\\Pictures\\treephoto1.jpg')
type(tree)
print tree.shape, tree.dtype
graytree = color.rgb2gray(tree)
ge = filter.canny(graytree)
fd, hog_image = hog(ge, orientations=8, pixels_per_cell=(16, 16),
cells_per_block=(1, 1), visualise=True)
を確認するfd
と、次のような配列です。
最初の 9 行を取り、これがhog
関数からの完全な出力であり、HOG 特徴を取得したこの画像がトレーニング データセットの最初の画像であると仮定します。
次に、1000 のトレーニング画像があるとすると、この HOG 情報はどのように表されX = [n_samples, n_features]
ますか?
X
以下の行は、分類器への入力として使用できる最初の行になりますか?
[1, [0.162, 0.168, 0.250, 0.114, 0.106, 0.044, 0.035, 0.059, 0.200, 0.149]]
この HOG 値の行全体が 1 つの特徴と見なされますか? それともこれは間違っていますか?私が理解していることから、トレーニング サンプルは次の形式に準拠する必要があります。
[sample_index, feature_1, feature_2, feature_3, ..., feature_x]