ディープラーニングによる多人数歩行認識システム「歩容取得・認識インテリジェントオールインワンマシン」

序文 

この記事では、多人数歩行認識を実現するための        より科学的と思われる方法のみを提供します. 多人数歩行認識に興味はあるが、その実装方法がわからない場合は、この記事が大いに役立ちます. 次の方法は著者によってテストされており、実行可能な解決策です。(トレーニングセット124名、正解率96%、テストセットサイズ14名、正解率100%)


ディープラーニングによる多人数歩行認識システム(標準構成:YOLOV5+DeepSort+GaitSet+Segmentation)

技術リスト:

Yolov5+ディープソート

セグメンテーション/背景減算

歩容セット

基本的:

損失関数 (トリプレット損失関数 Triplet Loss):

シルエット図: 

 歩行特性:

形状ハイブリッド歩行認識:

転移学習:

【出力】:

 CASIA-B データセット:


テクニカルリスト

標準構成:

  •         ターゲット検出アルゴリズム: Yolov5 (改善可能)
  •         ターゲット追跡アルゴリズム: DeepSort (改善可能)
  •         セグメンテーション アルゴリズム: セグメンテーション/背景減算 (改善可能)
  •         歩行認識アルゴリズム:GaitSet(2022年最適化)
  •         テストデータセット: CASIA-B (大きすぎるため、実験には CASIA-A を使用することをお勧めします)

1. Yolov5+DeepSortでターゲットの位置追跡を実現


         対象検出にはyolov5、DeepSortはカルマンフィルターハンガリーアルゴリズムを使用し、対象検出で得られたbboxを入力として歩行者追跡を実現しています。個々の歩行者に一意の ID を付与します。このようにして、写真の次のフレームのどの人物が前のフレームの人物であるか、またはこのフレームの人物が次のフレームでどの位置に移動するかを識別することができます。

歩行者追跡 onnx 完成品


2.セグメンテーション・背景差分法による歩容等高線図抽出を実現


         このメソッドは、GaitSet で導入されたシルエット画像を取得するために使用されます。


3.歩行認識を実現するGaitSet


基本的:

           この歩行認識システムは、主に GaitSet モデルに基づいて実装されています。

 はじめに: Gaitset は、画像分類ネットワークとはまったく異なる一般化の機能を備えています. Gaitset は、トレーニング セット内の人の歩行特徴を学習するのではなく、歩行特徴を抽出する能力、つまり、どのように区別するかを学習します.プローブに最も近いデータを見つけるための人のグループ (データベース)。そのため、使用中のデータベースはいつでも変更でき、再度トレーニングする必要はありません。

損失関数 (トリプレット損失関数 Triplet Loss):

   同じ ID を持つアンカーと陽性サンプル間の距離を最小限に抑え、異なる ID を持つアンカーと陰性サンプル間の距離を最小限に抑えます。

(トリプレット ロスの目標: トリプレット ロスの目標は、同じラベルのフィーチャを空間位置でできるだけ近づけることですが、異なるラベルのフィーチャは空間でできるだけ遠くに配置すると同時に、サンプルの特徴を非常に小さなスペースに集約しないようにするために、同じクラスの 2 つの正の例と 1 つの負の例について、負の例は少なくとも正の例よりも遠く離れている必要があります)

シルエット図: 

人物が写っている 64*64ピクセルの     各画像をクロップし、cv2 画像処理を実行して、人物の輪郭のみを含む白黒のシルエット画像に処理します. この作品は、画像の顕著性処理とセマンティック セグメンテーションの単純化されたバージョンです.

      深層学習の推奨方法: セマンティック セグメンテーション:

      機械学習によるレコメンド手法:バックグラウンド減算

 歩行特性:

           非連続的で無関係です。つまり、人の歩行画像 30 枚のうち 5 枚が代表としてランダムに選択され、隠れているエラーやシルエット画像が正しくトリミングされていないことを排除します。

 

形状ハイブリッド歩行認識:

        歩行認識は、AはAの集合、BはBの集合、などの入力シーケンスなど、データセットを分類する必要がありますが、これはYOLOV5部分を介してカメラ(ビデオ)によって読み取られた文字情報と矛盾し、実際には、読み取られる情報は最初のフレーム: A、B、C です。2 番目のフレーム: A、B、C、... まず、A: B、B: A、C: C のように、各フレームの A、B、C、および ABC の 3 つの画像間の対応関係を決定する必要があります (順番に対応しているとは限りません)そして、各コマに登場するA、B、Cなどを分類し、A人のコレクション、B人のコレクション、C人のコレクションなど、それぞれに対応するコレクションを取得します。各人物のコレクションのサイズが 10 より大きい、つまり、各人物が 10 枚を超える写真を持った後、それらは Gaitset ネットワークに入れられ、人物画像辞書が人物特徴ベクトル辞書になります。 . 最初に目標を取得しますキャラクターの歩容の固有ベクトルは他の全員との余弦類似度によって計算されます.最後に最も重要な類似度は目標キャラクターの歩容による歩行テストです.固有ベクトルの類似度は高く、それは.またフレーム数が増えるほどリアルタイム系で最も安定する. ここでは仮説検定と 3sigma の原理を利用する. つまり, 他人と対象者の類似度を計算した後に類似度 μ+3sigma を求める. . 再登場する対象者の類似度は > μ+3sigma である必要があります)

      深層学習の推薦方法:マルチターゲット追跡アルゴリズムByteSort/DeepSort。

転移学習:

        使用するデータセットは CASIA-B で、これには 15004 個の歩行シーケンスが含まれており、歩行セット ネットワークでのトレーニングが完了した後、ネットワークによってトレーニングされたパラメーターが転移学習の初期パラメーターとして使用され、微調整されます。          

   


 CASIA-B データセット


         CASIA-B はより古典的な歩行認識データ セット (2006 年) で、124 のターゲット (被験者) が含まれ、各ターゲットには 3 つの歩行状況と 11 の角度があります。3 つの歩行状況とは、「通常 (NM)」、「カバンを持って歩く (BG)」、「コートやジャケットを着ている (CL)」の 3 つの状況を指し、各ターゲットには 6 つの NM シーケンス、2 つの BG シーケンス、および 2 つの CL シーケンスがあります。 . 11 の角度は、0°、18°、...、180°を表します。したがって、これらの 124 個のターゲットのそれぞれに、11×(6+2+2)=110 のシーケンスがあります。私の観察によると、各シーケンスの長さは可変で、通常は 80 ~ 100 フレームです。

おすすめ

転載: blog.csdn.net/qq_51831335/article/details/126577572