10/20/2018

Microsoft COCOデータセットを使うためのCOCO APIをWindows 10にインストールするメモ

はじめに

COCO APIは、Microsoft COCOデータセットを容易に扱うためのAPIです。COCOは、オブジェクトの検出、セグメンテーション、人のキーポイントの検出、物のセグメンテーション、およびキャプションの生成用に設計された大規模な画像データセットです。

環境構築

COCO APIのパッケージをインストールする際、C/C++コードのビルドが発生します。ここでは Visual Studio 2017 のインストールとPythonのインストールを行います。

Visual Studio 2017 のインストール

まずは、Visual Studio 2017のビルド環境を整えます。cythonなどを利用するPythonパッケージのインストールで使用するため、Windows環境でPyhtonを使う場合は整えておいたほうが良いでしょう。

Visual Studio 2017のどのエディションでも大丈夫だとおもいますが、注意点としては、インストール時に、「C++ ワークロードを使用したデスクトップ開発」を選択することです。以下のページを参考にしてください。

Pythonのインストール

Python環境はAnacondaを使用します。Anacondaは分析や機械学習を行うためのライブラリも問題なく利用できます。また、パッケージのインストールや環境作成が非常に簡単に実行できるのが特徴です。Anacondaは下記のサイトよりダウンロードします。利用しているOSに合わせて適切なパッケージをインストールしてください。次をクリックしていくような感じで、標準の設定で大丈夫です。あと、PATHもそのまま登録するようにしてください。

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

以上です。