今回は物体検知のライブラリである
YOLOを使って色々な画像の物体を検知してみました

解説動画はこちら



YOLOとは

YOLOは
リアルタイムオブジェクト検出アルゴリズム
のことで、You Look Only Onseの略
だそうです

オブジェクトの検出と
クラス分類を同時に行う事ができ
画像をグリッドセルとして扱って
オブジェクトに当てはめ

オブジェクトが存在する場合
どのクラスに属するかを確率で示してくれる
というものです

早速物体検知をやってみましょう

Google Colabで使う事ができる
コードサンプルです

Google Colabへのインストール方法


一番最初はGoogle Driveのマウントです
# Google ドライブをマウントする
from google.colab import drive
drive.mount('/content/drive')

コードを実行すると
ドライブのマウントに関する
アカウントの許可が求められるので
自分のアカウントを指定します

次にコード類のインストールです
# マウント場所に移動
%cd  /content/drive/MyDrive/

# YOLO V5をGithubより入手
!git clone https://github.com/ultralytics/yolov5.git

# YOLOに必要なモジュールをインストール
%pip install -qr yolov5/requirements.txt

# インストール場所に移動
%cd  /content/drive/MyDrive/yolov5

これを実行すると
ドライブ内にインストールされる形になります


サンプル画像を見てみる

物体検知を行う画像は
data/images/ 配下に
置くようになっているようです

ここに画像を置いておきましょう

サンプル画像を確認するコードはこれです
# サンプル画像の表示
from IPython.display import Image, display
display(Image('画像パスを指定',width=400))

画像の物体検知を行うには
次のコードで行います
# 画像内の物体検知を行う
!python detect.py --source data/images/画像ファイル名

結果は
runs/detect/フォルダ名
配下の同名のファイルになります

サンプル画像で行うと
こんな結果になります

download

オブジェクトが存在する領域を
バウンディングボックスで
ボックス内のクラス分類を行って
その確率を0-1の間で返してくれます


動画では
色々なサンプル画像で検出を行っているので
そちらも参考にしてみて下さい

今回はここまでです
それでは