「Caffeを始めよう」の第6章での注意点
Caffeについて勉強しているとき、タイトルの「Caffeを始めよう」という本(電子書籍)がオライリー・ジャパンで販売されてしまい、すぐに買ってしまった。
Caffeについては、どういったものかは聞いたことはあるが実際に触ろうとしていると、そういった「ツールの調べ方」というものを習得していない私にとってはハードルではあったが、書籍を読んでとりあえずMNISTをやって検出器の生成の流れが大体わかった。
上記のリンクにもあるが、第6章では応用について記載されている。そこで、R-CNNというまだ論文をみていないため、詳しくはわからないがザックリとした説明でいう物体検出の方法らしい。
そのR-CNNを実装するコードはHPにアップロードされている。それを実行しようとした際の困った点を今回はまとめていく。前置きが長いが、ここからが本題である。
困った点
・OpenCVが2.4以降のものを使用する。つまり、OpenCV3.0が必要である。
・コードのヘッダファイルでsaliency.hって何?
まず、最初の問題でCaffeのインストールガイドではOpenCV>=2.4と明記されているが、「Caffeを始めよう」ではOpenCV > version2.4と書かれているため、Caffeを動かすだけだと、2.4でもいいかもしれないがコードを実行する際にはOpenCV3.0がいると考え、OpenCV2.4を削除してのOpenCV3.0をインストール
次に、saliency.hというsaliency mapという顕著性検出を実装したヘッダファイルがOpenCV3.0をインストールしても見つからない。結論として、外部のパッケージでそれを導入しないといけない。
ここで、新たな問題としてこの外部のパッケージをどうmakeするのかが問題で、それをまとめていく。
だいたいのインストール方法は以下のページで行った。
saliency.hppを含むパッケージは以下のページである。
パッケージはダウンロードとか、OpenCVのダウンロードとかは省略
さて、問題の解決の糸口はcmakeから始まる。
以上のコマンドを実行してうまくいった。少し補足をすると、cmakeのところで外部のパッケージをmakeできるように少し設定を加えただけである。
あとは、R-CNNをコンパイルして動けばいいかなと思う。
参考文献