Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

detectPeopleACF

集約チャネル特徴 (ACF) を使用した人物の検出

detectPeopleACF は将来のリリースで削除される予定です。代わりに peopleDetectorACF を使用してください。

説明

bboxes = detectPeopleACF(I) は、入力イメージ I で検出された直立の人物の位置を含む行列 bboxes を返します。位置は境界ボックスとして表されます。関数は、集約チャネル特徴 (ACF) アルゴリズムを使用します。

[bboxes,scores] = detectPeopleACF(I) は、各境界ボックスの検出スコアも返します。

[___] = detectPeopleACF(I,roi) は、前の構文のいずれかを使用して、roi によって指定された四角形の探索領域内の人物を検出します。

[___] = detectPeopleACF(Name,Value) は、Name,Value ペアの引数を 1 つ以上指定したオプションを追加で使用します。指定していないプロパティは既定値になります。

コード生成のサポート:
コード生成のサポート: なし
MATLAB Function ブロックのサポート: なし
コード生成サポート、使用上の注意事項、および制限事項

すべて折りたたむ

イメージを読み取ります。

I = imread('visionteam1.jpg');

イメージ内の人物を検出して、結果を境界ボックスおよびスコアとして格納します。

[bboxes,scores] = detectPeopleACF(I);

イメージで検出された直立の人物に注釈を付けます。

I = insertObjectAnnotation(I,'rectangle',bboxes,scores);

注釈が付いた結果を表示します。

figure
imshow(I)
title('Detected people and detection scores')

Figure contains an axes object. The axes object with title Detected people and detection scores contains an object of type image.

入力引数

すべて折りたたむ

入力イメージ。トゥルーカラー イメージとして指定します。イメージは、実数で非スパースでなければなりません。

データ型: uint8 | uint16 | int16 | double | single

四角形の探索領域。4 要素のベクトル [x,y,width,height] として指定します。roi は、I に完全に含まれていなければなりません。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'Threshold',-1

ACF 分類モデル。'Model' と、'inria-100x41' または 'caltech-50x21' で構成されるコンマ区切りのペアとして指定します。'inria-100x41' モデルは、INRIA Person データセットを使用して学習されています。'caltech-50x21' モデルは、Caltech Pedestrian データセットを使用して学習されています。

オクターブあたりのスケール レベルの数。'NumScaleLevels' と整数で構成されるコンマ区切りのペアとして指定します。各オクターブは、イメージを 2 のべき乗でダウンスケーリングしたものです。より細かいスケールの増分で人物を検出するには、この数値を大きくします。推奨値は、[4, 8] の範囲にあります。

スライディング ウィンドウのウィンドウのストライド。'WindowStride' と整数で構成されるコンマ区切りのペアとして指定します。この値を x 方向と y 方向にウィンドウを移動する量に指定します。スライディング ウィンドウは、オブジェクトの検出用のイメージをスキャンします。関数は、x 方向と y 方向に同じストライドを使用します。

最も強い境界ボックスの選択。SelectStrongesttrue または false のいずれかで構成されるコンマ区切りペアとして指定します。多くの場合、プロセスは非最大抑制と呼ばれますが、スコアに基づいて境界ボックスの重複を除去します。このプロパティを true に設定して、関数 selectStrongestBbox を使用して最も強い境界ボックスを選択します。このプロパティを false に設定すると、カスタムの選択の操作が実行されます。このプロパティを false に設定すると検出された境界ボックスを返します。

ピクセル単位の最小領域サイズ。'MinSize' と 2 要素ベクトル [height width] で構成されるコンマ区切りのペアとして指定します。このプロパティを 'caltech-50x21' モデルの場合は [50 21] に、'inria-100x41' モデルの場合は [100 41] に設定します。人物を検出するためにこの値を既知の最小領域サイズに設定することで、計算時間を短縮できます。既定では、MinSize は選択された分類モデルの直立の人物を検出するのに可能な最小領域サイズに設定されます。

ピクセル単位の最大領域サイズ。'MaxSize' と 2 要素ベクトル [height width] で構成されるコンマ区切りのペアとして指定します。人物を検出するためにこの値を既知の領域サイズに設定することで、計算時間を短縮できます。この値を設定しないと、既定では、この関数はサイズ I を使用してイメージの高さと幅を決定します。

分類精度しきい値。'Threshold' と数値で構成されるコンマ区切りのペアとして指定します。一般的な値は、[–1, 1] の範囲にあります。マルチスケール オブジェクト検出中、しきい値は、人または人以外の分類精度と速度を制御します。このしきい値を増加させると、パフォーマンスが高速化しますが、正しい検出が失われる危険性があります。

出力引数

すべて折りたたむ

集約チャネル特徴 (ACF) アルゴリズムを使用して検出された人物の位置。M 行 4 列の行列として返されます。位置は境界ボックスとして表されます。bboxes の各行には、4 要素ベクトル [x,y,width,height] が含まれます。このベクトルは、検出された人物の境界ボックスの左上隅とサイズをピクセル単位で指定します。

検出の信頼度の値。M 行 1 列のベクトルとして返されます。ベクトルには、bboxes の各境界ボックスの値が含まれます。各検出のスコアは、ソフトカスケード分類器の出力です。許容されるスコア値の範囲は [-inf inf] です。スコア値が大きいほど、検出の信頼度が高いことを示します。

参照

[1] Dollar, P., R. Appel, S. Belongie, and P. Perona. "Fast feature pyramids for object detection." Pattern Analysis and Machine Intelligence, IEEE Transactions. Vol. 36, Issue 8, 2014, pp. 1532–1545.

[2] Dollar, C. Wojeck, B. Shiele, and P. Perona. "Pedestrian detection: An evaluation of the state of the art." Pattern Analysis and Machine Intelligence, IEEE Transactions.Vol. 34, Issue 4, 2012, pp. 743–761.

[3] Dollar, C., Wojeck, B. Shiele, and P. Perona. "Pedestrian detection: A benchmark." IEEE Conference on Computer Vision and Pattern Recognition. 2009.

バージョン履歴

R2016a で導入