page contents

俺メモ

ゲームのメモ(あってるかどうかは知らん。俺のメモだ)

デスクトップの画像4000枚を解析するプロジェクト

2020年から2025年の間にダウンロードした4,000枚のデスクセットアップ画像をAIで解析して傾向をデータ化するプロジェクト

はじめに

Redditには、PCのデスクトップ環境をアップロードするカテゴリがあり、今回は、2020年から2025年の約5年間にわたり、 以下の主要なサブレディット(コミュニティ)から収集した約4,170枚の画像を対象に、ローカルAI(Llama 3.2-Vision)を用いて一括解析を行おう、というプロジェクトを正月休みの暇つぶしに実施してます。

collection

主な画像ソース: * r/battlestations * r/AverageBattlestations * r/Workspaces

本プロジェクトの目的は、これら膨大なサンプルデータを通じて、世界のデスク環境トレンドがこの5年でどのように変化し、どのような物理的構成が主流となっていったのかを、客観的なデータとして可視化することにあります。 ちなみにXからはダウンロードしてないです。ワシの好みもあってredditだけ。

解析の目的

主観的な「エモさ」ではなく、以下の物理的な事実(メタデータを抽出することを目的としました。

  1. デスクレイアウト (Desk Layout)

    • Island(アイランド型): モニターの背後に空間や窓があるか。
    • Wall-facing(壁寄せ): デスクが壁にぴったりとくっついているか。
    • 目的:居住空間におけるデスクの「立ち位置」の変化を可視化する。
  2. モニター枚数 (Monitor Count)

    • 画面が映っているデバイスをすべてカウント(モニター、テレビ、ノートPC等)。
    • 目的:マルチディスプレイ化の進行度を数値として記録する。
  3. モニターの向き (Monitor Orientation)

    • 横置き(Horizontal)と縦置き(Vertical)の枚数内訳。
    • 目的:コーディングやSNS閲覧など、用途の変化による「縦画面需要」を特定する。
  4. デスクシェルフの有無 (Desk Shelf)

    • モニターの下に、キーボードを収納したり小物を置いたりするための棚があるか。
    • 目的:デスク上の「立体的な整理」への意識変化を追跡する。
  5. モニターの固定方法 (Monitor Mounting)

    • Monitor Arm: アームで浮かせているか。
    • Stand: 標準の脚(スタンド)で置いているか。
    • 目的:デスク面の有効活用(ミニマリズム)の進行度を測る。
  6. デスク上の主要アイテム (Desktop Items)

    • キーボード、マウス、スピーカー、照明、植物などの有無をリストアップ。
    • 目的:周辺機器のアップグレードや、趣味嗜好(観葉植物など)の変遷を把握する。

技術スタック

今回の解析には、プライバシーと速度を考慮してローカル環境で完結するスタックを採用しました。

解析スクリプトの工夫

4,000枚を安定して処理するために、以下の機能を実装しました。

  • レジューム機能: 中断しても、CSVに記録済みのファイルはスキップして続きから再開。
  • タイムアウト/エラー処理: PC内部の写真や解析不能な画像でAIがスタックしないよう、1枚あたりの処理時間に制限を付与。
  • 軽量化: VRAMの消費を抑えるため、画像を動的にリサイズしてAIに投入。

使用したPythonコード(抜粋)

# AIへの監査(Auditor)プロンプト
prompt = """Analyze this image as a hardware setup auditor. 
1. Desk Layout: (Island / Wall-facing)
2. Monitor Count: (Number)
3. Monitor Orientation: (e.g., 1 Horizontal, 1 Vertical)
4. Desk Shelf: (Yes / No)
5. Monitor Mounting: (Monitor Arm / Stand)
6. Desktop Items: (List major items)"""


## 中間報告:AIによる一括解析の進捗状況

現在、自作PCのGPU(NVIDIA GeForce RTX 4080)をフル稼働させ、4,170枚の画像解析をリアルタイムで進行中です。

- **現在の処理速度**: 約 **2.75秒 / 枚**
- **全件完了までの見込み**: 約 **3時間弱**
- **実行環境**: Ollama + Llama 3.2-Vision:11b
<figure class="figure-image figure-image-fotolife" title="collection">[f:id:nikkatsu:20260102235043j:plain]<figcaption>collection</figcaption></figure>
### 解析中のコンソール画面(イメージ)
[分析中]: setup_image_0852.jpg
 ⏳ AI解析中...
 ✅ 事実記録完了
 18%|██▊         | 750/4170 [34:22<2:35:10, 2.75s/枚]