Jiann

インスピレーション

世界は危険に満ちているため、安全という名のもとに私たちを壁や柵の向こう側に隔離して、文化交流の重要な機会を奪っています。統計的に犯罪率の高い場所では、これまで、この破壊的なパターンの後に職場での暴力が発生しています。ガソリンスタンド、アウトレットモール、雑貨店、運送会社では、安全を強化するために顧客と従業員の間に遮る柵を設けています。このような措置によって職場の安全は向上しましたが、コミュニティでは大きな犠牲が生じています。Jiaan を使用すると、従来の反応、職場の文化、コミュニティを良い方向に変えることができます。このインテリジェントなセキュリティシステムでは、脅威をリアルタイムで特定し、その脅威に対してアクションを実行できます。私の目標は、事件発生後に従業員が当局に通知する必要があるような暴力に長期にわたり遭遇する人を減らし、最終的にはゼロにすることです。

機能

Jiaan では、ライブフィードで物体を検出および分類し、累積脅威レベルを測定し、そのレベルに応じて設定済みの応答をトリガーします。このシステムでは、拳銃の存在が確認された結果として高い脅威レベルが検出された場合、通知をすぐに当局、治安当局、経営陣、オンサイトの従業員に送信できます。このシステムでは、暴力に遭う可能性がある人がいることを担当者または当局に通知するまでの時間を大幅に短縮すると同時に、脅威の通知を広めてオンサイトの認識を高めることができます。

作成者: Matthew Pettit

構築方法

暴力的なやり取りと暴力的でないやり取りの両方が描写された 2.6 GB の注釈付き画像に対して Single Shot MultiBox Object Detection を使用して、VGG16 縮小モデルから微調整されたモデルをトレーニングしました。このプロジェクトに関して満足のいく結果がモデルによって生成されるようになった時点で、インテルの DeepLearning ツールキットを使用してカスタムモデルを最適化し、DeepLens デバイスに移植しました。

Amazon の Lambda 関数のマイクロサービスは、Python で開発され、DeepLens デバイスからのライブフィードを事前に処理、解釈し、判断を下して、検出された物体の精度と物体の分類の計算によって導き出された脅威レベルを測定します。

課題

Jiaan の開発中に 3 つの大きな問題 (とおよそ 36 個の小さい問題) に直面しました。最初の課題は、1 つの画像内の複数の物体を正確かつ効率的に検出し、分類を予測するために最適なネットワークを特定することでした。このプロジェクトを構築する際の最初の試みでは、CNN の物体分類を使用しましたが、1 つの画像に含まれる 1 つ以上の脅威を正確に予測できませんでした。このため、大きな調査を行い、より包括的なモデルをこのプロジェクトのために構築し、Single Shot MultiBox Detection ネットワークを実装しました。

2 つ目の課題は、プロジェクトの固有のデータセットを使用してトレーニングサイクルを計画することでした。トレーニングでは、かなりの量の新しいアセットを取得し、それらのアセットに注釈を付け、そのアセットを使用してモデルをトレーニングする必要がありました。100 時間以上費やしてかなりの量のデータセットを手作業で集め、注釈を付けました。アセットを使用したモデルのトレーニングには 500 時間以上かかりました。これは、費用をかけて軽減する必要がありました。

インテルのモデルオプティマイザーと推論エンジンに関する問題に対処するために多くの時間を費やしました。それがなければ、機能強化に時間を費やすことができました。最後の週のほとんどは、インテルのフレームワークのリバースエンジニアリング、オプティマイザーのバグの修正、DeepLens デバイスのフラッシュに時間を費やしました。ただし、今回の経験は良い学習の機会になりました。今では、インテルの深層学習ツールセットについて深く理解しています。

成果

  • 機能する SSD r-CNN ベースのモデルを構築したこと
  • 知識の幅が広がり、これまでの経験が OpenCV と Numpy のみであっても、MXNet や SageMaker の API について学習できたこと
  • 基盤となる Greengrass、DeepLens、SageMaker の技術について深く理解したこと
  • 1,000 個の画像に注釈を付ける際に尋常でない忍耐力を身に付けたこと

学んだこと

DeepLens によって動作するインテリジェントなアプリケーション、つまり、ML プロジェクトを構築することは、開発タスクでもありますが、プロジェクト管理タスクでもあります。リソースのキャパシティーに影響する多数の変わりやすい要素があり、その結果、予想外のダウンタイムが発生する可能性があります。このダウンタイムについては、計画の段階で対処する必要があります。 

次のステップ

Jiaan は、コミュニティに導入し、寄贈できるように、実際の環境に適した幅広い範囲の脅威の分類を追加して拡張する予定です。

使用したもの

DeepLens
Python
Greengrass
Lambda
SageMaker
IoT
SSD

試してみる