タグ

ブックマーク / potasiumch.hatenadiary.org (13)

  • 並列処理時代の演算の一意性 - potasiumchの日記

    足し算の答えが一意に決まるなんて昔話になるかも、というお話。 確認した範囲では、MATLAB 7.8 (2009a, 64bit) に足し算をさせる(たとえばサイズが500,000x1の行列の各要素を全部足す)と、その答えは一意に決まらない。全く同一のデータについて同じPC・環境で繰り返し計算させて、ほぼ毎回違う答えが返ってくる。 これについてMathWorks社(の少なくとも一社員)の見解が書かれているページを見つけた。 Comparing Single-threaded vs. Multithreaded Floating Point Calculations Loren on the Art of MATLAB December 4th, 2009 彼女の見解を要約すると、 浮動小数点数を用いた演算において、足し算は結合法則を満たさない( a+(b+c) ≠ (a+b)+c )。 演

    並列処理時代の演算の一意性 - potasiumchの日記
    kgbu
    kgbu 2010/01/09
    浮動小数点演算を並列で実行すると、、、順番がダイナミックに替わるなら、結果も変わり得る。昔は桁オチしないように計算の順番を工夫したりしてたんだろうから、これは当然なのかー。
  • オープンソースカメラ - potasiumchの日記

    デジタルカメラ・ビデオにLinuxを積んで、撮影制御や画像処理を全部オープンソースでやってしまおうという話があるらしい。スタンフォードの院生を中心としたプロジェクト。 (Open-source camera could revolutionize digital photography Stanford University News) 絞りやフォーカス・解像度の制御からフレーム取得後の画像処理まで、全部プログラマブルにしたカメラ・ビデオを作ろうという話。既存のカメラだと、カメラメーカーが対応チップやソフトを載せなかった、あるいはそもそもカメラ設計時には技術がなかった等の理由で数々の撮影技術が使えないことがあった。このオープンソースカメラなら、自分もしくは世界中の誰かが書いたソフトを適宜カメラにインストールすることで、自分の目的に特化した/最新の撮影技術が使えるようになる。 すぐに実装出来

    オープンソースカメラ - potasiumchの日記
  • 遺伝子治療で色覚異常を治す - potasiumchの日記

    Gene therapy for red–green colour blindness in adult primates Katherine Mancuso, William W. Hauswirth, Qiuhong Li, Thomas B. Connor, James A. Kuchenbecker, Matthew C. Mauck, Jay Neitz & Maureen Neitz Nature  Advance online publication 16 September 2009 すごくインパクトのある論文だと思う。先天的に錐体視物質が一種類欠損していて色覚異常が見られるリスザルを、遺伝子導入で治療したという話。具体的にはウイルスベクターを用いて遺伝子を導入することで、欠損している錐体視物質を発現させようと試みた。それも成体になってから。そうすると遺伝子導入から20週を

    遺伝子治療で色覚異常を治す - potasiumchの日記
  • 3次元手ぶれ補正(知覚補正付き) - potasiumchの日記

    (ちょっと遅ればせながら)今年のSIGGRAPHで発表された手ぶれ補正アルゴリズムは面白いと思った。素人が撮ったぶれぶれのビデオを後からソフトウェア的に修正してくれるというもの。ウィスコンシン大学とアドビ社の共同研究。 Content-Preserving Warps for 3D Video Stabilization Feng Liu, Michael Gleicher, Hailin Jin and Aseem Agarwala SIGGRAPH 2009 枠組みとしては、まずビデオ動画から特徴点抽出を行い、3次元的なカメラの動きの情報を得る。そこからカメラが理想的な(ぶれぶれでない)軌跡をたどったとしたら見えたであろう景色を再構成するべく、画像を局所毎にリマッピングしよう、というもの。ただし単純に再構成だけを考えてリマッピングすると情景自体が変わる部分(被写体が動いて隠蔽箇所が変化

    3次元手ぶれ補正(知覚補正付き) - potasiumchの日記
    kgbu
    kgbu 2009/08/23
    ブレブレの動画を後処理でstabilizeする方法。結構うまくいってそう。これで「手持ちカメラの臨場感」ってのは死語になるのかしら
  • Slow Feature Analysis - potasiumchの日記

    神経系を模した教師なし学習の枠組みとして、Slow Feature Analysis (SFA) というのがあるらしい。これかなり良い感じなんじゃないだろうか。 感覚神経系の役割は、生存に合目的な行動を行えるように外界の状況を推定することにある。感覚器から得られる生の感覚入力自体はノイズや(視覚系なら)眼球運動などの影響で高速に(〜数十ミリ秒)変化するけど、外界の状況(特定の場所にいる、目の前に熊がいる、等。)はより低速に(〜数秒)変化する。このことから、神経系は自然感覚入力のうちの低速に変化する特徴(slow feature)を抽出するように自己組織化すると仮定し、モデル神経系に自然感覚入力を与えて学習させてみましたと。 そうすると、視覚野で見られる受容野構造や、海馬で見られる場所細胞に相当する情報表現を獲得させることができたと。さらに面白い点は、この学習則をミクロに考えるとそれは ST

    Slow Feature Analysis - potasiumchの日記
    kgbu
    kgbu 2008/11/05
    地球シミュレータよりも、前頭葉シミュレータのほうが面白そうだな。
  • シングルピクセルカメラ - potasiumchの日記

    単一ピクセルのカメラで安価・効率的なイメージングをしようとしている人がいるらしい。 Compressive Imaging: A New Single Pixel Camera Kelly Lab, Compressive Sensing Group, Rice University (上記ページより) どうやって単一ピクセルでカメラになるのかというと、まず元画像である2次元輝度パターン X を2次元的なランダムマスクでフィルタリングする(上図のパターンで白いところは光が反射するけれど黒いところは反射しない)。フィルタリングされた光をレンズで集約して1点に集め、その輝度をシングルピクセルカメラ(つまり単一のフォトダイオード)で計測する。マスクパターンを次々に変化させ、各マスクパターンが提示された時点での輝度をそれぞれ記録する。こうして得られた輝度の時系列を Y (M x 1 行列、Mはパタ

    kgbu
    kgbu 2008/10/15
    1pixelでスキャンするというような話、スラドで読んだような気がする、、調べてみたい。
  • フラッシュ有/無の2枚の写真から3次元再構成 - potasiumchの日記 2008-08-28

    また面白いことをやっている人が。凹凸のある壁面等について、同じ場面の写真を2枚撮る(1枚はフラッシュ有り、もう1枚は無し。)だけで3次元再構成が出来るという話。 Capturing 3D Surfaces Simply With a Flash Camera Wednesday, August 27, 2008 - by Daniel A. Begun HOT HARDWARE (追記:論文を読むと下のパラグラフの説明は正確ではなかった。ごめんなさい。論文へのリンクは下に。) 仕組みは単純。フラッシュ無しで写真を撮ると、手前にあるものはより明るく、奥にあるものはより暗く写る。これだけではある場所が暗いのがそういう色だからなのか奥にあるからなのかは判らないけれど、この情報とフラッシュ有りの写真で得られる実際の色の情報とを比較することで、ピクセル単位での奥行きマップ(depth map)を得る

    フラッシュ有/無の2枚の写真から3次元再構成 - potasiumchの日記 2008-08-28
    kgbu
    kgbu 2008/08/28
    フラッシュによって奥行き情報が明るさの変化の度合いの逆2乗でわかるという話。コロンブスの卵的。
  • ストリートビューから3次元マップ - potasiumchの日記

    Googleマップ・ストリートビュー的なデータから街の3次元マップが作れそうだと思っていたら、もうやっている人がいた。メモ。 やっているのはearthmine社というカリフォルニア州・バークレーにある企業。NASAのJPL(ジェット推進研究所)から出てきた技術(複数の画像から3次元位置情報を再構成)を使っているらしい。考えられる用途として挙げられているのは、街のインフラ管理や都市計画、災害対策や保険調査(?)など。 たしかに道幅や歩道の有無、街路樹・信号や電灯の位置等も含めた定量的な3次元位置情報があるなら、たとえば事故・犯罪が起きやすい場所に隠れた共通点を探し出す等のことが出来るようになるのかも。都市工学をやっている人にとっては宝の山に見えるのでは。身近なところではカーナビの経路設定に使うとか(車幅・車高から考えてこの道は通れないと判断する、等)。 (3次元位置情報があるので、もちろんサ

  • matlab で GPGPU - potasiumchの日記

    いわゆる GPGPU (General Purpose GPU) 的なことを matlab (ひいては Python/Java/C/C++)でやるためのラッパーを作っている人たちがいて、近くでデモをやるというので見に行った。 現時点で汎用の CPU よりもビデオカードに載っている GPU の方が計算性能ははるかに高いので、行列の掛け算とか FFT ぐらいまで単純化できる計算はもう GPU にやらせた方が安いし速いんじゃないか? という話。 ラッパーのインターフェースは至ってシンプルで、任意の matlab 行列を GPU 行列にキャストしたらあとは普通に演算がオーバーロードされる。 gA = gsingle(mA); gB = gsingle(mB); C = gA*gB; d = sum(gA(:)); みたいな。これだけで演算が(行列のサイズやビデオカードにもよるけど)最大で数十倍〜百

    kgbu
    kgbu 2008/05/15
    GPUを使って数値演算するパッケージを作ってるベンチャーの話。昔のFPUを思い出すが、行列計算というところがミソなんだろうな。sparseな行列とかには対応できるんだろうか?
  • 「面白いからです」とNicolelisさんは言った。 - potasiumchの日記

    Miguel Nicolelis (@Duke University) さんのトークがあるというので聞きに行く。脳・マシン・インターフェース*1の大御所。内容はあまり目新しくなかったので雰囲気のメモ。 (Nicolelis さんとロボットアーム。BBCのページより) 運動領野にある多数(〜数百)の神経細胞の活動を同時記録することで、運動の意図をリアルタイムに読み取り、それをロボットアームやコンピュータなどに伝えるという研究をしている。病気や怪我などで麻痺・四肢を損傷した患者さんのQOLを回復する可能性のある、とても重要な研究。また運動学習中の神経活動(の変化)を継続的に記録することで、学習に関連した可塑的な変化がどのように起こるかを調べることも出来る。このことなどから、基礎神経科学的にも貴重な知見が得られる研究でもある。 あまりにも大御所過ぎてトークの内容はだいたいどこかで聞いたか読んだか

    kgbu
    kgbu 2008/03/23
    ロボットアームの第一人者のMiguel Nicolelis氏の話で、ある研究テーマについて「おもしろいから=sexyだからやった」と語ったそうだ。まーわかる。というか、それは幸福だし、行動原理として正しいとも思う。
  • Image manifolds - potasiumchの日記

    Image manifolds というのは結構面白そう。 Unsupervised learning of image manifolds by semidefinite programming Weinberger, K.Q. and Saul, L.K. International Journal of Computer Vision, October, 2006, 70(1):77-90 基的には次元圧縮の文脈から出てきたらしい。でもPCAとかみたいに軸を選んで subspace を張りなおすのではなくて、高次元空間上のデータ点(たとえば2次元画像など)の集合が「S」とか「し」みたいにぐねぐねしている場合に、その近傍の関係は保持したまま引き伸ばして「|」とすると。 面白いのは、引き伸ばした空間上で interpolation なり extrapolation をすることで、わりと自

    kgbu
    kgbu 2008/03/06
    2次元画像データを変換するだけで、3次元空間内の動きにうまく対応するような変形が可能?という話。高次の空間のモデルを持たずにこういうことが可能であるか?
  • 諸々の次元圧縮 - potasiumchの日記

    Image manifolds は面白そうという話に関連して、いろんなやり方を比較して試せるデモを見つけたのでメモ。 MANI fold Learning Matlab Demo Todd Wittman @ University of Minnesota matlab の gui が用意されていて、サンプルデータや自前のデータを様々な次元圧縮アルゴリズムに入れて結果を可視化することが出来る。 例:(左上がオリジナルのデータで、あとのものが8種類のアルゴリズムによる2次元展開の結果。) (サンプルの一つ、穴あき Swiss Roll。2次元シート状のサンプル点がロールケーキみたいに丸まって分布している。PCA や MDS (上2つ)などではシート構造は復元できないのだけれど、LTSA (右下) などでは綺麗に復元されているのがわかる。しかもこれで見るとLTSAは結構速い。) (サンプルその

    諸々の次元圧縮 - potasiumchの日記
    kgbu
    kgbu 2008/03/06
    いろいろな圧縮手法による分散の様子を可視化してくれるツールの紹介
  • 拡張現実感 - potasiumchの日記

    ああこれはすごい。 特徴点の抽出・3次元再構成・追跡があまりにもうまく行っているので、(そしてそれはヒトにとっては意識下で行われる当然の処理なので)特徴点が画像に同期して動いていくのがごく当たり前のことのように思えてしまう。でも当はこれをリアルタイムでやるってすごいことだよな・・・。論文(注:PDF)をチラ見すると、使っているのは Core 2 Duo 2.66GHz の Linux マシンらしい。*1 これ Google Maps Street View と組み合わせたら、あっという間に大黒市の出来上がりではないか。(ただ Street View のデータが動画で撮られているのか静止画の組み合わせなのかにもよるのかも。上の論文では optic flow の情報を3次元再構成に使っているっぽいので、静止画だとするともう一度撮り直さないといけない? あるいはこの技術と組み合わせるか。) 著

    拡張現実感 - potasiumchの日記
  • 1