Mais conteúdo relacionado Mais de Kitamura Laboratory (20) STEM教育を目的とした動画像処理による二重振り子の軌跡推定1. 香川高専 電気情報工学科 卒業研究発表会
2023年 3月1日 9:30 - 9:45
岸本麗央(北村研究室)
STEM教育を目的とした
動画像処理による二重振り子の軌跡推定
Trajectory Estimation of Double Pendulum
Using Dynamic Image Processing for STEM Education
5. 5
本研究の動機と概要
• STEM教育
– science / technology / engineering / mathematics
• 教育イベントでデモンストレーションを実施
– 小・中学生の数理科学分野への興味を誘発したい !
– 実際の会場での軌跡推定は困難
• 長時間露光撮影は暗い室内で行う
– 二重振り子先端の軌跡を可視化する方法の検討
• STEM教育のイベント(一般的な環境)でも実施が容易
• 提案手法
1. 色情報を用いた軌跡推定法
• 先端に装着されたLEDが利用できる
2. 概形情報を用いた軌跡推定法
• 簡易的に作成された二重振り子でも適用可能
• 先端にLEDが装着された二重振り子は特殊
14. 14
実験結果
• 正解ラベルと推定ラベルの比較
0 200 400 600 800 1000 1162
Wi
dt
h [
pi
xel
]
0
200
400
600
720
Hei
ght
[
pi
xel
]
Cor
r
ectt
i
p posi
t
i
on
Est
i
mat
ed t
i
p posi
t
i
on
正解ラベル
推定ラベル
16. 16
実験結果
• 推定ラベルと曲線
0 200 400 600 800 1000 1162
Wi
dt
h [
pi
xel
]
0
200
400
600
720
Hei
ght
[
pi
xel
]
Est
i
mat
ed t
i
p posi
t
i
on
I
nt
er
pol
at
ed cur
ve
推定ラベル
スプライン曲線
20. 20
2. 概形情報を用いた軌跡推定法
• 先端部の推定
– 半径の異なる
2つの円の円周上の
輝度値の差分を取る
-180 -120 -60 0 60 120 180
Phase [
degr
ee]
0
50
100
150
200
250
Br
i
ght
ness
-180 -120 -60 0 60 120 180
Phase [
degr
ee]
0
50
100
150
200
250
Br
i
ght
ness
-180 -120 -60 0 60 120 180
Phase [
degr
ee]
0
50
100
150
200
250
Br
i
ght
ness
連結部
先端部
打ち消される
22. 22
実験結果
• 推定ラベルと曲線
推定ラベル
スプライン曲線
0 200 400 600 800 1000 1162
Wi
dt
h [
pi
xel
]
0
200
400
600
720
Hei
ght
[
pi
xel
]
Est
i
mat
ed t
i
p posi
t
i
on
I
nt
er
pol
at
ed cur
ve
推定ラベル
スプライン曲線
23. 23
まとめ
• 目的
– 長時間露光に変わる二重振り子の軌跡推定法の考案
• 提案手法
– 色情報を用いた軌跡推定法
• 先端にLEDが装着されている場合
– 概形情報を用いた軌跡推定法
• 先端にLEDが装着されていない場合
• 実験
– 色情報を用いた軌跡推定法の結果
• 振り子先端の位置を正確に推定できる
– 概形情報を用いた軌跡推定法の結果
• 振り子先端の位置をおおよそ正確に推定できる
Notas do Editor
それでは,表記の題目で,北村研究室の岸本が発表します.よろしくお願いします. はじめに, 今回のテーマにもなっている二重振り子と,その運動がどういったものかを見ていただきたいと思います。
(動画を再生する)
このように,二重振り子とは振り子の先にもう1つの振り子を連結したものをいいます。
動画の二重振り子はLEDが装着されているので,先端が青色に発光します. この二重振り子を長時間露光撮影すると,こんな写真が撮れます.
とても綺麗で,かっこいい曲線ですよね!
これが二重振り子先端の軌跡の画像になります. この二重振り子は実はカオス理論というものを説明する非常に有名な題材です.
どんなのかというと,微分方程式がこんな複雑になリマス.
この微分方程式は解析的に解けません!
なので,数値的に解くことになるんですが,そのためには初期条件が必要です!
で,この初期条件をほんの少し,10^-308くらい変えるだけで,全く異なる運動になるということが知られていて,これを,初期値鋭敏性といいます.
(double型の計算機ε=10^-16)
ということは,先程お見せした軌跡の写真は,もう2度と再現できないんです.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
この微分方程式は解けない!微分方程式は解析的に解けるものは大体expでかけるやつですけど,これは解けないんです!
なので,少しでも初期値を変えると...って話になるけど,この初期値ってのは初期条件ではなく,数値積分で,数値的に解くことになるので,数値的に解くには何か初期条件がいるんです!
それが,コンピュータのdouble型の一番小さい値でも影響があるんです!
数値積分で解くんだけど,それがえらいことになる.
(予想される質問)
初期値鋭敏性って何ですか
→初期値の非常に小さな差が未来の結果に多大な影響を生み出すことです。決定論とは運動が数式で記述できることを指します。通常数式が求まれば運動は予想できるといえますが, それを決定する際に用いる初期値の影響の大きさが数式が意味を持たなくなるほど結果を左右します。よって実質的に結果を予測するのは不可能なんです。
「初期値が少しずれるだけで」とありますがどれくらいですか
→本当に小さいです。double型の計算機εである10^-16ほどです。計算機εは1より大きい最小の数と1との差です。
2^{-1022}\approx 2.225\times10^{-308}:24pt
このような二重振り子の現象はパッと見も,そこに潜む数学的性質も面白いので,STEM教育のイベントなんかで,教材としてよく登場します.
小中学生に振り子を動かしてもらって得られた軌跡は,もう2度と再現できません,その子だけの唯一のものです.
そこにロマンがあるんですね.
さらに,その軌跡の写真を渡して,持って帰ってもらうようなことができれば,小中学生のSTEMに対する興味の誘発であったり,教育効果というのがが予想できます.
でも,実はさっきの軌跡の写真は,なかなか撮れないんです.
長時間露光撮影は真っ暗な部屋の中じゃないとできないので,基本的に明るいイベント会場では,あんな写真を撮るのは実は結構難しいと.
これが,1つの障壁となります.
そこで,私の研究では,より簡便(かんべん)に,動画を撮るだけで,あの写真のような曲線を出力するシステムの開発を目指します.
それはつまり,動画像から,二重振り子の先端位置を常に追跡するアルゴリズムを考えるということです.
今回は軌跡を推定する手法を2つ提案します.
まず,二重振り子先端のLEDの色情報を利用できる場合の方法です.
ただ,LEDがついている二重振り子は実は高価だということもあり,結構特殊な方,珍しい方です.
なので,次にLEDが付いていない二重振り子にも適用できる手法を紹介します.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(予想される質問)
Q:こんなふうにシミュレーションできるんだったら,これを渡せば良いんじゃないの?
A:それはそうなんだけど,このシミュレーションって全然適当なんですよ.だって,10^-300違っても答えが変わるので,それはつまり,64bitのdouble型とかの数値誤差ですら全然ダメなんです.4倍制度の128bitにすれば良いかっていうと,この議論は無限に続いていきます….
あとは,やっぱり目の前で起こったことを可視化したいので,シミュレーションで表示させるだけでは面白くない.
STEM教育としてはやっぱりリアルタイムでリアルなものを可視化したい! まずは,どちらの手法にも共通な処理として,入力の動画に対して,動いている部分(動体)と動いていない部分(背景)の分離をします.
なぜかというと,この分離の処理は,この後の,振り子先端の位置の推定精度を向上する効果があるからです.
じゃあ分離のところについて話します.
まず,動画の2次元化ということをします.
図の左はグレイスケール化をした3次元モノクロ動画です.
横軸と縦軸は画素数,奥方向の軸は時間を表しています.(ここで再生)
この3次元動画を,このように,時間フレームごとにベクトル化して,並べます.
これで,横軸が時間,縦軸が元の時間フレームの全画素数を表す2次元行列を作成できました.
今説明した,”動画の2次元行列化”を実際の動画(ここで再生)に適用してみます.
今回2次元化するのはこの動画です. さっき説明した方法で,この動画を2次元化したのが右上のものです.
動画の途中でルービックキューブが横切りましたよね?
それが,あの真ん中のグジャグジャとなっている部分です.
じゃあどうやってあのグジャグジャを取れるかという話になりそうです.
グジャグジャ以外は,時間軸である横方向にずっと同じ成分になっています.
これはつまり,動いていないということなので,背景です.
なので,各行ごとに中央値をとれば,背景が分離できます.
これが先程お見せした動画の背景を分離した動画です!
一見静止画のように見えますが,背景のみを写した動画になっていることが確認できます. で,さらにですね,元々の動画から,今分離した背景を差っ引けば,動体成分が出ます!
ルービックキューブが横切ったグジャグジャだけが残ってますよね. これが動体を分離した動画です!
最初にお見せした動画の動いている部分の手とルービックキューブだけが現れています! 二重振り子の動画に,今説明した,背景と動体の分離を適用すると,左下の動画のようになります.
これが分かれば,動いているものの中で,青色の部分を見つければ良いだけになります.
それが右下の動画です.
そうしたら,あとは右下の動画の各時間フレームで青色のピクセルの平均を求めたら,良いんです.
それが二重振り子の先端であると言えるでしょう!
実験結果です.
今回は,各時間フレームにおける,二重振り子先端の実際の位置を手動でマーキングし,推定位置と比較することで,本手法の性能を評価します.
図の赤いプロット点は正解ラベルを,青いプロット点は推定ラベルを表していて,この2つには誤差がほとんど生じていないことが確認できます.
よって本手法は,二重振り子先端の位置を正確に推定できる性能であることが分かりました.
あとは推定ラベルをどうやって繋げて曲線にするかなんですが,まずは,推定ラベルをこんな感じで,X軸とY軸に分解します.
X軸とY軸のデータは時間に対する離散的な1次元データなので,それぞれに3次スプライン補間という曲線補間を適用して,時間に対して連続なものにします.
それを,2次元座標に戻せば,2次元データに対するスプライン補間が可能となります. 2次元3次スプライン補間を,実際に先ほどお見せした推定ラベルに適用した結果がこちらです.
この曲線が,本手法を用いて推定した二重振り子の軌跡となります.
グラフを見てもらうと分かるように,二重振り子先端の軌跡が綺麗に推定できています.
ただ,先端部に装着されたLEDの色は,扱う二重振り子によって異なります!
それに,そもそもLEDが装着されていない振り子には本手法は適用できません….
そういったことを考えると,本手法は二重振り子を扱ったSTEM教育の実施を可能にしますが,それを”容易にするもの”とは言い切れない気がします!
ということで,色情報を全く用いない,二重振り子の姿形のみから軌跡を推定する方法について検討していきます.
右の図に”連結部“とありますが,今からの説明で,連結部といったらここを指します. で,もう1回動画を見ていただくと,二重振り子の運動って複雑なんですが,結構単純な運動に分解できるんですね.
結局1個目の枝は単振り子運動してるだけだし,2個目の枝は連結部を中心としてくるくる回転運動をしているだけです.
この後の説明では,まず,連結部の位置を推定します.
その後に,連結部からどっちの方向に2個目の枝が生えているか,つまり,先端部があるかを推定するという順序で,私の手法はやっていきます. まず,連結部の推定方法を説明します.
スライドでは,説明を簡単にするため,連結部を十字形としています.
事前に連結部と同じ概形を模したテンプレート画像を作成し,(ここで再生)
この作成したテンプレートを,動体のみを分離したグレイスケール動画上でスライドさせ,図のように要素ごとの積の総和を計算します.
この時最大(30)になります.(ここで再生)
その後も最後まで続きます.(ここで再生)
要素ごとの積の和が最大になる時,テンプレート画像と最も類似する形状の画素なので,連結部は“ここ”と推定できます.
次に,先端部の推定方法を説明します.(ここで再生)
まず,半径の大きい円周上の輝度値はこのようになります.(ここで再生)
連結部を基準にすると,1方向でのみ輝度値が大きい画素があります.(ここで再生)
次に,半径の小さい円周上の輝度値はこのようになります.(ここで再生)
今度は,2方向で輝度値が大きい画素があります.(ここで再生)
そこで,2つの円周上での輝度値の差分を取れば,先端部の方向が推定できるというわけです.
実験結果です.
先程と同様,図の赤いプロット点は正解ラベルを,青いプロット点は推定ラベルを表しています.
さらに,さっきの実験で色情報を用いた手法の性能が高いことがわかったので,今回は,色情報を用いて推定した位置を正解ラベルとしました.
このグラフを見ると,本手法も,おおよそ正確に推定できていると言えそうです. 次に,本手法を用いて推定した軌跡です.
こんな感じで綺麗に推定できています. (時間ありゃ読む)
最後にまとめです.
これで発表を終わります.