トラフィックルールを保護するニューラルネットワーク



ドライバーによる交通規則(SDA)の違反は、組織にとって運用上、評判上および法的なリスクを伴います。



以前は、違反を特定するために、公用車両からのビデオ録画が分析されていました。非常に大量のビデオが手動で処理されたため、これはルーチンで時間のかかるプロセスです。このプロセスを自動化し、トラフィック違反を検出してリスク志向のビデオ選択を形成するためのモデルを作成することが決定されました。



まず、二重の実線を越えて赤い信号を運転するなど、交通違反の総量を探すことにしました。



画像分割と道路標示の検出には、U-Netアーキテクチャの畳み込みニューラルネットワークを使用しました。このアーキテクチャは一連の畳み込み層とプーリング層であり、最初に画像の空間解像度を減らしてから増やし、以前に画像とデータを組み合わせて他の畳み込み層に渡しました。



モデルをトレーニングするには、トレーニングデータセットが必要でした。残念ながら、オープンアクセスから見つかったすべてのデータセットは、ロシアではなく道路の写真で構成されていました。外国の道路でモデルをトレーニングした結果は期待外れでした。モデルは、しばしば私たちの国内の道路標示を標示として認識することを単に拒否しました。そのため、独自にトレーニングサンプルの作成を開始することにしました。レコーダーからのビデオから約1,500枚のスクリーンショットが切り取られ、Supervise.lyサービスを使用して路盤にマークが付けられました(図1)。







このようなデータセットでトレーニングされたモデルは、レコーダーからのビデオ上の道路標示を認識できるようになりました。ニューラルネットワークはビデオ内で実線を検出し、それらに少なくとも所定の数のピクセルが含まれている場合(ランダムな線、不連続または実線でないものが考慮されないようにするため)、それらを直線に近似し、車が交差しないようにします。







図2はU-Netの仕組みを示しています。上はフロントガラスからの元の記録、下はニューラルネットワークの例です。緑の領域は道路標示マスク、細い赤の線は線標の近似です。



このモデルは、レコーダーからのほとんどのビデオを処理するのに非常に優れていましたが、雪に覆われた道路や暗闇で撮影されたビデオを分析する際に問題が発生したことに注意してください。



信号機と自動車の存在を判断するために、事前トレーニング済みのニューラルネットワークDarknet + Yolo v3を使用しました。このニューラルネットワークは、YOLOアーキテクチャの改良版であり、You Only Look Onceを表しています。 YOLO v3の主な特徴は、3つの出力層があり、それぞれが異なるサイズのオブジェクトを検出するように設計されていることです。



他と比較したこのアーキテクチャの主な特徴は、ほとんどのシステムがニューラルネットワークを画像の異なる部分に数回適用することです。YOLOでは、ニューラルネットワークが画像全体に一度に適用されます。ネットワークは画像を一種のグリッドに分割し、境界ボックス(平行六面体、見つかったオブジェクトの境界)と、各領域にこれらの目的のオブジェクトが存在する確率を予測します。



このアプローチの利点は、画像全体を表示するときに、YOLOがオブジェクトを検出して認識するときに画像のコンテキストを考慮することです。また、YOLOのパフォーマンスには明らかな利点があります。それは、R-CNNの1000倍、Fast R-CNNの数百倍です。







YOLO操作の例を図3に示します。画像分析はフレームごとに実行され、見つかったすべての赤信号はニューラルネットワークによって正しく検出されます。



2つのニューラルネットワーク全体をトレーニングするには、特にビデオカードに関して、十分に強力なコンピュータが必要です。 GPU計算が使用されます。第8世代のCore i7プロセッサー、nvidia gtx1080グラフィックカード、32 GBのRAMを使用しました。このようなシステム特性は、プロジェクトの実装には十分なものでした。



交通違反を検出するためのモデルを使用した結果から、プロジェクトは成功したと言えます。スクリプトへの入力は、1か月間のオートレコーダーからのビデオで、合計時間は7時間11分で、モデルの推論(着信ビデオの処理)の時間は25分でした。すべてのビデオファイルの処理の最後に、8秒の112フラグメント(合計15分)がカットされ、そのうち約7時間が節約されたため、違反を簡単に特定できました。

質問はメールアドレスに送信できます



All Articles