LoginSignup
0
0

More than 3 years have passed since last update.

WindowsにTensorflow1.15のObject Detection 環境を作ってみた。

Last updated at Posted at 2020-12-15

Tensorflow の Object Detection API を今更ながら、Windows10 で試したので、構築からAPIのデモまでのメモです。
他の人もいっぱい書いているので需要があるか分からないけど、 Qiita 初投稿の練習も兼ねて書いてみた。

インストール環境

・OS:Windows 10 Home バージョン 1909
・CPU:Intel core i5-2450M
・メモリ:8G
・HDD:SSD 500GByte

Windowsのアップデート

・先ずは、Windows Update で更新プログラムの更新を行う。
注意:20H2 への機能更新はしないでください。(2020/12/12時点)
numpyが対応していないようで、Object Detection APIのセットアップでエラーを吐きます。
間違えて更新してしまった場合、10日間は戻せますので、「設定」→「更新とセキュリティ」→「回復」から更新を戻す。

Pythonのインストール

WindowsのPythonをダウンロードして、インストールする。
Python japan の下記URL を参照し、パッケージのダウンロードを参考に Python のパッケージ(python-3.7.9-amd64.exe)をダウンロードしてインストーラーを実行
https://www.python.jp/install/windows/install.html
注)Tensorflow 1.15 が対応している Python のバージョンが 3.7 なので、バージョンを間違えないよう注意

Python virtualenv のインストール・仮想環境の作成

今後、色々なバージョンの Python や Tensorflow を利用する可能性を考え、virtualenv を導入しておく。
Anaconda でも良かったのですが、有償化の規約がちょっとアレだったので、virtualenv を利用

コマンドプロンプトを実行して、下記のコマンドで virtualenv をインストール

> pip install virtualenv

Python のインストールフォルダを確認

> where python
C:\Users\[ユーザ名]\AppData\Local\Programs\Python\Python37\python.exe
C:\Users\[ユーザ名]\AppData\Local\Microsoft\WindowsApps\python.exe

仮想環境の作成時に \AppData\Local\Programs\ の方のPython を指定

仮想環境を作成
仮想環境名には利用する Tensorflow のバージョンを指定することにした。

> python -m virtualenv --python=C:\Users\[ユーザ名]\AppData\Local\Programs\Python\Python37\python.exe tf-1153

仮想環境に入るとコマンドプロンプトに仮想環境名が表示される。

> tf-1153\Scripts\activate
(tf-1153) C:\Users\[ユーザ名]>

Git をインストール

下記のGitのサイトからインストーラーをダウンロードし、インストーラーを実行します。
https://gitforwindows.org/

基本的には、設定の変更を行わず「Next >」ボタン進み、「Install」ボタンでそのままインストールしてOKです。

Tensorflow をインストール

Tensorflow のバージョン 1.15.3 をインストール
パソコンに NVIDIA の GPU がついている場合は、CUDA や cuDNN など 必要なモジュールをインストールしたうえで「tensorflow」を「tensorflow-gpu」に変更して GPU 対応版の Tensorflow をインストール

> pip install tensorflow==1.15.3

OpenCV をインストール

何かと画像処理が必要になることもあるので、OpenCV をインストール

> pip install opencv-python

Object Detection API のモジュールを取得

作業用のフォルダを作成

> mkdir wtf1153
> cd wtf1153
(tf-1153) C:\Users\[ユーザ名]\wtf1153>

github から Object Detection API を取得

> git clone https://github.com/tensorflow/models

protocol buffers をインストール

Tensorflow で利用するモジュールをインストール
・github から Windows 用のバイナリ(protoc-3.14.0-win64.zip)をダウンロードする。
 https://github.com/protocolbuffers/protobuf/releases/
・ダウンロードしたバイナリを適当なフォルダに展開
C:\Program Files\フォルダの下にフォルダ「protoc」を作成
・展開した protocol buffers を作成した「protoc」フォルダに移動
 C:\Program Files\protoc\protoc-3.14.0-win64
・protoc フォルダに path を通す
①[スタート]を右クリック → [システム]の「システム情報」をクリック → [システム]の「システムの詳細設定」をクリック → [システムのプロパティ]を表示
②[詳細設定]タブ下の[環境変数(N)…]ボタンをクリック
③[ユーザ名]のユーザー環境変数(U) Path を選択し、[編集(E)…]ボタンをクリック
④環境変数名の編集で[新規(N)]ボタンをクリックし、C:\Program Files\protoc\protoc-3.14.0-win64\bin\を入力
⑤[OK]ボタンをクリックして「環境変数名の編集」「環境変数」「システムのプロパティ」を閉じる
⑥新しいコマンドプロンプトを実行し、protocのバージョンを確認

> protoc --version
libprotoc 3.14.0

バージョンが表示されれば、protocol buffers のインストールは完了

Object Detection で利用する protocol buffers のモジュールをコンパイル

> tf-1153\Scripts\activate
(tf-1153)> cd wtf1153\modules\research
(tf-1153)> protoc object_detection\protos\*.proto --python_out=.

object_detection\protos に拡張子が .py のファイルが出来ていれば完了

C++ ランタイムライブラリのインストール

Object Detection のセットアップで使用する、VC++ のランタイムを下記のURLからダウンロードして、インストーラーを実行
https://support.microsoft.com/ja-jp/topic/%E6%9C%80%E6%96%B0%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%82%8B-visual-c-%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89-2647da03-1eea-4433-9aff-95f26a218cc0

C++ コンパイラのインストール

Object Detection のセットアップで使用する、Visual Studio Build tools を下記のURLからダウンロードして、インストーラーを実行
https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16

build Tools が起動したら、C++ Build Toolsを選択してインストールを実行

Object Detection のセットアップ

Object Detection のセットアップファイルをコピーして、セットアップを実行

(tf-1153)> copy object_detection/packages/tf1/setup.py .
(tf-1153)> python -m pip install .

Object Detection のセットアップ結果を確認

セットアップ結果の確認を行うツールを実行し、セットアップが正常に行えていることを確認

(tf-1153)> python object_detection/builders/model_builder_tf1_test.py
  ~
 ~
----------------------------------------------------------------------
Ran 21 tests in 0.290s

OK (skipped=1)

最後にOK (skipped=1)と表示されていれば、Object Detection 環境の構築は完了

Jupyter notebook のインストール、起動

動作確認のチュートリアルを実行するため、Jupyter notebookをインストール

(tf-1153)> pip install notebook

Object Detectopn のチュートリアル実行

チュートリアルを実行するための、.ipynb を取得

(tf-1153)> cd %homepath%\wtf1153
(tf-1153)> git clone https://github.com/Mogtan3939/tf115-od-tutorial.git
(tf-1153)> cd tf115-od-tutorial
(tf-1153)> jupyter notebook

ブラウザが起動し Jupyter notebook の起動フォルダのファイル一覧が表示される。
チュートリアルファイルOD-tf1153-test01.ipynbをクリック
チュートリアルが新規タブで表示れるので [▶Run] ボタンをクリックして上から順番に実行していく

最後に Object Detecton 画像が表示される(ハズ)
OD-tutrial.JPG
何だか認識精度が低いけど・・・気にしない。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0