Miyabiarts.net

一年に一度の更新頻度

月別アーカイブ: 6月 2011

OpenTKのインストール

OpenTKは、C#などからOpenGLやOpenALなどを扱うためのライブラリです。
Vector3などの数学ライブラリが付いていたり、ゲームパッド入力なども入っており、Monoでも動くことを考慮するC++のSDLみたいな位置付けと考えても良さそうです。

インストール方法

インストール方法は、公式ページからインストーラをダウンロードして実行するだけですが、一部数学ライブラリに問題があるため、Subversionのtrunkをチェックアウトして、自分でビルドする方が良いと思います。
trunkのURLは以下となっています。

https://opentk.svn.sourceforge.net/svnroot/opentk/trunk

チェックアウトしたら、「OpenTK.sln」を開いて、DebugかReleaseでビルドすると、さほど時間がかかることもなくライブラリが作成されます。
作成されたライブラリは、チェックアウトしたディレクトリ以下の「OpenTK/Binaries/Debug or Release」にある「OpenTK.dll」「OpenTK.GLControl.dll」が必要となります。

使いかた

まずは、「参照設定」で先程の「OpenTK.dll」「OpenTK.GLControl.dll」を追加しましょう。
ここでは、OpenTKの中のOpenGL周りの使いかたについて簡単に説明します。
OpenALやInputについても、usingを増やすだけなので特に難しいことはありません。
usingに関しては、基本的に以下の3つを使えば良いです。

using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;

OpenGLのレンダリング領域には、GLControlというユーザコントロールを用います。
「OpenTK.GLControl.dll」を追加しておくと、デザイナにGLControlが現れているので、それを親ウィンドウ上に貼り付けるだけで良いです。
そして、Paintイベントや、TImerイベントなどでOpenGLのレンダリング命令を呼び出します。

OpenTKのOpenGLでは、元々の「glHoge」というAPIが「GL.Hoge」として使えるようになります。
例えば、直線を書きたい場合は、以下のような感じです。

GL.Begin(BeginMode.Lines);
GL.Vertex3(0.0f,0.0f,0.0f);
GL.Vertex3(1.0f,1.0f,1.0f);
Gl.End();

実際にはこのあたりの固定機能の命令はOpenGL4.1ではなくなっているので、VBOやVSAを使ってシェーダでレンダリングするのがモダンな使いかただと思います。
また、「using OpenTK.Graphics.OpenGL」の代わりに「using OpenTK.Graphics.ES20」を使うとOpenGL ES2.0を使えたりもします。

基本的にはOpenGLのAPIをそのままラッパしたものなので、今までOpenGLを使ったことがある方は簡単に移行できるかと思います。

広告

IV2011

既に3週間前となりますが、ITS技術関連の国際会議Intelligent Vehicle (IV) 2011という会議でドイツのBaden-Badenという都市に行っていました。中部国際空港から11時間ほど飛行機に乗りフランクフルト空港に着く予定が、Thuder Stormの影響で着陸できずに一度最寄りのライプツィヒ空港に臨時着陸し、2時間弱の遅れ。さらにフランクフルトからBaden-Badenまでの列車も2時間30分遅れで、移動時間も2時間弱となかなかに移動が大変な旅行でした。

現地の気候は暖かくて過ごしやすく、食事も美味しいというか、日本人が普段食べるようなものばかりだったので、全く抵抗なくたくさん食べていました。ドイツということだけあって、確かにビールは美味しかったのですが、個人的にはアサヒスーパードライが好みだったので、そんなことを現地で言っていたら嫌な顔をされていました。

自分の発表は、最終日でポスタ発表でした。英語のオーラル発表は何度かやったことがあるのですが、ポスタ発表は今回が初めてだったのでどうなるかなとも思いましたが、まぁ話せない分は筆談でなんとかなりました。人の足もほとんど途切れることがなかったので、良い塩梅ではないかと思います。まぁ研究の完成度はまだまだなんですが。一応前日までにポスタに聞いていたりと少しは練習していましたが、英語は相変わらず分かりません。根気入れて勉強すれば良いのですが、なんだか昔から「英語は大事英語は大事」と頭ごなしに言われてきたので、もう素直に勉強しようとする気が失せてしまっているのでどうにかしなくては。

会議全体としては、ドイツで開催ということで車帝国ドイツのやりたい放題な感じで、オーラル発表全体の7割近くがドイツという無双状態。特にBMWやDaimlerは研究発表以上に企業PRの場になっていた気がします。列車で隣駅には車の研究で有名なカールスルーエ大学もあり、今回のジェネラルチェアもその大学だったはずです。

来年度のIV2012は、韓国ソウルで開催されます。来年は距離的にも近いので日本無双な会議になれば良いのではないかと思っています。

第8回 名古屋CV・PRML勉強会

今回は、「デジカメの画像処理-人物画像の処理-」をテーマとして開催しました。

内容としては、「デジカメの画像処理-人物画像の処理-」の著者である川出さん・藤吉先生による内容の講演でした。
以下は書誌情報。

デジカメの画像処理
デジカメの画像処理

posted with amazlet at 11.06.28
オーム社
売り上げランキング: 126476

第3章 人物画像の処理 -最高の表情を撮る-: 川出雅人さん(@gajin3)(オムロン(株))

本に掲載されているもの以上の内容を、多くの画像やデモを加えて講演していただきました。
プリクラなどで培われてきた人間の顔をいかに綺麗に見せるかの技術や、人間の顔を検出する方法など多くの話題を話していただき、2時間近い講演時間を全く感じさせないほど面白い講演となりました。
また、Twitter上では同じオムロンの研究者である@joyportさんと@takayoshiyさんが技術的な疑問に答えてくれたりと、致せり尽くせりの有意義な時間となりました。
顔画像を入力すると、自動でパーツを検出し、目を大きくしたり、口角を上げたりして、より良く写るようにする技術は、あまりに自然に行われていて、周りからは詐欺とさえ言われていました(笑)。

第4章 物体の追跡 -ねらった被写体を逃さない-: 藤吉先生(@hf149)(中部大学)

後半は、デジカメ中の人間を追跡する技術についての講演となりました。
高速なテンプレートマッチング手法であるアクティブ探索法から始まり、ミーンシフト、パーティクルフィルタと、物体追跡手法として多く使われている手法の解説が行われました。
特に今回解説していただいた手法は、最近の物体追跡手法として基礎的なものとして知っていたほうが良いものばかりなので、大変に勉強となりました。

勉強会終了後は、いつも通りの懇親会。
今回は人数も多いかと思って、浩養園でのジンギスカンとしました。
参加者は18名でした。
料理が来る前に川出さんから書籍にサインを貰う人の列ができたりと大好評でした。
食事中もビジョンに関することについて、ずっと議論をするなど楽しい時間を過ごせました。
今まで名古屋に色々な人が講演に来て下さりましたが、皆さんともこういった勉強会の存在を好意的に受け取ってもらい、大変ありがたく感じています。

次回は7/16(土)開催で、国際会議CVPR2011の論文紹介を行う予定です。
今のところ発表者が自分も含めて数人しかいない状態なので、是非発表してくださるという方を募集しています。

再開

自宅サーバが逝ってしまい、復旧後も何かと忙しいと理由をつけて1ヶ月ちょっと放置していました。

自宅サーバが不調な時があるため、こちらのブログをWordpres.comに移転しました。

とりあえず、放置していた間にドイツに行っていたのと、6月の名古屋CV・PRML勉強会があったので、そのことを書く予定です。

また、名古屋CV・PRML勉強会のページもGoogle Siteに移行しました。

現在、コンテンツの改修中です。