【tensorflow】 YOLOv4をとりあえず動かしてみた

概要

物体検出の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.weightscoco.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") #適当に用意

以下のような結果が出力されます。

yolov4

感想

めっちゃ簡単です。機会があればデータセット用意して学習させたい。

参考