概要
物体検出のYOLOv4をとりあえず動かしてみる。
やってみる
実行環境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Pop
Description: Pop!_OS 20.04 LTS
Release: 20.04
Codename: focal
$ sudo lshw -class processor
*-cpu
description: CPU
product: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
serial: To Be Filled By O.E.M.
slot: U3E1
size: 2526MHz
capacity: 4600MHz
width: 64 bits
clock: 100MHz
capabilities:
configuration: cores=4 enabledcores=4 threads=8
$ sudo lshw -class memory
*-memory
description: System Memory
physical id: 1b
slot: System board or motherboard
size: 32GiB
準備
$ pip install yolov4
(pipでインストールできるの!?)
Requirement
- python3
- numpy
- tensorflow2
なおこれからの作業は~/src/yolov4
というディレクトリ中で行われるものとします。
学習済モデルのダウンロード
上記のうちyolov4.weightsとcoco.namesを~/src/yolov4
にダウンロードしておきます。
画像を使った物体検出
画像中の物体を検出してラベル付けするチュートリアルです。実行前にtest.jpgを準備しておいてください。
from yolov4.tf import YOLOv4
yolo = YOLOv4()
yolo.classes = "coco.names"
yolo.make_model()
yolo.load_weights("yolov4.weights", weights_type="yolo")
yolo.inference(media_path="test.jpg") #適当に用意
以下のような結果が出力されます。
感想
めっちゃ簡単です。機会があればデータセット用意して学習させたい。