人々の歩き方でデジタル署名を生成する

May 09 2022
機械学習でサイバーセキュリティを改善する革新的な試み
2018年の初めに、人間の手のひらや指のさまざまなポイントのランドマーク検出の有用性を予測し、ランドマーク検出の上に構築して、機械学習を使用して手からさまざまな信号を理解する方法を説明しました。それ以来、この便利なアイデアを活用して、主に静的なスナップショットを介して手の姿勢によって行われるジェスチャを理解する複数の製品を目撃してきました。
マット・クインによる写真、Unsplash

2018年の初めに、人間の手のひらや指のさまざまなポイントのランドマーク検出の有用性を予測し、ランドマーク検出の上に構築して、機械学習を使用して手からさまざまな信号を理解する方法を説明しました。それ以来、この便利なアイデアを活用して、主に静的なスナップショットを介して手の姿勢によって行われるジェスチャを理解する複数の製品を目撃してきました。本日の記事では、一歩先を行き、短いビデオで人体のより多くのランドマークを利用した歩行検出を通じて人を認識するというより大きな問題に焦点を当てたいと思います。このようなタイプのアプリケーションは、人間のランドマークの検出とより高速な処理の継続的な進歩により、中心的なステージになると信じています。

なぜ歩行検出が重要なのですか?

Covid-19のパンデミックが世界を襲ったとき、人々は顔を覆うマスクを着用しなければなりませんでした。突然、多くの顔認識モデルは、額と目から来る限られたランドマークポイントのセットだけで決定を下さなければなりませんでした。一晩で、顔認識によって生成されたデジタル署名は機能しなくなりました。また、3Dプリンターの登場により、犯罪者はターゲットになりすますための顔を生成しています。さらに悪いことに、今日、簡単に入手できるDeepfakeモデルは、標的の犠牲者が言っているいくつかの発言を聴衆に納得させるのに十分です。

今日最も求められているテクノロジーのこれらすべての抜け穴と欠点は、新しいテクノロジーの探求を必要とします。自分の歩き方でデジタル署名を生成することは、有望なスタートとなるでしょう。

人間のランドマーク検出モデル

歩行検出モデルを最初から開発することは、非常に興味深く楽しい演習になる可能性がありますが、膨大な量のデータ、大量の計算能力、および多くの人がアクセスできない時間を必要とします。したがって、私たちはすでに行われたいくつかの良い仕事の上に構築しようとします。機械学習アプリケーションの開発者であるため、研究分野で行われているすべての開発を認識することは非常に重要です。ディープラーニングモデルを通じて人体のさまざまなランドマークを認識するために行われる作業は、私たちのアーキテクチャの基本的なコンポーネントを形成します。

TensorFlow Hubは、多くの学習済みモデルを提供しますそれは人体のランドマークを検出するのに役立ちます。これらのモデルを微調整するのではなく、これらのモデルを介して推論のみを実行することに関心があるため、モデルの精度を少しトレードすることでTensorFlow Liteバージョンに切り替えることで、レイテンシを改善することもできます。私たちの実験では、TensorFlowハブに存在するMoveNetモデルのThunderバリアントのTensorFlowLiteバージョンを選択します。MoveNetモデルは、各キーポイントでの信頼スコアとともに17のXY座標を提供します。

ランドマークのキーポイント(画像ソース:TensorFlow)

データの種類

人間のランドマーク検出モデルが完成したので、次のステップはデータに焦点を当てることです。個人の歩行の一種のデジタル署名を作成するアプリケーションの構築を目標としているため、個人のデータが多くない可能性があります。実際のシナリオでは、作業する必要のあるビデオ録画を最大6〜10秒取得できる場合があります。私たちの目的は、金融機関が顧客の最大1つまたは2つの標本署名を収集でき、後者が顧客に新しいアカウントを開設するということと非常に似ています。

問題の設定をさらに深く掘り下げて、ビデオのすべてのフレームでポーズ推定モデルを実行し、以下に示すように、画像内のランドマーク位置の時系列データを生成します。

左:入力ビデオ、中央:検出、右:キーポイント(作成者によるGIF)

ここで、わずか10秒の記録で個人の歩行パターンをどのようにプロファイリングするのかという自然な疑問が生じます。データは機械学習や深層学習モデルよりもはるかに優れているため、これはギャップを埋める必要がある重要な場所です。考えられる限り多くのパターンを模倣しようとします。

データ拡張

データ拡張は、すでに利用可能なデータの不足を補うために人工的なデータセットを作成する手法です。新しく生成されたデータは、既存のデータのパターンの欠落部分をシミュレートするため、トレーニング中のMLモデルの学習手順が容易になります。このトピックについては、画像のデータ拡張を特に対象とした前回の記事で詳しく説明しました。

私たちが解決しようとしている問題では、データ量が少ないことに加えて、個人が参照ビデオとは異なって歩いている可能性があるという事実を意識する必要があり、個人が常に同じスタイルを維持することを期待するのは非論理的です。歩行スタイルの変化にもかかわらず、概して、彼/彼女の体の部分の動きと調整の全体的なダイナミクスは、しばらくの間(たとえば過去数年間)かなり類似したままであるはずです。ただし、状況によって歩行の欠落部分が異なり、それによって異なるスタイルが生成される場合は、データ拡張によってそれを補足します。

a)早歩き:
参照ビデオの撮影中の個人は他に何も気にしないかもしれませんが、確かに実際の生活では、彼/彼女は急いでいるかもしれません。人が速く歩いているとき、フレーム間のポイントからポイントへの移行はスムーズで連続的ではありません。ビデオでこのような状況をシミュレートするために、一定の間隔で数フレームをランダムにスキップできます。

早歩き(作者によるGIF)

b)ゆっくり歩く:
速く歩くのと同じように、人は怪我をしたか、時間の余裕があり、ゆっくり歩いている可能性があります。ゆっくり歩く状態をシミュレートするには、既存のフレームの間にフレームを挿入する必要があります。この遅いビデオのランドマークは、人の動きが連続しているように見え、一定のfpsレートでビデオのフレーム数が増えると人の歩行が遅くなるように、近くのフレームから補間する必要があります。

ゆっくり歩く(作者によるGIF)

c)停滞した手:
多くの場合、歩行中、片手または両手でバッグを持っている可能性があります。このような状況では、バッグを持っている手はあまり動かず、狭い範囲で振動します。選択した手の手首、肘、肩に対応するランドマークを狭い範囲で動かして、このような状態をシミュレートします。

左:左手が停滞、中:右手が停滞、右:両手が停滞(作者によるGIF)

d)上部姿勢のみ:
ターゲットの動きを記録しているカメラが、より高い高度に設置されているか、被写体の上部姿勢のみをキャプチャできるように奇妙な位置に角度が付けられている場合があります。人物のランドマークを下に移動して、そのような状態をシミュレートする必要があります。そうすることで、自然に上部の姿勢だけが見えるようになります。

上部の姿勢が表示されます(作成者によるGIF)

e)ランダムノイズ:
ターゲットの動きを記録するカメラのもう1つの問題は、ターゲットが古くなり、フレームがグリッチしていることである可能性があります。また、被写体の照明条件が適切でない場合もあります。このような状況では、一部のランドマークがランダムに消えたり、ポーズ推定モデルが非常に低い信頼度の予測を行ったりする場合があります。このタイプの拡張は、他の拡張よりも少し正則化効果を追加して、モデルの過剰適合を防ぎます。

グリッチキーポイント(作成者によるGIF)

f)一時停止して歩く:
携帯電話を見たり、その他の活動をしたりするために、一時停止しなければならない場合があります。このような状況では、脚は停滞したままですが、手などの体の他の部分や頭が少し動く場合があります。

途中で立ち止まって歩く(作者によるGIF)

g)左右に歩く:
これまでのところ、すべてのビデオで、被写体がカメラの真正面を直線で歩くと想定しています。ただし、被写体はランダムに左右に動く場合があります。

左:右に移動、右:左に移動(作成者によるGIF)

h)混合
の組み合わせ:被験者は、録音が短くても、通常のスタイルから1つの方法で変更する必要はありません。その結果、上記の2つ以上の条件を組み合わせて、混合スタイルをシリアルまたはパラレルでシミュレートする必要があります。

i)より多くの選択肢を考える:
私たちのモデルは、トレーニングを受けている間に見ることができる多様なデータの量と同じくらい良いものになります。上記の一連の代替歩行スタイルはデータセットにさまざまなものを追加しますが、より多くのデータ拡張を提供するために考えられるシナリオのタイプに厳しい制限はありません。

建築モデル

分類モデルを構築することは、主題を直接分類し、各主題を1つのクラスとして作成するのに面白そうに聞こえるかもしれません。しかし、このアプローチには大きな落とし穴があります。このソリューションを数千にスケーリングすることを考えており、分類器のアプローチにより、大きな密行列(最終層)が生成されます。さらに重要なことに、これまでに行ったすべてのデータ拡張にもかかわらず、各クラスの表現学習を通じて適切な境界を作成できるデータがまだ実際にはありません。

上記の問題に対処するために、ワンショット学習を活用します。ワンショット学習により、トレーニングの一部に含めなくても、新しい人々のビデオをその場で評価できるようになります。ワンショット学習では、類似度関数を使用して、2つのエンティティが互いにどのように類似しているかを比較します。

私たちのアーキテクチャには、シャムネットワークが含まれます。データは時系列ベースであるため、シャムネットワーク内でリカレントニューラルネットワーク(GRUまたはLSTM)を使用します。1つの参照ビデオのランドマーク位置の時系列データとテストビデオのランドマーク位置の時系列データをシャムネットワークに渡します。次に、個々の潜在的な表現は、同じ人物に属するかどうかに基づいてスコアを最大化または最小化するために、密なレイヤーを通過します。

高レベルのアーキテクチャ(作成者による画像)

結果

私たちの実験では、歩いている人のビデオを撮影してデータを収集しました。オープンソースのデータセットに存在する、自由に利用できる歩行者のビデオもトリミングしました。また、ビデオの所有者がリソースを調査に使用することを許可したビデオもいくつか収集しました。

これは、トレーニング済みモデルにフィードされたテストビデオの1つでの推論結果です。対象の参照ビデオとの類似度スコアは、括弧内に表示されます。モデルは、すべての誤った参照ビデオで0.5未満の類似性スコアを示しました

左:入力ビデオのテスト、中央:検出、右:類似度スコアの結果(作成者によるGIF)

このアプローチは最高ですか?

いいえ、まったくありません。この実験の全体的な目的は、新しいタイプのデジタル署名を生成することでした。セキュリティの強化を目的とした革新的な技術が進歩するたびに、偽造者は常にそれを回避する方法を見つけるでしょう。現在、 vid2vidの助けを借りて、犠牲者の歩き方をコピーした偽のビデオを生成することができます。それでも、顔認識と組み合わせた歩行分析は、人のデジタル署名を生成するための優れたメカニズムになります。ただし、この実験で示した単純な方法は、物事を前進させるための優れたベースラインモデルを形成できると考えています。

結論

この記事では、既存のソリューションの上に構築する方法を学びました。トップオブポーズ推定ソリューションを活用して、シャムネットワークとデータ拡張を利用して歩行の多くの可能なシナリオをシミュレートすることにより、歩行検出を調整しました。この記事では、機械学習ソリューションを再設計して他のユースケースを解決する方法を示しました。

コード

この実験で使用されたコードを確認したい場合は、このGitHubリポジトリで確認できます。

また、ガウス混合モデルの説明と期待値最大化のアルゴリズムに関する以前の記事を調べることもできます。

© Copyright 2021 - 2022 | hachiwiki.com | All Rights Reserved