今回の記事はPythonを用いて物体検出を行う方法を初心者でも簡単にわかるように解説する記事です。使用するライブラリはTensorflowを使用します。興味がある方は是非参考にして見て下さい。
物体検出とは?
物体検出とは最近のコロナでカメラなどに自動的に組み込んで体温測定を行ったり、スマホカメラで人の顔を検出する際に使用され、需要はかなり拡大傾向にあります。

この物体検出を行う方法ですが非常に簡易的になっております。今回はその方法をご紹介しつつ、実際に
サンプルを動かして物体検出に関してより深く学んでいきましょう。
物体検出を行う方法
初心者でも簡単に物体検出を行えるように環境が整ってきているので以下のような代表的なオープンソースが公開されています。
・Object Detection API
ベースはgoogleで作成されたライブラリでチュートリアルまであるため初心者でも非常に簡単に検証することが可能なAPIです。今回の記事下部で実際に使用方法をご紹介しております。
・SSD
サンプルコードがこの記事に載っているのでこちらの記事をご参照ください。
・YOLO
非常に処理が早いことが有名なYOLOです。上記の手法とは別の方法で物体検出を行なっていることが大きいそうです。チュートリアルはあるのですが、C言語で書かれているのそのあたりが少し問題です。ただし、最近はラッパーが出てきているという噂もきております。こちら過去に記事を書いておりますんのでこちらをご参照ください。
他にも様々な手法が存在するのですが、特に人気で記事が豊富なものを初心者は選ぶべきですので上記をおすすめします。
Pythonで物体検出実行チュートリアル
では先ほど紹介した中から「Object Detection API」の使用方法をご紹介します。
「Object Detection API」の環境構築
物体検出をおこなう為、TensorFlowの「Objest Detection API」を動かしてみようと考え、そのためにチュートリアルを動かすというところでまず詰まりました。理由として環境構築が難しすぎるからです。初心者にとっても分かりやすいようにどんどん解説していきます。
まずは公式のgithubをクローンします。(Zipを直接回答してもOKです。)クローンする箇所はご自身のPCのどこでもOKです。
git clone https://github.com/tensorflow/models.git
クローンが作成されます。
このクローン作成かなり時間かかります。では次にPCのjupyter notebookを開きます。
「jupyter notebook」で「Object Detection API」を開く
次にAnacondaをインストールしている方は「jupyter notebook」を開いてください。python のみのインストールの方は「jupyter notebook」をpipでインストールしてnotebookを起動します。
「jupyter notebook」でクローンしたフォルダを開いていくと「object_detection_tutorial.ipynb」ファイルが下記パスに保存されています。
「models/research/object_detection/colab_tutorials/」
これをjupyterで開けば下記のような画面になっております。

シフトエンターでどんどん「jupyter notebook」で実行していきます。
その際にpipでどんどんインストールしていくのですがローカルにtensorflow 1.15入れてたのに2系を上書きされたようでバージョンを1.15に合わせて再インストールし、実行すると最後に下記のように犬を検知できております。

これが簡単なチュートリアルですね。このチュートリアルではすでに作成されたモデルを使用していますが、実際に自身で作成したモデルをこの「Object Detection API」に入れて動作させると上記のように検出した物体を枠で囲むことができます。
では今回の記事は以上です。他にも多数の機械学習関連の記事を記載しているので興味があればサイト内ご確認ください。
コメント