カレンダー

02月 │2007年03月│ 04月
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

 プロフィール

はしもと

Author:はしもと
ユーザインタフェース系のお仕事をしてます.関心領域は画像処理,拡張現実感,ヒューマンコンピュータインタラクション,エンタテインメントコンピューティングあたり.モノ書きもやってます.

 工学ナビ

工学ナビは工学系の技術のチュートリアルを扱うサイトです.

 作ったもの

 Twitter

 

 天気予報


 ブログ内検索

 カテゴリー

最新コメント

 RSSフィード

 リンク

このブログをリンクに追加する




工学ナビの中の人 はしもとのブログです. いろんなコトを研究的,工学的な視点で見つめます.
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

そろそろドクター病の季節ですね
「ドクター病」とは大学院・博士後期課程に進学した学生がかかる精神的疾患である.
ドクター病にかかると以下の症状があらわれる.

【症状】
・就職できるのか不安になる
・学位が取れるのか不安になる
・学生でいることに不安を覚える
・大学に長時間滞在,もしくは居住してしまう

【主な原因】
・修士卒のほうが就職先が多いことに気づく
・ポスドクの置かれている現状を知ってしまう
・ジャーナルに投稿した論文がリジェクトされる
・自分のやってた研究が既に他人にやられたことを知る
・卒業して社会人になって輝いている同期の友人・後輩に出会ってしまう
・家と大学を往復する日々に疑問を感じる

 主に進学したての4月に発症することが多い.ハイスペックなPCなど充実した研究環境を投与することにより,一定の回復の見込みがあるが,在学中の根治は難しい.症状が悪化した場合,中途退学や死亡に至るケースも報告されている.

【予防策】
・博士後期課程に進学しない
・明確な目標を持って進学する

【もしドクター病にかかったら?】
 一人で悩まずに指導教官,先輩,後輩,恋人,友人,親,犬などに相談してください.それでもダメなときは大学と家以外の場所に行って普段とは違う刺激を取り入れてください.ただし,登校を長期間おこたると,「ニート」「ひきこもり」といった別の疾患を引き起こす恐れががあるので注意してください.

【関連】
 ・発言小町で見つけた研究者ネタ
 ・博士が100人いる村
 ・博士の生き方
 ・博士号取得への道


スポンサーサイト
インタラクション2007行ってきました
非常に充実した2日間でした! 簡単に感想などを書きたいと思います.

itr07_kanban.jpg

インタラクション2007 公式サイト:http://www.interaction-ipsj.org/


■とにかく面白い

 発表形態は,壇上に上がって巨大スクリーンで発表するオーラル発表,2m四方程度のスペースで実機によるデモを行うインタラクティブ発表,そしてポスター発表の3タイプで行われました.

 国内最大のヒューマン・インターフェース系シンポジウムというだけあって,さすがに内容が濃かったです.特にオーラル発表のレベルが高い.石黒浩教授のコピーロボット「ジェミノイド」による実験結果の報告,没入型三次元風覚ディスプレイと風覚カメラの研究,触覚提示デバイスに関する研究などどれも興味深いものばかりでした.発表中には実験風景の面白さから会場から笑いが起こるシーンもたびたびありました.

セッション2「五感メディア」と招待講演についてのレポートが以下のサイトにありますので興味のある人は読んでみては.

インタラクション2007開催中 ~「ジェミノイド」関連研究がベストペーパーに


■会場の雰囲気

itr07_kaijyou.jpg

 スポンサーにGoogleとMicrosoft Researchという大手がついているせいか,会場には無線LAN,コーヒー,ドーナッツが完備され,あげくの果てには懇親会は無料という贅沢振りでした.インタラクティブ発表の会場では皆さんコーヒー片手に話をするという感じで,終始楽しい雰囲気に包まれていました.

 インタラクティブ発表では,写真を撮ってそこにコメントをペンで記入できるツールが使われていました.これは撮影された写真を共有し,複数のユーザがそれにコメントを書き込めるというものです.運営メンバーが小型PC(VAIO type U)で撮影&コメント記入を行い,来場者は会場に設置されたPCで閲覧&コメント記入ができるようになっていました.


↓スポンサー様からゲットしたブツ(Windows liveテープ糊,光る!Googleバッヂ,Googleペン)
itr07_microsoft_nori.jpg itr07_google_b.jpg itr07_google_pen.jpg

■面白かったモノ

全部(笑) 説明しきれないので割愛します.
ちなみに今回の予稿集に掲載された論文は後日公開されるらしいですよ.


■シンポジウムに参加して感じたこと

 今回の学会で感じたことが2つあります.

①インタラクティブ技術に関する研究は,人間そのものの研究になりうる.

 例えば触覚デバイスを作ることは,人間がどうやって触覚を知覚しているのかを知る必要があるし,逆に実験をしているうちに人間側のしくみについて全く新しい知見が得られる可能性もある.ロボットの「より人間らしく」を追究していくことは,結局「人間とは何か」に行き着くことになる.

 単に人間のために便利なものを作るという目的だけでは,良い研究はできない気がします.


②「入力」と「出力」は常に対である.

 何かをセンシング(=入力を取ること)することばかり考えてはいけない.
 何かの感覚提示(=出力すること)することばかり考えてはいけない.

 例えば,風覚を提示するディスプレイを研究していた小坂氏らは,逆の操作である,風を記録する「風覚カメラ」を作ってしまった.また,VirtualReality分野において,香りを提示するという試みは以前から行われてきたが,その逆に目を付けて,筧氏らは香りを入力とするインタラクティブ・システムを考案した.

 インタラクションというのは常にインプットとアウトプットの関係にあるわけで,ときどき発想を転換させることが必要なのかもしれません.


…というわけでした!
ちなみに夜は王様の箱庭のmasayashiさんと飲みに行きました.
どうもありがとうございました.


インタラクション2007参加します
参加と言っても完全に見る側ですけどね.
宿と飛行機確保しましたので行くのは確定です.(3月15~16日)

聴講以外は多分暇になると思うので現地で相手してくれる人募集します.
昼ごはんや夜ごはんが一人で淋しいです(笑)
お酒が飲める人はどこかに飲みに行きましょう.

アポはコメント欄かメールkougaku_navi(a)kou.bbiq.jpまで.


ソースリーディングのススメ 人のソースを読む6つのコツ

プログラミングの問題を解決する最短の近道は,人に聞くことではない。
他人が書いた"動く"ソースを読むことだ。

 「○○を作るにはどうしたらいいの?」 「このソフトがやっているこの処理のコードが知りたい」と困ったときは,似たようなことをやっているプログラムのソースを本やネットから探して,それを読むのが一番です.
 今日は自分が求めているコードとそうでないコードが混ざりあっているソースを解読して,目的のコードを探し当てるコツを挙げてみたいと思います.(内容的にはC/C++/VC++寄り)


[1] とりあえず自分の環境でコンパイルして動かしてみる
 拾ってきたソースが自分の開発環境でコンパイルできないと,そもそもそれが自分の環境で動くものなのか確認できません.また,後述する「いじって動かして」をやるためにも,最低限プログラムが動く状態にする必要があります.


[2] プログラマが書いたコメントを読む
 大抵のことはコメントを読めばわかります.ヘッダファイルの上部には注意書きが書かれていることがよくあるので要チェックです.


[3] あらゆる名前(変数名,関数名,ソース名,ヘッダ名)から内容を推理する
 コメントがない場合には,変数名や関数名が貴重な手がかりになります.多くの場合,英語で書かれているので知らない英単語だったら辞書で調べましょう.変数の役割を適当に予想して自分でコメントを書いておくと良いです.

↓こんな風に

int img_width; // 画像の幅?

また,仮にマジックナンバーがあってもひるまずにその値の意味を推理してみましょう.

<例>
width = 1024; // たぶん画面解像度?
height = 768; // たぶん画面解像度?

 意味のある名前の関数が使われている箇所,意味のある名前の変数に値が代入されている箇所などが重要なポイントになってきます.


[4] printf()などの表示関数を使ってコードの動作を追っかける
 デバッグでも使うオーソドックスな手法です.関数の役割がわからないとき,関数がどのタイミングで呼ばれるのかを知りたいときは,積極的に「状態を表示させる」のが一番です.printf(),MessageBox(),TRACE(),OutputDebugString()などの表示関数をソースに書き加えてコンパイルし,プログラムの動作を追っかけてみましょう.

 例えば,ある関数がいつ,何回呼ばれるのかを確認するには,その関数の中で

  printf("関数hogeが呼ばれました");

とトラップを仕掛けて,様子を見ると良いです.


[5] 「コメントアウト→コンパイル→実行」を繰り返して自分が必要としているコードを探り当てる
 いわゆる消去法です.「これは多分関係ない」と思う箇所をちょっとだけコメントアウトしてコンパイルします.コンパイルが通ったら実行して,コメントアウトの前後でどういう部分に変化が出たかを確認します.コメントアウトしたことによってある機能が働かなくなったら,コメントアウトした行が関連していることになります.一気にやらずにちょっとずつやるのがコツです.

 メモリの開放処理などをうっかりコメントアウトしてしまうと,プログラムが落ちたり,OSが落ちることもあるので慎重にやりましょう.

 変数の宣言部をコメントアウトしたときに出るコンパイルエラーは,その変数がどこで使われているか,どこで初期化されているかを示すヒントになります.また,#include の行をコメントアウトしたときに出るコンパイルエラーは,どの関数がどのヘッダで宣言されているかを知る手がかりとなります.


[6] ゼロから作り直してみる
 元のソースをいじり倒しても解読がうまくいかないときは,新しくまっさらなソースファイルを用意して,そこに「少しずつ引越し」していく手があります.

 "引越し"は,そのプログラムのエントリポイント(main関数やWinMain関数)に対して行います.すなわち,元ソースのmain関数に書かれている内容を,新ソースのmain関数に少しずつコピーしていきます(ヘッダファイルなどは後から順次追加).そして「ちょっと移してはコンパイル」を繰り返します.その過程で出現するエラーメッセージに注目します.

以下はVisualC++6.0の例です.

「定義されていない識別子です」
 =変数・関数が宣言されてない
 →元ソース上のどこで宣言されているかを探す

「外部シンボル *** は未解決です」
 →関数の本体が書かれていない(元ソース上のどこかに関数の本体がある)
 →ライブラリがリンクされてない(プロジェクトファイルをチェックしよう)

 こうしてわざとエラーメッセージを出させることで,プログラム中の変数や関数の因果関係,必要なヘッダ・ライブラリがわかります.[5]の消去法に似てますが,こちらは関係ないコードがはっきりわかるのでオススメです.


とまぁ,こんな感じです.
研究でプログラムを書いてる素人なので,ツッコミなどお待ちしてます.


画像処理ネタ新作 Sugarless Cam
変なソフト作って公開するのもこれで4回目ですが,前回からかなりブランクがあいて,実に2年ぶりです.詳しくは特設ページをご覧ください.

工学ナビ - Sugarless Cam
http://www1.bbiq.jp/kougaku/Sugarless_Cam.html

ソフト名見ただけでニヤニヤできる人は仲間ですな.今回はcapsuleの最新アルバム「Sugarless GiRL」のPVをUSBカメラの映像で再現する,という超マイナーなネタです.


capsule - Sugarless GiRL

スペクトルのバー・グラフが顔に重畳されて動いてる様を見てて琴線に触れるものがあったので

「じゃあ 作るか」

てな感じのいつものノリで作りました.

最初は「そもそもあの棒グラフの名前ってなんだ?」とか,「音声入力をどこから得たらええの?」とか,「FFTってどうやるんじゃい!」とかなり苦労しましたよ.勉強になりました.


それにしても,Sugarless GiRLいいですねぇ.

近所のツタヤに行って売ってなかったのでわざわざヴィレッジ・ヴァンガードに買いに行きました.あそこまでcapsuleを崇拝してる店も他にないなぁ.おかげで特典付で買えました.ありがたやありがたや.

capsuleって新作出すたびに毎回違うちょっと路線で攻めてきますね.誰かも言ってたけど,その時点で最新のものがベストです.「なんか前回とは違うぞ,でもなんかいいなコレ」という感じで,どこかに違和感を感じつつも聞いてるとはまってしまう.そんなcapsuleマジック.




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。