今回の記事はYOLO初心者の私がわかったことをまとめてみたものです。これは自身の備忘録というよりはYOLO初学者にとって早めに気付くべきことまとめみたいな感じです。
では早速タイトルに回答いたします。
YOLOは何言語で使用できるのか?
結論から述べるとYOLOは割と多くの言語に対応しております。絞ると擦ればやはりPythonでしょうか。機械学習関連はやはりライブラリ多数のPythonです。
ではなぜはっきりとPythonとは言わないかというと、YOLOを構成している言語自体はPythonではないからです。
実はYOLOの有名どころのgitのレポジトリは基本的にC言語記載のものが多いようです。下記最も手取り早くYOLOを体験できるレポジトリがあります。
git clone https://github.com/pjreddie/darknet.git
このレポジトリ内に入ってmakeコマンドでbuildし、YOLOの学習モデル自体をダウンロードしてgitレポジトリ内に配置しておけばYOLOの処理を行うことができると言う超絶簡単な使い方です。
このレポジトリ内にの階層のファイルを覗いてみると「.c」のファイルが多数存在開いています。このYOLOの処理に使用するコマンドもC言語での記述がメインになっておリます。
このレポジトリ上の操作は全て、C言語で完結しているのでこのレポジトリではYOLOを実行するためにはC言語を取得する必要があることになります。
ただ、正直今からC言語を取得するのはかなりめんどくさいのでC言語のPythonラッパーを使用して、操作を行ってみましょう。
他にもYOLOのデータ自体をPythonと相性のいいKerasの「.h5」ファイルに変換することも可能なようなのでYOLOを使用する上ではPythonを習得するのが最も良いように考えられます。
実際にYOLOを行ってみる
とは言いつつ今回に関してはC言語で完結にYOLOの処理を実行してみます。
git clone https://github.com/pjreddie/darknet.git
cd darkness
make
wget https://pjreddie.com/media/files/yolov3.weights
./darknet detect cfg/yolov3.cfg yolov3.weights data/eagle.jpg
この上記のコマンドでなんとYOLOの処理を行うことができます。今回の画像はeagleなのでeagleと表示されればOKです。
他にもdocker上に環境構築など行なっている記事もあるので、他の記事も参照ください。
コメント