たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

フルダイブ技術の実現に向けて

概要

フルダイブ、つまり真の仮想現実/VRを実現する。
その実現には次の3点を明確にする必要がある。

  • 何が必要か
  • 何が既に実現しているか
  • 何が未解決か

この記事ではまず、フルダイブの定義を明確にした。
次に、フルダイブに何が必要かを明らかにした。
そしてその現状をまとめた。
f:id:tarepan5884:20160630231922j:plain

フルダイブ 技術の定義

フルダイブ の原典

「そりゃ、おめぇはもう慣れてるんだろうけどよぉ。おりゃこれが初の《フルダイブ》体験なんだぜ!すっげえよなあ、まったく……マジ、この時代に生きててよかったぜ‼︎」
クライン、《アインクラッド》第一層.
川原 礫. ソードアートオンライン 1 アインクラッド. p.22. 2009.

「フルダイブ」の原典は、2009年に発刊されたライトノベルソードアートオンライン (通称, SAO) である. *1 SAOの世界では、ヘッドギア型のマシン/ナーヴギア(VR-HMDBMI複合機)を装着して、ゲーム世界にいる ような経験ができる。

フルダイブの定義

SAO第1巻からの素朴な定義として「仮想世界にいることが出来る技術」が考えられる.
具体的には、五感等の感覚情報を自然に感じられ、運動の意図が実現される、技術。

定義は検証方法から作ることができる。つまり「○○を満たすものをフルダイブ技術と呼ぶ」ということ。
私の提案は
「睡眠から目覚めた時に、目の前の現実が現実仮想現実か判別できない状況を作れる技術」
である。つまり現実と見分けがつかない仮想現実技術のことである.
以後、この記事では、この定義に従って話を進める.

フルダイブに必要な要素

フルダイブに必要な要素は大きく2つに分けられる.

  • 感覚入力: 視覚や聴覚など
  • 運動出力: 前進、という意図で身体/アバターを動かす

ただし、高いレベルの領域ではこの2つの融合が必要.

感覚入力

代表的なものは

  • 視覚
  • 聴覚
  • 触覚/温度覚/痛覚
  • 嗅覚
  • 味覚

聞きなれない(であろう)ものとして固有感覚(自分の腕がどこでどう動いているか)もある。

これらの感覚を外部から入力し、内部由来の入力を遮断することが求められる.

外部からの入力によって、目の前の3Dモデルに触ることが出来る.
内部由来の入力を遮断しない場合、仮想現実の世界が晴れでも、外の世界(現実世界)で雨が降る音が聞こえる。これでは台無しである。

運動出力

full-diveの現状で一番ありそうな実現方法は、ヘッドマウントディスプレイ/HMDに映像を投影する方式であろう。
この場合、「前に進みたい」と使用者が考えると自然に映像が前に進む必要がある.
つまり運動の意図を何らかの形で読み取り、画面に反映する必要がある.

また、運動出力の遮断も要求される。
仮想世界で前に進むとき、同時に現実の身体も前進してしまうと、仮想現実は四畳半の広さしかもてない、これは悲しい.
遮断、ではなく、現実への影響を最小限にする、というアプローチもある.

各要素の実現状況

概略

  • 感覚入力
    • 視覚: VR-HMD技術が急速に進歩中
    • 聴覚: 三次元立体音源は既に高いレベル
    • 触覚/温度覚/痛覚: 手、など局所では技術あり
    • 嗅覚: アプローチすくなめ、面白いVRバイスが出つつある
    • 味覚: 電気刺激による擬似味覚
    • 固有感覚: ?
    • 入力遮断: 古典的な方法は色々、薬剤投与とか
  • 運動出力
    • 運動の読み出し: 研究が進行中
    • 運動の遮断: 神経科学の基礎研究止まり
    • 口の運動/発話
  • 運動感覚: まだまだ

運動出力

  • 表情
  • 顔の向き
  • 上半身/腕/手
  • 下半身
    • 歩行
    • その他/キックetc

物をつかむ

腕の基本的な仕事は、何かを持ち、それを移動させることである.
リンゴであれば掴んで口へ持って行き、剣であれば振り下ろす.

腕の動きについては、Brain-Machine Interface/ブレイン・マシン インターフェイスという分野で研究が進んでいる.
電極を四肢麻痺患者に埋め込む方式 (例. アメリカ, BrainGate2計画)、あるいはヘッドギアからの脳波読み取り.
現在、運動の自由度は最大で確か7(lancet論文)

運動の遮断

大学において、実験動物を用いた実験がなされている。
ある刺激により、運動中のネズミが突如動かなくなるなど、なかなかエキサイティング.
将来のfull-diveに向けて、人への応用が望まれる.
tarepan.hatenablog.com

運動感覚

我々は目を瞑っても「運動した」ことを自覚できる。
よくよく考えると不思議ではないだろうか. 例えば手を挙げる場面を考えよう. 目を瞑ると五感は腕の動きを認識できない(視覚:見えない、触覚:ゆっくり動かしたら風は感じられない、その他:ほぼ関係ない). どうやって我々は「運動した」ことを自覚しているのか?
それは固有感覚によるものである。筋肉の内部には筋肉長センサーがある。筋肉の伸び縮みをこのセンサーが感じる。この情報が各筋肉で発生し、最終的に「運動した」と感じる. 目を瞑っていない状況では、固有感覚や視覚が統合的に感じられ、運動の感覚が生じている.
なので、運動の意図を読み取り、視界が前進しても、前に進んだ感じがしない。
解決法はいくつかある。

  1. 実際に歩く
  2. センサー(感覚器)の電気信号を模倣する

例えばこんな方法

wired.jp

移動せずに歩く、方法も提案されている。
Vertuix Omni
www.virtuix.com
Vertuix Omniでは物凄い滑る靴を履いて、すり鉢状のスペースを歩く.
すると靴が滑り、中央へ足が戻ってくる、という仕組み.

未解決問題へのアプローチ

アプローチは大きく分けて2つ

  • 神経系の働きを明らかにする
  • 使えるものを使っていく

神経系の働きを明らかにする

入出力をコントロールするには、入出力を理解すればいい、というアプローチ.
近年研究が加速度的に進んでいる方法は、神経活動を見る方法.
具体的には神経活動によって神経が光る遺伝子改変動物を作成し、光を検出することで運動時や感覚受容時の神経活動を可視化する.
神経科学とVR
tarepan.hatenablog.com

使えるものを使っていく

現在の知識・経験則を使い、full-diveに近いモノを作り、これを改善していくアプローチ.
現在のブレイン・マシン・インターフェースはこれに近いと思われる.
具体的には、「右手動かすときは左脳がよく活動する」という知識を利用し、左脳優位な活動時にロボットの右手を動かす、のような感じ.

フルダイブを研究するには

.Q. フルダイブはどの大学・企業で研究できるか
.A. 自分で切り開くしか無い
現状、フルダイブをメインテーマとする研究室は国内にほぼない。
学術分野としても、無いに等しい.
企業は私詳しく無い.
つまり、フルダイブを研究するには、自分で切り開くしかない.
自分で切り開くとは『何が問題で』『どうやって研究するか』自体を自分で捻り出すということ.
私は、神経科学の側面からフルダイブに取り組みたいと考えている.

より詳細に別記事を書いた.
tarepan.hatenablog.com

初学者へのおすすめ書籍

フルダイブの実現に向けて、フルダイブに関する文献を読みたい。
そんな人向けの書籍紹介

脳の情報を読み解く ―BMIが開く未来―

ATR脳研という、有名な研究所の先生が書いた本.
ブレイン・マシン・インターフェースの研究結果を、一般の人にわかりやすくまとめてある.
脳波からジャンケンの手を予想するなど、キャッチ―な研究結果多数.
研究の最前線を覗いてみたい人におすすめ.

60分でわかる! VRビジネス最前線

VRってなに?VRって実際はどんなマシンがどんな仕組みで動き、どんなビジネスの種があるの?をわかりやすく解説.
VR初学者にとてもおすすめ. 良くまとまった書籍なので、わかっている人も手元に一冊あってよさそう.

まとめ

整備中

良いまとめだ、褒美をやろう、と思った方

おひねりを頂ければ幸いです
Amazonでおひねりを投げる

筆者について

大学院生.
専攻は神経生理学, 細胞生物学.
自分の研究は神経細胞内の熱ダイナミクス」と「歩行リズム生成原理の解明」.
研究室としては「先端光学技術の応用による細胞内分子ダイナミクス」「シナプス可塑性」「膜電位イメージング」あたりが現在の主流キーワード.
SAOは第1巻が出た頃に買って、まぁ寝ずに読んだ覚えがありますよね.

*1:SAOは創作web小説が原作なので、原作での扱いは残念ながらわからない。クラインと序盤で会わないらしいので、おそらく本当の原典は違う。

"fail fast" "素早く失敗せよ"について

体験談

半年掛かりで進めていたプロジェクトに致命的な問題点が判明.
相談の結果、キーとなるセンサの改良と全検証の仕切り直しに.
この改良には問題点を理解している必要がある.
つまり、半年掛かりの検証はただの失敗ではない.

ten failure for one success

ten failure for one success Paul M. Nurse.
成功/発見はそれを支える、10の失敗を礎に成り立っている.

偶然の成功を引くために

ある意味、偶然に左右される成功を得るためには、偶然を引く必要がある.
偶然を引くためには

  • 運を上げる
  • 当たりの確率を上げる
  • たくさん引く
  • くじの中身を見る

がとれる行動.
運は神しか操れない.
fail fastによってたくさん引くことができる.
当たりの確率を上げるためには、failから学べばいい.
だからfail fast, そして失敗からより深く学ぶことが大事だと思う.

failureとは

そういった意味ではfailureは存在しないとも言える.

自分の言葉でまとめるなら

大きく計画し、小さく始め、素早く失敗し、深く学び、そして成功せよ.
振り返り/学び/

Success fast, adjust or move on.

Success志向で行こうぜ、的な

'Fail fast, fail often' may be the stupidest business mantra of all time - The Globe and Mail

同じこと考えてる文献

www.infoq.com

カーソル移動のBMI/ Nature Medicine 2015

Clinical translation of a high-performance neural prosthesis. 2015

mini-summary

mini-mini summary

臨床BrainGate2の一部.
多電極アレイからのMUA/LFPRecalibrated Feedback Intention Trained Kalman Filter (ReFIT)と呼ばれる手法でデコード.
radial-8などのテストでスコア上昇.

what already known

what even unkown

special technique

what revealed

what remaining

methods

participant

T6

女性.
51歳.
右利き.

ALS and had resultant motor impairment (functional rating scale (ALSFRS-R) measurement of 16).
96-channel intracortical silicon microelectrode array (1.0-mm electrode length, Blackrock Microsystems, Salt Lake City) was implanted in the hand area of dominant motor cortex as previously described

96-channel silicon array.
利き手のhand 領域.

T7

男性.
54歳.
右利き.

webアプリの課金サービス / 2016 ver.

概要

webアプリに対する課金・決済を提供するサービスについて調べた.
自作web app.を月額課金制にするとして、どんなAPIを使えば課金が実現できるか、というもの.

一覧

サーバーレス アーキテクチャに応用可

qiita.com

その他

個人向けPOD

著者向けPOD出版サービス

open.nextpublishing.jp

料金について

著者向けPOD出版サービスでは、書籍を1冊販売するごとに、Amazon.co.jpが定める印刷費と、インプレスR&Dの販売手数料(書籍の販売価格の40%)が発生する。
書籍の販売価格は、この印刷費+販売手数料の合計額を上回る価格であれば100円単位で自由に設定できるため、この差額を著者が利益として受け取ることができる仕組みだ。
internet.watch.impress.co.jp

ユーザーマニュアル

https://open.nextpublishing.jp/documents/UserGuide.pdf

NextPublishing とは、株式会社インプレスR&Dが開発した新しい電子出版プラットフォームの名称です。
発行ブランド名やシリーズ名ではありません。
nextpublishing.jp

.

会社概要
デジタルファースト方式による次世代型出版事業。
NextPublishingメソッドによる電子出版を中核として、電子出版のための電子雑誌OnDeckの発行も行う。
www.impressrd.jp

.

インプレスグループについて
...
その他
株式会社インプレスR&D
www.impressholdings.com

Javascriptはシングルスレッドだと誰が決めたのか

  1. Mr.XXX

概要

Javascriptはシングルスレッドである、らしい。
実行時、関数は順番待ち列に登録されていき、順番に処理されていく(処理マシーンが1つ/シングル)らしい。
誰が決めた、関数が順番待ちするとは、順番待ち列って何よ?

先に結論

Nothing in ECMAScript explicitely forbids multithreading but you can't do multithreading without...
ref.

A Job Queue is a FIFO queue of PendingJob records.
ref.

Job Queue先入れ先出し(FIFO)形式で、PendingJob (内部)レコードのキューである。

A PendingJob is an internal Record whose fields are specified in Table 25.

Table 25 — PendingJob Record Fields

Job The name of a Job abstract operation This is the abstract operation that is performed when execution of this PendingJob is initiated. Jobs are abstract operations that use NextJob rather than Return to indicate that they have completed.
Arguments A List The List of argument values that are to be passed to Job when it is activated.
Realm A Realm Record The Realm for the initial execution context when this Pending Job is initiated.
HostDefined Any, default value is undefined. Field reserved for use by host environments that need to associate additional information with a pending Job.
ref.

整理すると

JobQueue == [  
    {  // PendingJob
        Job:  
        Arguments:  
        Realm:
        HostDefined:
    },  
    {...  
    },  
    ....
]  

Job Queueの種類
最低2つ

  • ScriptJobs
  • PromiseJobs

というかJobとは.

teratail.com

関係する関数・メソッド・オブジェクト

ES2015 Promise Generator Async

関連文献

qiita.com

でーた・どりぶん

データ

  • 先行研究
  • 実験データ

必要なデータが無ければ、データを収集する実験をする。

実験をすべきか否か

  • Type 1 decision
  • Type 2 decision

実験が後戻りできるか。
どれほど資源がいるか。

なぜデータに基づくか

データは事実。事実に基づいて判断。

気をつけるべき事

データにバイアスがかかっていないか。
メタデータに気を配る。