FC2ブログ

Paris

本日(2015年8月31日)は、なぜかParisにいます。これを書いたのは日本でですが、その後、間違いがなければ、そのはずです。正確に言えば、まだParisには着いておらず、機内におります。

予定としては、本日はParis泊、明日9月1日はGenèveに飛んで、そこから車でChambéryまで移動(運転は私ではありません)、そこで泊まり、9月2日に所用を済ませたのち(これが主目的、mission possible)、Genèveに戻って泊まり。9月3日に、Amsterdam経由で帰国します。

ネットが使えたら、明日以降、記事を書きますが、よくわからないです。更新されなければ、その環境がなかったということで...

それはそうと、昨日、羽田空港でマインツ武藤が、報道陣に囲まれていました。近々代表戦がある?とFacebookでつぶやいたら、カンボジア戦だそうですね。そういえば、先日シンガポールに引き分けたので(これはないだろう)、今回は勝たないとヤバいです。試合の日(9月3日)はまだ欧州のどこかにいるので、当地から応援しています。恐らく放送はないでしょう。
スポンサーサイト

ガラケー (2)

仕事で欧州に行くことになったので、私のガラケーS社店舗を訪問しました。外国での使用を間違えると、高額料金を請求されかねないので、その確認です。仕様がいまいちよくわからない。

私:「普通の携帯を使ってます」
S社若い女性:「あ、ガラケーですね」
私:「...あ、はい」

この会話ですが、先のGW、バルセロナに行く前の羽田空港でも交わした記憶がありました。私の沈黙は何かというと、<ガラケー>という単語が、このように使われてよいのか、ということに拠ります。<ガラケー>は、ガラパゴス携帯、の略ですが、ガラパゴスというのは、自虐的な意味が込められているはずです。自虐的なので、当人は使ってよいわけですが、それ以外での用法はおかしい。

というようなことを、瞬間的に思ったのですが、S社の二店舗で使われた、ということは、おそらくS社では標準的な(正式な)用語なのだと思われます。なので、もちろん自虐的な意味はありません。だいたい、<ガラケー>を他にどのように呼ぶのかというと、これは困ります。私は、普通の携帯、などと言いましたが、このほうがおかしいですね。いまはスマホのほうが普通なわけですから。

言葉はどんどん進化します。以前おかしいと思ったことも、すぐにそうではなくなります。このようにうるさい私ですら、過去には非常に気になった、「ぜんぜんオッケーですよ~」というのを、いまや平気で使いますからね(しかも自慢げに)。

Matrix Algebra From a Statistician's Perspective

某所で偶然、「統計のための行列代数」という書物を見かけました。上下巻あります。

タイトルからして、日本語的ではないので(行列代数という日本語はあまり聞かない)、これは訳本ですね。どれどれと内容を見てみると、これはイケそうです。考えてみたら、日本の本って、線型代数本は多いですが、行列に重点を置いて、それを掘り下げている本は、それほど見当たらないのではないでしょうか。

伊理正夫先生が監訳ですから、当然、訳の品質は問題ないのでしょうが、私のポリシーは原書主義なので、これの原本を探してみました。すると、ありました。"Matrix Algebra From a Statistician's Perspective (2008)"というものです。著者は、David A. Harvilleという人で、IBMの研究者です。というわけで、購入!

タイトルとは裏腹に、統計に特化した内容ではないものの、かなり意識はされています。たとえば、行列の成分は実数に限定(複素数は統計では使われない)。また、一般逆行列の説明は、かなり詳しいです。統計では、当たり前に出てきますからね。それから、行列の微分も詳しい記載があります。

Tensor Display (2)

Tensor Display、いい加減なことを書いてしまったので(↓)、

http://kanouy.blog9.fc2.com/blog-entry-1400.html

これはイカンと、"Tensor Displays (2012)"で挙げられている、参考資料を読むことにしました。引用されている、KoldaとBaderの、"Tensor decompositions and applications"、が、この論文の理論展開のベースとなっているので、SIAMから$25でPDFを購入。SIAMからの購入はたぶん初めてですが、ストレスなし。会員になろうかな...

まず、テンソルにまつわる用語に注意です。一般には、テンソルの次数をrankと言うのだと思います(関連の蔵書はそう、Wolframのサイトでもそうなっている)。でも、NTF(non-negative tensor factorization)が絡むときには、rankをorderと呼び、rankはまったく異なる意味に使います。最初はこれで混乱しました。でも、rankはNTFのコア概念なので、外せません。

さて、"Tensor Display (2012)"ですが、"the light field emitted by an N-layer, M-frame tensor display can be represented by an Nth-order, rank-M tensor"というくだり。layerが出てくるのは、これは乗算に対応すると思ったので、なんとなく納得したのですが、frameがなぜ出てくるのでしょう。NTFでは、特に時間のことは言ってないので、最初は謎だったのですが、これは加算平均の計算に対応するものですね。私の現状でのショボイ理解は、こんなところです。

2015年の、"The Light Field Stereoscope"ですが、HMDにすると、rank-1で十分だということです。つまり、time-multiplexedは不要ということ。ハードウェアが簡単となり、めでたしというわけです。

それにしても、このような定式化をよく考えましたね。もともとNTFは、高次元データ(つまりテンソル)から意味を抽出するという、汎用的な手法です。これをlight fieldに応用したというのは、たいしたアイデアと思いました。こういうの、私好みです。エンジニアリングはこうでないと。

Perspective-Correct Interpolation (6)

シリーズ最後(?)は、パラメタ自体が同次座標を持つもの。これはかなりややこしいですが、補間式は綺麗です。すなわち、

f = ((f0/w0)(1 - s) + (f1/w1)s) / ((q0/w0)(1 - s) + (q1/w1)s)) --- (1)

ここで、qはfの同次座標です。これの導出方法はさまざまあります。いろいろとお試しあれ!演習問題。やはりこれで締めくくらないと。

Perspective-Correct Interpolation (5)

本話題、連続シリーズとなりました。ややこしいですからね。

f = ((f0/w0)(1 - s) + (f1/w1)s) / ((1/w0)(1 - s) + (1/w1)s)) --- (1)

に対して、fをwで置き換えてみましょう。そうすると、

w = 1 / ((1/w0)(1 - s) + (1/w1)s) --- (2)

これでもいいんですが、よく見る式は、

1/w = (1/w0)(1 - s) + (1/w1)s --- (3)

これは、wに関する、有名な補間式でございます。逆数が線型補間されるということです。

Perspective-Correct Interpolation (4)

この話題、面倒くさいので、一気に攻略してしまいましょう。前回の記事(↓)、

http://kanouy.blog9.fc2.com/blog-entry-1392.html

の解答は、こちらです。

t = (w0s) / (w1 + (w0 - w1)s) --- (1)

式(1)は、sを決めるとtが決まる、ということです。これは極めて重要です。なぜかというと、rasterizationでは、sをパラメタとして補間するわけです。そして、それに対するtの値から、補間される値が求められるのです。

これについては、例題が必要ですね。

f = f0 + (f1 - f0)t --- (2)

が、ワールド座標系での補間です。式(2)に式(1)を入れて整理してやると、

f = ((f0/w0)(1 - s) + (f1/w1)s) / ((1/w0)(1 - s) + (1/w1)s)) --- (3)

となって、OpenGL公式仕様書(OpenGL version 4.5 core profile、451ページ、式(14.6))にも出てくる、有名なパラメタ補間式が得られるのでした。

Perspective-Correct Interpolation (3)

Perspective-correct interpolation、難しいのですぐに忘れます。3DCGでは、ちょっと敷居の高い話題のひとつ。というわけで、おさらいをします。

要するにこれは、ワールド座標系での補間と、スクリーン座標系での補間、このふたつの関係を知ることです。ではこのふたつを結ぶものはなんでしょう?これは、ふたつの座標系で補間された値が等しい、ということです。

具体的に計算してみましょう。ワールド座標系での補間パラメタをt、スクリーン座標系での補間パラメタをs、補間したいパラメタをf、とすると、

(f0 + (f1 - f0)t) / (w0 + (w1 - w0)t) = f0/w0 + (f1/w1 - f0/w0)s --- (1)

です。ただし、wは同次座標(これが難解)、添え字の0と1は、両端点の値です。これを変形してやると(計算間違いするかも)、fは消えて、sとtの関係式が求まります。計算できましたか?

Tensor Display

今年(2015年)のSIGGRAPH(本家)で、"The Light Field Stereoscope"という論文が話題となっていました(というか、Facebookにポストされていた)。HMDでlight fieldを使うというヤツです。2枚のLCDで、light fieldを再生(?)しているみたいです。

これのベースとなっているのが、2012年にやはりSIGGRAPH(本家)で話題となった、"Tensor Displays"です。というわけで、遅ればせながら、3年前のこの論文を読んでみました。数学的に難しいのが、non-negative tensor factorization (NTF)というところです。NTFというのは初めて聞いたのですが、少し調べてみると、結構検索にかかりました。私の持っている機械学習本にも、載っていました。なんだ、私が知らなかっただけですね。なにやら重要な技術みたいですよ。

私の理解では、light fieldは4階のテンソルで表されるわけですが、それをふたつの2階のテンソルに分解(近似)してやって(これをやるのがNTF)、その結果を2枚のパネルで表示させる、ということでしょうか。ホントかな?

OpenGL本

OpenGL本(つまり、OpenGL xxx、というタイトルの本)、全て処分(=売却)しました。以下の書物です。

1) OpenGL Programming Guide, Seventh Edition, 2009.
2) OpenGL Shading Language, Third Edition, 2009.
3) OpenGL SuperBible, Fifth Edition, 2011.

日進月歩の世界、上記はもう古くて、役に立ちません。

ところで、obsoleteとなって久しい、1)(通称、赤本)ですが、Eighth Editionが2013年に出ています。またか?と思い、期待しないで目次を見たところ、これはビックリ。遅まきながら、完全にshaderベースに書き換えられていて、前版までの面影は全くありません。これはもしや買い?私も懲りないな~

実は、以前に関連記事(↓)を書いていました。まるで忘れてました。

http://kanouy.blog9.fc2.com/blog-entry-765.html

TripAdvisor (2)

'TripAdvisor' kindly e-mailed me that how many people had seen my reviews which I posted after a trip to Barcelona in this GW.

I wrote 2 reviews, one of which was about a hotel we stayed 5 nights. 'TripAdvisor' told me that there had been 2,035 readers of the review, 42% of which were from United Kingdom, 11% from United States, 6% from Spain, so on and so forth, as of 12 Aug 2015.

I was simply satisfied with that. But, on the other hand, I also found that I got only 2 helpful votes, which is only 0.1% out of the total readers. I was not satisfied with that.

夏休み (6)

明日(2015年8月11日)から、本BLOGは夏休みをいただきます。ちなみに当社は、今週いっぱいお休みです。噂によると、出るヒトもいるみたいですが...

本BLOGは、17日から再開する予定です。引き続き、よろしくお願いいたします。

Mathematics for 3D Game Programming and Computer Graphics (4)

Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Third Edition, 2011.

の、Chapter 7、"Lighting and Shading"、178ページまで来ました。ここは、bump mapping、です。すでに枯れた技術でしょうか。

しかし、ここでの説明は、かなり難易度は高いと思います。bump mappingを普通に使っている方、この説明を全て理解されているでしょうか?まあ、線型代数の範囲と言ってしまえばそうですが...線型代数、3DCGにしっかりと応用されています。線型代数、何に使えるの?と思ってしまった方、ここをご覧ください。

ところで、用語に注意です。bump mappingを行うためには、tangent spaceを求める必要があります。tangent planeに垂直なベクトルは、normal vectorでいいですね。では、tangent planeを張るベクトルは?これは、tangent vector、bitangent vectorと呼ぶのだそうです。

bitangent vectorという用語は、実は聞いたことがなかったです(聞いたかも知れないが、覚えてはいなかった)。果たして、注意書きがあって、これはよく、binormal vectorと呼ばれてしまうということです。でもこれは、誤用だそうです。binormalはよく聞くので、注意です。曲線論で使われますが、ここで使われるとしたら、正しい用法です。181ページ下に、丁寧な記述があります。

Booking.com

ヨーロッパの、これまであまり縁のなかったエリアに行くことになりそうです。ちょっと混乱中?

航空券は、まあいいとして、ホテルです。これについては、Booking.comというサイトを教えてもらいました。これは便利です。まずは、二泊分を、キャンセル可能な部屋で予約いたしました。幸先はよい。

のこり一泊するのですが、どこの場所(実は国も)にするのかが決まっていません。いくら同サイトが優れものでも、泊まる場所が分からなければいけませんね。

Mathematics for 3D Game Programming and Computer Graphics (3)

Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Third Edition, 2011.

の、Chapter 7、"Lighting and Shading"、ここは簡単です(少なくとも前半は)。パラパラと快調にめくって、171ページまで来ました。ここは、normalization cube map、の説明です。

この説明、恥ずかしながら、最初はわかりませんでした。困っちゃいますね。

要するに、正規化されたベクトルが引っ張れる、ということなのですが、これは、もともとのベクトルを正規化したものですよね。ということは、以下のふたつの演算速度を比べていることになります。

1)元々のベクトルを正規化すること(つまり、二乗和、平方根、割り算、など)にかかる演算
2)元々のベクトルから必要なテクスチャ及びテクスチャ座標を特定し(割り算あり)、その値を持ってくる演算

1)に比べて2)のほうが速いということで、normalization cube map、が使われるのでしょうが、どこまで速いのでしょうね。自明ではないと思いますよ。ちゃんとした比較データはないのでしょうか?少なくとも、本書にはありません。'desirable'という単語で締めくくられています。定量的な比較を知りたいです。

multi-class logistic regression

「イラストで学ぶ機械学習」の第10章、確率的分類(logistic回帰)の解き方に感銘を受けたので、他書と比べてみました。他書とは、PRMLとMurphy本です。マルチクラスの分類です。これが使いこなせれば、かなりイケませんか?なぜって、分類では、SVMが相変わらず王座に君臨しているようですが、これのマルチクラス化は、原理的に簡単ではないと思います。

107ページの式(10.1)は、両書に同じものが掲載されています。具体的には、PRMLでは式(4.104)、Murphy本では式(8.33)です。Murphy本のが分かりやすいので、載せておきます。

p(y = c|x, W) = exp(wcTx) / Σexp(wcTx) --- (1)

ここからが、PRMLとMurphy本はよくわからないです。ちゃんと読んでいないからですが、「イラストで学ぶ機械学習」に載っている解法のほうが明快に思えます。これらは同じなんでしょうか?解読が必要なところです。何気なく登場している、「対数ガウスカーネルモデル」がキモのような気がしますが...これも説明なく、いきなり登場いたします。

3Dプリンタ (5)

3Dプリンタ、はたして流行るのでしょうか?

結構脚光を浴びたものの、使っているといろいろと問題が出てきて、使わなくなってしまった人もいるのでは?

なんてことを考えていたとき、NHKでTEDの放送を観ました。Joseph DeSimone氏による、carbon3Dのデモです。これにはたまげました。10分のプレゼンの間に、実際に、複雑な形状のものがプリントできてしまったのですから。しかも、従来の2Dプリンタ型の積層ではありません。映画「ターミネータ2」の映像をヒントにしたという氏、これが本当の発明家でしょう。

ご存じなかったかた、NHKのTEDのサイトに、記事が載っていますので、ぜひご覧ください!
プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(技術顧問)
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
電気学会・第三期次世代インタラクティブディスプレイ協同研究委員会(幹事)/最先端表現技術利用推進協会・アカデミック部会(旧:三次元映像のフォーラム)(副部会長)/日本バーチャルリアリティ学会ハプティクス研究委員会(委員)/ACM・SIGGRAPH(Professional Member)/情報処理学会(正会員、CVIM会員)/3Dコンソーシアム(賛助会員)/3DBiz研究会(個人賛助会員)/URCF(特別会員)

----------------

前職:立体映像産業推進協議会(幹事)/日本バーチャルリアリティ学会・論文委員会(委員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード