画像内の各画素について,ラベル (car, people, building など) を判別
画像をインスタンスに分け,インスタンスのラベル (car, people, building など)を判別.画像をインスタンスに分けるとき,重なりがありえる.
この資料の URL: https://www.kkaneko.jp/db/seq/pixellib.html
【サイト内の関連ページ】
参考Webページ:
このページの内容は,Google Colaboratory でも実行できる.
そのために,次の URL で,Google Colaboratory のノートブックを準備している.
次のリンクをクリックすると,Google Colaboratory のノートブックが開く. そして,Google アカウントでログインすると,Google Colaboratory のノートブック内のコードを実行することができる.Google Colaboratory のノートブックは書き換えて使うこともできる.このとき,書き換え後のものを,各自の Google ドライブ内に保存することもできる.
https://colab.research.google.com/drive/1MphCVpZDBInlY40PIslzMG7XONB5umGp?usp=sharing
自分で,Google Colaboratory のノートブックを新規作成する場合(上のリンクを使わない)のため,手順を説明する.
パソコンを使う場合は,下に「前準備(パソコンを使う場合)」で説明している.
https://colab.research.google.com
Google Colab はオンラインの Python 開発環境. 使用するには Google アカウントが必要
システム Python を使うことができる(その場合,Python のインストールは行わない)
システム Python を用いるときは,pip, setuptools の更新は次のコマンドで行う.
sudo apt -y update sudo apt -y install python3-pip python3-setuptools
Ubuntu で,システム Python 以外の Python をインストールしたい場合は pyenv が便利である: 別ページで説明している.
Python の URL: http://www.python.org/
【Python, pip の使い方】
Python, pip は,次のコマンドで起動できる.
【Python 開発環境のインストール】
JupyterLab, spyder, nteract (Python 開発環境) のインストールは, Windows でコマンドプロンプトを管理者として実行し, 次のコマンドを実行.
python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
詳しくは,: 別ページで説明している.
JupyterLab, spyder, nteract (Python 開発環境) のインストール: : 別ページで説明している.
Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。
python -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras python -m pip install -U tensorflow tensorflow_datasets numpy matplotlib seaborn scikit-learn scikit-learn-intelex
Windows でのインストール詳細(NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN, TensorFlow 関連ソフトウエアを含む): 別ページで説明している.
端末で,次のコマンドを実行.
sudo pip3 uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras sudo pip3 uninstall -y six wheel astunparse tensorflow-estimator numpy keras-preprocessing absl-py wrapt gast flatbuffers grpcio opt-einsum protobuf termcolor typing-extensions google-pasta h5py tensorboard-plugin-wit markdown werkzeug requests-oauthlib rsa cachetools google-auth google-auth-oauthlib tensorboard tensorflow sudo apt -y install python3-six python3-wheel python3-numpy python3-grpcio python3-protobuf python3-termcolor python3-typing-extensions python3-h5py python3-markdown python3-werkzeug python3-requests-oauthlib python3-rsa python3-cachetools python3-google-auth sudo apt -y install python3-numpy python3-sklearn python3-matplotlib python3-seaborn sudo pip3 install -U tensorflow tensorflow_datasets
Ubuntu でのインストール詳細(NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN, TensorFlow 関連ソフトウエアを含む): 別ページで説明している.
Windows での実行手順を示す
mkdir c:\data cd c:\data curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.3/deeplabv3_xception65_ade20k.h5
画像ファイルは,c:\dataに置く.
ここでは, https://pixellib.readthedocs.io/en/latest/image_ade20k.html で公開されている Sample1.jpg を使用
次の Python プログラムを実行
import pixellib
from pixellib.semantic import semantic_segmentation
segment_image = semantic_segmentation()
segment_image.load_ade20k_model("c:/data/deeplabv3_xception65_ade20k.h5")
segment_image.segmentAsAde20k("c:/data/Sample1.jpg", output_image_name= "c:/data/Sample1_sseg.jpg")
segment_image.segmentAsAde20k("c:/data/Sample1.jpg", output_image_name= "c:/data/Sample1_sseg_overlay.jpg", overlay = True)
import matplotlib.pyplot as plt
a = plt.imread("c:/data/Sample1.jpg")
plt.imshow(a)
plt.show()
b = plt.imread("c:/data/Sample1_sseg.jpg")
plt.imshow(b)
plt.show()
c = plt.imread("c:/data/Sample1_sseg_overlay.jpg")
plt.imshow(c)
plt.show()
Windows での実行手順を示す
mkdir c:\data cd c:\data curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.2/mask_rcnn_coco.h5
画像ファイルは,c:\dataに置く.
ここでは, https://pixellib.readthedocs.io/en/latest/Image_instance.html で公開されている Sample2.jpg を使用
次の Python プログラムを実行
import pixellib
from pixellib.instance import instance_segmentation
segment_image = instance_segmentation()
segment_image.load_model("c:/data/mask_rcnn_coco.h5")
segment_image.segmentImage("c:/data/Sample2.jpg", output_image_name= "c:/data/Sample2_iseg.jpg")
import matplotlib.pyplot as plt
a = plt.imread("c:/data/Sample2.jpg")
plt.imshow(a)
plt.show()
b = plt.imread("c:/data/Sample2_iseg.jpg")
plt.imshow(b)
plt.show()
次の URL で公開されているプログラムを,実行結果例を付けて紹介する.
mkdir c:\data cd c:\data curl -LO https://github.com/ayoolaolafenwa/PixelLib/releases/download/1.2/mask_rcnn_coco.h5
import pixellib
from pixellib.instance import instance_segmentation
import cv2
capture = cv2.VideoCapture(1)
segment_video = instance_segmentation()
segment_video.load_model("c:/data/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")