人物を検出
各画像内の人物の位置を検出し、検出した顔を身体に関連付けて、その後の本人照合に使用します。
PersonAnalysis
画像内の人物を検出し、顔の特徴を優先して登録済みの人物と照合します。顔で照合できない場合は身体の再識別で補完します。Python SDKでローカル評価を始められます。
非商用の学術研究に限り利用できます。商用利用にはライセンスが必要です。
01登録済みの参照画像
02顔で一致
03身体で補完
主な機能
各画像内の人物の位置を検出し、検出した顔を身体に関連付けて、その後の本人照合に使用します。
顔の特徴を登録済みの参照画像と比較します。適切な顔の一致が得られた場合は、その結果を優先します。
顔で照合できない場合は、身体の外観を参照画像と比較します。服装、視点、遮蔽によって結果が変わることがあります。
本人照合の流れ
アプリケーション側で人物ラベルと参照画像を用意します。PersonAnalysisは検出結果を現在のインスタンス内の参照ギャラリーと比較します。
人物ラベル付きの参照画像をメモリ内のギャラリーに追加します。
画像に対してget()を実行し、match()で検出結果を登録済みの人物と比較します。
信頼できる顔の一致と明確な顔・身体の対応が得られた後、update()で身体の参照情報を追加します。
Cheetahモデルパック
2つの公開パックに人物検出、顔認識、身体の再識別が含まれます。どちらもCPUまたはCUDAによるローカル推論に対応します。
27.1 MBダウンロード容量
ローカル評価向けのコンパクトなパック。
pp_det_small_320.onnxreid_0265 · 256D211.5 MBダウンロード容量
より大きな人物検出モデルと顔認識モデルを採用。
pp_det_med.onnxreid_0265 · 256D両パックは256次元の身体特徴を出力するreid_0265を共有します。公開モデルの重みは非商用の学術研究に限り利用できます。商用利用には別途モデルライセンスが必要です。
ローカルでの組み込み
PersonAnalysisはPyPIのinsightface 2.1で利用できます。CPUまたはCUDAで推論し、結果をアプリケーション独自の本人情報管理や保存処理に接続できます。
python -m pip install --upgrade "insightface==2.1"セットアップガイドを読む多言語対応のデスクトップツールでも、ローカル動画、カメラ、RTSPストリームを扱えます。
Pythonクイックスタート
1import cv22from insightface.app import PersonAnalysis34with PersonAnalysis(name="cheetah_s") as app:5 registration = app.register("person_001", "reference.jpg")6 if registration.accepted == 0:7 raise ValueError(registration.rejected)89 image = cv2.imread("scene.jpg")10 if image is None:11 raise FileNotFoundError("scene.jpg")1213 matches = app.match(app.get(image))14 for result in matches:15 print(result.person_id, result.matched_by)継続的な追跡、匿名ID、過去のイベント記録は提供していません。
参照ギャラリーは現在のインスタンスのメモリ内に保存されます。人物情報の永続化はアプリケーション側で管理します。
身体の再識別は外観に依存するため、服装の変化、遮蔽、カメラの視点が照合に影響します。
PersonAnalysisは顔による本人照合に人物検出と身体の再識別を追加します。顔と身体を関連付け、登録した参照情報に対して顔の照合結果を優先します。
画像を解析して登録済みの人物と照合します。継続的な追跡、匿名の追跡ID、イベント履歴は現在の機能範囲に含まれません。
コードはMITライセンスです。公開Cheetahモデルの重みは非商用の学術研究に限り利用できます。商用利用には別途モデルライセンスが必要です。ライセンスと導入条件についてはお問い合わせください。
実際のカメラ角度、顔の見え方、着替え、遮蔽の条件で検出と照合を確認してください。代表的な入力で照合閾値を調整し、対象ハードウェアで処理速度を測定してください。