フラッシュ有/無の2枚の写真から3次元再構成


 また面白いことをやっている人が。凹凸のある壁面等について、同じ場面の写真を2枚撮る(1枚はフラッシュ有り、もう1枚は無し。)だけで3次元再構成が出来るという話。


Capturing 3D Surfaces Simply With a Flash Camera
Wednesday, August 27, 2008 - by Daniel A. Begun
HOT HARDWARE


 (追記:論文を読むと下のパラグラフの説明は正確ではなかった。ごめんなさい。論文へのリンクは下に。)


 仕組みは単純。フラッシュ無しで写真を撮ると、手前にあるものはより明るく、奥にあるものはより暗く写る。これだけではある場所が暗いのがそういう色だからなのか奥にあるからなのかは判らないけれど、この情報とフラッシュ有りの写真で得られる実際の色の情報とを比較することで、ピクセル単位での奥行きマップ(depth map)を得ることが出来ると。マンチェスター大学とドルビーの共同研究。


http://www.hothardware.com/newsimages/Item7550/height_field.jpg
(上記記事より)


 奥行きマップが得られるというだけなので、たとえば壁にツタが張っている場合のように分離された複数の奥行き面がある場合にはうまく再構成ができない。またより高コストなレーザースキャン等の結果と定量的に比べると精度は劣る。でも簡単な構造の場合だと人が目で見る限りでは実際の写真とほとんど見分けがつかないレベルの再構成が出来るらしい。


 この機能、デジタルカメラ等に実装するのはさほど難しくなさそう(単にフラッシュ前後で2枚撮るようにすればいいだけ)。再構成までカメラ内部でやるのは辛いかもしれないけど、データ(写真)さえあればあとでPCで処理すれば良い。数年後のデジタルカメラには「立体撮影モード」とかいうのがついているのかも。ブレを防ぐためには三脚は前提か。


追記:

 SIGGRAPH 2008 での論文やビデオ資料を含んだもう少し詳しい情報がこちらに↓。


Surface Depth Hallucination
Advanced Interfaces Group
School of Computer Science, The University of Manchester


 まずフラッシュ有りの写真と無しの写真の輝度の差分を基にして反射率(albedo)マップを作成する。次に反射率マップとフラッシュ無し写真との比を取ることで(反射率の影響を排除した)陰影(shading)マップを得ることが出来る。これの各位置を半球あるいはシリンダーとしてモデル化して奥行きマップを計算しているらしい。


 これまでも陰影の情報を用いて奥行きを求めるという手法はあったけれど、写真一枚からだと暗い部分が反射率が低いのか影なのか判別できない等の情報不足の問題があった。このため従来は様々な仮定(反射率は一様だとする、等)を置くことでこの問題を解いていたけど、今回はフラッシュ有/無の2枚の情報を使うことで反射率マップをちゃんと求めることが出来た。またそこからより正確な陰影マップを得ることが出来たので、あまり ad hoc なことをせずに奥行きマップを作ることが出来たと。


 しかし、こんなところで DJ Heeger や EH Adelson、JR Bergen、はては VS Ramachandran の名前を見つけるとは。世の中狭い。


関連:

 CrazyBump という一枚の画像から depth map を作ってくれるソフトがあるらしい。これもすごい。
http://www.crazybump.com/
(via: Nao_uの日記

並列化メモ


 コンピュータサイエンス研究科で並列コンピューティングのセミナーがあるというので聞きに行く(ほとんど現実逃避)。印象に残った話をメモ。

  • 自分の書くプログラムが2008年以降高速にならなくても良いという人を除き、全ての人は並列化プログラムを書く必要がある。
  • 1980年代以降、RAM のアクセス速度は毎年 9% しか向上していない。このため CPU の処理速度との乖離が加速度的に増加している(いた)。これによる不具合を軽減するための仕組みとしてキャッシュメモリがあり、プログラムの実行速度はキャッシュのヒット率に大きく依存する。
  • アルゴリズムやデータサイズによってキャッシュのヒット率は異なる。更に最近の CPU はそれぞれ容量・速度の異なるキャッシュを多段に装備している。このため、どのアルゴリズムがどういうサイズの計算をするときに最適なのかはもはや誰にも予測できない。
  • 並列化なんてしたら更に訳がわからなくなる。
  • 仕方がないので実際に計算をやらせてみてパフォーマンスを評価する必要が出てくる。これを自動化するための研究が進んでいる。intel では性能予測に機械学習アルゴリズムを使用することを検討している。
    • (シュールな・・・。つまり機械でありながら自分の内部をブラックボックスとして扱って、それを監視する自己参照系を持つと。そのうち自我でも生まれるんじゃないか。
  • より高速な処理を目指すため、現在の CPU はハードウェア的に様々な形での予測を行っている。そのうち入力より先に出力を出すようになる(というのは冗談)。
    • (わかります。常に予測を行っていて、活発に活動するのは予測が外れたときだけになるのですね。それなんて脳み(以下略))。
  • 一般企業での並列化は遅々として進んでいない。某 Ad○be 社に並列化コンサルティングに行ったところ、「○○処理の部分はプログラマがだいぶ前に死んだのでそれ以降誰も触っていない・触れない」「え、リコンパイル? そんなことしたらもう動かなくなったりしないかなあ」などと言われた。
    • (だからあの会社の製品はあんなに重いのだろうか?)
  • 過去のしがらみの少ない自然科学分野の方が並列化は先行するのではないか。
    • (でもラボ内ソフトのコアな部分は立ち上げ期の人が作っていて、その人が抜けた後は誰も触れないという状況は自然科学の研究室でもわりとあるような気がする。)

 ところで、ベクトル化の何たるかを最もよく判っている集団は matlab ユーザーなんではないだろうか。ベクトル化が前提になっているというか、ベクトル化しないと罰ゲームみたいに遅くなる。ちゃんとベクトル化すれば C で漫然と書くよりも速い(こともある)。


 MPI のレベルまで降りていくのはさすがに神経科学者のやることではないと思うので、matlab が並列化したり GPGPU が使えるようになったらもう個人的には満足だと思った。

ストリートビューから3次元マップ


 Googleマップストリートビュー的なデータから街の3次元マップが作れそうだと思っていたら、もうやっている人がいた。メモ。



 やっているのはearthmine社というカリフォルニア州バークレーにある企業。NASAJPL(ジェット推進研究所)から出てきた技術(複数の画像から3次元位置情報を再構成)を使っているらしい。考えられる用途として挙げられているのは、街のインフラ管理や都市計画、災害対策や保険調査(?)など。


 たしかに道幅や歩道の有無、街路樹・信号や電灯の位置等も含めた定量的な3次元位置情報があるなら、たとえば事故・犯罪が起きやすい場所に隠れた共通点を探し出す等のことが出来るようになるのかも。都市工学をやっている人にとっては宝の山に見えるのでは。身近なところではカーナビの経路設定に使うとか(車幅・車高から考えてこの道は通れないと判断する、等)。


http://www.techcrunch.com/wp-content/earthmine2.jpg
(3次元位置情報があるので、もちろんサイズを測ったりも出来る。TechCrunchより)


 真面目な用途はともかく、こういうのを見ると電脳コイルで描かれたような未来が来るのはほとんど必然のように思えてくる。世界初の拡張現実都市はサンフランシスコかな。


関連リンク:
Earthmine 、現実世界を3Dパノラマ写真で検索可能に(TechCrunch Japan)

EveryScape、街頭ビューに屋内ビューを加える(TechCrunch Japan)

xで根本的な発見はn個しかない。


 神経科学の歴史の中で、根本的な発見は4つしかない。あとの研究は場所を変えたか手法を洗練させたものに過ぎない。


と言っている人がいた。4つが何だったかは忘れた。*1


 「根本的な発見」というのはかなり定義がしにくいので、逆にこれはほとんど何にでも応用できるような気がした。


 数学の歴史の中で根本的な発見は4つしかない。

 物理学の歴史の中で根本的な発見は4つしかない。

 生物学の歴史の中で根本的な発見は4つしかない。

 計算機科学の歴史の中で根本的な発見は4つしかない。

 言語学の歴史の中で根本的な発見は4つしかない。

 認知科学の歴史の中で根本的な発見は4つしかない。

 社会学の歴史の中で根本的な発見は4つしかない。

 経済学の歴史の中で根本的な発見は4つしかない。

 金融工学の歴史の中で根本的な発見は4つしかない。

 政治科学の歴史の中で根本的な発見は4つしかない。


 ・・・ちょっと無理があるかな? 数学の歴史の中で根本的な発見は3219個ぐらいあるかも。


 場所・対象を変えても通用する根本的な発見が4つもあるなんて凄いじゃないか、とも言えるかもしれない。

*1:参考:神経科学関連のノーベル賞一覧Andrew Huxley博士ってまだご存命だったのか!

神経科学と安全保障


 DARPA(米国防高等研究計画局)による神経科学関連の研究計画と、それに関連する話題をまとめた記事を見つけたのでメモ。


Neuroscience, National Security & the "War on Terror"
Tom Burghardt
Global Research, July 29, 2008


思ったこと:

  • ちょっと神経科学というには離れすぎているものも含まれている気がする。
  • どちらかというと、よくこれだけ多様な応用の可能性を挙げられるな、と感心した。
  • 実効性云々はともかく、(少なくともアメリカでは)神経科学を見る目にこういう部分も含まれているというのはよく判った。

 個々の科学者は自分自身にこう言い聞かすかもしれない――自分がその研究をしなくても、他の誰かがやるのだ。研究資金は軍事助成金由来のものが優位を占めるようになり、科学者の中には軍事資金を受け入れるか自分の選んだ研究分野をあきらめるかの選択を迫られるものも出てくるだろう。そして、新しい技術の正にその両義的な性質(全く同一の脳内埋め込み技術が、ロボット兵士を作ることにもパーキンソン病で苦しんでいる患者を治療することにも使える。)は、科学者が自分にこう言うことを許すのだ。自分は「本当は」人類の役に立つ医療技術のために働いているのであり、その資金がたまたまペンタゴン由来であるというだけなのだ。

("The Militarization of Neuroscience" Bulletin of the Atomic Scientists, 9 April 2007)

fMRI 雑感


 被験者ばっかりしているのもあれなので、自分でも fMRI 実験を設計して予備テストをしてみた。今日解析をしてみたら、予想外に解析結果の S/N 比が良くてびっくりした。全然結果が出なくても仕方がないと思っていたぐらいに野心的な実験だったのだけど、これなら見込みがあるかも。


 電気生理 (in vivo, awake, single-unit recording) を主な生業とする*1立場からすると、fMRI神経科学の道具になり得るかどうかに関しては、長らく半信半疑の気持ちでいた。やはり(システム)神経科学の王道は、電気生理 (unit recording) だと思う。生きて動いて思考している脳の情報伝達単位であるスパイク活動を直接計測できるというのはエキサイティングなことだし、そこで得られる知見は神経情報処理の本質的な部分だと思う(←神経情報処理に関するどんなアイデアもこの単位での検証なり考察を避けて通れないという意味で)。それに比べると fMRI は時空間解像度があまりにも低すぎるし、得られる信号(BOLD信号)も血流を通じた神経活動の間接的な挙動を見ているに過ぎない。「fMRI の人がやっていることは『カレーはどうやって作るんですか?』と聞かれているのに『カレーは台所で作ります』と言っているようなものだ。答えになっていない」と言った人がいたけど*2、まあそういうものかもな、と思っていた。


 でも最近になってちょっと考えが変わった。その理由の一つとしては、最近 fMRI を使用した興味深い論文が立て続けに出たこと(Kay et al. 2008; Mitchell et al. 2008)。Voxel の持つ情報が Kay et al. 2008 で示されたほどリッチなものであるとは考えていなかった。前に少し書いたようにこの研究そのものが神経科学的に新たな知見を増やしたとは思わないのだけれど*3、ちゃんと解析したら個々の voxel も結構情報を持っていること、またデコーディングというセクシーな応用の可能性を示したという意味で面白かった。 Mitchell et al. 2008 は非常にニュートラルな実験条件から脳が affordance というか action-oriented というかそういう作りをしているっぽいということを何となくでも示した部分が素晴らしい。これは電気生理では出来ない。正確に言うと出来なくは無いけど、ものすごい規模の実験になるだろうし、そもそもヒト電気生理をする機会は著しく限られている。


 もう一つの理由は消極的なもので、fMRI 実験は比較的簡単に出来るということ。今やっている電気生理実験の100分の1ぐらい*4の労力・時間的コストで実験が回せるので、サイドプロジェクトとして試せる環境があるのならやらない手はない。少し電気生理屋としての自分とは違う興味の範囲になるけれど、試行錯誤が大量に出来るのでやっているうちに面白いことが出来たら儲けものかと。(もちろん門外漢である自分が片手間に実験が出来るのはそのレベルまでメソッド・知見を洗練させてきた先人達の努力があるからであり、いま敷居が低いということでそれまでの蓄積を低く見ているわけではない。)


 ・・・と書いてみて、ああこんなふうに多くの電気生理屋が fMRI に流れていったのかも、と思った。

*1:あるいはしていこうと考えている。

*2:元ネタを探したけど見つからず。

*3:むしろ V1 の電気生理はやっぱり凄かった、と言いたい。

*4:非常に適当な数値。

I Survived A Japanese Game Show


 カナダ滞在中にたまたまテレビで見た「I Survived A Japanese Game Show」というリアリティ番組アメリカ ABC 配信)が興味深かった。基本的な作りは通常のリアリティ番組と同じで、一般参加者が様々な試練を受け、最後に残った勝者が豪華賞金・特典を得るというもの。普通のリアリティ番組での目的は歌手を目指す・料理長の座を獲得する等なのだけど、この番組ではアメリカ人の一般参加者が日本の(架空の)ゲームショー番組に参加して勝ち残るのが目的。つまり架空の番組内番組(「本気で(まじで)」)での勝負を舞台裏も見せながら進めていくというひねった構成の番組。


 ABCの番組なので、放映された全エピソードが Web 上でも公開されている。

 http://abc.go.com/player/
 (追記:アメリカ国内の IP アドレスでないと視聴できないらしい。コメント欄 nozawa さんによるご指摘。)



 ロケは日本でやっているらしく、一応「本気で」の司会者・観客等は日本人っぽいのだけど、ノリがおかしい。1980年代から2000年代のテレビを混ぜて反応を大げさにしたような感じ。ちょっと「Lost in translation」を思い出す。例えば、司会者が審査員を紹介しても審査員が何も言わないので「Say something!(何か言ってよ!)」というと審査員が「Something!(何か!)」と叫んで観客(日本人)大爆笑。わけが判らない。誰が誰を面白がっているのか、どういう皮肉なのか、どこまで狙ってやっているのか、ネタ・ベタ・メタが混在する独特の雰囲気。


 ゲームショーという題材の性質のせいか、出てくる日本人がちょっと意地悪に描かれているような気がした。司会者からして「このゲーム面白いですよねー、もう勝ち負けとかそんなのどうでも良くて、誰かが水に落ちたらそれが面白いんですよ!」とか言い出す(なお司会者は場面に応じて日本語も英語もしゃべるのだけれど、必ずしも全ての日本語に英語字幕が表示されるわけではない。つまりアメリカ人が見ても台詞の一部しか理解できない)。そして誰かが失敗すると観客の日本人は鳴り物を鳴らして大爆笑。


 ゲームの仕組みも結構きついもので、参加者は2チームに分かれて対戦する。で、負けたチームの中から敗北に責任のある2人が選ばれて脱落者を決める対戦ゲーム(1人脱落、1人はそのまま次週に残る。)に参加するのだけど、この脱落ゲームへ参加する2人を誰にするかはチーム内の話し合いで決めなくてはならない。当然チーム内の雰囲気は険悪になる。


 日本人は意地悪、というステレオタイプがあるのかも。ある種の日本のゲームショーを見ているとそう考えるのも無理もないかも知れない。考えてみれば挑戦者の誰かが失敗するのを見て第三者(観客)が哂うという日本のテレビでよく見かける構図は、アメリカではほとんど見たことがない。アメリカ人の目から見たらそういった構図は相当奇異に映るはずで、「本気で」の中ではその奇異さが強調されて表現されているように思える。正直なところあまり気分は良くない。


 このひねった番組は、このままの雰囲気で進んでいくのだろうか。それとも週が進んでいくうちにまたもうひとひねりあるのだろうか。リアリティ番組が本当にベタに進行して行っているのかは一般に怪しいものだと思うけれど、この番組は日本人観客の不自然さも相まって、かなり「作っている」感が強く漂う。そうすると演出を仕込める部分も多く出てくるわけで、その辺をちょっと楽しみにしたい。考えすぎだろうか。

追記: tomo_macintosh さんのブログでも画像付きで紹介されています。やっぱりずっと「ム番組を生還したぞ」になっているのはネタなんでしょうね・・・。