以前ブログ記事で紹介いたしましたStructureSDKによるアプリケーション開発の流れで全身スキャンができるようなアプリ制作を行いました。
■Structure Sensor アプリ概要
PCCの活動として今後のビジネス展開を視野に入れて以前アプリケーションの開発を行いましたが次のアプリ開発を行いました。
Structure Sensorの公式アプリでは平面上の物体をスキャンすることができますが人体など縦長の物体に対してはスキャン領域をかなり拡大しなければスキャンすることができませんでした。
そこでスキャンする領域を縦長にすることで人体などをスキャンしやすくするアプリを開発しました。また対象物が縦長なので画面も縦方向にレイアウトしています。
現状は試作版のため以下の機能のみを実装しています。
・スキャン領域の縦長化。画面の縦方向化。
・スキャン領域の補助平面が領域の誤解を招くため削除。
・Scanボタンを押すことでトラッキングを行い3Dメッシュデータ化。
StructureSDKのサンプルデータを改良して制作したためかメッシュの精度やテクスチャの解像度など全体的に精度が低くなっております。
■アプリ開発について
<1>Structure Sensor
Structure Sensorにつきまして前のブログ記事(
Occipital の Structure Sensor 使用レポート)でも紹介いたしましたがアメリカのOccipital社より販売されているiPadに装着して使用できるRGB-Dモバイル3Dセンサーです。
Structure Sensor公式ページ
Structure Sensorの詳細につきましてはPCCブログ記事でも何度か紹介しておりますのでご覧ください。また林氏の
マイナビ記事でも紹介されております。
<2>Structure SDK
Structure Sensorを購入しDevelopers登録をすることでSDKデータを入手することができます。
前回のアプリ開発と同様にStructureSDKに付属しておりますサンプルデータを改良し開発コストを抑えました。
<3>開発環境
前回同様にMacのXcodeによるiOSアプリ開発となります。
余談ですが開発にはiOSアプリを毎回iPadに入れて検証する必要がありしかもMacからのケーブルとStructure Sensorからのケーブルを差し替えなければならず大変不便でした。
■全身スキャンアプリの使い方
<1>アプリを起動して3Dスキャントラッキング(Scanボタンを押す)
アプリを起動するとカメラからの映像が表示されます。
今回は縦方向のアプリケーションのため縦位置で操作します。
スキャン対象の床面を検出し横方向の領域を調整します。床面を基準に縦方向にスキャンしていきますができる限り床面が見える状態でトラッキングを行うとスムーズにスキャンすることができます。
以下、実際に人体を3Dスキャンしている動画となります。
<2>3Dスキャントラッキング結果(Completeボタンを押す)
全身のスキャンが完了しCompleteボタンを押すとスキャン結果をプレビューすることができます。
スキャン結果の機能としては公式のアプリと同様になっておりますが、全身をスキャンすることで解像度が足らないのか「Color View」で色付けを行うとぼやけた画像になります。
X-Ray Viewは正常に機能しておりスキャンした3Dポリゴンをワイヤフレームで見ることができます。
以下動画ではスキャン開始から各View表示までの流れを撮影しております。
■今回のアプリ開発について
前回の3Dサイズ計測アプリは林氏による開発でしたが今回は私の方で開発を試みてみました。
iOSアプリ開発が初心者ということもあり思った以上に時間がかかってしまいました。
今回紹介のアプリはStructureSDKに付属しているサンプルデータを改良したものですのでプログラムに詳しい人であればすぐに完成できるようなものだと思います。
今後もStructure Sensor用のアプリ制作を進めていきセンサーの利用方法などを模索してみたいと思います。
有限会社マグネットインダストリー
西内伸太郎