駐車場は満車?数を数えるディープラーニング

タグ

投稿日: 2021/09/29 17:11:20

著者: 代表取締役CEO 木村 優志

Object Counting

Objecct Counting は、画像に写っているモノの数を数えるディープラーニング技術です。モノがどこに写っているかを調べる、物体検出(オブジェクトデテクション)やセマンティックセグメンテーションに比べれ、やや聞き慣れない技術かもしれません。

様々なシーンで物の数を数えることは役に立ちます。今回紹介する駐車場に止まっている車の数を調べるディープラーニングなどもそれでしょう。

駐車場に止まっている車の数を調べるディープラーニング

今回の問題設定では、空撮した画像を利用して駐車場に止まっている車の数を調べます。柱や建物の上の固定カメラや、ドローンなどを利用するイメージです。

今回紹介する論文は、以下です。

Ersin Kılıç, Serkan Öztür, "An Accurate Car Counting in Aerial Images Based on Convolutional Neural Networks", Journal of Ambient Intelligence and Humanized Computing 2021. https://link.springer.com/article/10.1007%2Fs12652-021-03377-5

https://www.github.com/ekilic/Heatmap-Learner-CNN-for-Object-Counting

このモデルでは、まず、空撮画像から、ヒートマップを生成します。ヒートマップの生成には、GAM (Gaussan Activation Map) を用います。ネットワークのターゲットデータとして利用します。

Gaussian Activation Map

GAM は以下の式で与えられるものです。

G(x, y)= \alpha * \exp(-(a(x-x_0)^2 + 2(x-x_0)(y-y_0) +c(y-y_0)^2))\

Heatmap Learner CNN

ヒートマップを予測するネットワークを HLCMNs(Heatmap Learner Convolutional Neural Networks)と読んでいます。

HLCNN のネットワークには任意の CNN ネットワークを選ぶことができます。論文では VGG-16 が採用されています。

ヒートマップの学習

学習に用いる損失関数 L はシンプルです。

L = ΣΣH_pred{-GAM/ (w*h)

ここで、$H_pred$は予測したヒートマップです。

Peak map Generation

つぎに、ヒートマップのピーク位置を推定します。これには、昔ながらの画像処理でフィルタリング処理を行っています。

車の数の予測

予測の全体像は以下になります。

HLCNN

少し分かりづらいですが、予測結果の写真にはクルマの上に赤い点が書いてあるのが解ると思います。この数をかぞえれば、車の数を数えることができます。

まとめ

駐車場に止まっている車の数を調べるディープラーニングモデルを紹介しました。 非常にシンプルな機構で高い精度を達成しています。工夫が大切だなと思う論文でした。