【AI】物体検出能力の比較。ChatGPT4、Amazon Rekognition、YOLOv8
最終更新日: 2024/02/13 4:12pm
こんにちは。
小高です。
先週の2つのブログ
【AI】ChatGPT-4の物体検出能力をYOLOv8と比較する
の続きです。
先のブログ(【AI】医療とAI。ChatGPT-4の画像認識能力)では、まず、ChatGPT4(モデル:gpt4-vision-preview)を使えば「画像について記述したり、要約したりすることが十分にできそう」であることを見ました。
例として、ChatGPT4に以下の画像を入力し「これに何が写っていますか?」と問い合わせたとき、次が回答されました。画像の要約として「ほぼ満点」と言っていいと思います。
この写真には道路の光景が写っています。左側には緑色の枠内に人と犬が見えます。彼らは歩道を歩いているようです。道路の中央には車が停まっており、右側には自転車に乗っている人がいます。背景には建物がいくつか見え、少し雪が残っていることがわかります。晴れた日の昼間で、影がくっきりとしています。”
図1:実験につかった画像
次のブログ(【AI】ChatGPT-4の物体検出能力をYOLOv8と比較する)では、物体検出の有名モデル「YOLO」を紹介して、上の画像に写っている物体を検出してみました。
図2: YOLOv8による物体検出。
YOLOv8は、手元のLinux機にインストールして利用しました。物体検出に使用したのはモデルyolov8n.pt(軽量なモデル)です。
検出対象とするクラス(物体の分類)は{0: 人, 1: 自転車, 2: 自動車, 3: オートバイ, 5: バス, 6: トラック, 7: 鳥, 8: 猫, 9: 犬}の9種類に限定しました。
結果、上の画像に示されるように
人 : 3名
車:1台
が検出されました。人の数違い(2名が正解)、自転車の未検出、犬の未検出という誤りがありました。
さて。前置きが長くなってしまいました。
今日は、アマゾン・ウェブ・サービス(AWS)の物体検出サービス「Amazon Rekognition(リコグニション)」を使って、先の画像から物体を検出してみます。
AWSの公式サイトでも紹介されている通り、Amazon Rekognitionはいくつかの画像認識タスクを集めたサービスです。
YOLOのように物体を検出するのは「Detect Objectsサービス」です。
(注記)Amazon Rekognitionでは、Detect Labels(ラベル検出)とDetect Objects(物体検出)が同じ意味で使われています。ラベルとは、物体につけられた名札のことです。
まずは結論から。先の画像からAmazon Rekognitionによって物体を検出した結果です。
図3: Amazon Rekognitionによる物体検出
ここで一番面白いのは「車が認識されずにナンバープレートだけ認識されたこと」です。
犬が認識されなかったこと、人が誤認識されたのはYOLOと同じですね(誤認識している箇所が違うのは興味深い。画面中央の「信頼度55の誤認識」は心霊写真風に人間に似ていて、思わず「あれ、見落としてたかな」と思ったくらいです)
Amazon Rekognitionはクラウドサービスですから「この画像に何が写っているか教えてよ」とリクエストすれば結果を返してくれます。
具体的には、分析したい画像をAmazon S3に入れ、その画像URLを指定してAmazon Rekognitionに分析を依頼します。分析の結果はJSON形式で戻ってきます。
このJSONには、検出されたもの(ラベル)、写っている範囲(境界線、バウンディングボックス)、信頼度(Confident Score)などが含まれています。
検出結果を得るだけであれば、プログラムを作る必要はないのですが、検出結果を見るには(上の画像のように)境界線や信頼度を描き込みたいところです。今回の実験では、簡単なpythonプログラムを作成して画像にバウンティングボックス、ラベル、信頼度を描きこんでいます。下にその処理フローを示しておきました。
図4: Pythonを使ったAmazon Rekognitionによる物体検出の処理フロー
ChatGPT4とYOLOv8との違いを一番感じたのは、以下の画像でした。
図5: Amazon Rekognitionによる物体検出(その2)
「Moving Van」の「Moving」がそれです。
静止画を入力したのだから、自動車が止まってみえてもある意味普通、と思います。ChatGPT4も
道路の中央には車が停まっており
と回答しています。
自動車が走っていると人間が思うのは、「車が車道の真ん中にある」からです。
Amazon Rekognitionによる分析結果をよく見ると「Outdoor」といったラベルがありました。Outdoorは「この写真に何が写っているのか」という問いの回答ではないですよね。
「どこで写したか」を表しています。
(推測の範囲ですが)Amazon Rekognitionは、画像に写っているものに加えて、画像のメタデータ(どこで写したか、いつ写したかといったなど)を学習しているかもしれません。
以下にAmazon Rekognitionの料金表へのリンクを掲載しておきます。無料枠も設定されていますので、遊んでみられてはいかがでしょうか。
←「【AI】ChatGPT-4の物体検出能力をYOLOv8と比較する」前の記事へ 次の記事へ「【AI】集合写真から社員をさがせ! Amazon Rekognition (search users by image)」→