4/14(日) 足・靴・木型研究会「第2回研究集会」を開催します☆彡

1-12. 洗濯槽内のティッシュを画像処理で検出してみた(③リアルタイム検出編)

やること

洗濯槽内に混入したティッシュを機械学習で検出するシリーズ、前回は学習を行いました。

今回は学習済みモデルを使ってティッシュのリアルタイム検出を行います。

リアルタイム検出

学習済みモデルのうち「last.pt」をローカルにダウンロードしました。Pythonでカメラキャプチャと検出の無限ループを回します。

import cv2
from ultralytics import YOLO

#学習済みモデル
model = YOLO('last.pt')

#カメラ起動
cap = cv2.VideoCapture(0)
if not cap.isOpened():
    print("Don't open camera")
    exit()

while True:
    #キャプチャ
    ret, frame = cap.read()
    if not ret:
        print("Don't get frame. exit")
        break

    #モデルで検出
    result = model(frame)

    #結果の画像を表示
    img_annotated = result[0].plot()
    cv2.imshow('Camera', img_annotated)

    #qを押すと終了
    if cv2.waitKey(1) == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

キーボードのqを押すと終了します。ティッシュをPCのカメラ前でプラプラさせるとこのように検出されました。

次は洗濯槽内に置いたティッシュの検出ができるか試します。強引ですがPCをひっくり返して内蔵カメラを洗濯槽内に向けました。

PCをぶつけまくってそれどころではないですが一応検出できているようです!(USBカメラ買います泣)

さいごに

一旦ここで区切りたいと思います。洗濯槽内に混入しているティッシュをYOLOv8で検出できそうなことが分かりました。課題としてはカメラがぶれないように設置することと、洗濯槽内の暗さをどう克服するかです。

これからRaspberry Piと赤外線カメラを購入し、洗濯槽内の暗い環境に対応できるように学習をやり直す予定です。ポケットに入っているティッシュの検出を目指します。

応援はリツイートなどを実行する形でお願いします!

タイトルとURLをコピーしました