はじめに
本記事は [ADiXi Advent Calendar 2025] の22日目の記事です。
こんにちは、@takuya_fujino です。
自他ともに認める「めんどくさがり屋」の私は、現在「ドローンで全自動通勤する」という壮大な夢(という名の怠惰)を追いかけています。
そのために、Metaの「SAM2」や3D再構築AI「VGGT」など、最新のAIモデルを片っ端から試しているのですが……正直に言わせてください。
Pythonの環境構築、めんどくさすぎませんか?
X(旧Twitter)で「神AIが出た!」と話題になるたびに、
-
GitHubを見に行く
-
git clone する
-
pip install -r requirements.txt する
-
謎の依存関係エラーで爆死する
-
「……また今度にしよう」とそっとタブを閉じる
このループを繰り返して、貴重な休日を溶かしてきました。
しかし、めんどくさがり屋の執念により、現在は気になったら即座に手元のGPUで動かすための生存戦略(ワークフロー)を確立しました。
本記事では、2025年の総決算として、私の「ドローン通勤計画」を支えるWindows + Docker環境構築術を共有します。
そもそも、なぜドローン通勤に最新AIが必要なのか?(クリックで展開)
「ただ飛びたいだけなら、適当なドローンでいいじゃん」と思われるかもしれません。
しかし、私が目指しているのは「究極の怠惰」です。操縦なんてしたくありません。
そのためには、ドローン自身に「世界を正しく理解する、賢い眼」を持たせる必要があります。
そこで必要になるのが、今年話題になった最新AIたちです。
SAM2 (Segment Anything Model 2):
従来のセンサーでは「目の前に何かある」程度しかわかりませんが、SAM2なら「あれは電線だ」「これは木の枝だ」と、物体の正確な輪郭を理解できます。これにより、「電線と枝の隙間をすり抜ける」といった高度な回避が可能になります。
VGGT (Visual Geometry Ground Truth):
3D空間を再構築する技術です。これがあれば、着陸地点が「安全なコンクリート」なのか「入ったら絡まる植え込み」なのかをドローンが判断し、VIPのような自動着陸を実現してくれます。
つまり、最新AIを追いかけることは、私の「将来ラクをするため」に不可欠な投資なのです。
1. なぜ「Windows + Docker」なのか?
結論から言うと、「ホスト環境(自分のPC)を汚さないため」であり、「いつでも環境を捨てられるようにするため」です。
AIの進化は早すぎます。昨日の神ツールが今日はレガシー扱いされる世界です。
そのため、プロジェクトごとにPythonのバージョンやCUDAのバージョンが異なるのは当たり前。これをすべてローカル(Windows直下や単なるvenv)で管理しようとすると、いずれ「環境のデッドロック」が発生し、PCの初期化以外に道がなくなります。
私の基本構成は以下の通りです。
OS: Windows 11
GPU: NVIDIA GeForce RTX 4080 (ドローンの未来を計算する頭脳)
基盤: WSL2 (Ubuntu) + Docker Desktop
必須: NVIDIA Container Toolkit
この構成なら、もし環境構築に失敗しても、docker rm 一発でなかったことにできます。この心理的安全性こそが、最速で試すための鍵です。
2. STEP 1:情報の「選別戦略」
毎日大量に出る論文やリポジトリ群... 全てを試す時間はありません...(寝る時間が減ります)。
私は以下の基準で「試すかどうか」を即断しています。
コード(推論デモ)があるか?
論文だけでは試せません。GitHubがあるかが第一関門です。
Dockerfileが含まれているか?
これがあると「勝ち」確定です。docker compose up するだけ。
ない場合は「自分で環境を作るコスト」を天秤にかけます。
VRAM要件は RTX 4080 (16GB) で足りるか?
READMEを読み、24GB VRAM required と書いてあったら、量子化(4bit/8bit)のオプションがあるかを探します。なければ諦めます(またはクラウドへ)。
3. STEP 2:エラーと戦わないための「秘伝のタレ」
公式にDockerfileがない場合でも、ゼロから書くことはしません。面倒だからです。
藤野流・汎用AI環境 Dockerfile(簡易版)
私がよく使う構成のイメージです。PyTorchの公式イメージをベースにするのが一番事故が少ないです。
# ベースイメージ:CUDAのバージョンは動かしたいモデルに合わせて変更
FROM pytorch/pytorch:2.4.0-cuda12.1-cudnn8-devel
# 基本ツールのインストール
# libgl1-mesa-glx はOpenCVなどでよく引っかかるので先に入れておく
RUN apt-get update && apt-get install -y \
git \
wget \
ffmpeg \
libgl1-mesa-glx \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# 作業ディレクトリ設定
WORKDIR /workspace
# Pythonライブラリの一括インストール
# requirements.txt はホスト側で用意しておく
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# JupyterLabも入れておくとデバッグが楽
RUN pip install jupyterlab
CMD ["/bin/bash"]
このファイルを1つ持っておけば、あとは requirements.txt を書き換えてビルドするだけ。これで環境構築の8割は完了です。
4. STEP 3:それでも出るエラーの「殺し方」
Dockerを使っても、ライブラリのバージョン競合(Dependency Hell)は発生します。
ここでの生存戦略は、自分で考えないことです。
エラーログを全部コピーする。
ChatGPT (または Claude/Gemini) に貼り付ける。
「Dockerfileはこれです。このエラーが出ました。requirements.txt をどう修正すべきですか?」 と聞く。
2025年の今、依存関係のパズルを人間が解く必要はありません。AIに解決させましょう。
「AIを動かすためのエラーをAIに直させる」。これぞ現代の自動化です。
5. 実践:2025年の戦績
このフローを使って、今年はいろいろなモデルを動かしました。
Meta SAM2 (Segment Anything Model 2)
動画のセグメンテーションができるモデルです。
実際に私の愛機(予定)のドローンの画像をDocker上のSAM2に食わせてみました。
▼ アップロードしてドローンをクリックするだけ
▼ 一瞬で完璧に認識
プロペラや脚の細かい形状まで完璧です。
これを手作業で切り抜く面倒さを考えれば、Docker環境を作る手間など安いものです。
参考記事: https://qiita.com/takuya_fujino/items/25dc1a07c2cce4689314
VGGT (Visual Geometry Ground Truth)
CVPR2025ベストペーパー候補としても話題になった、Metaの3D再構築AIです。
「動画から3D空間を作る」という、依存関係が複雑になりがちなタスクですが、これもDockerで完封しました。
▼ ドローンの着陸地点を3D化
以前の記事で紹介しましたが、単なる動画がグリグリ動かせる3Dモデルになった瞬間は感動モノです。これで「着陸地点が安全な平地か、それとも深い雑草地帯か」をドローン自身が判断する未来が見えました。
参考記事: https://qiita.com/takuya_fujino/items/6e732672969d46abf8bf
おわりに:来年も「爆速」で試そう
「環境構築」は、エンジニアにとって最も面倒で、しかし最も重要なスキルの一つです。
Windows + Dockerという「聖域」を作っておくことで、新しい技術に対するフットワークが劇的に軽くなります。
私のドローン通勤計画はまだ道半ばですが、この環境がある限り、どんな新しいAIが出てきても怖くありません。
年末年始、皆さんも積みタスクならぬ「積みリポジトリ」の消化を、Dockerと共に楽しんでみてはいかがでしょうか?
明日の担当は こむてぃ さんです。お楽しみに!