Sketchar
ブログに戻る

白い平面に関するコンピュータビジョンの主要な課題のひとつを解決しました。

執筆者: Sketchar読了時間 1 分

2年の歳月を経て、SketchARの開発における最も重要な段階のひとつをお見せする準備が整いました。コンピュータビジョン全般においても同様です。

私たちがコンピュータビジョン(CV)における独自の手法をどのように開発してきたか、すでにご存知かと思います。これらの手法は、平面も含めた様々な表面に仮想オブジェクトを固定するのに役立ちます。

最良のマーカーとは、マーカーが存在しないことです!開発の複雑さは、CV分野における情報不足によってさらに増しています。これまでのところ、最も高度なCV開発は顔認識の分野で進んでいます。テキスト、標識、物体についても進展はありますが、平面に関してはあまり進んでいません。そのため、私たちはこうした根本的な課題に対する解決策を、一歩ずつ見つけていく必要があります。

Sketch AR-Anchors(アンカー)

SketchARのマーカーレストラッキング手法は、平面を検出できます。さらに、カメラがズームして周囲の環境をはっきりと捉えられず、白い面だけを見ているような極端な状況でも安定性を保ちます。

仕組みはどうなっているのか?

映画『フィフティ・シェイズ・オブ・グレイ』を覚えていますか?もし覚えていなくても、このタイトルだけで、私たちが「50通り以上の白」の認識を可能にしたと理解していただけるはずです。スマートフォンのカメラは、多くの白の色調を認識できます。さらに、表面を常に手が横切るという状況が、この課題をより複雑にしていることも忘れてはなりません。加えて、私たちは機械学習とニューラルネットワークを用いて環境を分析しています。アンカーポイント間のつながりや関係性としてすべてのデータを収集し、それをもとに実際の表面に対する仮想オブジェクトの位置を分析します。

以下の例をご覧ください。紙の上の「アンカー」が、手が紙の上を動くことでポイントを失っている様子がわかります。

ARKit/ARCoreの問題点:カメラが平面に近づくと仮想画像が飛んでいってしまう。

私たちのアルゴリズムは、平面上での精度が低く、仮想オブジェクトが現在の位置から離れていってしまうARKitやARCoreよりも、この問題をうまく解決します。

例を見ると、カメラが周囲の環境を全く捉えられず、白い平面しか見えていない状態のとき、仮想画像が大きく揺れているのがわかります。仮想オブジェクトが平面の前に置かれるたびにずれてしまうというこの問題は、拡張現実に取り組むあらゆる企業にとって大きな課題です。

SketchARのマーカーレストラッキング手法は、変換行列(+機械学習とニューラルネットワーク)に基づいています。ポイント間のつながりによって仮想の描画がずれることを防ぎます(仮想スケッチは映像上には表示されません)。さらに、再初期化が行われ、グリッド内のポイントは元の位置に戻ります。手がフレームから外れたり、別のマスに移動したりすると、その位置の目的のピクセルが再認識されます。

SketchARの手法 vs. ARKit/ARCore

STMWMを使えば、手が表面の60%以上を覆っていても、仮想画像(カエル)は安定しています。(ARKit/ARCoreは使用していません。)

この問題は解決済みですが、この技術の実装は現在も継続的なプロセスです。STMWMが今年後半にすべての作業を単独でこなせるようになるまで、これまで通りマーカーを用いた既存のソリューションも併用していきます。

ありがとうございました。

SketchARチーム

この記事をシェア

関連記事

会社のアップデートを購読する

新着記事、製品アップデート、コミュニティの話題をメールでお届けします。スパムはありません。