Slide 1

Slide 1 text

Segment Anything Modelを利用して 農作物のセグメンテーションを行ってみた ImVisionLabs株式会社

Slide 2

Slide 2 text

様々な深層学習モデルの利活用が進んでいる 1 バックパック型スキャナー  自然言語処理 • 文章を入力とする • チャットボットなど  画像解析 • 画像を入力とする • 画像分類や、物体検出などのタスク • 応用例: 果樹園内の果実の量を推定 • アルゴリズムの例: YOLOシリーズ 参考: Itakura, K., Narita, Y., Noaki, S., & Hosoi, F. (2021). Automatic pear and apple detection by videos using deep learning and a Kalman filter. Osa Continuum, 4(5), 1688-1695. • サービスの例: ChatGPTなど

Slide 3

Slide 3 text

画像解析の利用例  テンサイ:砂糖の原料  画像から農作物の寸法を把握したい 出典:深層学習を用いた根菜類の個数カウンティングによる 収量推定法の開発(板倉、林、野秋、細井, 2022)  バウンディングボックス(長方形)のみでは、テンサイの正確な面積などが求まらない

Slide 4

Slide 4 text

セグメンテーションモデル [a] ScanX2.0  MaskR-CNNやDeepLabv3など様々なモデルがある 画像出典:Mask R-CNN (He et al, 2017) URL:https://arxiv.org/abs/1703.06870  2023年にMetaがSegmentAnythingを公開: 様々な物体をセグメンテーション可能

Slide 5

Slide 5 text

SegmentAnythingとは [a] ScanX2.0  Image encoder部分でViT(VisionTransformer)を使用している  事前学習済みで、訓練をせずとも様々な物体をセグメンテーションできる 画像出典: SegmentAnything(Kirillov et al, 2023) URL:https://arxiv.org/abs/1703.06870  入力の点やボックスに対応するマスクを出力する

Slide 6

Slide 6 text

SAMの実行方法 [a] ScanX2.0  Webで行うことができる  自分でコードを動かすことも可能 • Githubからコードをダウンロードする • カスタマイズして柔軟に利用したい場合もある https://github.com/facebookresearch/segment-anything • https://segment-anything.com/demo# にアクセスして簡単に試すことができる • Pythonだけでなく、MATLABなどの別の言語 で利用可能な場合もある

Slide 7

Slide 7 text

SAMの実行方法(MATLAB) [a] ScanX2.0  セグメントしたい対象の領域を手動で選択する必要がある • 点やバウンディングボックスなどを入力とする 画像出典:深層学習を用いた根菜類の個数カウンティングによる 収量推定法の開発(板倉、林、野秋、細井, 2022) • 今回は、YOLOを利用してバウンディングボックスを自動で作成

Slide 8

Slide 8 text

物体検出を使用して、入力点の選択を自動化 [a] ScanX2.0  YOLOにより物体検出を行い、SAMの入力にする  バウンディングボックスを入力として、SegmentAnything (SAM) を実行 ←YOLOでSAMのプロンプト (バウンディングボックス)を自動生成

Slide 9

Slide 9 text

物体検出を使用して、入力点の選択を自動化 [a] ScanX2.0  バウンディングボックスを入力として、SegmentAnything (SAM) を実行 ←バウンディングボックスごとにSAMを実行  YOLOにより物体検出を行い、SAMの入力にする

Slide 10

Slide 10 text

物体検出を使用して、入力点の選択を自動化 [a] ScanX2.0  深層学習を用いて、物体検出を行う  バウンディングボックスを入力として、SegmentAnything (SAM) を実行 ↑SAMの実行

Slide 11

Slide 11 text

結果 [a] ScanX2.0  精度よく、テンサイを検出することができた  検出情報をもとに、テンサイのセグメンテーションを行うことができた  検出から、セグメンテーションまで自動で行うことができた 画像出典:深層学習を用いた根菜類の個数カウンティングによる 収量推定法の開発(板倉、林、野秋、細井, 2022)

Slide 12

Slide 12 text

まとめ [a]  MATLABでのSAMの実行方法について簡単に紹介しました  物体検出アルゴリズム (YOLO) と併用することで、 セグメンテーションまで自動で行うことができました  今後は、人などの異なる対象についてもセグメンテーションを実行してみたいです