つれづれなる備忘録

日々の発見をあるがままに綴る

手話CG

今週はNHK放送技術研究所の技研公開2022(5/26-29)が開催されている。

今年はオンライン上(以下リンク)と事前登録制での来場という形になっている。

www.nhk.or.jp

事前に登録していたので、デモ体験や講演(ラボトーク)に参加することができた。

www.nhk.or.jp

印象に残った点として手話の翻訳のところで手話CGのサイトが紹介されていた。

手話通訳者の手話をモーションキャプチャでデータを集めて、CGで単語ごと(単語数が大量にある)に再現している。

50音順で探す|NHK手話CG

手話の翻訳に関する講演では、手の動き以外に口の動きや表情の部分の改善を挙げていて、講演中のデモ動画のCGは口の動きがはっきりしていたり、表情が変化しているように見えていたが、上記の手話CGは手の動きが中心で、表情や口の動きまでは対応できていないようだ。

ただ、かなり大量の単語に対する手話の動きが収録されているという点が魅力的だと思う。

Pythonによるデータ処理15 ~ カルマンフィルタ2

前回に引き続いてカルマンフィルタを用いたデータ処理について紹介する。

atatat.hatenablog.com

1. カルマンフィルタモデルのノイズ

 カルマンフィルタのモデルとして以下の状態方程式と観測方程式のパラメータについて考える。

 \begin{eqnarray*}
状態方程式: x_t &=& G_t x_{t-1} + w_t  \\
観測方程式: y_t &=& F_t x_t +v_t 
\end{eqnarray*}
 \begin{eqnarray*}
w_t &\sim& N(0,W_t)  \\
v_t &\sim& N(0,V_t)
\end{eqnarray*}

Nは正規分布で、Gt, Ft, Wt, Vtは既知(仮定)とした。

今回は状態方程式で仮定しているノイズW, 観測方程式で仮定しているノイズVのカルマンフィルタに対する影響を調べてみる。

2. カルマンフィルタのノイズ値の変更

コード全体は前回記事を参照。

前回はW=1, V=10として観測系のノイズが多いという前提で固定していた。今回はカルマンフィルタ処理の初期値を与えるところの数値を変える。

G = np.array([[1]])
F = np.array([[1]])
W = np.array([[1000]]) # 状態のノイズWを設定
V = np.array([[10000]]) # 観測のノイズVを設定

前回のコード中カルマンフィルタを定義した関数kalman_filterおよびkalman_smoothingの引数を明示的に割り当て、上記の設定した数値が反映されるようにする。 引数を省略していると初回の初期値のみが有効で、初期値の変更が反映されない。

# カルマンフィルター
for t in range(T):
    if t == 0:
        m[t], C[t] = kalman_filter(m0, C0, data[t:t+1],G,F,W,V)
    else:
        m[t], C[t] = kalman_filter(m[t-1:t], C[t-1:t], data[t:t+1],G,F,W,V)

# カルマン平滑化
for t in range(T):
    t = T - t - 1
    if t == T - 1:
        s[t] = m[t]
        S[t] = C[t]
    else:
        s[t], S[t] = kalman_smoothing(s[t+1], S[t+1], m[t], C[t],G,W)

3. ノイズの影響

 以下、前回のW=1, V=10の時の元のデータとカルマンフィルタ、カルマン平滑化の効果を示す。W=1,V=10は状態の物理的な外乱(振動とか空気ゆらぎなどの影響で物理的な外乱が加わっている)よりも観測系のセンサ、測定器のノイズが分散で10倍大きいという想定になる。

"W=1,V=10の場合"
W=1,V=10の場合

ここでW,Vの相対関係は崩さず数値を大きくした場合も上記と大きな違いはなく、絶対値の影響は少ないことがわかる。

"W=1000,V=10000の場合"
W=1000,V=10000の場合

次にW=1, V=1として状態と観測が同じ程度のノイズとすると、カルマンフィルタは大きな違いはないがカルマン平滑化の滑らかさが減少している。

"W=1, V=1の場合"
W=1, V=1の場合

W=1,V=100の場合は、カルマンフィルタ、カルマン平滑化ともにかなり滑らかになっている。これは観測系のノイズが大きいため、元のデータに対してより強いフィルタをかけていることになる。

"W=1, V=100の場合"
W=1, V=100の場合

最後にW=10,V=1として状態のノイズ・外乱が観測のノイズよりも大きいとした場合は、ほとんどフィルタ効果は得られない。

"W=10, V=1の場合"
W=10, V=1の場合

結論としては、初期値としてWよりもVの相対値を大きくすることでカルマンフィルタ、カルマン平滑化のフィルタ効果を調整することができる。

ブログデザイン備忘録 ~ FID改善結果2

前回のFID改善について、特に内容は変えずに引き続き検証を行ったが結果、サーチコンソール上で合格という判定になった。

atatat.hatenablog.com

正確には1度合格になって、数日で要改善、再度検証で合格となった。

["FID改善状況2"
FID改善状況2

基本的にはモバイルでのページロードの実績の統計値で判定されるので、これからも要改善になる可能性はある。

モバイルのページエクスペリエンスも今まで0だったが、検証合格後から徐々に増えて100%に近い水準まで回復してきた。

"モバイルページエクスペリエンス"
モバイルページエクスペリエンス

モバイルのページエクスペリエンスが検索に影響するといわれているが、(ただしあくまでコンテンツ重視で、似たようなページが多数あった場合の検索順位に影響)

developers.google.com

サーチコンソールの検索結果をみても、検証合格する前の4月2週目ぐらいから表示回数、クリック数が伸び始めているのでページエクスペリエンスの結果が直接影響しているわけではなさそうだが、要改善とされると直したくはなる。

"検索表示、クリック数"
検索表示、クリック数