◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り8日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り8日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/高度な活用
⬡ 高度な活用/2026-09-17中級

Gemini の色判定が同じ壁紙で入れ替わったのは、モデルではなく渡し方の側でした

同じ壁紙を渡しているのに色名の判定が入れ替わる原因を、書き出し5通りで数えた記録です。色空間を先に決め、閉じた語彙と機械側の基準値で検算するところまでまとめました。

Gemini91画像理解色空間壁紙アプリ8Python51

✦ プレミアム記事

浮世絵壁紙の新着分を夜のうちに分類させていたとき、前の週に青と返ってきた一枚が、その晩は灰と返ってきました。プロンプトは変えておりません。モデルも同じです。変えたのは、書き出しに使っていたツールを別のものへ差し替えたことだけでした。

原因を探すのに二晩かかりました。行き着いたのは、モデルの気分ではなく、私が渡していた画像の側でした——正確には、画素値がどの色空間の数値なのかを伝える手がかりを、書き出しのときに落としていたのです。

同じ症状に心当たりのある方のために、書き出し方を5通り並べて数えた記録を書き残します。個人開発で運用している壁紙アプリの新着 120 枚が材料です。

揺れていたのは色名だけでした

最初に手を付けたのは、揺れの範囲を絞ることでした。分類の出力は「被写体」「構図」「主たる色」「用途タグ」の4項目です。この4項目のうち、どれが入れ替わっているのかを並べ直しました。

被写体と構図は、2回投げても同じ答えが返りました。用途タグも同じです。入れ替わっていたのは主たる色の1項目だけでした。

ここで方向が決まりました。プロンプト全体を書き直す前に、色という1項目だけを対象にして測ればよいのです。範囲を狭めたおかげで、120 枚を5通りで投げても一晩で終わりました。

揺れているのは出力の全部ではありません。項目ごとに分けて数えると、直す場所が一箇所に寄ります。

測り方を決める前に、書き出しの5通りを並べました

比較の条件

原本は Display P3 の 4K 画像です。ここから5通りを作りました。長辺はすべて 1,024 ピクセルへ揃えてあります。解像度の影響を混ぜないためです。

  1. sRGB へ変換して書き出した JPEG(品質 95)——これを基準に置きます
  2. Display P3 のまま、ICC プロファイルを埋め込んだ JPEG(品質 95)
  3. Display P3 の画素値のまま、ICC プロファイルを落とした JPEG(品質 95)
  4. sRGB へ変換した PNG
  5. sRGB へ変換した WebP(品質 80)

3番は、配信用に少しでも軽くしたいという理由で私がやっていたことです。プロファイルは数十キロバイトありますので、落としたくなります。

正規化そのものは Pillow の ImageCms で足ります。

# normalize_srgb.py — 渡す前に色空間をこちらで決めてしまう
from io import BytesIO
from PIL import Image, ImageCms
 
SRGB = ImageCms.createProfile("sRGB")
 
def to_srgb_jpeg(path: str, long_edge: int = 1024, quality: int = 95) -> bytes:
    img = Image.open(path)
    raw = img.info.get("icc_profile")
    if raw:
        # プロファイルがある場合だけ変換する。無い画像に変換をかけると二重適用になる
        src = ImageCms.ImageCmsProfile(BytesIO(raw))
        img = ImageCms.profileToProfile(img, src, SRGB, outputMode="RGB")
    else:
        # 手がかりが無い画像は sRGB とみなすほかない。ここはログに残す
        img = img.convert("RGB")
    img.thumbnail((long_edge, long_edge), Image.LANCZOS)
    buf = BytesIO()
    # 変換後は sRGB なので、埋めても埋めなくても解釈は一つに決まる
    img.save(buf, format="JPEG", quality=quality, optimize=True)
    return buf.getvalue()

profileToProfile を通すと画素値そのものが書き換わります。プロファイルを埋め込むだけの操作とは別物です。この二つを同じものだと思っていたことが、私の取り違えの入口でした。

判定の投げ方

判定は1枚ずつ、同じプロンプトで投げます。温度は 0 に固定し、色名は8語の閉じた語彙に限りました。自由記述にすると「群青」「紺碧」のような表記の差が混ざり、色が変わったのか言い方が変わったのかを分けられません。

何を一致とみなすか

基準の答えと、他の4通りの答えが同じ語であれば一致と数えました。加えて、基準そのものを2回投げて自己一致率も測っています。基準自体が揺れていたら、比べる土台がありません。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦手元の壁紙 20 枚で、色の判定が渡し方によって変わっているかどうかを自分で確かめられるようになります
✦メタデータを落として軽くする最適化がいちばん判定を壊す、という取り違えを、本番へ入れる前に避けられるようになります
✦色名を閉じた語彙へ丸め、機械側の基準値と突き合わせる検算を、自分のパイプラインへ置けるようになります
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 高度な活用2026-09-24
Gemini に「合っていますか」と聞くのをやめ、答えを伏せたまま分類し直してもらう設計に変えました
自分で付けたラベルの確認を Gemini に頼むと、頷く答えが返りがちです。確認型・反論指示型・伏せ型の三つを比べて伏せ型を選んだ理由と、答えが漏れる経路の塞ぎ方、食い違いだけを人が見る振り分けのコードまで書き残します。
⬡ 高度な活用2026-05-28
Gemini 3 Pro と 2.5 Pro を壁紙カテゴリ分類に並行投入した 3週間の実装メモ
壁紙アプリのカテゴリ分類パイプラインに Gemini 3 Pro と 2.5 Pro を3週間並行投入し、コスト・精度・遅延の3軸で比較した実装メモです。運用で吸収した課題やログテーブルの設計も含め、個人開発の現場感覚で淡々と記録しています。
⬡ 高度な活用2026-10-14
PC では直るのに Safari でだけ画像が読み込まれない — AI に診断を頼む前に、手元で揃えておく 4 つの材料
並べ替えのあとで画像が二度と読み込まれない不具合が、iPhone の Safari でだけ起きました。PC のブラウザでは再現しない不具合を Gemini などの AI に診断してもらうとき、先に手元で揃えておく材料と、そのまま使える依頼文をまとめます。