電脳フィギュア用の「電脳キューブ」は凄くナイス発想のキューブ型マーカだった。

さて、前回のエントリでは、
キューブ型マーカの側面の判別に苦労していると言う話をした上で、
なぜそうなってるかについて考察を行った。

で、判別精度向上のヒントをA虎@さんがエントリして下さったので、
精度向上については取り敢えず目処が立ったと言えよう。

が、今は精度向上を目指す方向ではなく、前回のエントリでも少し触れた、
あえて同じマーカとして認識させる方法を用いて、キューブ検出を行おうと思う。

現在、キューブ検出用のコードを書いてて、
何となく見えてきたので、ブログに起こしてみた。

現状はこんな感じ。
一応マーカは側面の奴で、モデルがキューブ上に乗せるよう回転をかけてる。

とりあえず、「頂点か側面か」の判断はつくようになった。
で、後は「側面のどれか?」を検知するようにならなければ。
後、側面だった場合の回転や移動を、Detector内部で行いたい。
現状、Detectorが出してきた変換行列をかけた後のモデルに、
無理矢理回転と移動を行ってる。
画像でモデルの位置が実際の電脳キューブとずれてるのはその所為。
真正面からマーカを撮ると、上手く騙せる感じになる。

そう言えば、俺が最近ARisの情報源にさせて頂いている
100円玉の対価
によると、ARis用マーカを誰かがpdf形式にして公開してくれたそうだ。

2chの電脳アリススレに、電脳キューブのマーカーをPDFほかでupして下さってる方がいたので、早速ソレを入手させて頂きました。
100円玉の対価 電脳フィギュア アリス、隣に立ってみた。

で、それを元に探して、該当部分を見つけたんだが、そこにこう書いてあった。

需要あるかな? 私がマーカー自作したときのデータをうpしてみた。
(中略)
マーカーdatから作ったから認識率は良いはず。
電脳フィギュア ARis(アリス) Part1#732

このように、このマーカ自作者の方はdatファイルを元にマーカを作成したらしい。
つまり、マーカのdatファイルなるものがあると言う事か。
このマーカーのdatファイルが見たいと思ったが、
流石にそこまでやってしまうと不味いかと感じ、自重。
でも、このdatファイルを見て、ARToolKit用と同じ形式だったら衝撃的だな。
貴様!(ARToolKitのソースを)見ているな!
てなるだろうね。
(マーカからpdf作れるくらいだし、それは無いと思うが)


電脳キューブの側面用の評価


まず、前回も登場した基本マーカ。
これは、電脳キューブの側面に共通するマーカだ。
電脳キューブの、前後左右4つの側面部分は、
右上を除いて全てこのマーカと同じ形をしている。

そこで、右上を「常に完全一致している」状態と仮定して評価するような、
新しい評価器「C2MatchPatt_Color_WITHOUT_PCA.as」を作成してみた。
このクラスには、新しい評価関数「evaluateThreeQuarter」を追加してある。
こいつでマーカと入力画像内のマーカ候補を比較して、
右上部分抜きでの一致度を出してやる。

普通の評価器で評価するとleftbackのパターンの一致度が
frontrightと比べて低いと言う状態にある。
これは、A虎@さんの解説と一致していて、
内側が白いleftbackの一致度は、
内側が黒いfrontrightの一致度と比べれば低くなるのも止むを得ない。

で、右上抜きでの比較を試すと、frontrightの一致度が0.1くらい上がった。
まぁ、それでも「left⇒0.6後半、right⇒0.8後半」だったのが、
left⇒0.7後半、right⇒0.8後半」と言った感じだが。
このあたりの精度は、正規化部分の変更で何とかなるかもしれない。
中央付近に白があるか黒があるかで、変わる可能性高いし。

電脳キューブのデザイン

今回のような考え方で行くと、電脳キューブは結構考えられたデザインなのかなと思う。
キューブの全ての面を異なるマーカで作って評価するより、
同じマーカでとりあえず「側面だな」とだけ判断し、その後で前後左右のどれかを判定する。
下面が真っ白になっていると言うキューブの構造も、
「これは机の上において使うものなんですよ」と言うメッセージを出している。
机の上において使えば、カメラに横から取られる可能性が上がり、
側面を認識する確率が上がるわけだ。

また、さりげなくマーカの右上を、囲って小さいマーカっぽくしてる所にも工夫を感じる。
カードの方のマーカのデザインも、長方形に見えて実はマーカとしては正方形に認識されるように作られてる。

「GTE_AR_Framework」と言うオリジナルのフレームワークを使用しているという話についても納得。

ただし、この電脳キューブは、本当に「上に物を乗せる」しか使い道が無い。
橋本直氏のARToolKit本に出てくるキューブっぽいマーカとは一線を画してるな。
まぁ、電脳キューブは「キューブ1個でマーカ1個」と言う捕らえ方だから仕方ないけど。

あと、噂によると電脳フィギュア用のカード型マーカは、1個だけでも動くらしい。
やはり、その辺は通常のマーカベースARなのかな?

タイトルとURLをコピーしました