22:20:24)7月29日ゼミ天気家リアルタイムプロジェクションについての調査報告を行った。厳しそうということで、とりあえずプロジェクター固定式で行く方向に。輪郭抽出については、アンドロイドマーケットにあったopencvのsobelプログラムが使えそうなので、ハフ変換と組み合わせて試してみる。プロジェクターを借りなおした。現在の三脚では設置できないが、プロジェクター裏にネジ穴があるので、三脚とプロジェクターの間に木の板を噛ませて設置できないか試してみようと思う。休みの間opencvのsobelのサンプルを試したが動かなかった。http://opencv.jp/sample/gradient_edge_corner.htmlエラーも吐かないのでコンパイルは通っているようだが、実行しても何も起こらなかった。CV_LOAD_IMAGE_GRAYSCALE)の部分が怪しい。新たなサンプルプログラムを考え、プログラムにとりかかった。3日ほどダウンし、研究はあまり進められなかった。風邪は大分治まったため、天気家の新しいプログラムを再び書き始めた。今の所半分ほど書けた。何とか明日までに完成させたい。20:33:29)7月25日ゼミ天気家オープンフレームワークスを用いたリアルタイムハフ変換を見せた。精度が低く、必要な点が欠けたり不必要な点が生成されたりしてしまった。数点検出して計算から欠けた頂点位置を埋める方法がとれないか検討することに。天気家ハフ変換を行う前の2値化アルゴリズムに、SobelとLaplacianを試してみたがうまくいかず。他に、3次元の物体認識について調べた。学習データに良い例となる画像7000枚、悪い例となる画像3000枚ほどが必要ということだった。夏休みを使えば間に合う量だとは思うが、天気家に使うにはあまり良い方法とは思えないので保留。Objectsの論文を読んだ。2ページだったので全訳したが、ちょっと難しくてまだ理解しきれていない。minimization」。minimizationが良く分からない。最小二乗法なら聞いたことがあるが、minimizationが付くと最小二乗最小化法?だろうか。最小二乗法そのもののことだろか。リンクに載っているサイトも有用そうなので調べてみる。科学祭プロジェクトと、マーカーレス拡張現実感プロジェクトの発表を見た。ARチームのうちわデモがうまくいっていた。天気家カメラから頂点が取得できたとして、どの点でどうマッピングすればいいのかという問題について考えた。取得した画面上を左上〜右下へと走査して、取得した頂点に順番に1、2、3、...と番号をうつとする。すると、屋根の頂点は番号1・2・4・5、側面は4・5・7・8、前面は2・5・8・6、という組み合わせになる。いうことが分かったが、カメラ位置に依存しあまり確実ではないので有用性は低い。SURFによる特徴点検出で屋根、側面、前面の検出が出来るかと考えたが、模型の形的に屋根と側面の判別が出来そうになく断念。他に、3D形状のデータをあらかじめパターンファイル化するなどして検出する方法を調べた。天気家PSeyeを使って模型の家を撮影するのは暗くて難しく、Pseyeの設定をいじって明るくすると、ノイズが混じってしまう。そのままハフ変換をかけると画面上あちこちに線が検出されてしまうため、通常のUSBカメラで撮影することにした。通常のUSBカメラでは、輪郭を黒でなぞった家はハフ変換で輪郭抽出できるが、何も加工していない家だと光源によって輪郭抽出できたりできなかったりする。輪郭つきの家でマッピングが出来るようにしたい。その後、作業中にUSBカメラが断線した。断線したUSBカメラを直した。TAでゲイナーを教えるという人に色々と質問された。その人はmacを使っていて、processingの新しいバージョンでフォルダ構造が少し違ったので戸惑った。天気家openframeworksのハフ変換のソースに苦戦した。opencvの色んなクラスライブラリ?を参照するので難しい。あとでゆっくり読みます。23:49:483dのモデルは決まっているので常に映る面から頂点を決めてみては?その際頂点の順番を考えてみて。18:06:29ありがとうございます。リンク先に例のやつもありました。家の模型を写真で撮り、バイナリ化した画像でのハフ変換による直線検出を見せた。輪郭を綺麗に抽出した画像ならば直線抽出は行えることがわかった。今後は、辺から頂点情報の取得が課題となる。openframeworksでopencvのアドオンを使う方法について質問した。ゼミ後、addonexampleからコピーしてきたプロジェクトファイルを用いることでopencvが使えた。休みの間うまく画像から頂点を取得する方法は無いかと、opencv(openframeworksでは無い方)のc用サンプルプログラムをいくつかビルドして確認した。数が多かったり、エラーやファイルサイズの大きさに苦戦した。7月12日イジローの撮影を手伝った。opencvのサンプルプログラムを全てビルドした。vc++のパスについても、以前より大分理解できた気がする。以前先生に教わったSURFを用いた特徴点検出も実行することが出来た。動作が重たしばらくするとアドレス違反?のようなエラーが出る。openframeworksのフォーラムを検索したところ、openframeworks用のハフ変換のcppファイルとヘッダファイルを見つけた。7月13日openframeworksのハフ変換のプログラムを組んだ。家の模型の各辺にマジックで色を付け、pseyeで直線検出を行った。映像がグレースケールなので、辺にマジックで色を塗っただけでは取得し辛いが、家の輪郭や屋根の四角形を抽出できることが確認できた。hullが使えないかと思った。最外の点を繋ぐ方法なので、模型の単色塗りならこれで出来るかもしれない。...メモリーリークっぽい。宣言した配列を使わなくなったらちゃんと開放してあげてますか?C/C++はJavaなどとちがってメモリ割り当てをプログラマ側で面倒みてあげる必要があります。配列はその一番顕著な例。私もよくやらかします。23:42:03)6月28〜30日イジロー展示ミュージアムにてイジローを展示した。7月1日ゼミ論文調査Twinkleの論文を読み、仕組みを解説した。メインとなるシステムはハフ変換による形状検出だった。天気家の模型は直線を多く含むので、カメラで読み取れないか検討する。Openframeworksを使ってみることに。学生や事務員などが来たが、「キモ可愛い」という印象は共通していた模様。大概の来場者が、顔が映った瞬間に「クスッ」とするか「!?」としていたのが面白かった。StudioにOpenframeworksを追加した。マニュアルサイトを読みながらセットアップし、exampleファイルを一通り行った。ハフ変換について調べ、cppファイルをいくつか拾ってきたが使い方が分からず。Studioをいじった。Studioに入れてみようと思った。最初はエラーが頻出してなかなかうまくいかなかったが、OpenCVのバージョンを変えたりして一応使えるようになった。OpenCVを使ったハフ変換のプログラムで、画像からの直線検出が出来た。面白そうなので、Openframeworksの入門書を買った。本屋で、大人の科学withKIDSというのがあり、音で波紋を表示するというのがあった。ダイカンやりょうちゃんのような研究に使えないだろうか。http://otonanokagaku.net/magazine/kids1/index.htmlはい、確認。撮影を手伝ってもらうかもしれません。vertex()とfill()を使った塗りつぶしデモ。可もなく不可もない感じで終わった。赤外線で特徴点を示す方法を考えることに。マーカーの位置を読み取ってから、画面を塗りつぶすことでマーカーに対する画像のみを表示するという方法のARを見せた。引き続き制作を進め、プロジェクションマッピングについて調べる。Processing以外の環境も触ってみては、ということだった。ゼミ後、ブレッドボードに赤外線LEDを5個光らせ、内側をスプレーで黒く塗った家の模型を被せ、様子を赤外線カメラで確認した。模型全体に光がうっすら透けるため、うまくいかなかった。休みの間VC++をインストールした。worldを表示させた。拡張現実飼育箱で使っていた赤外線照明の上に家の模型を載せて光らせると赤外線カメラで真っ白に映ったので、うまく頂点のみを光らせられないかと考えた。プロジェクションマッピングについて色々探った。以前だべり場に書いたものは見つけられない。頂点となる10点をポンチで落としたものを作った。光にかざすと遮光性が得られていた。ブレッドボード上に6つ設置した赤外線LEDではうまく頂点を光らせることは出来なかった。(角度を変えて赤外線光を部分的に覗かせることは出来た)VC++ライブラリで入門書を2冊借りた。6月29日ノートパソコン電源を本体に接続すると、本体のランプが見たことも無い色で点滅した。その後、電源が入らなくて焦ったが、本体のバッテリーを抜いて電源を入れたところ無事起動した。赤外線照明に、頂点を落とした家の模型を載せた。赤外線カメラで確認したところ、まだ頂点を光らせるには至らなかった。模型家の内側にLEDを仕込むか、プログラム側で何とかしたほうが良いかもしれない。ミュージアム手伝い撮影が難航した。22:56:46)6月17日ゼミAR団扇2パターン用意したものをプロジェクトメンバーに渡した。発表はわりと好感触だった。僕だけ科学祭Tシャツだった。ゼミ終了後、マジシャンチームにARToolKit?とウェブカメラの使い方を教えた。推奨機でのprocessing.video.*の利用がうまくいかず、最終的にJMyronを通してARToolKit?を動かすことに。JMyron版のARToolKit?を作り、ソースの説明を行った。手動で特徴点を入力し投影するプログラム最初、入力した点同士を線で結び、囲まれた範囲を一色にするというプログラムを考えていた。ペイントソフトでいうところのバケツツール・塗りつぶし機能を再現しようと、範囲内でクリックしたピクセルから範囲を囲んでいる線までを近傍探索させようと考えている途中で詰まる。単純にvertex()とfill()で出来るんじゃないかと気付き、1から書き直した。その後、vertex()にmouseX・Yの値を入れる方法で特徴点手動入力のプログラムが完成。遮光ボックスの底に、サイズを合わせた紙を敷いた。これで、投影範囲が少し広がった。ボックスの裏側に穴を開ければ、後ろから投影できるかもしれないと考えた。手動で特徴点を入力し投影するプログラム以前作成した雪を降らせるプログラムに手動特徴点入力を実装。ウェブカメラを用いて、窓型ARマーカーを読み取らせようという方法を検討。家の模型に窓型マーカーを書き、プロジェクターにウェブカメラを取り付けて動かした。ウェブカメラが画像取得→プロジェクターが投影→投影された映像をカメラが取得→その様子をプロジェクターが投影→カメラが...と、投影図がどんどん重なっていくため断念。カメラを用いる場合、模型に赤外線LEDを仕込み、拡張現実ベイブレードのように光を位置検出すれば出来るかもしれない。特徴点手動入力のプログラムだけでは発表が物足りないと思い、何かできないかとサンプルを漁った。金曜日には何か見せたい。16:58:40これだ。影(黒)を認識しているんだとおもう。17:20:41ああ、論文読んだらもっとシンプルだった。17:23:49プロジェクションマッピングまとめ。17:26:34ありがとうございます。画面の奥へ玉が落ちていくイメージで作った作品を発表した。今回は見せられるものが用意できなかった。プロジェクト団扇の柄をマーカーとしたARのプログラムを任された。プロジェクトメンバーからロゴ関係の画像を貰った。休みの間AR団扇ARについて色々と調べなおす。基本的なマーカーの仕様等は覚えていたので、nyARtoolkitのプログラムをいじって、とりあえず【Hiro】のマーカーの位置に科学祭のマークが出るものを作った。その後、黒枠つきの(一般的なARマーカーの四角形)赤テント画像をマーカーとして、写すと3Dで科学祭のマークが浮かび上がり、ゆっくり回転するというものが出来た。3D対応にしたので、マーカーの傾きに応じて科学祭のマークも傾かせることができる。メモリ不足で怒られてしまう。詰まったのが、黒枠なしのマーカーを使う方法。ARtoolkitならば黒枠内に任意のパターンを使用するのは簡単だが、任意の画像をマーカーにするとなると、特徴点を検出する方法をとらなければならない。物体を検出するblobdetectionというprocessingのライブラリがあったので、こちらも勉強しつつ進めていく。学校のライブラリでARtoolkit関連の本を漁る。基本的な使用方法などが書いてある本を一冊借りたが、黒枠なしのマーカーをしようするのには使えそうにない。天気家にも使える技術だと思われるので、やはり特徴点を得られるようにした方が良いかもしれない。6月15日AR団扇プログラムを改良。金曜日は、最悪、通常の黒枠つき赤テントマーカーを貼り付けて見せる。ARToolkitは黒枠がいるのかー。ゼミで完成品を披露することに。雪の積もるプログラムの3D版と、窓を開け閉めする人のアニメーションを見せた。天気を反映する以外にも何かに使えそうだという意見が得られた。自動マッピングの検討と、さらに天気のプログラムの増加を目指す。拡張現実ピタゴラのアイディアを考え、プログラムの作成を始めた。投影とマッピングについて調べた。拡張現実ピタゴラ装置プログラムの改良を進める。台の制作について少し詰まったので、アイディアを少し変更した。拡張現実ピタゴラ装置プログラムを完成させた。金曜までに、レール部分の制作と、何か自分のデモを用意したいと思う。20:26:13)5月27日ゼミgainermini講習・サーボ操作みんな特に問題もなく完了?拡張現実ピタゴラ装置の制作が課せられる。・プロトタイプ:天気反映模型プロジェクタと紙で作った家の模型でパーティクルル風の雪・雨・人間が歩く、といったデモを見せた。今期で一番反応が良かった気がする。これをメインに考えていくことに。天気以外にも投影で何か出来るかもしれない?・プロトタイプ:バルーンキャンドル(振動センサ版)圧電スピーカにLEDを連動させ、叩いたら光る風船キャンドルの披露。反応はみんなちょっとピンと来なかった模様。「叩いたら点く」ではなく「常に光っていて叩いたら変化する」光の方が良いのでは、という意見が得られた。天気反映模型用のプログラムの勉強した。draw()文内でのアニメーションについて調べ、2Dで雪の積もるプログラムを3Dに出来ないか検討。金曜までに何か見せられるものを完成させたい。行ったところ、「紙で家の模型を作るためのテンプレート」が7割引で売られていたので購入。使用したところ、前回のデモで使った家の幅を倍くらいにしたものが出来た。プロジェクタでの家に対する投影面積が広がったので、家の側面を使ってドアを描画するなどの表現が出来るかもしれない。引き続きプログラムについても勉強した。拡張表現ピタゴラ装置ダンプラの切り出し・テープによる側面の固定を行った。金曜までに、天気反映模型をメインに何かデモを見せられるようにしたい。投影内容は一つにこるより、雨、風、晴れなどをたくさんつくってください。人数が多めにも関わらず特に問題なくサクッと終えられた感じがする。予想通りすぎたということで、どんずべりだった。アイディアは破棄することに。小型の無線カメラで破損を恐れずに見せられればもしかしたら...・プロトタイプ:風船キャンドルデモのために暗いところに連れ込むというあの人のパターンだったが、こちらは好感触だった。ウスマン・ハックについて調べることに。・アイディア:天気を反映する家の模型アイディアスケッチ段階では悪くない反応。雨のときに実際に水を出すか、投影で表現するかを検討するプロトタイプを制作・パーティク・ルルについて調べることに。プロジェクターを借りた。休みの間ウスマンハック、パーティク・ルルについて調べた。ウスマンハックの作品は「内部から光る風船」としては同じだと感じた。良いかどうかは別として、点灯パターン・インタラクションによって差別化を図ることは出来そうである。風船キャンドルの改良に、ヘリウムガスを探す。パーティーグッズ用の声を変えるものは見つけたが、「風船には使えません」の表記。浮かばせるのは後にすることに。ケント紙で簡単な家の模型を作り、プロジェクターで投影しながらペイントで屋根に色を塗るようにマッピングした。模型の屋根の色をパッパッと変えて遊ぶことができたが、手持ちの三脚では模型に投影するための距離がぎりぎりであることが分かった。投影に使えそうな雨や雷のプログラムを拾ってきた。これで、十分な投影距離が確保できた。アトリエにてプロトタイプ発表の予行演習を行った。黒いダンプラで模型をぐるっと囲んだ「投影ボックス」も作った。投影ボックスに模型を配置し、プロジェクターで雨のプログラムを降らせたところ、アトリエにいた人や他の研究生から面白そうだという反応が得られた。金曜日までにさらに発表できるものを膨らませられればと思う。風船キャンドルLEDと圧電スピーカー、gainerminiを使って、「叩いたら光る」風船キャンドルを作った。こちらももう少し改良できるかもしれない。銀行で研究生の学費を振り込んだ。Processingで天気反映模型用のプログラムをいじった。黒薔薇の会を更新した。遅れてすみませんでした。19:22:07)5月13日ゼミ2フォト2パターン見せた。インパクトに欠けていたかもしれない。新しいアイディアスケッチ数枚とプロトタイプ発表。新しいアイディアで高評価だったのは風船キャンドルとどこでも窓。動くキャンドルのプロトタイプは、ぜんまいの音が気になる、キャンドルが大きい気がするという意見が得られた。似た作品を調べ検討することに。小型ジェットコースターのデモは、時間が無かったため次週に。休みの間プロトタイプ風船を購入し、LEDを入れて試した。膨らませて、風船の膜が薄くなって初めて光が確認が出来る感じ。同じようなことをしている照明があったので、インタラクションで差別化する必要があると思われる。就活ハローワークに行ってみようと思ったが、どしゃぶりで断念。近いうちにいこうと思う。歩くキャンドルの例として、一番動きのイメージに近いと思ったのが編みロボだった。サーボモーターで歩き、動画で見る限りあんまり音もしないようだった。参考にして、ピタゴラの出力ユニットを4つ使ってサーボが連動するものを作った。歩かせるのは難しかったので、規則的に開閉する命令で動かしていたが、なぜか途中でショート?して動かなくなる(ポートが使用できませんの警告)ため断念。ジェットコースターのデモを見直す。カメラがまっすぐ安定するようにジョイントを作った。5月18日ゲイナーミニのファームウェアをひたすらアップデート。サーボモータは電流をすごくつかいます。4つも使うとUSBからの電流では足りません。電源だけ別にとりましょう。丸井今井展示タナカさんと一緒に展示した。飼育箱のついでにダーティプロトタイプであるデジタルフォトフレーム人形も置いた。飼育箱は机の上では画面が見えず、机から降ろすと目立たなくてあまり見てもらえなかった。しても「中で動いてるんじゃないですか」の声が。人形は老若男女に受けた印象が得られた。自分の好きな顔に変えていく人が多かった。5月6日ゼミ2フォト去年の「蓋を潰すやつ」を見せた。反応が薄かった気がする。卒研生にはあまり受けなかったアイディアがプロジェクトメンバーには好評だったり、評価が真逆だったりした。ジェネレーションギャップだろうか。補色で光るライトは実装が甘く、微妙な感じになってしまった。ジェットコースター体験装置は、方向性を変えて検討することに。先週に引き続き、ぜんまいで動くおもちゃ探し。開封済みの食玩等が大量に置いてある七飯のゲーム倉庫へ。ぜんまいで動くものは数点見つけられ、大きさ・素材的に扱いやすそうなゾイドのプラモデルを勝った。自室にて無線カメラを試す。室内ならば問題なく動作することを確認した。次回のゼミで何かデモを見せたいが、カメラ側のコンセントがネック。2フォトのアイディアを考えた。5月10日プロトタイプ制作ゾイドを組む。ぜんまいで4足歩行するので、これにカバーを作って箱から足が生えてる感じにした。100均のキャンドルライトを乗せて、「動くキャンドル」のプロトタイプとする。2フォト「押す」感じを重視して2パターン作ってみた。5月11日アイディアスケッチを書いた。22:32:06)4月28日ゼミアイディア発表シンプルさを重視したものを披露した。プロトタイプを3つ作ることに。休みの間プロトタイプ制作USBメモリ人形のモックアップトイザらスにて、3600円の小型デジタルフォトフレームが300円で在庫処分になっていた。人形の頭部分に使えると思ったので予備も含め3つ購入。液晶部分が少し小さいかもしれないが、中の画像を読み込んで映し出す、という機能が再現できる。体部分はフェルトと綿で制作した。miniとウェブカメラによる有線式のライトを制作中。ブレッドボードにフルカラーLEDを4つ積み、裏側にカメラを装着。ダンプラで外装を箱型にした。プログラムは完成していないが、中の光が弱く少し地味かもしれない。動くキャンドルの検討ぜんまいで足がガシガシ動くような玩具を探して、トイザらスや100均、リサイクルショップ等を見て周った。現代では人気が無いのか、どの店でも見つからなかった。カメラを並べ、片方をずらして画像をアナログに合成させようとした。100均でフレキシブルな棒があったので、カメラを先端に装着して調整したが保持力が甘く上手くいかなかった。プログラム側で何とか対応点4つを取れないかと、OpenCVを入れた。今まで上手く使えなかったが、ちゃんと起動し、blobの使い方を大方理解した。物体の中心もとれるようなので、赤外線照明に4枚シールを貼り検出させようとしている。Opencvを使うので、ソース上ではビデオ関係の部分を全て変更する必要が出てきた。出来そうだが、明日の朝までに間に合うか少し厳しい。今日はタナカさんが来たため、それぞれの携帯であさちゃんとガッキーを呼び、スピーカーを使ってみんなで話した。生活は変わったようだが、みんな元気そうでよかった。