はじめに
私は機械知能研究室に所属し、CV分野の研究をしています。
機械知能研究室ではロボットの視覚機能や自律的に行動するための知能システムについての研究に取り組んでいます(HPはこちらから)
近年、画像と言語を同時に扱うマルチモーダルモデル(VLM)が急速に進化しています。2026年4月にGoogleからリリースされたオープンモデル「Gemma 4」は、その中でも強力な「推論能力」を持つことで注目されています。
今回は、画像認識を研究する立場から、Gemma 4が単に画像を説明するだけでなく、「画像に写っている状況の文脈を読み解き、ゼロショットで物理的な危険(火災など)を予知・検知できるか」を、その思考プロセス(<think>ログ)とともに検証しました。
Gemma 4の新しい点
従来の画像認識タスクは「何がどこにあるか」を特定することに特化していました。しかし、ロボットやAIが実環境で自律行動するためには、その先にある「その状況はどういう意味か?」「次に何が起こるか?」を推論する必要があります。
Gemma 4は、以下の2点においてこの課題に対する強力なアプローチを持っています。
- ネイティブ・マルチモーダル: 画像をピクセルレベルで深く理解する能力。
- Thinking Mode(思考モード): 回答を出力する前に、内部でステップバイステップの論理推論を行う機能。
今回はローカル環境(Ollama)を用いGemma 4に危険な状況の画像を見せ、思考ログを抽出して解析します。
検証:暖房器具と燃えやすい物の接近
今回の検証のために、人間なら見た瞬間に肝を冷やすような、直感的に危険だと感じる画像をgemini nano banana2に生成させました
生成プロンプト:稼働中の電気ストーブ(赤く熱している)の、わずか数センチ隣に、薄手の布製カーテンが垂れ下がっている写真を画像として生成して下さい
使用したプロンプト
画像と一緒に、以下のプロンプトをGemma 4に投げます。今回は確実に思考ログを出すために、システム指示を追加しています。
プロンプト:
この画像の状況を見て、これから起こりうる事態を推論し、私が今すぐ取るべき行動を教えてください。システム指示(追加):
必ず、回答の前に<think>と</think>のタグで囲んで、あなたの論理的な思考プロセスを出力してください。
実装:Ollama経由でThinkingログを確実に抽出するPythonコード
OllamaでGemma 4を動かし、思考ログと最終回答をプログラム上で分離して取得するスクリプトを作成しました。万が一 <think> タグが途中で切れてもキャッチできるように正規表現を調整しています。
import ollama
import re
def analyze_danger_with_thinking(prompt, image_path):
# 思考タグの出力をプロンプトレベルで強く指示
enhanced_prompt = prompt + "\n※必ず回答の前に、<think>タグと思考内容、そして</think>タグを出力してください。"
try:
response = ollama.chat(
model='gemma4', # 環境に合わせて gemma4:instruct 等に変更してください
messages=[{
'role': 'user',
'content': enhanced_prompt,
'images': [image_path]
}]
)
full_text = response['message']['content']
# 正規表現で <think> タグの中身(思考プロセス)を抽出
think_match = re.search(r'<think>(.*?)(</think>|$)', full_text, re.DOTALL)
if think_match:
thinking_process = think_match.group(1).strip()
# 思考プロセスを取り除いた部分を最終回答とする
final_answer = re.sub(r'<think>.*?(</think>|$)', '', full_text, flags=re.DOTALL).strip()
else:
thinking_process = "思考ログが検出されませんでした(生データを確認してください)"
final_answer = full_text.strip()
return thinking_process, final_answer
except Exception as e:
return f"エラーが発生しました: {e}", ""
# 実行
prompt = "この画像の状況を見て、これから起こりうる事態を推論し、私が今すぐ取るべき行動を教えてください。"
image_path = "./dangerous_heater.jpg" # 検証用画像のパスを指定
think_log, answer = analyze_danger_with_thinking(prompt, image_path)
print("=== 🧠 Gemma 4 の思考プロセス ===")
print(think_log)
print("\n=== 🎯 最終出力 ===")
print(answer)
結果:Gemma 4が描いた「火災のシナリオ」
スクリプトを実行した結果、Gemma 4は見事に画像の状況を理解し、その裏にある物理的なリスクを推論しました。
🧠 Gemma 4 の思考プロセス(<think>ログ)
ユーザーは、暖房器具が作動している屋内の一枚の写真を提供し、「これから起こりうる事態の推論」と「今すぐ取るべき行動」を求めている。
-
画像の分析:
- 主要な物体:電気ヒーター。これは熱を発生させる機器である。
- 状態:ヒーターは作動しており、強い熱と光(オレンジ色)を放っている。
- 環境:暖房の熱源が、比較的燃えやすい素材(カーテン、木材、家具)の近くに配置されている。
- 懸念点:電気製品による火災リスク。
-
リスクの推論(最悪のシナリオ):
- 最大の危険は「火災」である。ヒーターから発生する輻射熱や、本体が壁やカーテンに接触することで、可燃物(カーテンなど)が発火する可能性がある。
- また、使用中に「放置すること」による火災や、誤配線による電気的な事故も考えられる。
-
取るべき行動の決定(最優先事項):
- 火災予防が最優先。
- 「距離の確保」と「監視体制の維持」が必須。
- 安全装置の確認(タイマー、温度設定)。
-
回答の構成:
- 思考プロセスを記述する。
- 推論される事態(危険性)を明言する。
- 具体的な「今すぐ取るべき行動」を、緊急度が高い順に箇条書きで指示する。
🎯 最終出力
「推論される最も危険な事態」
この画像から推論される最大のリスクは、火災の発生です。
ヒーターは高い熱を発生しており、特に隣接しているカーテンのような可燃物と至近距離に置かれているため、輻射熱や万が一の本体の接触熱によって、カーテンや周囲の布製品が発火する危険性が非常に高いです。また、暖房器具は電源の使用と密接に関連しているため、電気的な事故(配線の損傷や過負荷など)の危険性も存在します。
【あなたが今すぐ取るべき行動】
⚠️ 最優先事項:火災予防を徹底してください。
以下の行動を、すぐに、かつ確実に実行してください。
-
🔥 距離の確保(即時行動):
- ヒーターの周囲(特に前、側面)から、カーテン、衣類、家具、カーペットなどの燃えやすいものをすべて引き離してください。最低でもヒーター本体の幅から最低1メートル以上の空間を確保することが理想的です。
-
🚫 監視の徹底(行動原則):
- ヒーターを「絶対に目を離さずに使用してください」。 寝る時、留守番をする時など、少しの間でも席を外す場合は、必ず電源を落としてください。
-
🔌 電源と配線の確認:
- 電化製品が過熱している場合や、電源コードが焦げ付いている、または傷がある場合は、直ちに電源を抜いてください。
- ヒーターの近くに水や濡れたものを置かないように注意してください。
-
⏲️ 安全装置の活用:
- 可能であれば、タイマー機能付きの電源タップを使用するか、タイマー設定をすることが極めて安全です。
- ヒーターが倒れても自動で停止する「自動電源オフ機能(転倒保護機能)」があるか確認し、確実に動作する場所に置いてください。
【まとめ】
現在、あなたの周囲には火災の「引き金」になる危険性が極めて高い状態です。安全が確認できるまで、暖房は使用を控えるか、最も安全な場所に移動させて使用してください。
考察:画像認識から見た「物理的推論」と異常検知の進化
得られた Thinking Mode のログを解析すると、Gemma 4が単に「物体」を検出しているだけでなく、以下の高度な処理をゼロショットで行っていることがわかります。
- 意味論的な物体認識と属性理解: 単に「ストーブ」というだけでなく、それが「熱源(赤熱している)」であることを画像から読み取っている。
- 位置関係と物理法則の適用: 「燃えやすい布」が「熱源」の「近く」にあるという状況から、「引火(火災)」という物理現象を連想(推論)している。
- 推論プロセスの透明化: 判断の根拠が言語化されるため、なぜシステムがそれを異常とみなしたのかが明確になる。
Gemma 4のような強力なVLMを用いることで、「視覚的な逸脱」だけでなく、「常識や物理法則に照らし合わせた文脈的な異常」をゼロショットで検知できる可能性が示唆されました。これは、複雑な実環境で稼働する自律システムの安全確保において、非常に強力なアプローチになります。
また、今までは結果の解釈が文脈や出力から推測しなければならないものであったものがログの可視化により入力プロンプトの精度向上を行うための考える材料と用いることができます。
おわりに
今回は最新のGemma 4を使って、日常に潜む火災リスクの予知と思考プロセスの抽出を行ってみました。
画像認識の結果をどのように高度な意思決定に繋げるかは大きな研究テーマですが、Gemma 4のような「見ながら考える」モデルは、その課題解決に向けた強力なツールだと感じました。
正直このレベルのものがオープンソースになっていることに大分驚きました。
ローカル環境で手軽にマルチモーダル+高度な推論が試せてとても面白いので触ってみてください。
