視線入力を試す
我が家にはFace ID付きのiPad Proが無いので、iPhone XRで視線入力を試した。とりあえずネットで検索して見つけた二つのオープンソースのプログラムを試してみたのだが、そのままでは実際にみている所よりかなり高い位置にカーソルが表示される。というかかなり下向きにしないと画面上にカーソルが出てこない。これは顔の骨格と眼球の向きの関係が欧米とアジア系で違うからなのかもしれない。
キャリブレーション
という訳で大急ぎでキャリブレーションする仕組みを作った。センターや上下左右の角を見て、視線の範囲を把握してARKitが出力するデータを補正して画面上に表示するという内容だ。これで少し使いやすくはなったが、昨晩はここで目が結構疲れてしまい終了。
感触として
ARKitのフェイストラッキングは、顔の向きは非常に正確に把握していると思われる。しかし眼球、瞳の動きについては、もともと非常に微細な動きであるためか、理想よりやや不正確な印象だ。iPhoneの小さい画面では無理かな〜とは思っていたが、やはりiPadのサイズ、理想としては12.9インチの最大のものが望ましいと思う。瞳フリック自体は、頑張ってiPad Pro(Face ID付き)なら全ての機種で使えるレベルにはしたい。
今後について
今現在、視線入力に関してはiPhone XRにしか対応していないので、Face ID付きの機種全てに対応できたら、ベータテスト開始。英語キーボードに関してはあわよくば、、、と考えていたが一つ一つのボタンが小さくなり過ぎるため、視線入力の精度が大幅に改善できない限り諦める事にする。
また当面「会話モード」に絞って、ひらがなフリック入力という基礎機能が使えるようにしていく。特にフリックという動作は、やはり指だからできる事であって視線は流すのが難しい。例えば「く」を入力するには「か」をタップしつつそのまま上に流すのが、フリック入力。
しかし視線入力では、「か」を注視。エアタップして上に表示される「く」を注視してエアタップ。この「く」を注視する時間を短くすればフリック入力風になるかと考えていたが、、、多分逆だろう。まだ視線で入力する所までできていないが、「く」を入力したい時に「く」を見たい。
逆に「か」はさほど見なくてもよい。だから「か」を短くして「く」をそれなりに長くする。この方向で考えて行こう。もちろん設定で、エアタップまでの時間は調整できるようにする。視線入力のスピードも慣れや個人差があるので、最初はゆっくり、慣れたら徐々にスピードアップという風に。