HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

gpt-4-vision-previewでどれだけ画像を理解できるのか試してみた


はじめに

こんにちは!山本です。

HapInSアドベントカレンダー2023、17日目です。

openaiのgpt4では文章に加えて画像も読み込むことができるのはご存じでしょうか?

https://platform.openai.com/docs/guides/vision

今回はgpt-4-vision-previewで画像を読み込ませてどれだけ画像を理解できるか試します。

説明

gpt-4-vision-previewGPT-4 Turboモデルに画像を読み込む機能が追加されたモデルになります。画像はリンクかBase64エンコードした画像を渡す方法があります。

ドキュメントによると得意なことは

  • 画像に何が存在するか
  • 画像に映っているものの関係性

を理解できます。逆に苦手なことは

  • 物体の正確な位置

です。

それでは、実際に得意なことと苦手なことを試してみます。読者の方が再現しやすいようにcurlコマンドを利用します。下記のフォーマットの「質問文」と「画像のURL」に埋め込んで試します。

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-***" \
  -d '{
    "model": "gpt-4-vision-preview",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": 「質問文」日本語で答えてください。
          },
          {
            "type": "image_url",
            "image_url": {
              "url": 「画像のURL」
            }
          }
        ]
      }
    ],
    "max_tokens": 300
  }' -w "response_time:%{time_total}\n"

得意なこと

何の画像か

https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg


質問:なんの画像ですか?
回答:これは自然風景の写真です。画像には木製の遊歩道があり、その周りは緑豊かな草原が広がっています。空は晴れており、広々とした開放感が感じられる風景です。遊歩道は観察や散歩に利用されることが想像されます。
返却時間:11秒

画像の詳細な質問

https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Dining_table_for_two.jpg/1024px-Dining_table_for_two.jpg


質問:椅子の色は何色ですか?
回答:椅子の色はライトブラウン(淡い茶色)です。
返却時間:4秒

個数を数える

https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Dining_table_for_two.jpg/1024px-Dining_table_for_two.jpg

質問:椅子は何個ありますか?
回答:写真には椅子が2脚あります。
返却時間:4秒

https://hapins.net/new/wp-content/themes/hapins/images/logo.png


質問:画像を読み込んでください。画像に含まれるアルファベットは何文字ありますか?
回答:画像に含まれるアルファベットは6文字あります。
返却時間:9秒

https://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Flag_of_the_United_States_%28DoS_ECA_Color_Standard%29.svg/1200px-Flag_of_the_United_States_%28DoS_ECA_Color_Standard%29.svg.png


質問:画像を読み込んでください。画像に含まれる星のマークはいくつありますか?
回答:画像には50個の星のマークが含まれています。
返却時間:7秒

まとめ

このようにgpt4は画像を理解できることがわかりました。これを利用すれば、不良品検知、画像のタグ付け、広告の作成のような業務の効率化を図ることができます。ただし、現在はこのように 1 日あたり 100 リクエストの制限があります。今後、この制限が解除されれば、業務で本格的に利用ができるようになります。
 今回はAPIから実施していますが、chatGPTでも試すことができます。興味があればためしてみてください。

明日もお楽しみに!