2009年創業。埼玉県川越市一筋のIT企業です。
イー・レンジャー株式会社 電話
イー・レンジャー株式会社 > 【AI】ChatGPT-4の物体検出能力をYOLOv8と比較する

【AI】ChatGPT-4の物体検出能力をYOLOv8と比較する

最終更新日: 2024/02/08 5:03pm

カテゴリー: AI, お知らせ, ソラコム, 先進技術, 画像認識, 監視カメラ

こんにちは。

小高です。

 

昨日のブログで、ChatGPT4の物体検出能力について触れました。

簡単に復習します。

会社の入り口に設置しているカメラが撮影した下の画像について、ChatGPT4に問い合わせました。

使用したモデルはgpt4-vision-previewです。

問い合わせ(プロンプト)は以下としました。

画像に写っている物とその個数を箇条書きで回答してください。抽出する物は次の分類に当てはまるものだけとします。
また、信頼度が高い物だけを抽出することとします。
抽出する分類は、{0: 人, 1: 自転車, 2: 自動車, 3: オートバイ, 5: バス, 6: トラック, 7: 鳥, 8: 猫, 9: 犬}の9種類に限定します。
また、1つ以上抽出された物について信頼度と、その様子について箇条書き中に括弧付きで説明してください。”

 

これに対して、gpt4の回答は以下のものでした。

” 画像に写っている物とその個数:
– 人: 1人 (歩道を歩いている人。犬を連れている。)
– 自動車: 1台 (画像の中心付近に停車している黒い車。)
– 犬: 1匹 (人が連れている小型犬。)

これらの抽出物についての信頼度は高いと見られます。各物体がはっきりと映っており、特定しやすい状態にあります。”

残念ながら「自転車に乗っている人」を見落としてしまいました。

 

このように、画像に何が写っているか回答する仕事(タスク)を「物体検出(Object Detection)」といいます。

現在のAI技術が爆発的に発展したのは、この「物体検出」タスクの発展が契機になっています。(2012年)。

 

今日は物体検出タスクの著名モデルの一つ「YOLO(ヨーロー)」を使って、上の写真に写っている物体を検出してみます。

まず最初にYOLOでどんなことができるかYouTubeに動画をアップしました。

上の写真と同じカメラで撮影した動画をYOLOに与えて、物体検出させました。

 

バスや車の周りに枠ができて、busとかcarとか表示されていますね。これはYOLOが「これはバス、これは車」と判断していることを意味しています。

下の図は、動画の物体検出の仕組みです。上の動画もこのようして作成しました。

YOLOの動画解析

図:YOLOによる解析動画の作成方法

 

「デジタル動画はたくさんのデジタル写真のパラパラ漫画」です。音声は、漫画とは別に同梱されています。

よくfps(frames per second)いいますが、これは、動画1秒間にパラパラされる写真の数です。

この写真1枚を1フレームといいます。たとえば、40fpsの場合だと、1秒間に40枚の写真がパラパラされる、逆にいうと、25m秒で写真が一枚めくられます。

上の図にあるように、YOLOはオリジナル動画のフレームを1枚1枚抜き出して物体検出します。そして、その結果を改めてまとめて動画(図中の編集済み動画)にすると、YouTube動画の出来上がりです。(「YOLOは」と書きましたが、他のモデルを使う場合にも、同様の手順です)

 

YOLOですが、最も顕著な特徴としてよく挙げられるのが「物体検出の速度が速い」ということです。上の図にある「抜き出す、検出する、書き出す」の「検出する」が速い。

今回、YOLOは、手元の古いマシン(Intel Core i3, 3.30GHz。Ubuntu20.05LTS。当然GPUなどありません)にインストールして利用しました。

そのスペックのマシンで、1フレームあたりの物体検出速度は50m秒から150m秒程度でした。(動画の解像度は1920✖️1080のHDです。YOLOv8のモデルは640✖️640の画像を対象にするので、自動的に長辺が640pixになるようリサイズされ処理されます)

 

この「速い」という特性を活かして(もう少しいいPCを使うとか、動画のfpsを落としたりすれば)リアルタイム検出が可能です。下にイメージ図を掲載しました。

 

YOLO リアルタイム検出

図:YOLOによる動画のリアルタイム検出

先にも書きましたが、40fpsの動画では1フレームが25m秒ほど「静止」しています。20fpsだと50m秒です。

私のオールドマシンでも、50m秒から150m秒程度でHD画像が処理できるのですから、上の図のように「動画の流れを止めることなく、フレームを差し替えてしまう」ことができそうです。

 

YOLOは、このように「動画の物体検出」を可能にするAIです。

話がそれますが、車の自動運転について想像していただければ、「絶え間なく入ってくる動画(道路状況)を解析して、(人が飛び出してきたときなど)瞬時に判断して操作に決定するAI」が絶対に必要だと思っていただけると思います。

それ専用のハードウェアとソフトウェアで実現される点で、YOLOより高速かつ高精度ですが、根本的な原理(AI)は同じと思われます。(個人的に、どんなハードウェアでどんなアーキテクチャになっているか是非知りたいところです)

 

さて。

「デジタル動画はたくさんのデジタル写真のパラパラ漫画」ですから、もちろんYOLOで「静止画」の物体検出ができます。

下にその結果を示しました。

YOLOv8による物体検出

図:YOLOv8によるカメラ画像の物体検出

使用したのは、YOLOv8のモデルyolov8n.pt(軽量なモデル)です。

検出対象とするクラス(物体の分類)は、ChatGPT4と同様に{0: 人, 1: 自転車, 2: 自動車, 3: オートバイ, 5: バス, 6: トラック, 7: 鳥, 8: 猫, 9: 犬}の10種類に限定しました。

結果、上の画像に示されるように

人 : 3名

車:1台

となりました。

人の数違い(2名が正解)、自転車の未検出、犬の未検出という誤りがありますので、単純に比較するとChatGPT4の結果の方が良かったことになります。

 

ChatGPT4は有料ですし、回答が戻るまでに平均5秒程度待たされます。YOLOは50m秒程度です。

YOLOを徹底的に訓練しなおせば、という議論もありかもしれません。

YOLOv8の再訓練については、機会を改めたいと思います。

 

自分としては、「いろいろあって楽しい」のは間違いありません。

 

 

←「」前の記事へ   次の記事へ「」→