はじめに
こんにちは、藤野 拓也です。
自他ともに認めるめんどくさがり屋の私が、「ドローンで自動通勤する」という壮大な夢を追いかける企画、その続編です。
前回の記事では、MetaのAI「VGGT」のローカル環境構築に挑戦しましたが、正直なところ、数々のPythonライブラリのエラーに悩まされ、かなり面倒な道のりでした。
そこで今回は、「もう面倒なPythonエラーはこりごりだ!」ということで、公式が推奨するDockerを使って、同じくMetaの最新AI「SAM2 (Segment Anything Model 2)」の環境構築に挑戦します。
めんどくさい説明を我慢できる人向け:なぜSAM2が必要なのか?(クリックで展開)
さて、いきなり環境構築の話をする前に、ちょっとめんどくさい説明をさせてください。
そもそも「なぜこのSAM2という技術が、私の怠惰なドローン通勤計画に不可欠なのか?」という点です。
結論から言うと、SAM2はドローンに「世界を正しく理解する、賢い眼」を与えるからです。
今までの普通のセンサーが「目の前に何か"塊"がある」としか分からなかったのに対し、SAM2は「目の前にあるのは、細長い"電線"と、複雑な形をした"木の枝"だ」と、物体の正確な形(輪郭)を理解できるようになります。
この「形の理解力」こそが、究極の怠惰(=全自動航行)を実現する鍵なのです。
1. 障害物判断:「とりあえず止まる」から「賢くすり抜ける」へ
通勤中にドローンがいちいち障害物の前で止まるのは非効率です。SAM2があれば、賢い避け方ができます。
SAM2がない場合: 目の前に何かを検知。「危ない!とりあえず止まろう。」→ 安全だけど、無駄な動き。
SAM2がある場合: 目の前の障害物を「電線」と「木の枝」の正確な形で認識。「この電線と木の枝の間には隙間があるな。ここをすり抜けよう。」→ 面倒な迂回をせずに最短ルートで飛行継続。素晴らしい。
2. 着陸ポイント判断:「なんとなく平ら」から「確実に安全なVIPスポット」へ
着陸に気を使うなんて面倒の極みです。SAM2なら、地面を映像で認識し、「硬くて安全なコンクリート領域」「面倒なことになる植木領域」を完璧に区別できます。ドローンは最も安全な場所をピンポイントで選んで自動で着陸してくれるのです。私がやることは、ドローンから降りるだけ。最高です。
この記事は、
- 「SAM2をとりあえず触ってみたい」という方
- Pythonの面倒な環境構築で時間を無駄にしたくない方
- Dockerを使ってサクッとAIを動かしてみたい方
に向けて、公式README
に記載されているDockerを使った、最も簡単で確実な起動方法を順を追って解説するものです。
この記事を最後まで読めば、あなたのWindows PCでも、コマンド一発でSAM2の対話型デモが起動します。
一緒に賢く楽して、未来の技術を体験しましょう!
なぜDockerを使うのか?
本題に入る前に、なぜ今回「Docker」を使うのかを簡単に説明します。
前回のVGGTの環境構築では、pipコマンドでライブラリを一つずつインストールしていましたが、途中でエラーが多発し、解決に手間がかかりました。
Dockerは、アプリケーションを動かすのに必要なもの(OS、ライブラリ、コードなど)を全て「コンテナ」という隔離された箱にパッケージングする技術です。開発者が用意した「設計図(Dockerfile)」さえあれば、誰でも、どんなPCでも、コマンド一発で全く同じ環境を再現できます。
つまり、面倒なpipのエラーを全てスキップできる、めんどくさがり屋の最終兵器です。
ステップ1:Docker Desktopのインストール
まず、お使いのWindows PCにDocker Desktopをインストールします。既にインストール済みの方は、このステップは飛ばして構いません。
公式サイトにアクセス: 以下のリンクからDocker Desktopの公式サイトにアクセスできます。
ダウンロードとインストール: Windows向けのインストーラーをダウンロードし、画面の指示に従ってインストールを進めます。途中で「WSL 2」という機能の有効化を求められる場合がありますが、こちらも指示に従って有効化してください。インストール後、PCの再起動が必要になる場合があります。
起動確認: インストール後、Docker Desktopを起動します。PC画面右下のタスクバーにクジラのアイコンが表示されれば準備完了です。
ステップ2:SAM2の準備と起動
Dockerの準備ができたら、いよいよSAM2を起動します。驚くほど簡単です。
1.プロジェクトフォルダの準備: まず、コマンドプロンプトを開き、SAM2を保存するためのフォルダを準備します。
Bash
# 作業用のフォルダを作成し、中に移動
mkdir D:\sam2-project
cd D:\sam2-project
# 公式リポジトリからソースコードをダウンロードし、中に移動
git clone https://github.com/facebookresearch/sam2.git
cd sam2
2.Dockerで起動: 以下のコマンドを一回実行するだけです。
Bash
docker compose up --build
初回は、必要なコンテナイメージのダウンロードやビルドが走るため、完了まで数分~十数分かかります。ターミナルに大量のログが流れますが、焦らず待ちましょう。
ステップ3:デモへのアクセス
ビルドが完了し、ターミナルに backend-1 や frontend-1 のログが流れ始めたら、起動成功です。
お使いのWebブラウザを開き、以下のアドレスにアクセスしてください。
これで、あなたのPC上でSAM2のWebデモが完全に動作しました。面倒なPythonのエラーは一切なく、コマンド一発でここまでたどり着けましたね!
終了方法
デモを終了したい場合は、コマンドプロンプトで Ctrl + C を押してください。コンテナが安全に停止します。
実際にデモを動かしてみた結果
さて、コマンド一発で本当に未来の技術が動くのか?
実際に、私の「ドローン通勤計画」の主役であるドローンの画像を使い、その実力を試してみました。
1. 画像のアップロードと指示
起動したWebデモに、ドローンの画像をアップロードします。そして、切り抜きたいドローンの本体あたりを、マウスで一回クリックするだけ。
2. 生成結果
クリックした瞬間、AIが瞬時にドローンの輪郭を認識し、完璧に切り抜いてくれました。
正直、驚きました。複雑な形状のプロペラ周りの細かい部品やや脚の形状まで、ほぼ完璧に認識しています。数分かかるPhotoshopの切り抜き作業が、文字通り一瞬で終わりました。これぞ、めんどくさがり屋が求める技術です。
おわりに
今回は、前回のVGGT環境構築でのPythonエラー地獄の反省を活かし、「Docker」を使ってMetaの最新AI「SAM2」のローカル環境構築に挑戦しました。
結果は、驚くほど簡単で、拍子抜けするほどスムーズでした。Dockerを最初にインストールする手間さえ乗り越えれば、あとはコマンド一発で、エラーとは無縁の快適なAI体験が待っています。
VGGTで「3Dの世界」を作り、今回のSAM2でその世界の中にある「物体を認識する"眼"」を手に入れたことで、私の「ドローン通勤計画」は、また一歩、現実へと近づきました。
この記事が、同じように未来の技術にワクワクしているけれど、面倒な環境構築はしたくない、という方の「最短ルート」になれば幸いです。
最後まで読んでいただき、ありがとうございました。