コンピュータビジョン。クライアントフローの計算





タスクは、オフィス内のクライアントのフローを分析および計算することでした。 YOLO(You Only Look Once)、SSD(Single Shot Detection)、R-CNNなどのConvolution Neural Network(CNN)を使用するなど、同様のタスクには多くのソリューションがあります。ただし、入力データは、レコーダーのモデルや設定内容に応じて、さまざまな解像度やフォーマットのビデオフラグメントであるため、バックグラウンド減算方式を試すことにしました。また、このアルゴリズムを試したかったのは、これまでに出会ったことがなく、その機能が興味深いためです。







この方法は、名前が示すように、背景に依存しています。基本は、次のフレームを前のフレームと比較して変更を加えることです。つまり、背景が変化していないか、強い変化がない場合(葉を振る、雲の動きなど)、この方法ではフレームとビデオのこれらの領域は選択されません。バックグラウンド減算の基礎となる内部アルゴリズムも多数あり、さまざまな方法で変更を決定します。一部のアルゴリズムは変化に非常に敏感です。つまり、風による樹冠の強い変化ではなく、小雨です。これらのオブジェクトはすべて、アルゴリズムマスクに表示されます。他のアルゴリズムは非常に大まかにマスクを作成し、多くのピクセルを1つのオブジェクトに結合します。つまり、並んで移動する2人は1人として定義されます。したがって、タスクに適したアルゴリズムを選択し、さまざまな設定(比較するフレームの数、領域を切り取る境界線など)を試すことが重要です。











品質を向上させることができるアルゴリズム内のさまざまな設定もあり、最終的なマスクはオブジェクトを識別するためにはるかに良く見えます。







追加の設定と可変領域を選択するための追加のコードを記述し、クライアントフローをさらにカウントした後、ニューラルネットワークを使用せずにCV2 pythonライブラリのメソッドを初めて使用したため、人数のカウントに関して良好な結果が得られました。



残念ながら、この方法には欠点があります。これはいくつかのアーティファクトの選択であり、機能が制限され、使用範囲が狭いですが、Computer Visionの機能の経験と知識として、絶好の機会です。



私は、オープンソースのツールとサービスを使用した経験を利用して、コンピュータービジョンの問題を解決することを提案します。



All Articles