見出し画像

AzureからGPTを使ってみる | GPTの画像認識について

以前の投稿でGPT4oの画像認識の精度について、物体の認識はできるけど数が数えられないと書きました。

その時は、API経由でプロンプトから画像を渡して推論させましたが、ブラウザ版のGPT4oでも同じように画像推論を試してみました。
使った画像は同じリンゴの画像です。
(よく見るとへたがおかしいのがある)

りんごは何個ありますか?
この画像には全部で25個のりんごがあります。

正解ですね。
何が違うのでしょうか?APIから使用したモデルは、Azureではありますが、GPT4oを使いました。いくつかネット上でも、GPT4oでは画像上の数の推論能力が上がっているという記事をみかけるのですが、ブラウザ版では、APIで使用する場合とは異なり、裏で何か動いているのでしょうか?

APIからでも画像上の数の推論能力を上げたい!

ここからは、まだ試作段階ですが、AI agentを使えばいけるのではないか?と思いいろいろと、試してみようと思います。

画像認識の機械学習モデルを試してみる

どうやらpythonからYOLOが簡単に使えるようになっているらしい?ということでGoogle colabで試してみようと思います。

まず、ドライブ上の画像にアクセスできるように接続をします。

from google.colab import drive
drive.mount('/content/drive')

必要なライブラリーをインストールします。

!pip install -r https://raw.githubusercontent.com/ultralytics/yolov5/master/requirements.txt

画像のpathは任意で

img = "/content/drive/MyDrive/"画像までのpath"/apple.jpg"

yolov5sで推論します。cpuでも動くのがすごいですね。

import torch

# モデル
model = torch.hub.load("ultralytics/yolov5", "yolov5s", device="cpu")  # load on CPU
#model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # load on GPU
# Inference
results = model(img)

推論後の画像を保存して確認します

results.save(save_dir="保存先のフォルダpath")


すごい!
cpuでも推論速度は全く問題になりません。
pandasのデータフレームや、JSONでも結果を受け取ることができます。

results.pandas().xyxy[0]
results.pandas().xyxy[0].to_json(orient="records")  # JSON img1 predictions

ログを見る場合は

results.print()

#image 1/1: 1024x1024 25 apples
#Speed: 344.1ms pre-process, 474.4ms inference, 34.2ms NMS per image at shape (1, 3, 640, 640)

いい感じです!これをagentへ組み込めば正確な数の推論もできるようになるはず。
yoloの推論モデルも独自データで学習できるはずなので、開発の幅は無限大です!
ということで、近いうちにagentに組み込んでみようと思います。
乞うご期待

この記事が気に入ったらサポートをしてみませんか?