2013年7月25日木曜日

NVIDIAがMobile Keplerのデモを公開

Mobile Keplerは、Tegra"Logan"に搭載され、2014に出荷される予定である

残念ながら、Mobile Keplerのデモは、OpenGLの機能を示すデモだったが、Mobile KeplerはCUDAをサポートするため、モバイルでのOpenCVの処理速度の増加が期待できる

ニュースは、ここ

2013年7月24日水曜日

GPU Tech ConferenceでのOpenCV CUDAのプレゼン資料とビデオが公開された



OpenCVニュースでGPU Tech Conferenceでのスライドとビデオが公開されたと案内されていた。

双方ともダウンロード可能なので取得して見てみるつもりである

今回は、技術的内容が少なかったが、7月に行われる2回目では、OpenCV on GPUのコードのサンプルが示されるだろうとのこ



補足
ニュースにWebinarと聞きなれない単語が出てきたので調べてみると、

ウェビナー/Webinar
WebとSeminarを組み合わせた造語。ネット上で行われるWebセミナーのことを指す

だそうだ

2013年7月18日木曜日

OpenCVのチュートリアルが 9th International Conference on Computerで行われる


イベントに関してはここ


チュートリアルの概要を読むと、

  •  iOS and Androidのサポート
  •  モバイル機での開発のポイント
  •  既存コードの移植
  •  サンプル tipsの紹介

が話されるようだ


海外のイベントなので聞くことができないが、そこで使用される資料が公開されている



2013年7月12日金曜日

OpenCV 2.4.6の修正版がリリースされた



Linux版のカメラ周りに重大なバグがあったため、急遽2.4.6.1がリリースがアナウンスされた
Linux版の人は、アップデートしたほうがよいだろう

OpenCV 2.4.6でHOGを試してみた


人物検出器として有名なHOGDescriptorがOpenCVで提供されている

sampleが samples\cpp\peopledetect.cppで提供されているので試してみた

説明はここ。GPUが付かないオリジナルの説明はない


パラメータを調整しないと性能は出ない。
検出結果を増やすには、hit_threshold とgroup_threshold の値を下げる。

オリジナル



        hog.detectMultiScale(img, found, 0, Size(8,8), Size(32,32), 1.05, 2);

padding は、must be (0,0)と説明があるが、sampleでは他の値が設定されている


パラメータ調整




hog.detectMultiScale(img, found, -0.5, Size(4,4), Size(0,0), 1.05, 1);

相違は少ない

パラメータ調整 2




hog.detectMultiScale(img, found, -0.5, Size(4,4), Size(0,0), 1.05, 0);

グループ閾値が0だと結果がグルーピングされない

2013年7月11日木曜日

OpenCVのロードマップが更新されている 続き

昨日ロードマップが更新されたばかりだが、今日見てみるとさらに更新されていた。

変更点

2.4.7が 11/1から10/1に
対応予定のチケットを減らしてリリースを速めたようだ

3.0-alpha 10/1
3.0-beta 12/1 がリリースされ、正式版が 2014/2/1に延期

alpha、betaの内容は記載がないので、機能限定になるのか、安定性の違いになるのかは不明

また2.4.8が新たに追加され 2014/3/1にリリース予定
内容は未定

2013年7月10日水曜日

OpenCV2.4.6のsampleを眺めてみた

2.4.6と2.4.5の samples\cppを眺めてみた

tutorialは見ていないが、変更されたソースは4点


  • freak_demo.cpp バグ修正
  • latentsvm_multidetect.cpp windowsコンパイル条件の変更
  • lkdemo.cpp バグ修正
  • stereo_calib.cpp コメント変更



大した変更ではない

2013年7月9日火曜日

OpenCVのロードマップが更新されている


2.4.6のリリースが1月遅れてしまった。その影響で3.0の予定が遅れると思っていたが、変わりがなかった。

しかし、今日ロードマップを見てみると、3.0のリリースが12/1になっており、また、2.4.7が追加され、11/1にリリース予定となっている

チケットの一覧が表示されているが数が多い。画面右側にカテゴリで分類されているので、気になる項目を確認してみるとよいだろう

Windows7 64bit版にOpenCV 2.4.6の開発環境を構築した

検索などでこのページを訪れる人が、数は少ないけど、コンスタントにいる。
ちょうどこの上にあるG+1のボタンを押してもらうと、Goolgeの検索に見つかりやすくなるので、ご協力いただきたい。


Windows版は、OpenGLやOpenNIを使用しなければ、ダウンロードしたファイルを展開して設定すれば使用できるので、30分もかからず環境ができる。
(ダウンロード時間や、Visual Studio 2010 Express Editionのインストールを除く)

2.4.4からVisual Studio 2012がサポートされるようになったが、以下は、Windows7 64bit版上で、Visual Studio 2010 Express Editionでプログラムを開発するためのものである
(Windows7 32bit版でも同じ手順でできる)



1 ここからWindows版をダウンロードする

2 OpenCV-2.4.6.0.exeを実行しインストールディレクトリc:\を指定する

3 展開後、ディレクトリ名をopencvからopencv246に変更する

4 OSの環境変数の設定(要管理者権限)
  コントロールパネル、システムとセキュリティ、システムを開き
  システムの詳細設定の環境変数ボタンを押し
  システム環境変数のPathの編集
  末尾に";C:\opencv246\build\x86\vc10\bin"を追加
 (この作業後、一度ログオフし、再度ログインする)

5 Visual C++ 2010 Expressのパスの設定を行う
 この記事を参考

 ただし、各パスは、C:\opencv246\build\includeと、C:\opencv246\build\x86\vc10\libに変更する

6 手持ちのサンプルをビルドし動作確認する


参考 古いバージョンの記事
Windows7 64bit版にOpenCV 2.4.5の開発環境を構築した

Windows7 64bit版にOpenCV 2.4.4の開発環境を構築した

Windows7 64bit版にOpenCV 2.4.3の開発環境を構築した

Windows7 32bit版にOpenCV 2.4.2の開発環境を構築した

OpenCV Manager 2.4.6のrev2がリリースされていた

isw11scのOpenCV Managerを 2.4.6に更新したらサンプルが動作しなくなったので、手動で2.4.5に戻していたが、その後rev2がリリースされていた

コメントには、いくつかのHWでロードされないバグを修正とあったので、再度更新したところ、2.4.6のサンプルが無事に動作した。

2013年7月8日月曜日

OpenCVのライブラリーのビルドに関して

Windows用のOpenCVはバイナリーで提供されており、試すだけなら自分でビルドする必要はない

しかし、
Qt
OpenGL
OpenNI
TBB
OpenMP
CUDA
OpenCL

などを使用したい場合は、自分でCMakeのOptionを設定して、ビルドを行う必要がある

各モジュールの組み込み方は、tutorialドキュメントの P18以降の
Installation by Making Your Own Libraries from the Source Files
に記載されている

OpenCV 2.4.6の Build情報を表示させてみた

cv::getBuildInformation()を使用し、OpenCV2.4.6のビルド条件を表示させてみた。



VideoIOのインタフェースが追加されている


参考に2.4.5を



モジュールが追加されている


以前のはこちら

2013年7月4日木曜日

OpenCVforAndroid 2.4.6を試してみた

サンプルのプロジェクトをimportしてビルドしてみたが、native-activityのndkでエラーが生じた

プロパティを見てみるとC++の${NDKROOT}/ndk-build に””がついており、削除することで解決した

また、OpenCV2.4.6のリリースにあわせてOpenCV Managerも2.4.6に更新されていたので、更新してみたが、サンプルプログラムが動作しない

デバッガで見たところ、onManagerConnectedのイベントが呼ばれていないので、サービスと接続できていないようだ

いろいろ試したところ、OpenCV Manager 2.4.6に問題があることがわかり、isw11scのOpenCV Managerは2.4.5に戻している

(通常一旦更新すると戻すことはできない。そのため携帯から一旦削除し、OpenCV-2.4.5-Android-sdkのapkのフォルダーに含まれている OpenCV_2.4.5_Manager_2.7_armv7a-neon.apk を USB 経由でinstallすることで戻している)

OpenCV 2.4.6のドキュメントを取得した

ようやく公式ページで2.4.6のリリースがアナウンスされた


OpenCV 2.4.6のDocフォルダーには、2.4.4同様にマニュアルなどのPDFがなかったので、http://docs.opencv.org/ から関連するPDFを取得した。

The OpenCV User Guide Release 2.4.6.0
 P19 2013/7/1
 2.4.5とページ数は変わらず

The OpenCV Tutorials Release 2.4.6.0
 P421 2013/7/1
 2.4.5から増加

The OpenCV Reference Manual Release 2.4.6.0
 P813 2013/7/1
 2.4.5から増加

以上

2013年7月3日水曜日

OpenCVforAndroid 2.4.6

2.4.6をダウンロードしたついでに開発環境を構築しなおした
eclipseはAndoridのページから自分のOSに合うものをダウンロード


ダンロード後、展開してeclipseのフォルダーをhome直下に移動
terminalを起動して、eclipseのフォルダーに移動し、eclipseを起動する

2.4.5のプロジェクトがあるとややこしくなるので、すべて削除

最初に、importでOpenCV-2.4.6-android-sdk/sdk/javaを登録

その後に、
OpenCV-2.4.6-android-sdk/samples/tutorial-1-camerapreview
OpenCV-2.4.6-android-sdk/samples/tutorial-2-mixedprocessing
OpenCV-2.4.6-android-sdk/samples/tutorial-3-cameracontrol
を順番にimport

また、ndlのビルド用のバッチがwindowsになっているため、
プロジェクトのプロパティを開きC++buildの
ndk-build.cmdをndk-buildに直す

以上でサンプルアプリができている

OpenCV for Android SDK 2.4.6

OpenCV2.4.6のリリースにあわせて、Android版のSDKも2.4.6がリリースされた
ここからダウンロードできる

zipのファイルサイズは、2.4.5の時の 97.6M から 97.2Mに減っている。
また展開後はサイズは、218Mとなりこちらは増えている

sampleのフォルダーのチュートリアルは、

    tutorial-1-camerapreview
    tutorial-2-mixedprocessing
    tutorial-3-cameracontrol

と2.4.5の変わっていない

これからいろいろ見てみる

OpenCV 2.4.6のWindows版がリリースされた

Windows版だけリリースが遅れているがここからダウンロードできるようになっている

ダウンロード数が4なので、5番目である
(と思っていたら、リアルタイムの更新されるのではなく、日単位であることがわかったので少しがっかり)

うれしので、画面のスナップを


圧縮ファイルサイズは

2.4.5 278,901,549 バイト から
2.4.6 305,568,500 バイト

と1割増加している

ダウンロードには20分以上かかったが、環境依存である

2013年7月2日火曜日

画像認識のセミナーを調べてみた 6

前回のものと重複もあるが、今後3ヶ月以内に開催される画像認識に関連するセミナーを調べてみた。

以下はすべて有料である。

デジタル画像の基礎、カラー画像の微分幾何モデル、偏微分方程式(PDE)に基づく画像処理技術と応用への留意点
2013年7月4日(木) 10:30-17:30 
http://www.j-techno.co.jp/infos/view/6632/

歩容解析とその応用
2013年7月5日(金) 10:30-16:30
http://www.catnet.ne.jp/triceps/sem/s130705k.html

~TRECVID2012にみる~映像検索技術の最新動向
2013年7月5日(金)13:30-16:30
http://www.catnet.ne.jp/triceps/sem/s130419a.html

人物画像センシング技術の基礎と応用
2013年7月10日(水)10:00-17:00
http://www.catnet.ne.jp/triceps/sem/s130509a.html

進化的・知的画像処理 / 認識技術
2013年7月11日(木) 10時30分 ~ 16時30分
http://www.catnet.ne.jp/triceps/sem/s130415k.html

多様体学習(Manifold Learning)を用いた画像処理・画像認識
2013年7月12日(金)10:30-16:30
http://www.catnet.ne.jp/triceps/sem/s130527a.html

入門 サポートベクターマシン(SVM)
2013年7月17日(水)10:30-16:30
http://www.catnet.ne.jp/triceps/sem/s130717a.html

ステレオ画像・動画像の処理 ~3次元形状復元を中心に~
2013年7月19日(金)13:00-17:00
http://www.catnet.ne.jp/triceps/sem/s130719a.html

パターン識別・機械学習の基礎と画像処理への応用
2013年7月22日(月)10:30-17:30
http://www.j-techno.co.jp/infos/view/6714/

パターン認識・検索技術の基礎と応用
2013年7月23日(火) 10時00分 ~ 17時00分
http://www.catnet.ne.jp/triceps/sem/s130723a1.html

画像処理の基礎と産業応用への実践的活用講座
2013年8月23日(金)10:30-17:30
http://www.j-techno.co.jp/infos/view/6728/

超解像技術による画像・映像の高精細・高解像度化の基礎と応用
2013年9月6日(金)10:30-17:30
http://www.j-techno.co.jp/infos/view/6744/

画像処理の基礎と冗長変換・スパース表現
2013年9月12日(木) 10:30-17:30 
http://www.j-techno.co.jp/infos/view/6607/

テンプレートマッチングの基礎と産業応用および最新技術
2013年9月17日(火) 10:30-17:30 
http://www.j-techno.co.jp/infos/view/6560/

パターン認識の基礎とSVM(サポートベクトルマシン)の活用法
2013年9月30日(月)10:30-17:30
http://www.j-techno.co.jp/infos/view/6617/

OpenCV 2.4.6がリリースされた

当初の予定から1月遅れて2.4.6がリリースされた。ただし、Windows版は、まだであるため限定的なリリースである

変更点を見てみると

WindowsRTのビデオIOの対応、カメラアプリのサンプル追加、TBBによる並列化など
CUDA ARMの対応
Qt5のサポート
OpenCLの対応機能追加
TBBのみから他の並列化技術への変更
iOS バグ修正
  UIImage and cv::Matの変換機能の追加を喜ぶ人がおおいのでは
Android
  SDK r22サポート
  いくつかのバグ修正
  カメラ周りの修正(しかしデバイス依存の問題が残っている)

上記変更点に興味がなければ急いで差し替える必要はないかと思われる。

2013年7月1日月曜日

OpenCVを1ボードコンピュータで試してみた 2

1ボードコンピュータと呼ぶべきかはわからないが、BeagleBoardに始まり、多種多様なARM搭載の評価ボードが手ごろな値段で販売されている

2年前のボードであるが、Pandaboard ESにubunut12.04の環境を構築し、OpenCVをインストールしてみた

環境構築に3時間かかったため、OpenCVは出来合いの2.3.1のパッケージを

sudo apt-get install libopencv-dev

でインストールした。
V4Lはデフォルトで準備されているので、特に何もしていない

インストール後、raspberry pi用に作成したカメラ入力のfpsのプログラムをmakeし試してみた

VGA入力 VGA表示 約17fps 遅延 小
QVGA入力 QVGA表示 31fps 遅延なし

やはりCPUの能力の差は出ているが、期待したほどではなかった。

デュアルコアだが、システムモニターで確認すると、CPUの使用率双方90%を超えている。
また、システムモニターさえも負荷となり、2fpsくらい低下する。