Haar様特徴記述子#

Haar様特徴は、リアルタイム顔検出器[1]で導入された単純なデジタル画像特徴です。 これらの特徴は、積分画像[1]を用いて、あらゆるスケールで一定時間で効率的に計算できます。 その後、この膨大な数の潜在的な特徴から、少数の重要な特徴が選択されます(例:[1]のようにAdaBoost学習アルゴリズムを使用)。 次の例は、この記述子ファミリーを構築するメカニズムを示しています。

参考文献#

import numpy as np
import matplotlib.pyplot as plt

from skimage.feature import haar_like_feature_coord
from skimage.feature import draw_haar_like_feature

Haar様特徴記述子の種類#

Haar様特徴記述子は、下の図に示すように、5つの異なる種類があります。 記述子の値は、緑と赤の領域の輝度値の合計の差に等しくなります。

images = [
    np.zeros((2, 2)),
    np.zeros((2, 2)),
    np.zeros((3, 3)),
    np.zeros((3, 3)),
    np.zeros((2, 2)),
]

feature_types = ['type-2-x', 'type-2-y', 'type-3-x', 'type-3-y', 'type-4']

fig, axs = plt.subplots(3, 2)
for ax, img, feat_t in zip(np.ravel(axs), images, feature_types):
    coord, _ = haar_like_feature_coord(img.shape[0], img.shape[1], feat_t)
    haar_feature = draw_haar_like_feature(
        img, 0, 0, img.shape[0], img.shape[1], coord, max_n_features=1, rng=0
    )
    ax.imshow(haar_feature)
    ax.set_title(feat_t)
    ax.set_xticks([])
    ax.set_yticks([])

fig.suptitle('The different Haar-like feature descriptors')
plt.axis('off')
plt.show()
The different Haar-like feature descriptors, type-2-x, type-2-y, type-3-x, type-3-y, type-4

記述子の値は、緑色の矩形と赤色の矩形の輝度値の合計の差に等しくなります。赤い領域は、緑色のピクセル強度の合計から差し引かれます。 実際には、Haar様特徴は画像のすべての可能な場所に配置され、これらの場所ごとに特徴値が計算されます。

スクリプトの合計実行時間:(0分0.170秒)

Sphinx-Galleryによって生成されたギャラリー