情報通信システム開発事業部門

News 2023.10.27 NAGANOものづくりエクセレンス2023

NAGANOものづくりエクセレンス2023

エクセレンスDX部門

高次元・高精度な3D点群データの再現技術


長野県よりNAGANOものづくりエクセレンス2023 エクセレンスDX部門の認定を頂きました。

立派な楯と表彰を頂くことができ、いつもご協力くださる皆様に感謝しております。

またこれからより一層の貢献を果たしていけるよう尽力いたします。



情報通信システム開発事業部では、信州大学をはじめ、長野県工業技術総合センターや企業など、さまざまな団体と共同開発を行っています。

50年以上の測量実績と蓄積したノウハウを活かし、二次元と三次元の「スケールと歪み」に着目したシステムを開発しており、その一例をご紹介します。

二次元(地図)

観光マップや遊園地などのマップは、実際の地形(正しい地図)とは違う形をしています。

これは、「見やすい地図を届けたい、ワクワクを届けたい、アートを表現したい」といったデザイナーさんの熱い想いが込められているためです。

観光マップ

実際の地形(正しい地図)




その想いが伝わり、観光マップを見ていると、想像力が沸いて楽しい気分になります。

今の時代、スマートフォンで地図を見た時に現在位置を表示できることは当たり前ですが、観光マップは実際の地形と異なるため、現在位置を表示することができません。

観光マップに現在位置を表示させると、次の図の様に全く違う場所を示してしまいます。

観光マップ
(全く違う場所を示してしまう)

実際の地形(正しい地図)
(正しい現在位置を示せる)




この問題を解決するために、2つの地図の違い(歪み)をAIで解析・補正して、観光マップの上に正しい現在位置を表示するシステムを開発しています。

観光マップの歪み解析

実際の地形(正しい地図)の歪み解析




AIで解析・補正することで、観光マップにも正しい現在位置を表示することが可能になります。

観光マップに正しい現在位置を表示

実際の地形(正しい地図)に現在位置を表示




2つの地図の違い(歪み)を解析するには、2つの地図の同じ場所に「対応点」を設置する必要があります。






似たような地図システムはたくさんあるのですが、その多くは「線形補間」で歪みを補正しています。

弊社も当初は線形補間で地図の歪みを補正していたのですが、地図の違い(歪み)が大きい場合は精度が極端に低くなり、さらに上記の対応点が大量に必要になってしまいました。

しかも、対応点を設置していない場所(下の図では道路以外の場所)では、正確な現在位置が表示できませんでした。

線形補間は大量の対応点が必要





対応点の設置は人間が行う作業のため、膨大な人件費が必要になってしまいます。
さらに、対応点の設置場所や設置間隔によって補正結果が大きく変わるため、作業する人によって品質のバラつきが大きくなり、信頼性が低い地図になってしまいます。
この大問題を解決するために、信州大学と共同研究し、ガウス過程回帰・カーネルトリック・thin plate splineなどを組み合わせたAIによる独自の歪み補正技術を開発しています。
この技術には次の特徴があります。

  • 少ない対応点で高精度な補正ができる
  • 計算処理にGPUが不要(スマートフォンやブラウザでも軽く動く)
  • 外挿(対応点の外側)補正もできる



収束前(学習前)の状態




データと事後確率の分布

事後確率からサンプリングされた結果





この技術により、精度が高い補正を高速に行えるため、形状(歪み)が違う2つの地図を並べて、リアルタイムで同期させることもできます。



開発した技術は、自社で使うだけではなく、他者様のシステムに組み込んでいただくことを前提としており、スマートフォンのアプリやWEBシステムと簡単に連携できます。

また、次の様な機能も搭載されています。

  • 文字や図形を書き加える
  • オーバーレイで写真や動画を表示
  • 地図を自由に回転
  • 自分が向いている方向に合わせて地図が自動的に回転
  • 回転に合わせたリアルタイム補正
  • 多言語化
  • 最寄りの施設を検索(一覧表示)



そして、最も大切な点は、「ユーザー様の個人情報と位置情報を一切収集しない」ことです!
地図を見る時にWEBブラウザから「位置情報の確認」が求められますが、この位置情報は現在位置を表示するためにユーザー様のWEBブラウザ内でのみ使用します。
<個人情報と位置情報について>
・一切収集しません。
・外部に送信しません。
・第三者に提供しません。
・二次利用しません。



また、CSRの一環として、行政様においては地図システムの維持管理費用は無料で提供しています。
現在、多くの市町村様にハザードマップとしてご利用いただいております。

その他にも、次のような地図に現在位置を表示することが可能です。

  • 手書きの地図
  • 昔の地図(古地図)
  • 遊園地のパンフレット
  • 駅の構内図
  • 巨大ショッピングモールのパンフレット
  • スタンプラリー


さらに、「電波が届かない場所」でも地図を利用できる仕組みが搭載されています。
山岳マップに弊社の技術を組み込みことで、長野県の魅力である「山」を安全に楽しんでいただくことができます。
電波が届かない山の中でも衛星データは受信できるため、現在位置を表示することができ、遭難を防ぐ事ができます。







三次元

コンピューターの処理能力が向上したことにより、写真から簡単に3Dデータを作ることができるようになりました。

対象物の周りをぐるぐるっと複数枚の写真を撮り、コンピューターで解析すると、3Dデータを作ることができます(フォトグラメトリ)。

ぐるぐるっと写真を撮る

3Dデータが出来上がる
※説明用に1色のポリゴンで表現しています




簡単に3Dデータを作ることができるのですが、カメラレンズの歪み・光の反射・ボケなどの要因で、3Dデータが歪んでしまう場合があります。

歪んだ3Dデータ




人間が見て、「歪んでいる」と感じた場合は、写真を撮り直して3Dデータを作り直せば良いのですが、問題は、「人間が見ても歪んでいることがわからない」場合です!

次の3Dデータは歪んでいるのですが、人間が見ても「歪んでいる」ことがわかりません。

歪んだ3Dデータ
(見た目では歪んでいることがわからない)




「歪んだデータ」と「歪んでいないデータ」を並べてみてもわかりません。

向かって左が「歪んだデータ」、右が「歪んでいないデータ」




2つを重ねると、やっと違い(歪み)がわかります。

「歪んだデータ」と「歪んでいないデータ」を重ねた結果



ここまでしないと「歪んでいること」がわからないため、現状では、「歪んだ3Dデータ」がそのまま使われてしまっています。
(歪んでいることが認知されていません)

これを解決するために、対象物の周りに指標(例えば10cmの立方体)を置いて、写真撮影する方法を考案しました。

指標(10cmの立方体)を置いて写真撮影



この様に撮影した写真から3Dデータを作り、立方体のサイズを調べることで、「歪んでいる/歪んでいない」がわかります。

立方体の全ての辺が10cm(および直角)であれば、歪みが無い正しいデータが作成されています。

歪みが無い正しい3Dデータ




立方体の辺が10cmではない場合、歪みが発生しています!

歪んだ3Dデータ




この様に、対象物を指標(あらかじめ大きさがわかっている物)で取り囲んで3Dデータを作成することで、簡単に歪みの有無がわかります。

  • 例えば車の車載カメラの映像では、信号機やマンホールなど、あらかじめ大きさが分かっている物を指標として利用できます(歪みやスケールを補正・計測することができます)。


とっても単純なことですが、この方法は弊社と信州大学の共同出願特許となっております。
特許第7012965号:三次元データスケール付与方法及び三次元データスケール付与プログラム)
 ※同時に高精度なスケールも付与できます。


歪みが発生した場合、全ての立方体が10cmになるように補正することで、歪みを直すことができます。

がんばれば人間が手動で直すこともできますが、作業する人によって結果が変わってしまうため、精度が高い補正とは言えません。

そこで、信州大学と共同研究により、AIで自動的に歪みを補正する技術を開発しています。

  • 信州大学様には、教授をはじめ、コーディネーター、学生、さらに卒業生(学士・修士・博士)まで多大なご協力をいただいており、大変感謝しております。


3Dデータの歪みを自動補正する技術は、世界的に見ても研究されている事例がほとんどありません。
※前述した特許技術を利用しないと補正が困難なため(どのように補正したら良いのか答えが無いため)。

この取り組みと技術が認められ、一般社団法人 画像電子学会 様より、「画像電子技術賞」をいただきました!




立方体は X , Y , Z 全ての方向がわかるので指標として最適ですが、正確な立方体を作るのは大変です。

そこで、印刷したマーカーでも代用できます。
次の図のように、2個1組のマーカーを印刷し、適当に周りに置いておくだけで、歪み補正を行うことができます。

マーカーを置けば置くほど精度が上がります!
マーカーを縦方向にも置く(壁に貼る)と、さらに良いです。





AIで3Dデータを自動補正するためには、3Dデータを四次元空間に移動させ、四次元空間で高次元な変形を行い、その結果を3次元空間に「投影」することで、補正を行います。

わかりづらくてすみません。
四次元空間は図で表せないため、次元を一つ落とし、三次元空間のデータを二次元に「投影」する様子を紹介します。

三次元の物体を回転させることで、二次元に投影した影が同調して変形します。
回転させただけですが、二次元の影は全く違う形になります。

さらに、アフィン変換やスキューを加えると、影を思い通りの形に変形できます。
この様に、一つ上の次元で変形させることで、下の次元の形状を自由自在に変形できます(支配できます)。

ここで大切なことは「投影」している点です。
三次元の物体を二次元に投影することで、三次元と二次元が繋がります。←これがとても大切です!
二次元の世界では不可能だった「特殊な変形」が、三次元と繋げることで可能になります。


3Dデータの補正はAIで自動的に行うのですが、AIを利用するには機械学習が必要になります。
3Dデータの機械学習はとても重い処理となり、社内のAI学習用コンピューター(200万円)で数日間ずっと処理を続けても10,000回が限界でした(機械が超高熱になり、処理が止まって学習データが破損してしまいました)。


そこで、長野県工業技術総合センター(環境・情報技術部門)のAI学習用並列処理コンピュータを利用させて頂き、100,000回を超える機械学習を行うことができました。
これにより、AIで自動的に3Dデータを補正することが可能になりました。

  • 長野県工業技術総合センター様には、AI学習の他にもレーザースキャナによる3D点群データ作成、技術アドバイス、他社様とのマッチングなど多大なご協力をいただいており、大変感謝しております。




この様に、自社だけでは解決できない課題に対して、皆様方のご協力を得て、試行錯誤しながら研究開発を行っています。