hirax.net::Keywords::「オプティカルフロー」のブログ



2008-08-04[n年前へ]

「1秒間に2回の運動は”エンディング”近く」の法則 

 どんな業界でも「その業界のプロには”見れば”わかる」ということがある。

 AV業界の監督さんが「HカップかJカップかは"一目見れば"わかる」と言っていた。計測器も真っ青の「プロの目」だなぁ、と感心させられた。そして、AV業界と言えば、編集者が書いていたこんな言葉にも驚かされた。

 ちなみに、一秒間に2回の運動は結構激しいですから、そういう動きを横目で見るだけで「あぁ、エンディングが近いんだ」とわかります。
 ビデオ画像を一目見ただけで、そのビデオのコンテキスト(文脈)解析をして、「今目に入った場面が」全体のどこに位置しているかを一目瞭然に判断しているわけである。まさに「プロの目」である。

 以前「アダルトビデオの動画解析」をしたことがある。この時は15秒間の動画からオプティカルフロー(動き)を解析したのだが、全編に渡って動画の動きを解析し、ビデオのコンテキスト(文脈)解析をしてみるのも面白いかもしれない。もしかしたら、すでに「オプティカルフロー計算→コンテキスト解析解析→スクリーンショット作成」といったフローがアダルトビデオサイトのバックエンドでは動いていたりするのかもしれない。

 今度、「1秒間に2回の運動は”エンディング”近く」の法則を使った”スクリーンショット作成”WEB APIを試しに作ってみることにしようか。

周波数






2010-12-26[n年前へ]

「未来や道具」は「自分で作る」 

 「自分が欲しいと思えるデジタルカメラ」を作りたくてコードを書いています。自分が欲しいデジタルカメラというものを言い換えるなら、「(自分が持ち歩く道具を)自分ならこう作りたい」と思うようなものです。

 たとえば、最近のケータイやデジカメは、CMOS方式のものが多いように思います。静止画像を撮影するにはCMOS方式はメリットが多いですが、こと動画を撮影するとなると(多くのCMOS方式のカメラでは)「動きの速いものを撮影すると、グニョグニョ曲がってしまう」というデメリットが生じます(もちろん”それとは異なる”メリット、も多いわけですが)。たとえば、下の動画のような撮像素子がCCDのビデオカメラとCMOSのビデオカメラで撮影した動画を眺めてみれば、そんな違いがわかると思います。

 自分で使う道具なら、そんなデメリットを適当に自分で直したくなります。たとえば、カメラが動いてしまうことで撮影対象がグニョグニョ曲がってしまうなら、カメラの動きを加速度センサや撮影画像から推測することで、適切な画像補正を行いたくなります(CMOSの読み出し順がわかっているのですから、比較的簡単に補正をすることができるでしょう)。あるいは、撮影動画の動き(オプティカルフロー)から、撮影対象が動いている確率が高いと判断されるなら、その推定された対象物の動き方をもとに「グニョグニョ現象」を直したくなります。

 いつかどこかでこんな言葉を眺めました。

誰かが未来をつくってくれると思ったら、
大間違いです。
そうだよな、と思います。「未来」なんて大層なもののことはよくわかりませんが、少なくとも「自分が使う道具のひとつくらい」は自分で作ってみたいな、と思います。

2011-12-16[n年前へ]

「”1画素・1フレームのみ”からの動き検出!?」のナゾを解く 

 画像中の「動き」のようすを「オプティカルフロー」という言葉で表します。そして、「道路をビデオカメラで撮影し、画像中の(各画素の)動き=オプティカルフローから、車の速度を検出する」といったような用途に使われたりします。ちなみに、オプティカルフローを表す方程式は、(そのまんまですが)オプティカルフロー偏微分方程式と呼ばれます。

 先日、「画像中の動き=オプティカルフロー」を「単一フレームのみで知ることができる」という技術展示を見て、ん?と首をかしげました。”動き”というのは、時間を経て画像がどう変化(移動)したかということですから、もしも、時間方向に関する何らかの手がかりがなかったとしたら、「動き」というものは知りようがない情報であるからです。

 今回展示するシステムは、時間相関イメージセンサを用いることで始めて可能になったもので、1画素、1フレームだけでオプティカルフローを検出できます。フレーム間の移動量の制限はありません。アルゴリズムは数学的に厳密な解を少数回の代数計算だけで生成します。

 技術報告パネルに書かれた数式を眺め、動作をイメージしてみて、その疑問を解決する「答」がわかりました。ここで言う「単一フレーム」は、「ある瞬間の画像」を意味する「(いわゆる)フレーム」ではなかったのです。私が首をかしげた技術、「時間相関イメージセンサ(複素正弦波変調撮像)によるオプティカルフロー検出」を(私と同じように)疑問に感じた人もいらっしゃるかもしれませんので、この「単一フレームのヒミツ・トリック」に関するメモを、下に書いておきます。

 まず、時間相関イメージセンサ(複素正弦並変調撮像)は、(たとえば1/30秒毎に映像を出力するのであれば)1/30秒の間ずっと各画素への光量を「三角波を掛け合わせた上で」積分し続けます。そのように三角波を掛け続けつつ積分し続けた結果を、1/30秒の後に出力します。これが「1フレーム」です(図中の①「式をイメージしてみる」という部分です)。…勘が鋭い人なら、この時点でもうおわかりでしょうが、この技術報告中での「1フレーム」は「時間を止めた”ある瞬間”の画像」ではない、というところがミソであり、「んっ?」と感じる疑問・謎を解くカギです。

 もっと「わかりやすく」するために、三角波を矩形波に変え・1フレーム内の”時々刻々”を”2つ”だけ考えてみることにしましょう。つまり、「本来は1フレーム内で連続的に三角波と画素値を掛け合わせつつ・積分する」という処理を、「1フレーム内の前後2瞬間に矩形波と画素値を掛け合わせて、さらに足す」と単純化してみることにします(図中の②「わかりやすさのために、Sin波を矩形波にしてみる」という部分です)。

 すると、話が単純明快に見えてきます。なぜなら、(たとえば)1フレーム内の前半で矩形波の値がマイナス1・後半がプラス1とすると、「1フレーム内の前後2瞬間に矩形波と画素値を掛け合わせて、さらに足す」ということは、「1フレーム内の後半画像から前半画像を引く」という、まさに異なる時間の映像間で「差分画像」を計算する、という処理になっているからです。…それは、まさに普通にオプティカルフローを求める(よくある)手順そのまま、です。

 というわけで、「時間相関イメージセンサ(複素正弦波変調撮像)によるオプティカルフロー検出」を「わかりやすく」してみました。

 しかし、このカメラの「発想」は意外で面白く感じます。普通のカメラは1フレームの間光を単純に積算し続けていたりするわけですが、このカメラでは単純な積算でなく時間方向に「演算」を行います。他の用途にも色々応用ができそうですね。

「”1画素・1フレームのみ”からの動き検出!?」のナゾを解く






2014-07-17[n年前へ]

プロジェクションマッピングで、ピクリとも動かないはずの雑誌グラビアページの胸をリズミカルに揺らしてみよう!? 

 NTT Takahiro Kawabeさんらによる、「印刷した画像に、オプティカルフロー成分をプロジェクションマッピングし、動いているように見せるデモ」を観て・とても面白く感じました。そして、「動かすのなら、やっぱりアレだよね!」と思った…というわけで、バストの動き成分を適当にでっちあげた動画(下に貼り付けた)を作り、「雑誌のページ」を開き、その上に「揺れるバストの動き」をプロジェクションマッピングしてみました。

 雑誌のページ上で下着姿をしたモデルの胸が小気味よく動いているようにも見える一方で、いまひとつリアルではない感じもします。…まぁ、それは「適当に作ったせい」だということにして、ちゃんと先の研究論文を読み・内容を理解してた上で、次こそ雑誌グラビアページのモデルの胸をリズミカルに揺らしてみたい…と思う今日この頃です。(印刷画像にプロジェクションマッピングするくらいなら、最初から動く動画をプロジェクタで投影すればいいじゃない?なんてツッコミも入りそうですが…)

プロジェクションマッピングで、雑誌グラビアページの胸をリズミカルに揺らしてみよう!?








■Powered by yagm.net