いつものことだが、公式でアナウンスされていないが、ひっそりとOpenCV 2.4.12.3がリリースされている
今回もGitHubから取得しないといけない。
前回同様に、bug fixがほとんどと思われる。
OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2015年11月14日土曜日
Ubuntu 14.04のOpenCV 3.0 Contribの文字認識を動かしてみた
opencv_contribは、今も更新されており、時期によりその内容が変更されることが多数あり、この話は、11/13日のものである。
以前からUbuntuでtesseractのビルドはできているように見えたが、実行時に初期化できなくサンプルを動かすことができなかった。
Windows上では成功している話があったが、Ubuntuでは何度やってもうまく行かなかった。
この問題は、春に解決していが、まとめる気力がなかったので、半年放置していたが、再度ビルドしてみると、若干挙動が異なったので、備忘録としてまとめておく。
事前準備
OpenCVが動く環境でtesseractのツールをインストール
sudo apt-get -y install libtesseract-dev
以前はデータの取得は不要な気がしたが、今回英語用の辞書をダンロードし展開後一式を
sudo cp -r tesseract-ocr/* /usr/share/tesseract-ocr/
でコピーしておく必要がある。
問題
cmakeを実行するとtesseractを見つけてくれなかった。いろいろ調べたところ
opencv_contrib-master/modules/textの
FindTesseract.cmake
で、Tesseractライブラリのフラグが設定されていないようであった。
ファイルの中の
set(Tesseract_LIBS ${Tesseract_LIBRARY} ${Lept_LIBRARY})
if(Tesseract_LIBS AND Tesseract_INCLUDE_DIR)
set(Tesseract_FOUND 1)
でfalseになっていた。
Lept_LIBRARYの正体がわからないので、外してみるとcmakeでtesseractを見つけてくれるようになり、opencvのmake installのあとでサンプルを試してみると無事初期化ができ、認識してくれた。
下記は動作している図、 (をlに誤認識しているがあとはうまく行っている)
感想
いろいろ試してみたが過度な期待はしないほうが良い
以上
以前からUbuntuでtesseractのビルドはできているように見えたが、実行時に初期化できなくサンプルを動かすことができなかった。
Windows上では成功している話があったが、Ubuntuでは何度やってもうまく行かなかった。
この問題は、春に解決していが、まとめる気力がなかったので、半年放置していたが、再度ビルドしてみると、若干挙動が異なったので、備忘録としてまとめておく。
事前準備
OpenCVが動く環境でtesseractのツールをインストール
sudo apt-get -y install libtesseract-dev
以前はデータの取得は不要な気がしたが、今回英語用の辞書をダンロードし展開後一式を
sudo cp -r tesseract-ocr/* /usr/share/tesseract-ocr/
でコピーしておく必要がある。
問題
cmakeを実行するとtesseractを見つけてくれなかった。いろいろ調べたところ
opencv_contrib-master/modules/textの
FindTesseract.cmake
で、Tesseractライブラリのフラグが設定されていないようであった。
ファイルの中の
set(Tesseract_LIBS ${Tesseract_LIBRARY} ${Lept_LIBRARY})
if(Tesseract_LIBS AND Tesseract_INCLUDE_DIR)
set(Tesseract_FOUND 1)
でfalseになっていた。
Lept_LIBRARYの正体がわからないので、外してみるとcmakeでtesseractを見つけてくれるようになり、opencvのmake installのあとでサンプルを試してみると無事初期化ができ、認識してくれた。
オリジナル
修正後
下記は動作している図、 (をlに誤認識しているがあとはうまく行っている)
感想
いろいろ試してみたが過度な期待はしないほうが良い
以上
2015年10月1日木曜日
OpenCV2.4.12.2がリリースされた
OpenCV 3.0で DNNを試してみた
1月前にOpenCV 3.0のcontribにdnnモジュールが追加された。
当初ubuntu版で試してみたが、importerのところで落ちてしまい原因がわからなかった。
issueでも同じ現象に遭遇している人がいたが、解決していない
twitterに成功したと書き込んでいる人がいたので、仕方なしにWindowsで試してみた
マシン環境
Windows7 64bit OpenCV 3.0 + contrib
開発環境
cmake 3.3.2 win32 x86
Visual studio community 2013
環境構築は、後で説明する。
無事OpenCVがビルドできたので、環境変数にpathを設定し、専用のpropatyシートを作成
サンプルは、
C:\opencv30\opencv_contrib-master\modules\dnn\samples
に一式あるので、内容をそのまま自分のプロジェクトにコピーし、時間計測関数を追加した。
モデルファイルは、容量が50Mを超えるため添付されていなく、自分でここから取得し、サンプルフォルダに置いた。
プロジェクトを実行したところubuntu版と異なり、無事結果を見ることができた。
うちのマシンでは、DNNの計算に180msecかかっている。
最適化を行えば、もう少し早くなるかもしれない。
ただ、このOpenCVは32bit版なので64bitで作成すれば、更なる短縮が見込めるかも知れない
以上
当初ubuntu版で試してみたが、importerのところで落ちてしまい原因がわからなかった。
issueでも同じ現象に遭遇している人がいたが、解決していない
twitterに成功したと書き込んでいる人がいたので、仕方なしにWindowsで試してみた
マシン環境
Windows7 64bit OpenCV 3.0 + contrib
開発環境
cmake 3.3.2 win32 x86
Visual studio community 2013
環境構築は、後で説明する。
無事OpenCVがビルドできたので、環境変数にpathを設定し、専用のpropatyシートを作成
サンプルは、
C:\opencv30\opencv_contrib-master\modules\dnn\samples
に一式あるので、内容をそのまま自分のプロジェクトにコピーし、時間計測関数を追加した。
モデルファイルは、容量が50Mを超えるため添付されていなく、自分でここから取得し、サンプルフォルダに置いた。
プロジェクトを実行したところubuntu版と異なり、無事結果を見ることができた。
うちのマシンでは、DNNの計算に180msecかかっている。
最適化を行えば、もう少し早くなるかもしれない。
ただ、このOpenCVは32bit版なので64bitで作成すれば、更なる短縮が見込めるかも知れない
以上
2015年9月2日水曜日
DeepDreamを試してみた
話題になった時期に試した見たが、文章は放置していたので時期遅れとなった。
caffeの動くマシンで
mkdir deepdream
cd deepdream
caffe用のモデルを取得
wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel
deepdream用のipython notebookを取得
git clone https://github.com/google/deepdream
手元でipython notebookが動作する環境がなかったのでpythonのスクリプトを公開している人がいたので取得した
wget http://www.hirotakaster.com/download/dd.py
自分の環境にあわせて変更
中間の状態の表示をカットし、100回適応後の画像をフォルダーに書き出す
CPU環境で実行したので処理速度は遅く、元画像にサイズの大きい画像を選ぶと処理時間が増大するので、1000画素より小さくしている
参考にしたページ
caffeの動くマシンで
mkdir deepdream
cd deepdream
caffe用のモデルを取得
wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel
deepdream用のipython notebookを取得
git clone https://github.com/google/deepdream
手元でipython notebookが動作する環境がなかったのでpythonのスクリプトを公開している人がいたので取得した
wget http://www.hirotakaster.com/download/dd.py
自分の環境にあわせて変更
中間の状態の表示をカットし、100回適応後の画像をフォルダーに書き出す
CPU環境で実行したので処理速度は遅く、元画像にサイズの大きい画像を選ぶと処理時間が増大するので、1000画素より小さくしている
参考にしたページ
ODROID-XU3 Lite向けにOpenCV2.4.11をビルドした
書きかけで放置していたものだが忘れるといけないのでUPしておく
前回はここ
前回同様にHDDにOpenCV2.4.11のソースを展開しておき、USB HDDを接続すると
/mnt/odroidにマウントされる
opencv2411のフォルダーにmkdir buildodroidを作成し、buildodroidに移動
今回は、
apt-get install libeigen3-devで eigenをインストールしている
すでにraspberry pi2用にビルドしたあとなので、tbbはHDD内に存在している
今回は、ccmakeで指定したtbbのオプションが有効になっているようだ
NEONをONに、GPUは関係ないので外し、あとビルド時間短縮のために不要なものを外している
time cmake -j8 で8コアを指定してビルドしてみる
何か警告が出ている無視
Note: Class Feature2D has more than 1 base class (not supported by Python C extensions)
Bases: cv::FeatureDetector, cv::DescriptorExtractor
Only the first base class will be used
real 12m17.741s
user 69m20.115s
sys 5m56.840s
以上
2015年8月26日水曜日
OpenCV2.4.12.1がリリースされた
公式にはアナウンスされていないがひっそりとOpenCV 2.4.12.1がリリースされている
これまでソースは、sourceforgeからダウンロードしたが、方針の変更によりGitHubからダウンロードする事になった。
ダウンロードのページ
最新のコミットは、12日前(8/16時点)
リリースノートが無いため、2.4.11との変更点は不明である
時間があれば軽く差分を見てみる予定
ちなみに2.4.12は、28日前なので、わずか2週間で修正版がリリースされたことになる
まだ、ソースしか提供されていないので、Windowsでは、自分でビルドしないといけない
すでに2.4.13も予定されている
これまでソースは、sourceforgeからダウンロードしたが、方針の変更によりGitHubからダウンロードする事になった。
ダウンロードのページ
最新のコミットは、12日前(8/16時点)
リリースノートが無いため、2.4.11との変更点は不明である
時間があれば軽く差分を見てみる予定
ちなみに2.4.12は、28日前なので、わずか2週間で修正版がリリースされたことになる
まだ、ソースしか提供されていないので、Windowsでは、自分でビルドしないといけない
すでに2.4.13も予定されている
登録:
投稿 (Atom)





