3次元画像計測分野でのGPUを用いた高速化事例

Similar documents
07-二村幸孝・出口大輔.indd

Microsoft PowerPoint - pr_12_template-bs.pptx

ホログラフィ ビームスプリッタ レーザ光 ミラー レーザ光 記録物体 ミラー 再生像 写真乾版 ホログラム 物体光 物体光 参照光 ミラー 再生光 ミラー ホログラムへの記録 ホログラムの再生 光の干渉を利用 光の回折を利用 2

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

インテル(R) Visual Fortran コンパイラ 10.0

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

コンピュータグラフィックス第8回


熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

EnSightのご紹介

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司

untitled

円筒面で利用可能なARマーカ

SUALAB INTRODUCTION SUALAB Solution SUALAB は 人工知能 ( ディープラーニング ) による画像解析技術を通して 迅速 正確 そして使いやすいマシンビジョン用のディープラーニングソフトウェアライブラリーである SuaKIT を提供します これは 従来のマシン

Raspberry Pi BF BF BF Raspberry Pi PC USB HDMI OS SD SD OS Raspberry Pi Model B MicroUSB MicroSD OS SD GPIO HDMI USB LAN Raspberry Pi MicroUSB MicroSD

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

Microsoft Word - AW-SF100導入手順書(スタンドアローン版)_ doc

Source Insight

AW-SF200 導入手順書

Maple 18 スタンドアロン版インストール手順

基礎輪講2週目 Kinectの話

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン

画像類似度測定の初歩的な手法の検証

インターリーブADCでのタイミングスキュー影響のデジタル補正技術

GPU.....

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57

GPGPUクラスタの性能評価

de:code 2019 CM04 Azure Kinect DK 徹底解説 ~ 進化したテクノロジーとその実装 ~ 技術統括室 千葉慎二 Ph.D.

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

C#の基本

FIT2013( 第 12 回情報科学技術フォーラム ) I-032 Acceleration of Adaptive Bilateral Filter base on Spatial Decomposition and Symmetry of Weights 1. Taiki Makishi Ch

Maple 12 Windows版シングルユーザ/ネットワークライセンス

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

tottori2013-print.key

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として) Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA

Using VectorCAST/C++ with Test Driven Development

CADdoctor 製品構成 / 動作環境 製品バージョン : Ver 発行日 : 2019/7/26 製品構成 CADdoctor は 標準パッケージと追加オプションで構成されます 標準パッケージ (IGES 入出力 STL 出力 ) に入出力オプションを追加することにより 高精度の

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

SICE東北支部研究集会資料(2015年)

この演習について Autoware 演習 1: データの記録 再生 Autoware 演習 2: センサーキャリブレーション Autoware 演習 3:3 次元地図の作成 Autoware 演習 4: 自己位置推定 Autoware 演習 5: パラメータ調整 Autoware 演習 6: 物体検

GPUコンピューティング講習会パート1

目次 1 はじめに 本文書の概要 PVF ソフトウェアと VISUAL STUDIO PVF ソフトウェアの種類 MICROSOFT VISUAL STUDIO の日本語化について VISUAL STUDIO

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

コンピュータグラフィックスS 演習資料

図 5 一次微分 図 6 コントラスト変化に伴う微分プロファイルの変化 価し, 合否判定を行う. 3. エッジ検出の原理ここでは, 一般的なエッジ検出の処理内容と, それぞれの処理におけるパラメータについて述べる. 3.1 濃度投影検出線と直交する方向に各画素をスキャンし, その濃度平均値を検出線上

Microsoft Word - 卒業論文.doc

Shade 13.2 アップデータ

PCL6115-EV 取扱説明書

Microsoft Word - 【第5分科会】ConcolicTestingグループ_付録_修正_ doc

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

MATLAB®製品紹介セミナー

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

CDM Studio

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

PW_Products_A4_Japan_Web

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

Agenda 1. 今回のバージョンアップについて a. バージョンアップ概要 b. バージョンアップ目的 c. 新バージョンのシステム要件に関する注意事項 d. 現行バージョンのサポート期間 2. 対応プラットフォームの追加 3. 新機能の追加および機能強化 2

背景 1 / Reprinted with permission from paper c 2013 SAE International.

BricRobo V1.5 インストールマニュアル

富士通PCサーバ「PRIMERGY TX1320 M3/RX1330 M3」における「NetStor」シリーズ動作検証

コンピュータグラフィックス

GPGPU

自宅でJava言語の開発環境を作る方法

Microsoft PowerPoint - CV10.ppt [互換モード]

System Requirements for Geomagic

Transcription:

3 次元画像計測分野での GPU を 用いた高速化事例 関口尚大, 三浦衛, 高橋徹, 青木孝文 東杜シーテック 東北大学大学院情報科学研究科 1

画像処理 GPGPU 関連事業製品組込みシステムソリューションカーナビ カーオー CUDA & OpenCL 最新画像処理技術ディオ 車載電装分ソリューション 画像処理の研究開発と 組込技術 野のソフトウェア開発その実用化 MATLAB/Simlinkを組み合わせで新たな価値の創造を目指しています HMPP ( 協力 : 東北大学ソリューション用いたモデルベース青木孝文教授 ) 開発 GPGPU 組込技術 の 2

弊社紹介 東北大学青木孝文教授画像処理 GPUによる高速化ご指導ご協力 東杜シーテック HMPP/GPGPU 開発 サポート画像処理ソリューション 画像計測 &GPU 業務提携 HMPP for GPU JCCギミック HMPP の販売導入コンサルティング 代理店契約 CAPS Entreprise HMPP 開発 販売元本社 : フランスレンヌ市 HPC 分野 3

発表内容 画像による 3 次元計測技術について 位相限定相関法を用いた 3 次元顔復元と GPU によるリアルタイム化 ( 三浦衛 ( 東北大 ) 東杜シーテック ) 多視点画像からの3Dモデル復元とGPUによる高速化 ( 東杜シーテック 高橋徹 ( 東北大 )) 画像計測への GPU コード自動生成ツール HMPP の適用事例 ( 東杜シーテック JCC ギミック ) 4

画像による3次元計測技術について

3 次元計測技術 物体の形状や空間の構造を計測する技術 工業検査 位置合わせ 医療 CT 検査 MRI 検査 芸術デジタルアーカイブ バイヨン寺院デジタルアーカイブ化 FA 装置 X 線 CT 装置 (COGNEX) ( 東芝 ) プロジェクト [1] [1] K. Ikeuchi, et al., Bayon digital archival project, Proceedings of Virtual Systems and Multimedia 2004, pp. 334-343.

3 次元計測手法の分類 能動型計測法 レーザや構造光を投影 精度に優れる 測定範囲に制限 高価で複雑なシステム 受動型計測法 カメラ画像を用いる 精度が低い 測定範囲が広い 安価で簡便なシステム 3 次元人体計測装置 (Cyberware) カメラと計算機

画像計測と GPGPU 計測 CG 実画像 3D モデル CG 画像計測は CG 処理の逆問題で難しい部分もあるが多くの計算で処理の並列化が可能 演算量が多大なため GPGPU による高速化が期待されている 8

ステレオビジョンに基づく受動型 3 次元計測 三角測量の原理に基づく計測 ステレオ画像の対応付けが処理の大部分を占める ステレオ画像の対応付け精度が重要 左カメラ レンズ中心 基準点 m (u, v) O Y Z X v u 左カメラ画像 M (X, Y, Z) 右カメラ画像 カメラ間距離 B 右カメラ O レンズ中心 対応点 m (u, v ) ステレオカメラ

画像間の対応付け テンプレートマッチング 標準テンプレート サンプル画像 入力テンプレート 比較 切り出し 探索画像 相違度 or 類似度 切り出し zテンプレート位置を少しずつずらしながら比較 データに局所性がある デ タに局所性がある zサブピクセル単位での切り出しには 補間が必要 テク チ メ リと 相性が良 テクスチャメモリとの相性が良い

位相限定相関法を用いた3次元顔復元と GPUによるリアルタイム化 三浦衛(東北大), 東杜シーテック

位相限定相関法 (POC) を利用した 3D 計測 位相限定相関法とは 1/100ピクセルレベルの高精度画像照合 フーリエ変換を多用するため計算量が多い GPGPU により処理時間を短縮しリアルタイム復元を実現 ステレオ画像撮影 位相限定相関法と粗密探索を使用した視差導出 視差を利用した 3D 計測

位相限定相関法 (Phase-Only Correlation: POC) 画像の位相成分のみに着目した画像マッチング手法 画像間の平行移動量を 1/100 ピクセル以下の誤差で推定可能 フーリエ振幅変換 位相限定相関関数 (POC 関数 ) r ( n 1, n ) ˆ 2 Image 1 位相 Image 2 フーリエ変換 振幅 位相 n n 1 2 ピークの座標 = 画像間の平行移動量 13

粗密探索と POC によるステレオ画像の対応付け 画像ピラミッドを用いた粗密探索 探索ウィンドウ間の平行移動量を POC で計算 低解像度画像大まかに対応点を求める 基準点 m (u, v) POC によるマッチング, 対応点 m (u, v ) POCによるマッチング 高解像度画像より正確に対応点を求める 左カメラ画像 右カメラ画像 14

ステレオ画像の対応付けにおける並列性 基準点毎に独立 : 基準点毎に並列処理が可能 基準点毎に処理を SM に分配 SM SM SM SM Texture Memory Global Memory SP SP SP SP SP SP SP SP Shared Memory 画素毎に処理を SP に分配 15

ステレオ画像の対応付け処理時間の計測 処理時間 [ms] 400 300 200 100 0 433.7 CPU(1コア ) CPU(4コア,8スレッド) GPU 222.9 121.6 53.7 68.5 23.1 6.7 20.2 32.5 1,000 点 5,000 点 10,000 点 CPU: Intel Core i7 975 Extreme (3.33GHz) GPU: NVIDIA GeForce GTX 480 (SP: 480 基 ) 画像サイズ : 1,280 960 画素 探索ウィンドウ : 64 9 画素 階層数 : 4 16

応用 : 顔の3 次元計測 画像の撮影 ( ステレオカメラ ) 顔検出, 基準点の配置ステレオカメラ計測対象 (OpenCV) ステレオ画像の対応付け (GPU) 3 次元座標の計算 (CPU) 計測結果 3 次元点群の表示 (OpenGL) 17

計測結果 約 11,000 点を 31.3ms で計測 18

多視点画像からの3Dモデル復元と GPUによる高速化 高橋徹 東北大, 東杜シーテック

多視点ステレオの考え方 ステレオ法による3 次元計測では 2 視点からの視線の交点を求める 奥行き方向に誤差が含まれても除去できない より多くの視点を利用することで奥行き方向の曖昧さを解消する Surface Object

多視点復元の概要 様々な方向から撮影した画像から 3Dモデルを復元 1. 複数の 度から物体を撮影 2. 近くの画像同 で 3 次元復元 3. 復元結果を統合 多視点復元評価用画像セット : http://vision.middlebury.edu/mview/data/

マルチベースラインステレオ法 参照画像 Rの深度マップを作成する 奥行きを変化させながら, 各視点の画像に投影 画像に投影した点を中心にウィンドウを開き, マッチングを行い, 類似度 ( 相違度 ) の合計を算出 d ( X, Y, Z) 全ての視点において, カメラパラーメータが既知メ R p = ( x, y) R: 参照画像 C: 近傍の画像 C 3 C 1 C 2 評価関数として 正規化相互相関法を使用

多視点 3D 復元処理のスレッド化 Start d=-0.15, 0.15, 0.0005 y=0, height, 1 480 j=0, 3, 1 x=0, width, 1 640 テンプレート画像深度 dの探索の切り出し 600 4 x y End 参照画像の1ピクセル毎に深度 dを探索し これをGPUの1スレッドとする テンプレートマッチング j 深度 dの選択 d 23

処理時間比較 [sec] 350 300 250 200 150 100 50 304.6 1/179 1/160 1.9 1.7 使用している画像 参照画像 :1 枚近傍画像 :4 枚サイズ : 640 x 480 0 Intel Core i7-930 TeslaC1060 Geforce GTX480 環境 OS :Ubuntu9.04 64bit CUDA: 3.0 gcc : 4.3.3 テクスチャメモリのキャッシュと線形補間の効果が高い

多視点3次元復元への GP 用自動 GPU用自動コード生成ツール ド生成ツ ル HMPP PP の適用 適用 東杜シーテック, JCCギミック

HMPP とは? -GPU コード自動生成ツール - C 言語 /FORTRAN で記述された既存ソースコードに ディレクティブ ( 指示行 ) を挿入することでGPGPU 化ができる #pragma hmpp sgemm codelet, target=cuda,... extern void sgemm( int m, int n, int k,floatalpha, const float vin1[n][n], const float vin2[n][n], CPU 用 float beta, float vout[n][n] ) { ソースファイル ライブラリファイル } コンパ int main(int argc, char **argv) { イル実行ファイル & for( j = 0 ; j < 2 ; j++ ) { #pragma hmpp sgemm callsite リンク GPU 用 sgemm( size, size, size, alpha, vin1, vin2, ソースファイル beta, vout ); } ライブラリファイル }

HMPP のサポートする環境 - 使用言語ー C 言語 Directive: #pragma hmpp label command [, attribute ] Fortran Directive:!$hmpp label l command [, attribute t ] CUDA #pragma hmpp saxpy codelet, target=cuda, args[v1].io=inout void saxpy( int n, float alpha, float v1[n], float v2[n] ) { int i; OpenCL #pragma hmpp saxpy codelet, target=opencl,args[v1].io=inout void saxpy( int n, float alpha, float v1[n], float v2[n] ) { int i;

開発工数 ( コード量 ) についての比較 コード行数 ( ファイル入出力を除く ) CPU :255 lines HMPP :255+4 lines CUDA :792 lines ディレクティブ挿入のみ www.jcc-gimmick.com

処理時間比較 350 300 250 304.6 使用している画像 参照画像 :1 枚近傍画像 :4 枚 サイズ : 640 x 480 200 TeslaC1060 150 100 50 0 環境 1/13 1/35 28.3 87 8.7 19 1.9 Intel Core i7-930 HMPP CUDA OS :Ubuntu9.04 64bit HMPP : 2.3.2 gcc : 4.3.3 17 1.7 GeforceGTX480 HMPPではFermiコアのキャッシュの効果がよく現れており CPU 比で35 倍,Tesla1060C 比で 3.3 倍高速化されている

お知らせ Windows 版 サポート OS Windows 7, Windows Server 2008 (32/64 bit) WindowsVista (32bit) WindowsXP, Windows Server 2003 (32bit) サポートコンパイラ がリリースされました Visual Studio 2008(Fortran:Intel Fortran Compiler 11) ATI Stream SDK 2.1(32/64 bit) NVIDIA CUDA Toolkit 2.3, 3.0, 3.1(32/64 bit) Linux でもご利用いただけます Ubuntu, Debian, RHEL, CentOS, OpenSUSE, SLES 等の 主要ディストリビューション Intel, GNU 等の主要コンパイラと組合せ可能 www.jcc-gimmick.com 30

無償評価版のご案内 HMPP 無償評価版のご提供 HMPPの全ての機能を試用できます (2 週間 ) お申し込みいただいた方にはた方 HMPP 導入と評価に役立つ日本語教材をご提供しています 1. スタートアップガイド HMPP のインストールからサンプルプログラムの動作確認までスムーズに行えます 2. チュートリアル HMPP ディレクティブの使い方を実例を交えて学べます 3. 多視点 3D 復元アプリケーション 実際に HMPP を使用したサンプルプログラムとして公開します自由に変更を加えてGPU 化の効果を試すことができます HMPP の導入 評価をすぐに行える環境を整えておりますので まずはお試しください! www.jcc-gimmick.com

問い合わせ先 GPU 開発 画像処理に関するお問い合わせはー東杜シーテック株式会社 http://www.tctec.co.jp/ HMPPに関するお問い合わせはー株式会社 JCCギミック http://www.jcc-gimmick.com/ p// / http://www.tctec.co.jptctec co http://www.jcc-gimmick.com/

まとめ 今後の課題 まとめ POC を用いた顔の実時間 3 次元計測の高速化 多視点 3 次元復元の高速化 開発ツール HMPP の画像計測への適用事例 今後の課題 GPU に合わせたアルゴリズムの最適化 3 次元計測応用システムへの適用 車載ステレオカメラを用いた運転支援システム プロジェクタ投影像のリアルタイム補正 33

http://www.tctec.co.jp