人やモノを検知するAIでアプリを作ってみよう

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の中身を知ろう
・物体検知のパラメータを変えて出力させてみよう
・写っている人の数を数えてみよう

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です