SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

サーバーレスでAIシステム開発スタートダッシュ

AWSのServerless Inferenceを活用して、サーバーレスで学習から推論までを実装しよう

サーバーレスでAIシステム開発スタートダッシュ 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Serverless Inferenceを活用したAI Botの実装紹介

システム概要

 これまで解説してきた、Amazon SageMaker Serverless InferenceとAWS Lambdaを利用して物体検知を行うAIシステムを実装しましたので中身を見ていきます。

 題して「ナンバープレート加工Bot」。

 具体的な構成としては、LINE Botをフロントエンドとし、LINE上で画像を送信すると、その画像内にある車のナンバープレートをAIが検出し、検出された部分を黒塗りにした画像をユーザーに返すというものです。

 プライバシーの観点から、Botに送信している画像内のナンバープレートはぼかしていますが、実際にはぼかし処理は行わず、そのまま送信されます。

モデルの学習

 先ほど述べたように、コスト削減のために学習はSageMakerではなくColabolatory上で行いますが、いくつかの注意点があります。Colabolatoryの無料枠では利用できるメモリ上限が12GBまでであることや、長時間実行しているとランタイム接続が切れて学習が途中で止まることがあるため、バッチサイズや入力画像サイズに制限がかかったり、エポック数を増やして一気に長時間学習させることが難しかったりする点には注意しておきましょう。

 今回使用するモデルはYOLOv5で、これを学習させて車のナンバープレートを検出できるようにします。以下はそのリポジトリのリンクです。

 まず、ナンバープレートの箇所をラベリングした教師データを以下のように用意しました。

 これには画像の拡大縮小や水平移動などのオーグメンテーションも含め、合計648枚のデータがあります。これらのデータはGoogle Drive上に配置し、学習を行うためにGoogle Colabolatoryを活用しました。

!git clone https://github.com/ultralytics/yolov5  # clone
%cd yolov5
%pip install -qr requirements.txt comet_ml  # install

import torch
from google.colab import drive

drive.mount('/content/drive')

python train.py --data <教師データへのパス> --epochs <エポック数> --weights <転移学習元の重み> --batch-size <バッチサイズ>

 学習プロセスはYOLOv5のリポジトリをクローンし、train.pyを実行することで行いました。バッチサイズは32に設定し、総計70エポックの学習を実施しました。その結果、以下の写真のようにナンバープレートを検知することができました。

次のページ
推論の実行

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
サーバーレスでAIシステム開発スタートダッシュ連載記事一覧

もっと読む

この記事の著者

株式会社ブリューアス AI-TEAM(カブシキガイシャブリューアス エーアイチーム)

 モバイルのアプリを中心にUI/UXデザインから開発保守まで、幅広い実績を持つ会社です。専門的な知識と豊富な開発経験を活かし、AIとサービスの統合を推進しています。 Brewus.inc

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18893 2024/01/25 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング