1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

"地雷系","ゆるふわ"?どれも同じに見える...AIで判定しよう![yolov5+RoboFlowで物体検出]

Last updated at Posted at 2022-05-29

この記事に登場する人物、人名、幼馴染はすべてフィクションです。

ある日のこと

幼馴染「どんなのが似合うかなぁ...」(写真を何枚かみせる)
私「地雷系、ゆるふわ?どれも同じに見えるぞい」
幼馴染「おまえも少しは世の中の流行に目を向けたほうがいいよ」
私「仕方ない...」
私「その写真、AIで学習させたら面白そうだなぁ...」
幼馴染「もう知らない...」

Yolov5とRoboFlowで物体検出

今回はGoogleColaboratory上でyolov5を動かして、画像中の女子の系統を判別します。

材料

・RoboFlow
・yolov5
・GoogleColaboratory
・系統別に分けた写真(200枚)
・ふと平常心に戻った時に耐える力

RoboFlowで写真をアノテーションする

今回は女子の顔で系統を見分けます。なのでAIに「写真のこの部分が顔やで!」と教えるために用意した写真全部の顔部分をアノテーションします。

RoboFlowにアクセスする

image.png
RoboFlowにアクセスしたらSignupからアカウントを作成しましょう

Projectを作成する

左上のCreateNewProjectから
・ProjectName
・ライセンス
・プロジェクトの種類
・何を見分けるのか
を入力してプロジェクトを作成しましょう。
image.png

地獄のアノテーション作業

image.png
プロジェクトが作成できたら、Select Folderより用意したファイルをアップロードしましょう。
image.png

アノテーションをする

写真をアップロードし終わったら写真をアノテーションしてタグ名をつけましょう。
(地雷系のほかにもゆるふわとか清楚とかを追加したぞ!)
image.png
終わったら左上の Add Image to Datasetボタンを押しましょう
image.png
AddImagesでデータセットに追加です
image.png
Generate New Versionを押して仕込みが終わりです。
image.png
適当に設定をして
image.png
Export!
image.png
Yolov5 Pytrochを選びましょう
image.png
ここで出てきたコードを後で使うのでメモしておきましょう。

image.png

Colab+yolov5で機械学習

データセットの準備が終わったのでColabを使って機械学習をしていきます。
コード

GirlsType.ipynb
WORKING_DIR = '/content/tmp'
!mkdir $WORKING_DIR
%cd $WORKING_DIR
!git clone https://github.com/ultralytics/yolov5 #GitHubからyolov5を持ってくる
%cd yolov5/
!pip install -qr requirements.txt
!pip install roboflow #RoboFlowのインストール
-#以下にさっきメモしたコードを張り付ける
from roboflow import Roboflow
rf = Roboflow(api_key="HOGEHOGE")
project = rf.workspace("HOGEHOGE").project("HOGEHOGE")
dataset = project.version(1).download("yolov5")
-#学習の開始 一番軽いモデル(yolov5s)で300epoch学習する
!python train.py --img 640 --batch 16 --epochs 300 --data /content/tmp/yolov5/Girls-1/data.yaml --weights yolov5s.pt

こんな感じで学習が進んでいきます。
image.png
image.png

検出してみる

終わったら以下のコードで検出してみましょう。
sourceで指定したフォルダにある画像について検出して、runs/detect/expに検出済みの画像が出力されます

#学習が終わったら
#Girls-1/imagesの中にある画像について判定する
!python detect.py --source Girls-1/images --weights /content/tmp/yolov5/runs/train/exp/weights/best.pt --conf 0.20

image.png
私「あっ...!この人は地雷系女子だ!」
今回は100枚ぐらいしか学習できなかったので精度がものすごい低いですが何千枚単位で学習させればもっと実用的なものになります...!

おまけ

私はゆるふわ系 でした。
image.png

参考文献

自意識の高い地雷系メイク女子の写真素材

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?