5/28-6/3
5/28
EOPL Section 4.2.1 ~ Section 4.2.3
5/29
芸術の課題作品の展示会があった。自分が作ったのは「遠くが見えないカメラ」で、文字通り遠くにモザイクがかかるカメラ(というよりフィルタ)だ。Androidアプリとして実装されており、深度センサなどは使わずにカメラとジャイロセンサーのみを用いて遠近の測定を行っている。
仕組みは割と単純で、遠くのものほどジャイロセンサーの傾きに対してカメラで撮った物体の移動量が大きいことを利用している1。フレーム間の移動量(オプティカルフローというらしい)とジャイロセンサーの傾きの比を取ってあるしきい値以上になったらそのブロックにモザイクをかける。これで上手くいくと思ったが、近くのものに対してもモザイクがかかってしまう。移動量/傾き
という比をとっている以上、細い傾きに対して敏感になっているっぽい。ちゃんとやるんだったら入力の特性を測るべきなんだろうけど気力と時間がなかったのでそのまま出した。
当日はそれっぽく(?)動いていた2ようで反応も悪くなかった。嬉しかったのは、これどうやっているの?と聞いてくれた人がそこそこいた事。こういう技術的なことを聞かれて説明するのは楽しい。
5/30
試験勉強してた
5/31
試験勉強と先輩のおごりで馬肉食べてた
6/1
LIFTの論文を読んでた。LIFTとはGPUをターゲットとした関数型3なIRらしい。MapやReduceを始めとした集合操作関数を組み合わせて処理を書いていくそう。slideを使えば行列のステンシル計算もできる。これだけ見ると表現力は結構ありそうなんだけどどうなんだろうか。コンパイルの処理はぱっと見ゴリゴリに最適化をしているわけではなさそうだがパフォーマンスは手で書いた場合とあまり変わらなさそう。もしかしたらこれ関係で卒論はやるかも。
6/2
休んでた(何もしてない)