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