世界を動かす技術を、日本語で。

1ドルのハードウェアでMacBookをタッチスクリーンに変える方法 (2018)

概要

  • MacBook をたった1ドルのハードウェアで タッチスクリーン化 したプロジェクト
  • Project Sistine は有名な絵画にちなんだ名称
  • 鏡とコンピュータビジョン を活用したシンプルな仕組み
  • 自作ハードウェア と既存のWebカメラのみで実現
  • オープンソース としてMITライセンスで公開

MacBookをタッチスクリーン化する「Project Sistine」

  • Project Sistine は、MacBookをわずか1ドルのハードウェアで タッチスクリーン化 する試み
  • 開発者は Kevin、Guillermo、Logan および筆者の4人
  • 開発期間は約 16時間 のプロトタイピング
  • システム名は システィーナ礼拝堂の絵画 再現に由来
  • 鏡面反射 を利用し、指が画面に触れたかどうかを 反射像 で判定する仕組み
  • 中学生時代のKevinが ShinyTouch を開発した経験が着想源
  • 外付けWebカメラ不要で、 内蔵Webカメラ のみで動作可能に改良

ハードウェア構成

  • 用意した部材は以下の通り
    • 小型ミラー
    • 硬質紙皿
    • ドア用ヒンジ
    • ホットグルー(接着剤)
  • ミラーを適切な角度 でWebカメラ前に設置
  • ナイフとホットグルーガン で数分で組み立て可能な設計

コンピュータビジョンによる指検出

  • Webカメラが捉えた映像から 指とその反射像 を検出
  • 肌色フィルタリング二値化 で画像処理
  • 輪郭検出 で2つの大きな輪郭(指とその反射)を抽出
  • 上下関係 および 水平方向の重なり で正しい輪郭を判定
  • タッチ/ホバー判定 は上下2輪郭間の 垂直距離 で識別
  • 処理結果 は緑色の輪郭線、赤色のバウンディングボックス、マゼンタ色のタッチポイントで表示

タッチポイントの画面座標への変換

  • Webカメラ座標画面座標 の対応付けには ホモグラフィー行列 を利用
  • キャリブレーション 時にユーザーが画面上の指定点に触れ、座標データを取得
  • RANSAC法 で外れ値を除去しつつ、正確な変換行列を推定
  • キャリブレーション後は 赤線で投影行列 を可視化し、推定タッチポイントを青点で表示

実用性と今後の展望

  • 現状プロトタイプでは タッチとホバーをマウスイベント に変換し、既存アプリを即座にタッチ対応化
  • 独自アプリ開発 時はホバー高さなどの情報も活用可能
  • 高解像度Webカメラ曲面ミラー の採用でさらなる精度・実用性向上が期待
  • オープンソース(MITライセンス) で公開されているため、誰でも利用・改良が可能

Project Sistineのまとめと意義

  • 低コスト かつ シンプルな技術 でノートPCをタッチ化する新しいアプローチ
  • 追加ハードウェアが最小限 で、既存のPC環境に手軽に導入可能
  • コンピュータビジョン工夫された物理デザイン の融合
  • 教育現場やDIYユーザー にも応用可能な技術
  • 今後の改良・発展 により、より多くのデバイスでのタッチ操作実現が期待

Hackerたちの意見

無料でもタッチスクリーンのMBPは欲しくないな、同じように思ってる人いる?タッチパッドに手を移動させないように、キーボードコマンドを最適化してるのに、なんで画面をタッチしたくなるのか理解できない。もしコンピュータを作業用に使ってるなら(エンタメじゃなくて)、ビジュアルデザイナーじゃない限り、Appleが今年の後半に新しいMBPラインにタッチスクリーンを搭載するらしいのが理解できないよ。

Appleが今年の後半に新しいMBPラインにタッチスクリーンを搭載するらしいのが理解できない。AppleはiPadが出てから毎年ノートパソコンにタッチスクリーンを搭載しようとしてるらしいけど、実現したことはないよね。

Macsはキーボードコマンドに最適化されてるとは言えないよ。使ってるソフトがキーボード最適化されてると感じるなら、それは本当にMac用のソフトじゃない可能性が高いね。

時々、iPadをしばらく使った後にMBPに切り替えると、つい習慣で画面に手を伸ばしちゃうことがある。私だけじゃないよね。

今や自分の持ってるスクリーン全部タッチできるのに、Macだけはできないのが古臭くて変な感じ。Macのキーボードとマウスをタッチスクリーンに変えたくはないけど、タッチに対応してほしいな。これでStudio Monitor XDRの将来が危ういことにも気づいたよ。タッチサポートがないからね。

折りたためないノートパソコンにタッチスクリーンがあるのが理解できない。まるで自由に描けるバースデーバルーンに指で絵を描いてる感じ。

僕も同じで、君に完全に同意するけど、タッチスクリーンを使った時、習慣がすごく強くて、数日間MacBookの画面を触っちゃうんだ。だから、無意識にタッチを求めてるのは確かだね。(そうじゃなければ、脳がタッチを使えると思っててもトラックパッドに戻ってたはずだし。)

古いタッチスクリーンのノートパソコンが2、3台転がってるけど、タッチスクリーンは全く役に立たない。むしろ邪魔。もし使うことがあれば、うっかり触っちゃってイライラするだけだよ。

なんで?トラックパッドより全然いいよ。Surface Proを使ってみて。ちょっとネットサーフィンしたり、ウェブサイトを読むときは、リンクをタップしたり、スワイプしてスクロールする方がずっと楽だよ。

時々アートをやりたい衝動に駆られることがあって、もっと大きな面があればできるかも。もしくは、もっと大きなトラックパッドを作ればいいのに。

ポイントは「タッチスクリーンのMacBookが必要」ってよりも、「すごい、ガラスの反射を見て動作するタッチスクリーンをシミュレートしたんだ、クールじゃない?」って感じだと思う。

タッチスクリーンはノートパソコンには向いてないと思う。むしろない方がいいな。

使わなくてもいいんだよ。

スクロールには実際かなり快適なユーザー体験だよ。ポインターでの操作が向いてるものもあれば、タッチの方がいいものもある。Magic KeyboardをつけたiPadで試してみると、トラックパッドで精密に操作した後に、指で大きなものを画面上でサッと動かせるのがすごくいいよ。

これすごいね。公式に実装するために上向きのカメラを取り付け始めるべきだよ。

すごく笑ったよ。ありがとう!予想外のテクノロジーだね!

コンピュータビジョンの素晴らしい応用だね。クールな記事だ。コードを共有してオープンソースにしてくれてありがとう!

これいいね。シンプルなプロトタイプだ。照明に依存するのかな…外にいる時や逆光、グレアの時はどうなるんだろう?

人々は様々な照明条件の下でノートパソコンを使ってるから、これをしっかりした製品レベルの技術にするのは難しい(もしくは不可能)だと思う。でも、面白いプロジェクトには見えるね。

タッチスクリーンはあんまり好きじゃないけど、Toshiba Satelliteは大好きだった!まるで紙に書いてるみたいだったんだ。静電容量式スクリーンなんていらねぇ、アクティブデジタイザー万歳!

「これについてはたくさんのユーザーテストをしたけど、結局うまくいかないことが分かった。タッチ面は垂直にはしたくないんだ。デモはすごく良いけど、短時間使ってると疲れてきて、長時間だと腕が落ちそうになる。これは機能しないし、エルゴノミクス的にも最悪だ。」 - スティーブ・ジョブズ、2010年

誰もタッチスクリーンだけを使えって強制してないでしょ?

タッチスクリーンのPCを何台か使ったけど、これは本当にその通り。たまに使うことすらなかったし、習慣になるには不便すぎるから、たまに便利な時があっても、アクティブな選択肢に入ってないから存在すら忘れちゃう。

タッチスクリーンのノートパソコンが本当に良いアイデアかどうかは置いといて、この一文には思わず「うわっ」と声を出しちゃった。 > 肌の色とバイナリしきい値をフィルタリング 肌の色は非常に幅広いし、光の影響も受けるからね。背景差分の方が良かったと思う。