Stream APIを使ってAndroidのカメラの映像をjavascriptでリアルタイム顔認識(難航中)
こてさきAjax:Stream APIで、カメラの映像をWebSocket ライブ配信 - livedoor Blog(ブログ) http://blog.livedoor.jp/kotesaki/archives/1667452.html
上記のブログで、Stream APIを使ってカメラの映像をブラウザで取得できると知ったので、下記のjavascriptで顔認識ができるライブラリを使って、カメラの映像の顔認識を試してみた。
JavaScript+canvasで顔認識 - 開発な日々 http://hinata.in/blog/20100227231617.html
実行
- 1. http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview にあるOpera mobileのテクニカルプレビューをインストール
- 2. opera:configのSecurity Prefsの"Allow Camera To Canvas Copy"を一時的にチェックして保存
- 注意: そのままにしておくと、通常のサイトからカメラが覗けてしまうので、切り忘れに注意。
- 3. 作成したコンテンツ(http://ndruger.lolipop.jp/hatena/20110329/js_camera_face_detect/js_camera_face_detect.htm)を開くと、左にカメラの映像が表示され、5秒ごとに顔認識が行われて、結果が右に表示される
- 注意: 非常に重いため、Opera mobileが頻繁に落ちます。
結果
顔認識に成功すると、下記のように正しく検出される。
左がカメラの映像そのままで、右が顔認識により赤い枠を追加した表示。
ただ、顔認識に失敗したときに、非常に重たくなり、Opera mobileが落ちる。要分析と改善。
Stream APIの利用方法の検討
- カメラの映像に対してjavascriptでVRとかもしたいけど厳しそう。typed arrayでの改善度合いをチェックしたい。
- いっそwebsocketでサーバーに流して、サーバーがいろいろな処理をした結果を返すのもおもしろいかも。