Problem Statement
夜景写真の逆拡散で、画素偏差エネルギーが最も増加・減少する方向
問題文
スマートフォンで撮影した夜景写真から、隣接する二つの画素を取り出す。各画素の平均輝度からのずれを成分とする無次元ベクトルを Xt∈R2 とする。
撮影直後の画素ベクトル X0 は、平均 0、共分散行列 Σ0 の正規分布に従う。画像へ人工的にノイズを加える前向き拡散過程は、伊藤確率微分方程式
dXt=−2βXtdt+βdWt
に従う。ここで、Wt の二成分は独立な標準ウィーナー過程であり、X0 と Wt は独立である。
時刻 t∗ までノイズを加えた画像から、正確な確率密度を用いて時間を逆向きに進める。逆向きの時間を τ=t∗−t、逆拡散中の画素ベクトルを
Yτ=Xt∗−τ
とする。
前向き過程の時刻 t における確率密度を ρt(x) とすると、逆拡散過程は
dYτ=[2βYτ+β∇ylogρt∗−τ(Yτ)]dτ+βdWτ
に従うものとする。
逆拡散開始時の画素ベクトルのノルムを 3 に固定する。すなわち、∥y∥=3 を満たす各初期状態 y から逆拡散過程を開始する。
画素偏差エネルギーを
R(y)=y12+y22
とする。Y0=y から開始した逆拡散過程に関する期待値を Ey と表し、逆拡散を開始した直後の微小時間 Δτ における期待値の変化率を
G(y)=Δτ→+0limΔτEy[R(YΔτ)]−R(y)
と定義する。
∥y∥=3 を満たす画素ベクトルのうち、G(y) を最大にするものを ymax、最小にするものを ymin とする。ただし、各ベクトルは第1成分が正となる向きを選ぶ。
次の無次元比を求めよ。
∣G(ymin)∣G(ymax)
制約
- β=2.00s−1
- t∗=2.00ln4s
- Σ0=(5222)
入力形式
求めた比を既約分数 qp と表す。入力すべき自然数は 10p+q である。
問題の構造
逆拡散ドリフトが大きい向きを直接比較するだけでは不十分です。
評価する量は画素ベクトルそのものではなく、
R(y)=∥y∥2
の期待値の初期変化率です。そのため、逆拡散のドリフト項だけでなく、ウィーナー過程の二次変分が生む伊藤補正も含める必要があります。
また、∥y∥=3 という条件のもとで変化率を最大化・最小化するため、最終的には共分散行列の固有方向を判定する必要があります。
前向き拡散後の共分散行列
前向き過程の平均を mt=E[Xt] とすると、
dtdmt=−2βmt
です。
初期平均が 0 なので、
mt=0
となります。
したがって、共分散行列は
Ct=E[XtXtT]
です。
行列値過程 XtXtT に伊藤の積公式を適用すると、
d(XtXtT)=dXtXtT+XtdXtT+dXtdXtT
です。
二成分のウィーナー過程は独立なので、
dWtdWtT=Idt
であり、
dXtdXtT=βIdt
となります。
期待値を取ると、
dtdCt=−βCt+βI
を得ます。
初期条件 C0=Σ0 より、
Ct=e−βtΣ0+(1−e−βt)I
です。
時刻 t∗ では、
e−βt∗=e−ln4=41
なので、
Ct∗=41(5222)+43(1001)=(2212145).
確率密度のスコア
前向き過程は線形であり、初期分布も正規分布なので、Xt∗ は平均 0、共分散行列 Ct∗ の正規分布に従います。
したがって、
∇ylogρt∗(y)=−Ct∗−1y
です。
逆拡散開始時のドリフトベクトルを b(y) とすると、
b(y)=2βy−βCt∗−1y=β(21I−Ct∗−1)y.
画素偏差エネルギーに対する伊藤の公式
逆拡散過程を成分表示すると、
dYi=bi(Y)dτ+βdWi
です。
R(Y)=Y12+Y22 に伊藤の公式を適用します。
勾配とヘッセ行列は、
∇R(y)=2y,∇2R(y)=2I
です。
したがって、
dR=2YTb(Y)dτ+2βYTdW+2βdτ
となります。
最後の 2βdτ は、二つの独立なウィーナー成分から生じる伊藤補正です。
期待値を取ると確率積分の項は消えるので、
G(y)=2yTb(y)+2β
です。
ドリフトを代入すると、
G(y)=2βyT(21I−Ct∗−1)y+2β=β[yT(I−2Ct∗−1)y+2].
最大・最小となる画素パターン
Ct∗ は Σ0 と単位行列の線形結合なので、両者の固有ベクトルは共通です。
まず、Σ0 の固有値を求めます。
det(Σ0−λI)=5−λ222−λ
より、
0=(5−λ)(2−λ)−4=λ2−7λ+6=(λ−6)(λ−1).
したがって、Σ0 の固有値は 6 と 1 です。
Ct∗ の対応する固有値は、
c=41λ+43
で与えられるため、
c+=49,c−=1
です。
Ct∗ の固有値が c である方向では、Ct∗−1 の固有値は 1/c です。
∥y∥=3 より、その方向に沿うベクトルでは、
yT(I−2Ct∗−1)y=9(1−c2)
となります。
関数 1−2/c は c>0 で単調増加するため、G は大きい共分散固有値 c+=9/4 の方向で最大となり、小さい固有値 c−=1 の方向で最小となります。
固有値 6 に対する固有ベクトルは、
(5222)(21)=6(21)
なので、
ymax=53(21)
です。
固有値 1 に対する固有ベクトルは、
(5222)(1−2)=(1−2)
なので、
ymin=53(1−2)
です。
最大値と最小値
c+=9/4 の方向では、
G(ymax)=β[9(1−9/42)+2]=β[9(1−98)+2]=3β.
c−=1 の方向では、
G(ymin)=β[9(1−2)+2]=−7β.
したがって、
∣G(ymin)∣G(ymax)=7β3β=73.
よって、
p=3,q=7
であり、入力すべき自然数は、
10p+q=10⋅3+7=37
です。