金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)PixelLib のインストールと動作確認(セマンティック・セグメンテーション,インスタンス・セグメンテーション)(TensorFlow 2.0.4, Python 3.7 を使用)

PixelLib のインストールと動作確認(セマンティック・セグメンテーション,インスタンス・セグメンテーション)(TensorFlow 2.0.4, Python 3.7 を使用)

目次

  1. 前準備
  2. 画像のセマンティックセグメンテーション(PixelLib, Ade20k モデル)
  3. 画像のインスタンスセグメンテーション(PixelLib, Mask RCNN モデル)
  4. ビデオカメラで動くインスタンス・セグメンテーションのプログラム

サイト内の関連ページ

関連する外部ページ

前準備

Git のインストール(Windows 上)

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

CMake のインストール(Windows 上)

CMake はビルドツールである.

サイト内の関連ページ

Windows での cmake のインストール: 別ページ »で説明している.

関連する外部ページ

CMake の公式ダウンロードページ: https://cmake.org/download/

Python 3.7 64 ビット版のインストール,pip と setuptools の更新,Python 開発環境のインストール(Windows 上)

① Python 3.7 64 ビット版のインストール(Windows 上)

Python のインストールでの注意点

Python 3.7 のインストール手順の詳細(別ページ)

Windows での Python 3.7 のインストール: 別ページ »で説明している.

Python の公式ページ

https://www.python.org/

インストール手順の概要

  1. Python の URL を開く

    URL: https://www.python.org

  2. Windows 版の Python 3.7 をダウンロード

    ページの上の方にある「Downloads」をクリック,「Downloads」の下にメニューが出るので,その中の「Windows」をクリック.

    そして,Python 3.7.x (x は数字)を探す.

    そして,Windows の 64ビット版のインストーラをダウンロードしたいので,「Windows x86-64 executable installer」を選ぶ

    [image]
  3. インストール時の設定
    1. いまダウンロードした .exe ファイルを右クリック, 右クリックメニューで「管理者として実行」を選ぶ.

      [image]
    2. Python ランチャーをインストールするために,「Install launcher for all users (recommended)」をチェック.

      ※ すでに Python ランチャーをインストール済みのときは, 「Install launcher for all users (recommended)」がチェックできないようになっている場合がある.そのときは,チェックせずに進む.

    3. Add Python 3.7 to PATH」をチェック.

      [image]
    4. Customize installation」をクリック.

      [image]
    5. オプションの機能 (Optional Features)は,既定(デフォルト)のままでよい. 「Next」をクリック

      [image]
    6. Install for all users」を選ぶ.

      Python のインストールディレクトリは,「C:\Program Files\Python37」のように自動設定されることを確認.

      Install」をクリック

      [image]
    7. Disable path length limit」が表示される場合がある.クリックして,パス長の制限を解除する

      [image]
    8. インストールが終了したら,「Close」をクリック
  4. インストールのあと,Windows のスタートメニューに「Python 3.7」が増えていることを確認.
  5. システムの環境変数 Path の確認のため,新しくコマンドプロンプトを開き,次のコマンドを実行する.

    pypipパスが通っていることの確認である.

    where py
    where pip
    

    where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python37\Scripts\pip.exe」 が表示されることを確認.

    [image]

② pip と setuptools の更新(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    Windowspip を実行するときは,コマンドプロンプト管理者として開き,それを使って pip を実行することにする.

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. 次のコマンドを実行する

    Python の使用は「py -3.7」で行う.

    py -3.7 -m pip install -U pip setuptools
    

    [image]

③ Python 開発環境として,Python の隔離された環境に,Python コンソール(Jupyter Qt Console), Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract をインストール

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. venv を用いて,Python の仮想環境を作成

    次のコマンドを実行する

    py -3.7 -m pip install -U pip setuptools
    py -3.7 -m venv C:\venv\py37
    
  3. Python の仮想環境の使用開始と,Python 開発環境のインストール

    次のコマンドを実行する

    Python の使用は「C:\venv\py37\Scripts\activate.bat」の後,「python」で行う.

    C:\venv\py37\Scripts\activate.bat
    python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter
    

Visual Studio Community 2017,NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール(Windows 上)

Windows での Visual Studio Community 2017,NVIDIA ドライバNVIDIA CUDA ツールキット 10.0NVIDIA cuDNN 7.6.5 のインストール: 別ページ »で説明している.

画像のセマンティックセグメンテーション(PixelLib, Ade20k モデル)

次のページの手順に従う.

https://pixellib.readthedocs.io/en/latest/image_ade20k.html

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. pycocotools のインストール
    python -m pip install -U cython
    python -m pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"
    

    [image]
  3. TensorFlow 2.0.4 その他のインストール

    C:\venv\py37\scripts\activate.bat
    python -m pip uninstall -y tensorflow tensorflow-gpu tensorflow-intel keras tensorboard tensorflow-estimator
    python -m pip install tensorflow==2.0.4 keras numpy
    
  4. pixellib のインストール
    C:\venv\py37\Scripts\activate.bat
    python -m pip install pixellib 
    

    [image]
  5. Ade20k モデルを用いて学習済みの Xception モデルをダウンロード
    cd %HOMEPATH%
    del deeplabv3_xception65_ade20k.h5
    curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.3/deeplabv3_xception65_ade20k.h5
    

    [image]
  6. 画像ファイルの準備

    画像ファイルは,%HOMEPATH%に置くことにする.

    ここでは, https://pixellib.readthedocs.io/en/latest/image_ade20k.html で公開されている ade_test1.jpg を使用

    cd %HOMEPATH%
    curl -O https://pixellib.readthedocs.io/en/latest/_images/ade_test1.jpg
    

    [image]
  7. セマンティックセグメンテーションの実行

    Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    Python プログラムの実行: 別ページ »で説明

    Python のまとめ: 別ページ »にまとめ

    import pixellib
    from pixellib.semantic import semantic_segmentation
    
    fimg="ade_test1.jpg"
    
    segment_image = semantic_segmentation()
    segment_image.load_ade20k_model("deeplabv3_xception65_ade20k.h5")
    segment_image.segmentAsAde20k(fimg, output_image_name= "ade_test1_sseg.jpg")
    segment_image.segmentAsAde20k(fimg, output_image_name= "ade_test1_sseg_overlay.jpg", overlay = True)
    

    [image]
  8. 画像ファイルの表示

    Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    import matplotlib.pyplot as plt
    a = plt.imread("ade_test1.jpg")
    plt.imshow(a)
    plt.show()
    b = plt.imread("ade_test1_sseg.jpg")
    plt.imshow(b)
    plt.show()
    c = plt.imread("ade_test1_sseg_overlay.jpg")
    plt.imshow(c)
    plt.show()
    

    [image]

画像のインスタンスセグメンテーション(PixelLib, Mask RCNN モデル)

次のページの手順に従う.

https://pixellib.readthedocs.io/en/latest/Image_instance.html

Windows での実行手順を示す

  1. coco を用いて学習済みの Mask RCNN モデルをダウンロード
    mkdir %HOMEPATH%
    cd %HOMEPATH%
    curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.2/mask_rcnn_coco.h5
    

    [image]
  2. 画像ファイルの準備

    画像ファイルは,%HOMEPATH%に置くことにする.

    ここでは, https://pixellib.readthedocs.io/en/latest/Image_instance.html で公開されている Sample2.jpg を使用

  3. インスタンスセグメンテーションの実行

    Python プログラムを実行する.Matplotlib を使うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    import pixellib
    from pixellib.instance import instance_segmentation
    
    segment_image = instance_segmentation()
    segment_image.load_model("mask_rcnn_coco.h5")
    segment_image.segmentImage("Sample2.jpg", output_image_name= "c:/data/Sample2_iseg.jpg")
    

    [image]
  4. 画像ファイルの表示
    import matplotlib.pyplot as plt
    a = plt.imread("Sample2.jpg")
    plt.imshow(a)
    plt.show()
    b = plt.imread("Sample2_iseg.jpg")
    plt.imshow(b)
    plt.show()
    

    [image]

ビデオカメラで動くインスタンス・セグメンテーションのプログラム

次の URL で公開されているプログラムを,実行結果例を付けて紹介する.

  1. coco を用いて学習済みの Mask RCNN モデルをダウンロード
    mkdir %HOMEPATH%
    cd %HOMEPATH%
    curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.2/mask_rcnn_coco.h5
    

    [image]
  2. 次の Python プログラムを実行する.

    OpenCV による動画表示を行う.

    import pixellib
    from pixellib.instance import instance_segmentation
    import cv2
    
    capture = cv2.VideoCapture(0)
    
    segment_video = instance_segmentation()
    segment_video.load_model("mask_rcnn_coco.h5")
    segment_video.process_camera(capture, frames_per_second= 15, output_video_name="output_video.mp4", show_frames= True,
    frame_name= "frame")
    

    [image]