視覚障害者のGPT-4を使った画像説明の活用と代替テキスト
アクセシビリティ・エンジニア 大塚OpenAIが開発したGPT-4oやChatGPTの有料プランで利用できるGPT-4を用いた画像分析は、視覚障害者が画像についての情報を知る際にも活用できます。
こうした機能を視覚障害者の利用者が使いやすい形で提供しているのが、Be My Eyesというアプリに組み込まれたBe My AIという機能です。Be My Eyesは、晴眼者のボランティアが視覚障害者に対して、ビデオ通話によって視覚的な情報を提供できるアプリです。そして、このアプリで利用できるGPT-4のAPIを利用した画像認識機能が、Be My AIです。
Be My AIの利用は無料で、iOS版を利用した限りでは、VoiceOverでの操作も考慮されている印象です。さらに、写真アプリなどの[共有]画面から、認識対象の画像を簡単に読み込ませることもできるため、私を含め、多くの視覚障害者の利用者が活用しています。
画像認識については、従来から写っているものの種類や色、書かれている文字を確認することはできていましたが、内容に応じて複数のアプリを使い分ける必要がありました。Be My AIでは、それらの情報が1つのアプリで確認できるようになり、さらに追加での質問を行うことで、より詳細な画像の説明や画像から推測できる内容まで確認できるようになりました。
一例としては、自身で撮影した写真に意図しないものが写っていないことを確認するために、画像の背景に何が写っているのか、無関係の人が写り込んでいないかを確認する、服やカバンの組み合わせが適しているか、他に適した色や種類がないかを質問するといった活用をしています。後者のように質問する場合、理由を含めて回答するように指示することで、納得感のある回答が得られたり、さらに深掘りした質問をすることもでき、晴眼者に近いような画像の確認ができるようになったと感じています。
一方、特に文字情報の読み取りには課題があり、おそらく読み取れない箇所を推測して補う形で回答されてしまっていることで、正確さに欠けると感じることがあります。そういったこともあり、従来利用していたアプリを完全に手放すことはできていないのが現状です。
さて、「GPT-4での画像説明の生成」というと、Webページの代替テキスト(alt属性値)の生成にも活用できると考える方もいるかもしれません。しかし、現状では完全に自動生成に頼ることは難しいと考えています。
代替テキストはできるだけ簡潔に記載する必要があるとされていますが、GPT-4で生成された説明は簡潔なものであるとは言えません(以前当Blogへ掲載した代替テキストはなぜ簡潔にすべきかも参照ください)。
例えば、当社の「アクセシビリティ」サービスページの、多様なユーザーやデバイスからのWebコンテンツへのアクセスを表す図を、Be My AIに読み込ませると以下のような結果となります。
この画像は、ウェブコンテンツへのアクセスに関する図です。上部には「Webコンテンツ」と書かれており、複数のウェブページのイラストが表示されています。その下には「多様なデバイスからのアクセス」と書かれた赤い帯があります。さらにその下には、パソコンとスマートフォンのイラストがあり、それらのデバイスから矢印が下向きに伸びて、車椅子の人と立っている人のシルエットが描かれた青い円に繋がっています。この図は、ウェブコンテンツが多様なデバイスからアクセス可能であり、様々なユーザーに対応していることを示しています。
一方、上記の画像に設定された代替テキストを確認すると、
Webコンテンツに対し、パソコンやスマートフォンなどの多様なデバイスや、シニア層など多様なユーザーからのアクセスが見られる
と記載されています。代替テキストに含めるべき内容についてはさまざまな考え方があり、一概に言えないこともありますが、代替テキストとして設定された内容の方が簡潔であることに間違いはないでしょう。また、当然ではあるのですが、Be My AI(GPT-4)で生成された結果は、上記の画像のみをもとに生成されたものであり、Webページのコンテキストは含まれていません。Webページの代替テキストは、前後の文脈や、ページ内で伝える必要のある情報を踏まえて検討する必要があります。プロンプトを工夫することである程度改善することはできますが、そのためには前提知識も必要で、完全に自動生成に頼ることはやはり現状難しいと考えています。
生成された画像説明の視覚障害者の活用、Webページの代替テキストとしての使用それぞれに共通することとして、生成された説明は、現状ではあくまで1つの参考情報としてとどめておく必要があるでしょう。一方こうした前提を意識しつつ、前述したようにプロンプトを工夫することで、それぞれの用途により適した情報が提示できるようにもなるはずです。状況に応じたより適切な説明の生成が行えるよう、様々なプロンプトでの説明の生成を試していきたいです。