葉ノード以外のノードで関節角度が変化すると,その子孫ノード全ての関節角 度について再推定処理をしなくてはならない.このため,関節角度候補の変更 をどのノードで行うかは,マッチング処理量に大きく影響する.
本稿では,他のノードとの隠蔽関係が少ないノードは他のノードより先に関節 角度を決定すべきであると考え,以下のような処理を行う.
まず,葉ノード以外で,未採用の関節角度候補を持つノードの集合を
求める.
の中から,ノードiを選ぶとし,式(6)で
表される非隠蔽領域
を定義する.これは,ノードi以外のモデル中の全
ノードを投影し,その投影領域をSから除去した領域に相当する.
この非隠蔽領域上へノードiを関節角度候補
(ただし
)の値に従って投影し,それぞれの被覆面積
を式
(7)に従って計算する.これを
中の全てのノードについ
て計算し,最も値の大きいノードmとその時の関節角度候補
を
求める.このノードmを最大露出ノードと呼び,その関節角度候補を最大露
出関節角度候補と呼ぶ.
もしならば,ノードmを
から抹消したのち,最大露出ノ
ードと最大露出関節角度候補を再度求める.もし
ならば,最大露
出ノードmの
の値を
とし,その関節角度を変更する.
関節角度の変更によって,最大露出ノードmの子孫ノードの関節角度は再決
定されなければならない.このため,最大露出ノードmの子ノードをに帰属させ,さらにそれらの子孫ノードがもし存在すれば
に帰属さ
せる.この後,前節5.1に述べた方法を再度実行する.
なお,もしに一つもノードが存在しなくなれば,全ての姿勢推定処理
の終了となる.