生成AI活用は、社内情報の整理から

最近は、写真を生成AIに見せると、写っているものを説明し、関連情報まで答えてくれるため、画像解析も含めてすべて生成AIが処理しているように見えますが、実際には、画像から対象を読み取る機械学習、商品情報や過去データを探す検索・データベース、得られた情報を文章にまとめる生成AIなど、複数の仕組みを組み合わせて動いています。
今回は、撮影画像からの商品情報取得と、列車走行中の沿線映像からの異常検知という二つの例から、画像解析について考えてみます。
撮影画像から商品情報を取得する仕組み
最近、断捨離でギターを手放すことにしました。中学生の頃にバイト代を貯めて買ったものですが、もう何十年も弾いておらず、メルカリに出品することに…
KRAMER JK 1000(メルカリ)
写真を1枚登録しただけで、ギターであることや色、メーカーが判定され、説明文まで自動で入力してくれます。さらに同じ写真をGPTとGeminiにも見せ、売るならいくらか、買うならいくらが妥当かを聞いてみました。他にも何点か出品しましたが、今回試した範囲では、相場感はGeminiのほうが実際に近い印象でした。面白いことに、売る側として聞けば高め、買う側として聞けば安めの金額を提示してきます。みんなが生成AIを使えば損も得もしなくなると思ってましたが、いやいやどうして、ちゃんと相談者の立場に寄り添ってくれますw
この場合の画像解析では、まず画像全体の中から背景と出品対象を見分け、写っているものがギターであることを認識します。そのうえで、形状や色、ロゴ、文字、部品の配置などから、商品の種類やメーカー、型番の候補を特定します。画像認識と文字認識を組み合わせる方法もあれば、最近では画像を直接解釈できるマルチモーダルLLMを使う方法もあります。とはいえ、今回のような古いものだと、メーカーのWebサイトには情報がないでしょうから、古いカタログや中古販売店の掲載情報、過去の出品・取引データ、類似する商品画像などを検索し、RAGでその情報を生成AIに参照させながら、商品情報を推定しているのだと思います。あとは、得られた情報を生成AIが説明文としてまとめ、過去の取引データなどから価格の目安を提示します。処理するのは写真数枚で、結果が返るまで多少時間がかかっても問題ないため、クラウド上でLLM、画像解析モデル、検索・RAG、データベースを組み合わせて実現しやすい仕組みです。ただ、精度を上げるには、過去の商品画像や取引情報を相当量蓄積し、商品カテゴリーごとに画像解析や検索の仕組みをチューニングする必要があるため、ここはかなり大変そうです。
列車走行中の沿線映像から異常を検知する仕組み
もう一つの例は、関西の私鉄向けに提案した沿線異常検知システムの一部「着脱式ステレオカメラユニット(写真はCG)」です。予算面での制約を踏まえ、まずは1セットを使い回す形で考えました。採用には至りませんでしたが、せっかく考えたので、ここで紹介しておきます。
着脱式ステレオカメラユニット(X)
座席後方のユニットには、ステレオカメラ、GPU搭載のエッジコンピューター、電源、ストレージがまとめられており、通常の映像に加え、対象物までの距離を示す深度情報と、それを三次元空間上の点として表した点群データを取得します。まずは車両や区間を変えながらデータを蓄積し、線路周辺の三次元情報をデジタルツインとして構築したうえで、クラウド側で過去データとの詳細な比較を行い、沿線設備の変形や位置ずれなどの変化を見つけて危険度を判定するとともに、検知結果の管理や報告書の作成まで行う仕組みをつくろうとしていました。一方、列車の走行中は通信環境を常時確保できるとは限らず、映像や点群データも連続して発生するため、人や車、倒木、落石など、本来そこにあってはいけない対象を学習させた検知モデルをエッジコンピューターに搭載し、ユニット内で処理して、異常の可能性がある場合にリアルタイムで警報を発することも考えていました。
似て非なる二つの画像解析
この二つは、どちらも画像を解析して結果を導き出す仕組みですが、求められる処理と応答性能が異なります。写真1枚なら、複数の処理や検索を組み合わせ、数秒後に回答しても問題ありません。一方、走行中の映像、深度、点群データは連続して入ってくるため、すべてをクラウドへ送ってから処理する構成では、通信量や遅延が大きくなります。そこで鉄道点検では、リアルタイムに検知する対象を絞って専用モデルを学習・最適化し、GPUを搭載した車上のエッジコンピューターで連続処理します。
同じ画像解析でも、前者は情報を集めて答えをつくる仕組み、後者は現場で変化を捉えて即座に危険を知らせる仕組みです。生成AIが得意なのは画像の内容を解釈し、検索結果をもとに説明する部分であり、リアルタイムの異常検知には、専用の画像認識モデルやエッジ処理が必要になります。
当然、使う言語や処理系も異なります。商品画像の解析では、Pythonを中心に、画像認識モデル、LLM、RAG、データベースなどを組み合わせます。一方、列車上のリアルタイム検知では、毎秒何十回も入力される映像を解析するので、応答に時間がかかるLLMは使えません。そのため、学習済みの画像認識モデルをさらにチューニングしたものを使います。
ブラウザで動くリアルタイム画像解析
最近、スマートフォンやPCのブラウザ上でも、端末内で画像認識モデルを動かし、リアルタイムに画像を解析することが可能になりました。これを使えば、端末だけでカメラ映像から物体や人の静止状態を判定できるだけでなく、連続する映像から移動方向や姿勢の変化など、簡単な動きも判定できます。今後は、低ビット化されたLLMやVLMもブラウザ上で動くようになり、単純な物体や姿勢の判定だけでなく、連続する動きの意味まで端末内で判断できるようになるなど、ブラウザだけで実現できる画像解析の幅はますます広がりそうです。


