@uents blog

Code wins arguments.

第二回関西Kinect勉強会に行ってきた

というわけで、行ってきました!写真撮ってくるの忘れた…

全てはメモれてないです。間違いとかあればツッコミお願いします。

OpenNIの環境設定について (@tunemageさん)

OpenNIを使ったKinectの開発環境を立ち上げについて

必要なライブラリ
  • OpenNI
  • SensorKinect
  • NITE
    • 骨格検出、ジェスチャー検出のミドルウェア
    • ジェスチャーはKinect SDKにはない機能?
手順
  • Kinect Wikiの手順にそって。情報が網羅されていて更新頻度も多い
  • 64bitよりも32bitの方がハマりポイントが少ない
  • Developers Editionの方がよい
  • インストール順はOpenNI、SensorKinect、NITEとした方がよい
  • OpenNI、NITEはopenni.orgから、SensorKinectはGitHubのプロジェクトから
  • OpenNIのconfig.xmlはSensorKinectに入っているものと置き換える
  • OpenNIとKinect SDKの共存は普通にはできない。回避策はあるかも

Kinect for Windows SDK (C#編) (@lezistanceさん)

初学者から見たKinectについていろいろ。

  • 事の発端
    • 社内ミーティングでKinectのWin版が出たという小話が発生
    • ボスに何か作れという指令
  • マニュアルに従ってSDKを入れみた
    • Kinect for Windows SDK
    • Developer ToolKit ⇒色々なサンプルアプリが置いてある
  • GUIプログラミング
    • Visual C#GUIエディタでごりごり⇒XAMLがわからなくてもたぶん大丈夫
開発の悩み
  • プレーヤーを綺麗に切り出せない
    • つむじや髪の分け目のような箇所は深度情報が取れない⇒オクルージョンが解決できてない?
  • 3Dのキャラクターを動かす知識がない
  • C#では指の検出ができない
    • OpenNIならできるそう。そのためだけにC++を覚えるのは嫌だ(笑)
  • 黒いテカリのものが取れない
    • Kinectの赤外線が反射しないから?
参考サイトなど
その他
  • Webサイトでの利用
  • ハードウェアへの応用
    • Kinectがロボットへ
      • 自動追跡ゴミ箱。ゴミを投げたら追いかけるロボット
      • ショッピングカートにKinect。検知したプレーヤに付いて行く
Q&Aなど
  • 最近キャリブレーションポーズは不要になった
  • Windows Developers Daysに言った時に聞いたのは、C#C++の開発部隊は全く別らしい

KinectでProcessing (@sakaki_yさん)

モノを置くと音がなるMONO-Toneのデモ & ProcessingのLive Coding(布教?w)

環境
  • Processing
  • OpenKinect
    • Depth情報のみ利用。スケルトンは取らない(OpenKinectでは取れない)
Processing
  • プログラマや初学者でもかんたんにグラフィックスアプリが作れるに書かれている
  • 初期設定はsetup()、ループはdraw()、キーイベントを取るのはkeypressed()をoverride、などなど
  • framerateの制御もできる。デフォルトは60fps
  • カラーを操作する時はHSB表色系を使う
  • ビルドするとjarになるそう
  • JavaからProcessingをグラフィックスライブラリを呼ぶこともできる
OpenKinect
  • Depth情報がワンメソッドで取れる。データはint[640*320]の配列
  • Skelton情報は取れない
  • TiltMotorの制御が超簡単にできる

ゆかむとキネクト (@tmybjさん)

プログラマというか子供の発育観点からみたKinect。この会である意味いちばん技術的/研究的だった内容。

キネクトの第一印象
  • 視覚的
  • 直感的

⇒子供を対象にできないか?

  • いきなり結論
    • 乳幼児が主体となって遊ぶにはおすすめできない
    • 乳幼児のデータを取得して大人が有効活用できないか
    • 児童期以降には発達の援助もできるかも
    • 色つかいや音には要注意
  • 乳児/幼児/児童の定義は
    • 乳児:0-1才
    • 幼児:1-6才
    • 児童:6-(13)18才
なぜ?
  • 感覚器官は胎児の間でもできる。ただし完全ではない
  • 乳幼児の頃は、感覚器官をしっかり発達させてあげましょう!
  • 五感の中で視覚は最もゆっくりと発達する
    • 児童期でも大人よりは視野がせまい
    • 完全に視覚が完成するのは5才頃
    • 例えば赤ちゃんが親の口元を注目するが、言語だけでなく視覚的な刺激を求めていると言われている
すべてにおいて練習が必要
  • いきなりできるようなことはない
  • 練習は自ら始める⇒無意識的に学習する
低年齢ほど本物が大切

子供の立場にたって想像してみよう

  • 全く新しい世界で、優しい人がいろいろと助けてくれる⇒色々と知りたいと思いませんか?
  • どんなデフォルメされた可愛いものよりも本物を与えられる方が、全ての感覚器官を通して知る事ができるので、効率よく早くこの世界について知る事ができる
  • 効率よくこの世界を知る事が自信になる
乳幼児の音声・動きを取得して利用すると楽しいかも

その時期にしか出てこない音声・動きをキネクトで取得してプログラムによってデータ化・可視化できないか

    • 叫喚音、クーイング、喃語、マザリーズ
  • マザリーズ = 声の音(波長)に合わせてお母さんが反応する。これは世界共通で見られる
  • 運動の発達の過程
    • 細かい動き。首、手足など
子どもには無理なの?
  • 低年齢は具体物が効率的
視覚、運動能力、仲間
  • これらを使って遊ぶ機会に失われつつある現代において、Kinectは児童の感覚の発達に貢献するのでは?
でも注意…
  • 色使い。低年齢ほど原色、少ない色。多くの色があると集中できない
  • キャラクター
  • デフォルメが少ないこと
  • 速度。幼児は大人の8倍時間がかかると言われている
音声
  • 聴覚のピークは?⇒耳の発達は10才で止まる
  • 児童には大人には聞こえない音まで聞こえている可能性がある
  • 耳は蝸牛の毛で音を感じる。同じ音ばかりだと折れる(戻る可能性もある)。難聴の原因になる
Q&Aなど
  • 本物の定義とは?境界線は?
    • 例えばリンゴに例えると、絵本で見せるリンゴよりも、本物のリンゴに触れさせてほしい。さらに、切り身のリンゴよりも丸いそのままのリンゴがよい
    • 現実的にはすべて本物を与えてたいが、本物を知らなくても生きていけるのも現実
    • 身近な具体物を触らせれば、それを学習/応用して、抽象物をスムーズに理解できるようになる
  • ゲームとヘルスケア。リハビリにKinectを使おうという取り込みは?
  • 叫喚音やクーイングが母親は分かるようになるという話があったが、それは母親が経験的に分かるようになるのか、母と子のDNAで自然とわかるのか?
    • 私見だが経験的に理解していると思う。
    • 子どもの声の音域と母親の音域は近い。父親とは離れている。そういうのも助けになっていると思う

Kinectでの商用利用について

感想

とにかく初心者状態だったので、短時間で様々なデモやアプリを見せてもらえてすごく勉強になった。
ただし、Kinectは悪く言えばただのセンサー。取得したデータをどう活用するかはKinect以外の周辺技術にかかってくるので、ただKinectを知っていれば面白いものができるよというのは違うんだろうな、というのは改めて思いました。
ゆかむさんのお話は個人的にも興味があったテーマだったので、子供の発育観点で知見が広がりとてもためになったし、その分野の可能性の大きさを感じました。こういう予想外のお話が聞けるのも、勉強会のよいところですね。
Processingはかんたんそうだしやってみようかな。OpenGLやOpenCVも連携できそうだし、もう少し調べてみようと思います。