YouTube : https://youtu.be/8dn0MQIu9iA
概要
・今回やること : 人やモノを検知するAIアプリ作成
・参考書籍 : 「Python×APIで動かして学ぶAI活用プログラミング」 Chapter1
———-
目次
物体検知AIアプリを作成しよう
・カメラインプット機能を作成する
・物体検知を実装する
・人数を計測して出力する
・動画から人数計測結果をグラフとして出力する
物体検知AIを紐解こう
・画像データを扱う
・動画データを扱う
・画像の物体検知を行なって物体検知AIの中身を知ろう
・物体検知のパラメータを変えて出力させてみよう
・写っている人の数を数えてみよう
———-
内容
物体検知AIアプリを作成しよう
———-
・カメラインプット機能を作成する
# ライブラリのインストール
!pip install streamlit
!pip install ultralytics
# Google Driveと接続
from google.colab import drive
drive.mount(‘/content/drive’)
# 作業フォルダへの移動
import os
os.chdir(‘/content/drive/MyDrive/ai_app_dev/1章’)
# ファイルの表示
from google.colab import files
files.view(“1_ObjectDetection_app.py”)
# Streamlitを動かす処理
!streamlit run 1_ObjectDetection_app.py & sleep 3 && npx localtunnel –port 8501
import streamlit as st
import cv2
import numpy as np
# Input
camera_img = st.camera_input(label=’インカメラ画像’)
# Process
if camera_img is not None:
bytes_data = camera_img.getvalue()
cv2_img = cv2.imdecode(np.frombuffer(bytes_data, np.uint8), cv2.IMREAD_COLOR)
output_img = cv2.cvtColor(cv2_img, cv2.COLOR_BGR2RGB)
# Output
st.image(output_img, caption=’出力画像’)
———-
・物体検知を実装する
from ultralytics import YOLO
# モデルの読み込み
model = YOLO(‘yolov8n.pt’)
results = model(cv2_img,conf=0.5)
output_img = results[0].plot(labels=True,conf=True)
———-
・人数を計測して出力する
upload_img = st.file_uploader(“画像アップロード”, type=[‘png’,’jpg’])
if upload_img is None:
bytes_data = upload_img.getvalue()
results = model(cv2_img,conf=0.5,classes=[0])
物体検知のクラス、参考リンク
https://qiita.com/Nya-ku/items/ad07872260cfe8abd322
———-
・動画から人数計測結果をグラフとして出力する
categories = results[0].boxes.cls
person_num = len(categories)
st.text(f’人数は{person_num}人’)
———-
物体検知AIを紐解こう
・画像データを扱う
・動画データを扱う
・画像の物体検知を行なって物体検知AIの中身を知ろう
・物体検知のパラメータを変えて出力させてみよう
・写っている人の数を数えてみよう
コメントを残す