はじめに
COCO APIは、Microsoft COCOデータセットを容易に扱うためのAPIです。COCOは、オブジェクトの検出、セグメンテーション、人のキーポイントの検出、物のセグメンテーション、およびキャプションの生成用に設計された大規模な画像データセットです。
- COCOについて
- http://cocodataset.org/
- COCO APIについて
-
https://github.com/cocodataset/cocoapi
今回は、Python3.6 の COCO API を Windows 10 の Anaconda環境にインストールするときの方法を紹介します。(LinuxやmacOSならそのままインストールできます)
環境構築
COCO APIのパッケージをインストールする際、C/C++コードのビルドが発生します。ここでは Visual Studio 2017 のインストールとPythonのインストールを行います。
Visual Studio 2017 のインストール
まずは、Visual Studio 2017のビルド環境を整えます。cythonなどを利用するPythonパッケージのインストールで使用するため、Windows環境でPyhtonを使う場合は整えておいたほうが良いでしょう。
Visual Studio 2017のどのエディションでも大丈夫だとおもいますが、注意点としては、インストール時に、「C++ ワークロードを使用したデスクトップ開発」を選択することです。以下のページを参考にしてください。
-
Visual Studio での C++ のサポートをインストール
-
https://docs.microsoft.com/ja-jp/cpp/build/vscpp-step-0-installation?view=vs-2017
-
Visual Studio のダウンロードサイト
Pythonのインストール
Python環境はAnacondaを使用します。Anacondaは分析や機械学習を行うためのライブラリも問題なく利用できます。また、パッケージのインストールや環境作成が非常に簡単に実行できるのが特徴です。Anacondaは下記のサイトよりダウンロードします。利用しているOSに合わせて適切なパッケージをインストールしてください。次をクリックしていくような感じで、標準の設定で大丈夫です。あと、PATHもそのまま登録するようにしてください。
- Anaconda
- https://www.continuum.io/downloads
COCO API利用環境の作成
スタートメニューからAnaconda Promptを実行して、Python 3.6の環境を作成します。condaコマンドで環境を作成してからactivateコマンドで作成した環境を使用しています。
conda create -n py36 python=3.6
activate py36
conda install setuptools
conda install cython
conda install matplotlib
次にCOCO APIをGithubから取得します。
git clone https://github.com/cocodataset/cocoapi.git
コンパイラのオプションを変更します。cocoapi/PythonAPI/setup.py の extra_compile_args を以下に変更します。引っかかるのはワーニングのオプションなので
ext_modules = [
Extension(
'pycocotools._mask',
sources=['../common/maskApi.c', 'pycocotools/_mask.pyx'],
include_dirs = [np.get_include(), '../common'],
extra_compile_args=[],
)
]
COCO APIのインストールを実行します。
python setup.py build_ext install
COCO APIのモジュール読み込み確認
以下のようにパッケージをインポートしてエラーが出ないことを確認します。
from pycocotools.coco import COCO
以上です。