はじめに
今回から、室内の人数をカウントするシステムの研究内容について、記録をまとめていきたいと思います。
概要
言語はPython3.6を使用します(3.7ではtensorflowが使えません)。 想定しているシステムは、webカメラで一定時間ごとに撮影された画像から物体検出を行い、店舗内の人数をカウントするというものです。 ただし、今回は赤外線カメラを使用しているため、画像は白黒となります。 薄暗い場所当においては白黒画像からの検出も必要なため、白黒画像からの検出精度を上げる研究も行います。
まずは既存の学習済みモデルの検証から行ってみたいと思います。
Pythonのダウンロードとインストール
Pythonのダウンロードから行っていきます。下記のURLから公式サイトにアクセスしてください。 * https://www.python.org/
次にDownloadsタブから、皆さんの環境に合ったOSを選択してください。 今回はwindows版をダウンロードします。
Stable Releasesの欄からPython 3.6.8の実行形式のインストーラーをダウンロードします。 「Windows x86-64 executable installer」と書かれたものを選択してください。
インストーラーを起動し、Add Python 3.6 to PATHにチェックを入れて、Install Nowを選択します。
これでPyhtonの導入は完了です。
YOLOv3の導入
YOLOとはディープラーニングを使った物体検出アルゴリズムの一つです。他にもR-CNNやSSDといったものがあります。 各アルゴリズムの中でずば抜けた性能のものはありませんが、YOLOv3は最近登場した新しいバージョンで、速度と精度ともに高い性能を持ち合わせています。 なので、最初はYOLOv3を使ってみたいと思います。
また、YOLOv3はアルゴリズムのため、本来自分で学習を行う必要がありますが、実はすでに学習を行い済みのモデルというのも公開されています。 今回はそれを使って検出を行うため、学習済みモデルのダウンロードも行います。
keras版を用いるため、YOLOv3を導入する前にkerasとtensorflowのインストールを先に行います。
pip install tensorflow==1.13.1
pip install keras==2.2.2
【YOLOv3導入手順】 1. gitからkeras-yolo3を入手
>git clone https://github.com/qqwweee/keras-yolo3
- 学習済みデータをダウンロード
学習済みモデルをダウンロードし、さきほどgitからクローンしたkeras-yolo3ディレクトリの直下に配置する ダウンロードはこちら
- 学習済みデータをkeras用にコンバート
>python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
実行してみる
実行はpython yolo_video.py --image
でできます。
それっぽい画像を探して実行してみましたが、
無事実行することができました。
かなりいい感じに検出できています。
次回
無事YOLOv3の導入ができたので、実際に白黒画像ではどうなのか、検証していきたいと思います。