1. はじめに
(2026.5 動作確認済)本書の6章で解説した物体検出を行う YOLO バージョン3をWindowsなどのPCで実行する方法を紹介します。 書籍でも触れたように、以下の理由があることから PC の取り扱いに慣れていない方は無理に実行しないことをお勧めします。
- PC に 20 GB 程度の空き容量が必要であること
- ツールのインストールにコマンド入力が必要であること
- プログラムの実行方法が、プログラミングなどに慣れていないとハードルが高いこと
本ページでは「××社の○○と言うカメラで動くか」という質問や「××社の○○と言うカメラで動くようにして欲しい」という要望には応えることができません。
なお、本ページの内容はWindowsのユーザー名に日本語文字や半角スペースなどが含まれていると実行できません。
ただし、最近は「Microsoftアカウント」でユーザーを作成することが多いので、この問題は起こりにくくなっています。 なぜなら、Microsoftアカウントでは登録したメールアドレスの先頭数文字がユーザー名となり、 メールアドレスには日本語文字や半角スペースは含まれないためです。
2. Anacondaのインストール
ここからは、 YOLO バージョン3 を実行するのに必要なアプリケーションやツールをインストールしていきます。まず、Pythonという言語で機械学習用のプログラムを実行する環境である Anaconda ダウンロードしてインストールしましょう。
Anaconda のダウンロードは、こちらのページで「Skip registration」をクリックすることから始まります。 現れたページの末尾で下図のように「Windows 64-Bit Graphical Installer」をクリックし、インストール用のファイルをダウンロードします。
macOS に対するヒント
macOS 用は、M1/M2 チップなどの系列 (Apple silicon) 用の「64-Bit (Apple silicon) Graphical Installer」をダウンロードすることになります。
Intel 版 macOS を用いている方は、こちらより「Anaconda3-2025.06-1-MacOSX-x86_64.pkg」をダウンロードするのが良いと思います。
ただし、Apple silicon 用の macOS では PoseNet による姿勢推定を実行できませんのでご了承ください。
macOS 用は、M1/M2 チップなどの系列 (Apple silicon) 用の「64-Bit (Apple silicon) Graphical Installer」をダウンロードすることになります。
Intel 版 macOS を用いている方は、こちらより「Anaconda3-2025.06-1-MacOSX-x86_64.pkg」をダウンロードするのが良いと思います。
ただし、Apple silicon 用の macOS では PoseNet による姿勢推定を実行できませんのでご了承ください。
ダウンロードが完了すると、「ダウンロード」フォルダなどに、下図のようなファイルが現れます。動作確認時のファイルは「Anaconda3-2025.12-2-Windows-x86_64.exe」でしたが、バージョンアップのたびに日付けの部分の数字が更新されていきます。 このファイルをダブルクリックし、Anaconda のインストールを開始しましょう。 基本的には、現れた画面で促されるままに「Next」、「I Agree」、「Next」、「Next」、「Install」、「Next」、「Next」とボタンをクリックして行くだけです。
最後の画面は下図の通りですが、2つの選択肢のチェックを外し「Finish」ボタンを押しましょう。それでインストールが終了します。 なお、チェックを外し忘れると、Anaconda Navigator というアプリケーションが起動してしまいます。ここでは Anaconda Navigator の起動は不要なので 「×」ボタンなどで全て閉じてください。 「Quit Anaconda Navigator?」と聞かれたら「Don't show again」にチェックを入れて「Yes」をクリックします。 さらに、「Do you with to update to Anaconda Navigator x.x.x now?」 のように Anaconda Navigator をアップデートするか?と英語で聞くウインドウも現われることがありますが、 「No, don't show again」をクリックして無視してください。
「アップデートは自分の意志で行う」ものとし、Anaconda 等からアップデートを促されたときは基本的に無視する、という方針です。 これは、アップデートにより、動くべきものが動かなくなるリスクを避けるためです。
また、インストール中に下記のエラーが出る場合、冒頭で触れた「ユーザー名に問題のある文字が含まれている」場合になります。このまま先に進めてもうまくいきませんので、Windowsでに日本語文字を含まないユーザーを作り直すしかありません。
Error: Due to incompatibility with several Python libraries, 'Destination Folder' cannot contain non-ascii characters (special characters or diacritics). Please choose another location.ただし、最近は「Microsoftアカウント」でユーザーを作成することが多いので、この問題は起こりにくくなっています。
なぜなら、Microsoftアカウントでは登録したメールアドレスの先頭数文字がユーザー名となり、メールアドレスには日本語文字や半角スペースは含まれないためです。
3. Anaconda へのディープラーニング用ツールのインストール
ここからは、Anaconda 上でディープラーニングを用いたプログラムを実行するためのツールをインストールします。まず、スタートメニューから Anaconda を起動しましょう。 Windows 11 の場合、スタートメニューの右上にある「すべて」を一度クリックすると、 アルファベット順のアプリケーション一覧が表示されるので、 その「A」の項目から下図の「Anaconda (anaconda3)」という項目 (フォルダ) を見つけましょう。
そして、「Anaconda (anaconda3)」フォルダにある、「Anaconda Prompt」をクリックして実行しましょう。 なお、最新の Windows 11 に更新している場合は、スタートメニューは上図と異なる可能性があります。 その場合、まず下図のように「すべて」の「ビュー」を「一覧」に変更してください。 そうすると、アプリ一覧がアルファベット順で現われるので、下図のように「Anaconda (anaconda3)」フォルダにある、「Anaconda Prompt」実行しましょう。
ただし、 Windows 11 のバージョンによっては、Windows 11 のバグより、スタートメニューの項目がすぐには更新されない問題があります。 その場合、Windows 11 を再起動してからスタートメニューを探すことで、以下のような部分を見つけることができるでしょう。 現れた下記の画面がプロンプトであり、ここでコマンド(命令)を実行することで、各種ツールのインストールを行います。
macOS に対するヒント
macOS では、Anaconda Prompt のかわりに macOS のターミナルを使います。
macOS では、Anaconda Prompt のかわりに macOS のターミナルを使います。
プロンプトの冒頭には「(base) C:Users\(ユーザー名)」という内容が書かれています。「(ユーザー名)」の部分は人によって異なります。
本ページ冒頭で「Windowsのユーザー名に日本語文字や半角スペースなどが含まれていると実行できません」と述べましたが、このユーザー名の部分に日本語文字などを含んではいけない、という意味なのでした。
さて、プロンプト上で下記のコマンドを入力して実行して、「仮想環境」と呼ばれるものを作成します。「仮想環境」とは、Anacondaのデフォルトの環境とは別に、本ページ用の環境を作るために用います。なお、仮想環境に「tf」という名称を付けていますが、これは「TensorFlow と呼ばれるディープラーニング用ツールを利用するための仮想環境」という意味で付けています。なお、仮想環境 tf で用いる Python のバージョンは 3.8 としています。
conda create -n tf python=3.8なお、以後長いコマンドが続きます。Windows 11 をお使いの方でしたら、ブラウザ上で上のコマンドをコピーし、Ctrl-V によりコマンドをプロンプトに貼り付ければ楽に実行できます。
Windows 10 のプロンプトでは Ctrl-V は効かないはずですので、下図のようにメニューから貼り付けます。
貼り付けが完了した状態が下図で、この状態で「Enter」キーを押すことで、コマンドを楽に実行できるわけです。 なお、処理が進むと「Continue creating environment (y/[n])?」や「Proceed (y/[n])?」などと聞かれますので、どちらの場合もキーボードで「y」をタイプして「Enter」キーを押して作業を進めてください。
macOS に対するヒント
macOS では、先頭に (base) と書かれたターミナルで、
macOS では、先頭に (base) と書かれたターミナルで、
conda create -n tf python=3.8を実行すればよい。
仮想環境の作成が完了したら、下記のコマンドを実行して作成した仮想環境「tf」に入ります。
conda activate tfその結果、下図の状態になります。プロンプトの行頭が「(base)」から「(tf)」に変化しており、環境が「base」から「tf」に変わったことがわかります。 そのままの状態で、下記のコマンドを実行して、本書に必要なツールをインストールしましょう。このコマンドは特に長いので、注意してコピーして実行しましょう。先ほどと同様、 「Proceed (y/[n])?」と聞かれたときはキーボードで「y」をタイプして「Enter」キーを押して作業を進めてください。
conda install pillow matplotlib py-opencv tensorflow keras numpy=1.24.3 spyder=5.5.1 console_shortcut toml最後に「done」と表示されれば、この作業は成功です。
macOS に対するヒント
macOS (Apple silicon) では、下記のコマンドを用いてください。Intel 版の macOS では上記のコマンドままで構いません。
macOS (Apple silicon) では、下記のコマンドを用いてください。Intel 版の macOS では上記のコマンドままで構いません。
conda install pillow matplotlib py-opencv tensorflow keras numpy=1.24.3 spyder=5.5.1 toml
引き続き、同じプロンプトで下記を実行し、追加パッケージをインストールしましょう。
pip install opencv-contrib-python==4.10.0.84
macOS に対するヒント
macOS では、代わりに下記のコマンドにしてください。
macOS では、代わりに下記のコマンドにしてください。
pip install opencv-contrib-python==4.5.5.64
以上のインストールが完了すると、スタートメニューの「Anaconda (anaconda3)」の項目には下図のように「Spyder (tf)」や「Anaconda Prompt (tf)」が追加されています。ここで「Spyder (tf)」をクリックし、Spyder を起動しましょう。 ただし、Windows 11 のバージョンによっては、Windows 11 のバグより、スタートメニューの項目がすぐには更新されない問題があります。 その場合、Windows 11 を再起動してからスタートメニューを探すことで、以下のような部分を見つけることができるでしょう。 ここで「Spyder (tf)」をクリックし、Spyder を起動しましょう。 Spyderの起動時に、「Kite をインストール (Insall Kite)」とか「Start Tour」などという画面が現れたら、「無視 (Dismiss)」 を選択してください。
さらに、「Spyder x.x.x が利用可能です!」などというメッセージが出たら(英語の場合もあり得ます)、下図のように「起動時に更新をチェック」のチェックを外し、「いいえ」をクリックしてください。
Anaconda と同様、Spyder も更新しない方針だからです。 なお、仮想環境 tf 用のSpyder が起動して、インターフェースが日本語ではなかった場合、メニューから「Tools」→「Preferences」を選択し、現れたウインドウで「Application」→「Advanced settings」を選択してLanguageを日本語に設定してください。その際、再起動を促されますのでそれに従えばインターフェースが日本語になります。
4. YOLO バージョン 3 用のプログラムのダウンロードと設定
次に、YOLO バージョン 3 用のプログラムをダウンロードし、必要な設定を行います。こちらは、cedrickchee 氏が作成したプログラムに、カメラ映像に対する物体検出機能を筆者が追加したものです。下図のようなページが開きますので、図にあるように「Code」ボタン→「Download ZIP」とたどり、プログラムの圧縮ファイルをダウンロードします。
ダウンロードされるのが下図(A)のtensorflow2-yolo-v3-master.zipです。このファイルを下図(B)のようにマウスで右クリックして「すべて展開」を選択します。現れたウインドウで「展開」ボタンをクリックし、圧縮ファイルを展開してください。圧縮ファイルのままでは本ページの演習を実行できません。
なお、右クリックメニューに「すべて展開」という項目がない場合、「展開」や「解凍」というキーワードを含む項目を選ぶと展開が進むことが多いでしょう。
次に、YOLO バージョン 3 用のパラメータ(重みやバイアス)が記されたファイルをダウンロードします。 下記の二つのファイルを、先ほど圧縮ファイルを展開することで現れた「tensorflow2-yolo-v3-master」フォルダ内の「data」フォルダに保存してください。
なお、多くの場合「tensorflow2-yolo-v3-master」フォルダ内の中にさらに「tensorflow2-yolo-v3-master」フォルダがあり、その中に「data」フォルダがありますが、その「data」フォルダで問題ありません。
以下では、この『「tensorflow2-yolo-v3-master」フォルダの中の「tensorflow2-yolo-v3-master」フォルダ』のことを『「tensorflow2-yolo-v3-master」フォルダ』と記しますのでご注意ください。
保存後の「data」フォルダの内容を示したのが下図です。このように、yolov3.weights と yolov3-tiny.weights がこの位置にないと YOLO バージョン 3 は実行できませんので注意してください。
5. YOLO バージョン 3 用の重みの変換
次に、重みの変換という作業を行います。ダウンロードした重みは、YOLO バージョン 3 の公式なファイルで、darknet というツールで用いるためのものです。ここでは、それを TensorFlow と呼ばれるツール用に変換します。冒頭でインストールした Anaconda でインストールしたツール群を用います。既に解説した方法でスタートメニューから「Spyder (tf)」を選択して tf 環境の Spyder を起動しましょう。「(tf)」がついた Spyder でないと実行に失敗しますので注意してください。
macOS に対するヒント
macOS では、ターミナルで
macOS では、ターミナルで
conda activate tfを実行してから
spyderとコマンドで実行してください。
そして、メニューの「ファイル」→「開く」を選択し、「tensorflow2-yolo-v3-master」フォルダ内の「convert.py」というファイルを開きましょう。下図のようになります。
そして、メニューから「実行」→「実行」を選択します。少し時間がかかりますが、しばらくすると右下の領域に下図のように「weights saved」と表示されて変換が完了します。
上で実行したのは、YOLO バージョン 3 用の重みの変換でしたが、もう一つYOLO バージョン 3 の簡易版の重みも変換しておきましょう。簡易版は通常の YOLO よりも高速に動作するというメリットがあります。
先ほどのSpyderを閉じずにそのままメニューから「実行」→「ファイルごとの設定」を選択します。
現れた画面で下図のように「コマンドラインオプション」にチェックし、
--weights ./data/yolov3-tiny.weights --output ./checkpoints/yolov3-tiny.tf --tinyと記述し、「OK」ボタンをクリックしてウインドウを閉じます。なお、下図では全体を表示するためにウインドウサイズを大きくしています。
そして、簡易版用の重みの変換を実行したいのですが、実行中のSpyderで二度目の「convert.py」を実行するためには、カーネルの再起動をする必要があります。下図のように、「カーネルの再起動」を選択してください。
すると、下図の確認画面が出るので「はい」をクリックしてください。
数秒待つと、下図のようにカーネルの再起動が成功します。
そして、もう一度メニューから「実行」→「実行」を選択します。少し時間がかかりますが、しばらくすると右下の領域に下図のように「weights saved」と表示されて変換が完了します。実行後にエラーが出る場合、Spyderを一度再起動したから再実行すればエラーが出なくなると思います。
先ほどのコマドラインオプションの記述は、プログラム「convert.py」を、YOLO の簡易版用のオプションを付けて実行することの指定だったのです。
以上が正しく実行されると、「tensorflow2-yolo-v3-master」フォルダ内の「checkpoints」フォルダに存在するファイルは以下のようになっているはずです。この状況になったら先に進むことができます。
5. カメラからの映像に対して YOLO を実行する
以上で準備が整いましたので、最後にカメラからの映像に対して YOLO を実行してみましょう。先ほどと同様、tf 環境用の Spyder でメニューの「ファイル」→「開く」を選択し、「tensorflow2-yolo-v3-master」フォルダ内の「detect.py」というファイルを開きましょう。そして、そのままメニューから「実行」→「ファイルごとの設定」を選択し、開いたウインドウで下図の2点の設定をします。すなわち、
- 「外部システムターミナルで実行」をチェック
- 「コマンドラインオプション」にチェックし、
--webcam
と記述
そして、メニューから「実行」→「実行」を選択します。PCに接続されたカメラ(ディスプレイ上部のカメラかUSB接続のカメラ)から映像が取得され、物体検出した結果が上書きして表示されます。
このプログラムを終了するには、上図の映像の上で、キーボードの「q」キーをタイプします。
以上が YOLO バージョン 3 の動作です。YOLO は計算量が多いため、高速ではない PC では映像が滑らかに変化しなかったかもしれません。その場合、YOLO の簡易版 (YOLO v3 Tiny) も試してみると良いでしょう。 再び「実行」→「ファイルごとの設定」を選択し、開いたウインドウで下図の設定をします。先ほどとの違いは下記の通りです。
- 「コマンドラインオプション」の内容が、
--weights ./checkpoints/yolov3-tiny.tf --tiny --webcam
そして、再びメニューから「実行」→「実行」を選択します。簡易版のコマンドラインオプションを付けたことにより YOLO の簡易版が動作し、先ほどよりも滑らかに映像が変化するはずです。ただし、そのぶん認識率は悪くなっています。YOLO の通常版では手に持った物体も検出できましたが、簡易版では手に持った物体はなかなか検出されませんでした。そのため、下図では物体を机に置いた状態を表示しました。
このプログラムを終了するには、先ほどと同様に映像の上でキーボードの「q」キーをタイプします。
なお、通常版と簡易版のYOLOのどちらを用いるにせよ、PCに接続した複数のカメラをどちらか一方を指定したい場合があります。例えばノートPCにUSB接続のウェブカメラを接続した場合、「ディスプレイの上のカメラ」と「USB接続のカメラ」の2つの選択肢があります。 カメラを指定するには、Spyder で開かれた「detect.py」の下記の部分(57行目付近)に着目します。
「cap = cv2.VideoCapture(0)」の中の数字「0」はカメラのIDに相当します。ノートPCの場合、多くの場合「ディスプレイの上のカメラ」が数字「0」に対応します。「USB接続のカメラ」を利用したい場合、ここを数字「1」に変更してください。入力の際、日本語入力モードはオフにしておくよう注意しましょう。そして「detect.py」を上書き保存しプログラムを実行すると、「USB接続のカメラ」での実行となるはずです。
6. おわりに
以上の演習が終わった方のために、もう一つ、姿勢推定を行う演習も用意しました。余力のある方はトライしてみてください。また、以上でインストールしたツールは、約 20 GB 程度のストレージを使用しています。Anaconda をもう利用しないという場合、下図のようにコントロールパネルから削除してしまうのが良いでしょう。 さらに、ダウンロードした圧縮ファイル「Tensorflow-YOLOv3-master.zip」および展開したフォルダ「Tensorflow-YOLOv3-master」も削除して構いません。
以上、お疲れさまでした。


































0 件のコメント:
コメントを投稿