トピック

進化したChatGPT 画像認識・生成可能になったGPT-4Vが凄い

ハイペースで進化し続けているOpenAIのAIチャット「ChatGPT」。2023年9月には画像のアップロードが可能になり、その画像内容を元にした回答が得られるようになりました。続く10月には画像生成AI「DALL・E 3」も実装され、テキストによる簡単な指示で高品質な画像生成も可能になっています。

それらの新機能で一体どんなことができるのか。今回は主に画像アップロードに関わる機能について、実例を交えながら具体的な用途を探ってみたいと思います。

画像アップロード機能の使い方

GPT-4V(GPT-4 with vision)とも呼ばれる画像アップロード機能は、有償の「ChatGPT Plus」(月額20ドル)ユーザー向けに提供されているものです。ただし、ユーザーによってサービス提供タイミングが異なり、リリースは9月末だったものの、筆者が利用できるようになったのは10月半ばでした。10月20日には、全Plusユーザーが画像生成AIの「DALL・E 3」が利用できるようになったとOpenAIから公式アナウンスがあったため、現在は画像アップロード機能も全Plusユーザーが利用できるはずです。

利用できるかどうかを確認するには、ChatGPTで「新しいチャット」を開始し、「GPT-4」の「Default」を選択します。そのときチャットのテキスト入力欄左側にイメージアイコンが表示されていれば利用可能です。アイコンをクリックしてローカルの画像ファイルを選ぶか、画像ファイルをチャット画面にドラッグ&ドロップ(パソコンのみ)することでアップロードが始まります。

「新しいチャット」を開始し「GPT-4」の「Default」を選択
イメージアイコンが表示されていれば画像アップロード機能が利用可能

画像ファイルのアップロード完了後、画像に関する質問・指示を入力して送信すれば、ChatGPTが画像内容を認識して質問に沿った回答を提示します。代わりにレスポンスは遅くなる傾向にあるようです。もともとGPT-3.5より回答速度の遅いGPT-4でしたが、それよりも低速です。サーバー負荷が高まっているためか、時間帯によっては回答の生成途中でエラーになり、中断されることもたびたびありました。

画像をアップロードしたら質問・指示を入力
画像をもとにした回答が得られる

また、ファイルサイズの大きな画像はアップロードできてもChatGPTが回答する段階でエラーになることがあります。筆者が1個20MBを超える画像ファイルをアップロードしたときは、エラーが表示され、その後はチャットを継続できなくなり、「新しいチャット」を始めるしかない状況になりました。画像ファイルのサイズはできるだけ抑えたものをアップロードした方が良いでしょう。なお、画像の縦横サイズについては高解像度(6,000×4,000ドットなど)でも問題なく処理してくれます。

負荷が高まっていると思われるタイミングでは生成途中でエラーになることも少なくない
20MB超の画像ファイルをアップロードすると回答時にエラーになる

スマートフォンアプリでも、端末に保存している画像やその場で撮影した写真をアップロードできます。アプリならではの要素として、AIに特に注目してほしい画像内の箇所を手書きでマークし、より適切な回答を引き出せるようにする機能もあります。Web版にはない機能ですが、あらかじめ画像編集してマークしたものをアップロードすることで同様の効果を得ることは可能です。

スマートフォンアプリではアップロードした画像に手書きでマークし、指示を簡便にする機能がある
パソコンでも画像編集ソフトでマーク済みのものをアップロードすれば同じことが可能

では、具体的にどういった用途に使えるのか試していきましょう。

1. 場所や物の情報を得る

画像を使用する用途として思いつきやすいのが、そこに描かれている・写っているものが何であるかを調べてもらう、というものでしょう。

たとえば旅行先で写真をたくさん撮ったのはいいけれど、それがどこだったか忘れてしまった、みたいなこともあるはずです。時間がたってしまった昔の写真だとなおのこと思い出すのは難しくなります。

特徴的な風景写真から場所を推測してもらった例

特徴のある風景はすぐさま正解を出してくれますが、ありふれた街中の写真を元に推測してもらう場合、一発で場所を特定するのは難しいようです。そういう場合は前後で撮影した写真を追加でアップロードしたり(または同時に複数の写真をアップロードしてもOK)、自分の記憶に残っている補足情報を与えたりすることで、どの国・地域で撮影した写真なのかが判定できる可能性が高まります。

下記の例では、ドイツの街並みの写真をアップロードしたところ1枚だけでは「ヨーロッパの都市と思われます」までしか伝えてくれません。しかし、特徴的なランドマークや店名が見える写真を追加アップロードすると、ドイツのライプツィヒ市にある「アウエルバッハの地下室」というレストランと場所を特定。さらに、そのお店の詳しい情報まで教えてくれました。

ありふれた街並だと一発で特定するのは難しい
前後の写真もアップロードすることで場所の当たりをつけることができた

名前のわからないローカルフードを知りたいときも便利です。これも、あまり特徴のない料理だと一般的な料理のなかから候補がいくつか提示される形になってしまいますが、どこの国・地域で食べたものかを補足してあげることで確度の高い情報が得られます。外国の食事だけでなく日本の食事についてもChatGPTはしっかり理解しているようです。

旅行中の食事をアップロード。正解は「クネドリーキ」だが、パンやクラッカーのようなものと判定された
どこで食べたものかを補足情報として与えることで、正解に近い料理名と作り方が提示
日本らしい食事もほぼ正解

機械が苦手な人もChatGPTが助けになります。パソコンのパーツに用途のわからない端子を見つけたので、写真に撮って質問してみたのが下記の例です。端子について詳細に説明してくれるので、何を接続するべきかも容易に判断できるでしょう。

パソコンのマザーボードにある端子について質問すると詳しく教えてくれた

2. Webサイト制作の支援

デザイナーが設計したWebサイトを正確にHTMLで再現するのは簡単なことではありません。レイアウトによっては複雑なCSS定義やJavaScriptによるプログラミングが必要になったりします。そんなときに今回の画像アップロード機能が役に立ちそうです。簡易的なスケッチをもとに、それを再現するHTMLコードを生成してもらった例が下記になります。

Webページのレイアウト指示を画像化してアップロード、HTML化してもらう
ChatGPTが出力したコードを使ってWebブラウザーで読み込んだところ、だいたい想定通りに

部分的に誤った認識をすることがあるので、その場合は修正指示が必要になることもありますが、概ね想定していたページレイアウトを実現するコードを出力してくれました(とはいえこのレベルであれば、Webのレイアウト作成を支援してくれる「CSS Layout Generator」などのツールを利用した方が早いのですが)。

ページ全体ではなく、ページ内で使うパーツを作ってもらうこともできます。Googleの提唱するMaterial Designのガイドラインページのスクリーンショットをもとに、スライダーコントロールをHTMLとCSSだけで再現してもらいました。

スライダーコントロールを再現してもらう
見た目は異なるものの、動作としてはイメージ通りのものができた

提示されたコードでHTML/CSSファイルを作成してWebブラウザーで表示してみると、カラーリングやデザインは少し異なりますが、スライダーとしてきちんと動作しました。続けて指示することで、スライダーの数値をつまみの近くに表示することもできました。よりイメージに近いデザインにするにはもっと細かな指示を重ねるのはもちろんのこと、画像パーツも別途用意する必要があるかもしれません。

指示を加えて、スライダーのつまみ近くに数値を表示する形に

さらに、既存のWebアプリケーションに似たものも少ない手間で実現できます。下記は(カンバン方式のタスク管理ツール)「Trello」のスクリーンショットを元に再現を指示したものです。

一発で全体をそっくりそのまま、というわけにはいきませんでしたが、どういう機能をもつWebアプリケーションかを理解したうえで、「カードをドラッグ&ドロップで移動する」という基本的な機能をもつコードを提示してくれました。

Trelloのスクリーンショットをアップロード
キモとなる「カードのドラッグ&ドロップ」操作が可能なHTMLが出力された

3. 画像内の文字、文章を読み取る

画像内のテキストを読み取るOCR的な使い方も可能です。紙の書類をスキャナーでスキャンしたり、スマートフォンで撮影したりして、それをテキストデータにすることで活用しやすくなります。外国語の資料は文字認識すると同時に日本語に翻訳してもらうなど、通常は複数のステップを踏まなければならない作業を一度にこなしてくれるのも便利なところです。

外国語のメニュー画像のテキスト抽出と翻訳を指示。外国語部分はそこそこ正確に抽出でき、翻訳文も表示

しかしながら日本語文書の場合、今のところ精度はそれほど高くないようです。カメラ撮影したものよりも、どちらかというとスキャナーでスキャンしたものの方が正しく読み取ってくれる率がやや高いようですが、いずれにしても誤認識が多く実用には向きません。OCRでよくある「似た文字」が出力される誤認識の仕方ではなく、全く異なる文字・文章が出力されることがあります。

日本語文書のスキャン画像をアップロードした例
単なる誤認識とは言えない、想像で書いたような文章が出現している

元々のChatGPTの仕組みでは、回答の文章を組み立てるときに「次に来る確率の高い言葉」を選んで出力しています。画像からテキストを抽出するときもそれと同様に、画像にある文字そのものを判断しているというより、「この文章の流れなら次にこの言葉が来るだろう」といったような推測を元にテキスト化しているように見受けられます。

4. 粗い画像からベクターイメージを生成する

次は趣向を変えて、画像を出力できないか試してみることにします。ChatGPTはテキストで回答するので、バイナリデータである画像そのものを直接出力することはできませんが、中身がXMLフォーマットであるベクター形式のSVGなら扱えます。もし解像度の低い画像しかなかったとしても、それをSVGに変換できるなら、拡大してもドットが目立たないので画像の活用範囲が広がります。

鉛筆を模した低解像度のアイコンをアップロードしてSVG化を指示
最初にできあがったSVGの中身

というわけで試してみたところ、上記の通りかなりシンプルな鉛筆を模した図形であっても再現はできませんでした。何度か指示を繰り返していくことで鉛筆らしい見た目にはなったものの、それを元のイメージ通り斜め向きにしようとしたところで破綻しました。画像生成については、やはり後述の「DALL・E 3」を使う方が良さそうです(ただしSVG出力には非対応となります)。

何度か細かい指示を与えてできあがったもの
鉛筆を斜めにするように指示したところ、唐突に破綻した

有効な用途もあれば、そうでない用途もある

以上のように、ChatGPTの画像アップロード機能はいくつかの場面で便利に使えるものの、決して万能ではありません。全体像から「推測」するのは得意な印象ですが、日本語文書のOCRやSVG出力の例のように、細部を精密に分析するのは苦手な様子です。

下記はスマートフォンで撮影したねじとナットの写真からねじの本数だけを数えてもらったものですが、ねじが重なっているものだけでなく、きれいに並べた状態のものであっても正しくカウントしてくれません。

画像にあるねじの本数を数えてもらった例。正解は16本だが、きれいに並べても間違えた

地図画像に記した複数の訪問先の効率的な道順を検討する、いわゆる「巡回セールスマン問題」も解決できませんでした。テキストで回答しやすいようにこちらで番号を振った通りの順番をそのまま提示するだけです。

巡回セールスマン問題を解いてもらおうとしたが、ただただ番号順に移動することを勧めてきた

「めちゃめちゃ難しい」と話題のサイゼリヤの間違い探しの正解を見つけてもらおうとした例では、イラストにない要素を説明していたりして、ほとんど役に立ちませんでした。間違い探しの楽しみがなくならずに済んだ、と喜ぶべきところでしょうか……。

サイゼリヤの間違い探しでは、イラストにない要素を延々と説明される結果に

これらの例から、画像アップロード機能はあくまでも「視覚的に(やや漠然と)捉えたものについてAIの判断を仰ぐ」ためのものであり、詳細な分析が必要になる場面で使うものではないことがわかります。ChatGPTには(画像以外の)データ分析やプログラムコードの生成・実行に向いた「Advanced Data Analysis」があるので、「分析」はそちらに任せるべき、という考え方もあるのでしょう。

簡単な指示で「いい感じ」に画像生成する「DALL・E 3」

最後に、2023年10月に実装された「DALL・E 3」による画像生成も軽く試してみます。「DALL・E 3」の一番のポイントは、ユーザーの入力したざっくりとした説明文だけで、おそらく頭でイメージしたものに近い高品質の画像が生成されることです。

「GPT-4」から「DALL・E 3」を選んでチャットを開始する

Stable Diffusionなど従来の多くの画像生成AIでは、情景描写をはじめとする条件をプロンプトの中で1つ1つきめ細かく指示しなければなりませんでした。が、「DALL・E 3」ではある程度ユーザーの意図を汲みつつ、自然な見た目の画像を生成します。これはユーザーの入力文を最初にAIが解析し、細かな条件を含むプロンプトとして生成し直した後、画像生成を行う、といった流れになっているのが要因の1つと思われます。

「海鮮丼」の画像を生成してみた例
画像をクリックすると拡大表示し、実際のプロンプトも確認できる
アルプスの少女ハ○ジを思い描きつつ画像生成。令和の時代にアニメ化するとこうなる?
「鎌倉時代のアイドルグループの解散理由」を画像で大喜利させる無茶振りをしてみた結果
プロンプトを見ると「坊主がダンスに難癖つけた」的な解散理由を指示している。絵面はちょっと面白いけれど大喜利としては?

現在は一度に4つの画像が候補として提示され、解像度は1,024×1,024ドット、場合によってさらに高解像度の画像が出力されることがあります。壁紙として使えそうな画像を生成するのにはまだ力不足ですが、説明資料やWebサイトなどに使うイメージイラスト、画像パーツの作成用途であれば、十分に実用可能なレベルと思われます。

ちなみにファイル出力はPNG形式(Webブラウザーの右クリックから「名前を付けて画像を保存」した場合はWebP形式になります)。透過PNGの生成はできず、先述の通りSVG形式での出力にも対応しません。

ダウンロードボタンだとPNG画像になり、画像の右クリックからダウンロードするとWebPに

無料の画像生成AIもある。有料のChatGPTの強みは?

画像を使ったAIチャットや画像生成AIのサービスは、ChatGPT以外にもいくつか存在します。OpenAIと協業しているMicrosoftの「Bing」や同じDALL・E 3を採用している「Image Creator」、Windows搭載の「Copilot」のほか、Googleの「Bard」も画像入力に対応しており、しかも無料です。

いち早く高度なAIチャットを一般公開し、その後も矢継ぎ早に新機能を投入してきているChatGPTの進化には目を見張るものがあります。しかし、無料の選択肢が他にもあることを考えると、当初のようなインパクトが薄れているのも事実です。「Advanced Data Analysis」などChatGPTがもつ他の機能との相乗効果をどれだけ発揮できるようになるかが、今後の鍵になってくるように思います。

日沼諭史

Web媒体記者、IT系広告代理店などを経て、フリーランスのライターとして執筆・編集業を営む。AV機器、モバイル機器、IoT機器のほか、オンラインサービス、エンタープライズ向けソリューション、オートバイを含むオートモーティブ分野から旅行まで、幅広いジャンルで活動中。著書に「できるGoProスタート→活用 完全ガイド」(インプレス)、「はじめての今さら聞けないGoPro入門」(秀和システム)、「今すぐ使えるかんたんPLUS+Androidアプリ 完全大事典」シリーズ(技術評論社)など。Footprint Technologies株式会社 代表取締役。