Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

3次元計測とフィルタリング

7.730 Aufrufe

Veröffentlicht am

精密工学会画像応用技術専門委員会 2017年第3回定例研究会
http://www.tc-iaip.org/research/

Veröffentlicht in: Ingenieurwesen
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

3次元計測とフィルタリング

  1. 1. 3次元計測とフィルタリング 福嶋 慶繁 名古屋工業大学 http://fukushima.web.nitech.ac.jp/ 精密工学会 画像応用技術専門委員会 2017年度第3回研究会 2017/9/29 中央大学・後楽園キャンパス
  2. 2. 目的 近年登場した安価なデプスセンサの概要を紹介 マルチセンサ,デプスのノイズの解析,その精 度を改善するためのフィルタリング処理の紹介 目次 デプスセンサ デプスセンサのノイズ フィルタリングによる精度とその改善 フィルタリングの高速化 はじめに 2
  3. 3. デプスセンサ 3
  4. 4. センサのタイプ Structured Light Coding • Kinect V1, Xtion, RealSense F200, RealSense SR300 Time of Fight • Kinect V2, MESA SR4000, DepthSense525 Stereo Camera + Unstructured Light • RealSense R200, RealSense RS400 Stereo Camera 主なメーカー Microsoft Kinect V1, V2 Intel RealSense R/F xxx R: Rear F: Front 近年のデプスセンサの種類 4
  5. 5. Microsoft Kinect V1 5 RGBカメラ 640x480@30fps, 1280x960@12fps デプスセンサ 640x480@30fps 方式 Light Coding 有効範囲 800~4000mm, (Nearモード設定時:400 ~ 3500mm) 発売時期 2010 接続 USB2.0 備考 室内限定.複数台置くと干渉.RGBカメラの質が相当低い. 商用のデバイスはプレミア価格.非商用は半額.
  6. 6. Microsoft Kinect V2 6 RGBカメラ 1080p@30fps デプスセンサ 512x424@30fps 方式 Time of Flight 有効範囲 800~4000mm.libfreenect2を使えば8m越えで使える. 発売時期 2014 接続 USB3.0 備考 室内限定.RGBカメラの質がだいぶ上がった.
  7. 7. Intel RealSense F200 7 RGBカメラ 1080p@30fps デプスセンサ 640x480@30fps 方式 Light Coding 有効範囲 200~1200mm 発売時期 2015 接続 USB3.0 備考 近距離用.発売終了.SR300が後継機.
  8. 8. Intel RealSense SR300 8 RGBカメラ 1080p@30fps, 720p@60fps デプスセンサ 640x480@60fps, 640x240@110fps 方式 Light Coding 有効範囲 20~120mm(この範囲でソフトウェアが最適化) 発売時期 2016 接続 USB3.0 備考 近距離用.室内限定.
  9. 9. Intel RealSense R200 9 RGBカメラ 1080p@30fps デプスセンサ 640x480@60fps 方式 Stereo + Unstructured Light Projection 有効範囲 500~3500mm.野外は10M.400~2800mm(この範囲でソフ トウェアが最適化) 発売時期 2015 接続 USB3.0 備考 ステレオカメラ.
  10. 10. Intel RealSense ZR300 10 RGBカメラ 1080p@30fps デプスセンサ 640x480@60fps 方式 Stereo + Unstructured Light Projection 有効範囲 500~3500mm.野外は10M.400~2800mm(この範囲でソフ トウェアが最適化) 発売時期 2017 接続 USB3.0 備考 ステレオカメラ.ジャイロや加速度が取れる. Linux用.R200に比べてデプスカメラの水平画角大きい. 魚眼カメラ VGA 60fps
  11. 11. ZR300(おそらく)が搭載された単体で動 作するロボット用のキット Atom 無線通信 Intel RealSense Euclid 11
  12. 12. Xtion2 12 RGBカメラ 2592x1944@15fps, 1080p 30fps, 1280x720 60fps デプスセンサ 640x480@30fps 方式 Time of Flight 有効範囲 80mm~3500mm 発売時期 2017 接続 USB3.0.外部電源不要. 備考 OpenNI2.2で動作.
  13. 13. Intel RealSense 400 13 RGBカメラ N/A デプスセンサ N/A 方式 Stereo + Unstructured Light Projection 有効範囲 N/A 発売時期 2017(予定) 接続 USB3.0 備考 ステレオカメラ.R200の後継 ?
  14. 14. Structure Sensor 14 RGBカメラ N/A デプスセンサ 640x480@30fps, 320x240@60fps 方式 Light Coding 有効範囲 400mm~3500mm 発売時期 2014 接続 USB3.0 備考 iPad専用.iPadの内部カメラと連携する.室内限定.
  15. 15. ASUS Zenfone AR 15 RGB Camera Depth Sensor Tracking Camera Snapdragon 821 2.35GHz 4core 1000$ 2017/7 Google Project Tango
  16. 16. Lenovo Phab2 Pro 16 RGB Camera Depth Sensor Tracking Camera Chipset Qualcomm Snapdragon 652 for Tango 1.8GHz x 8core 500$ 2016/11 Google Project Tango
  17. 17. アプリケーションと SDK 17
  18. 18. Windows Kinect for Windows SDK 2.0 Intel RealSense SDK OpenNI:メンテナンス終了 Linux, MacOS OpenKinect: libfreenect, libfreenect2 librealsense(Windows用よりも機能が貧弱) STRUCTURE SDK OpenNI:メンテナンス終了 SDK一覧 18
  19. 19. RGB画像の取得 デプスマップの取得 IR画像の取得 ポイントクラウドの取得 カメラ間レジストレーション 出荷時にキャリブレーション済み 共通した基礎機能 19
  20. 20. C++,C# RGB,IR,デプスの取得,位置合わせ 人物スケルトン取得(最大6人まで同時) ハンドトラッキング,ハンドジェスチャ認識 顔認識・追跡 3Dスキャン Kinect Fusion 背景差分・クロマキー合成 Kinect for Windows SDK 20
  21. 21. Kinect Fusion 21 https://msdn.microsoft.com/en-us/library/dn188670.aspx
  22. 22. C++,C# RGB,IR,デプスの取得,位置合わせ リアルタイムエンコーダ RGB:H.264イントラ(1/10程度の圧縮) Depth:Lempel-Ziv-Oberhumer(lzop)(1/2程度の圧縮) 条件:Intelのグラフィックス用のチップがついていること スケルトン,人物トラッキング 顔認識・追跡,パーツ認識 ハンドジェスチャ・ハンドジェスチャ認識 カーソル操作 3Dスキャン クロマキー合成 Intel RealSense SDK 22
  23. 23. 3次元モデリング,3Dスキャン リフォーカス セグメンテーション ジェスチャー認識 物体認識・人認識・顔認識 リアルタイム3Dスキャン・自由視点映像 複数台必要 キャリブレーション必須 アプリケーション 23
  24. 24. 24 複数台環境
  25. 25. センサ内・間キャリブレーション 25 センサ間の距離が近いため,キャリブ レーションの精度はそれなりで良い. センサ間距離が広いため,高いキャ リブレーション精度が要求される. チェスボードを使った キャリブレーション(OpenCV) • stereoCalibrate 関数 • センサ間のキャリブレーション • calibrateCamera 関数 • カメラ単体のキャリブレーション カメラ自身のキャリブ レーションも必要
  26. 26. センサ間キャリブレーション 26 RとTの推定 IR画像を使えば多視点カメラの キャリブレーションで可能. IR画像のプロジェクション誤差は 最小化されているのに,取得され たデプスによる投影が合わない. なぜ? IRカメラの出荷時キャリブレー ションで得たZ値を出した時の座標 系とセンサ間キャリブレーション 時の座標系が違うから. 被写体
  27. 27. センサ間キャリブレーション 27 被写体 内部パラメータキャリブ レーション時の座標系 RとTの推定 提供されているマッピング関数の内 部パラメータとキャリブレーション 時の内部パラメータが違う. IR画像からzに変換するときの式が 出荷時のキャリブレーションにあわ されているため? リバースエンジニアリングも完全で はないため詳細は不明. センサ間キャリブ レーションの座標系 ToFのZ値の 座標系
  28. 28. センサ内キャリブレーション チェスボードを使ったキャリブレーション RGBカメラ,IRカメラの内部キャリブレーション RGB-IR間の外部キャリブレーション センサ間キャリブレーション チェスボードを使ったキャリブレーション 歪補正済みのIR画像を使用 ICPを使ったキャリブレーション ポイントクラウド(RGB-Dのデータ)を使用 キャリブレーション手法 28
  29. 29. センサとキャリブレーション結果のずれ 29 y = 0.9914x + 3.4665 1000.0 1500.0 2000.0 2500.0 1000 1500 2000 2500 キャリブレーションのZ値[mm] センサのZ値 [mm] オフセットと定数倍のずれ
  30. 30. ICPを使った外部キャリブレーション Iterative Closest Point(ICP) • 点集合マッチングの代表的な手法 • Point Cloud Library(PCL)を使って実装 異なる視点で取得されたポイントクラウド間で レジストレーションを行い, 𝑹と𝑻を推定 • 対応がない点であるアウトライヤ多いと動作しない ため,合わせるためにはトリミングが必須 • 初期値が大きく外れていると収束しないため妥当な 初期値を与える必要 センサ間キャリブレーションの改善 30
  31. 31. チェスボードによるキャリブレーションと 凹凸パターン(ICP)を使った手法を比較 センサ間キャリブレーション環境 31 Kinect1 Kinect2 チェスボード もしくは 平面凹凸パターン 2m 2m 𝑹 , 𝑻 被写 体
  32. 32. 𝑹と𝑻の推定(Z補正無し) 31 KINECTの座標系における外部パラ メータ行列𝑴 𝑴 = 𝑹 𝑻 𝟎 1 = 0.04 −0.02 −0.99 2.08 0.07 0.99 −0.01 0.13 0.99 −0.07 −0.04 1.91 0 0 0 1 三次元モデリング結果.
  33. 33. 𝑹と𝑻の推定(Z補正有り) 31 KINECTの座標系における外部パラ メータ行列𝑴 𝑴 = 𝑹 𝑻 𝟎 1 = 0.04 −0.02 −0.99 2.08 0.07 0.99 −0.01 0.13 0.99 −0.07 −0.04 1.91 0 0 0 1 三次元モデリング結果.
  34. 34. 𝑹と𝑻の推定(ICP) 31 KINECTの座標系における外部パラ メータ行列𝑴 𝑴 = 𝑹 𝑻 𝟎 1 = 0.01 −0.02 −0.99 2.05 0.08 0.99 −0.02 0.13 0.99 −0.08 0.01 1.97 0 0 0 1 三次元モデリング結果.
  35. 35. ToFの干渉 35 干渉無し 干渉有り 干渉があるため,できるだけ角度を開けて取るほうが良いが,角度を開けると キャリブレーションが難しくなる.ToFやStructure Light方式は本質的にはマルチ デバイスによる取得は推奨されない.複数台のためには,パターンプロジェク ション+IRステレオがいい.
  36. 36. 複数台の接続 36 USB3.0 10GbE RGB: JPEG 8bit Depth: LZ4 16bit Clients Server Imaged decode (CPU) Rendering (GPU) 10GbE Hub Kinect V2(s) infiniband で接続して非圧縮通信でも可
  37. 37. デプスマップの精度 37
  38. 38. 取得デプスマップの問題点 (1/2) 38 取得不能オクルージョン ざらつき 輪郭の不一致アウトライヤ Kinectによる取得 ステレオマッチングによる取得
  39. 39. 取得デプスマップの問題点 (1/2) 39 ToFの特徴 • オクルージョンはない • 小さなホールが多数生じる • 干渉から,中間値が生じてフ ライングピクセルができる • 周辺の画素の推定精度が低い • 反射する物体では推定が不安 定
  40. 40. デプスのざらつき 40
  41. 41. 輪郭の不一致 41 デプス RGB デプスへRGBをアルファブレンドした結果. 輪郭の不一致が見られる.
  42. 42. フライングピクセル 42
  43. 43. レジストレーションとオクルージョン 43 デプスセンサは,RGBカメラ とデプス取得用のセンサと位 置がずれるため,RGBDにす るには,デプスをRGBへ飛ば す必要性.→その結果オク ルージョンが発生.
  44. 44. ToFやLight Codingで出てきた値をデコード したときに,おかしな値を除去 野外などで赤外線の値が取れない場合 複数台使った場合やその他の装置と干渉 アウトライヤ除去1 44
  45. 45. マッチングの安定度による評価 LRのマッチング一致 マッチングコストのピーク メディアンフィルタ スペックル除去 分散の評価 etc… アウトライヤ除去2 45 低基準 中基準 高基準
  46. 46. 有効画素率 全体の何%デプスが求まっているか? • 不安定な場所やオクルージョンを無効化 値域の精度 Zが何ミリ以内か? • 平滑化フィルタでスムージング・デノイジング 空間の精度 x,yのエッジの位置がRGBとあっているか? • RGB画像をガイドにしたフィルタによる復元 デプスマップの精度指標と対策 46
  47. 47. Structure Light,Light Coding 量子化が大きい. 量子化ステップがギリギリのところのエラーの揺らぎ が大きい. 平均的には誤差は小さい. オクルージョン領域は取得できない. ToF オクルージョンに影響されない. 温度に影響される. 両方 光センサを使うイメージング装置だから,光学中心の ずれやレンズディストーションといったオプティカル ディストーションは避けられない. SL vs ToF 47
  48. 48. 精度比較 48 https://www.youtube.com/watch?v=FznorYFODCY
  49. 49. Kinect V1・V2の誤差平均,標準偏差 49 O. Wasenmüller and D. Stricker, Comparison of Kinect v1 and v2 Depth Images in Terms of Accuracy and Precision, Proc. ACCV2016.
  50. 50. Kinect V1の量子化誤差によるエラー 50
  51. 51. 温度変化による精度の変化 51 O. Wasenmüller and D. Stricker, Comparison of Kinect v1 and v2 Depth Images in Terms of Accuracy and Precision, Proc. ACCV2016. 温度によるドリフト SLのほうが低消費電力.ToFはアクティブに空冷しないとだめ. V1は起動直後は安定しない.
  52. 52. ToFのデコード方法の改善 52 Felix Järemo Lawin, Per-Erik Forssén, Hannes Ovrén, Efficient Multi-Frequency Phase Unwrapping using Kernel Density Estimation, ECCV 2016. OpenKinectを使ってRAWデータからToFのデコード方法を実装している.
  53. 53. デプスマップのデータセットのリンク集 Michael Firman, “RGBD Datasets: Past, Present and Future,” in Proc. CVPR Workshops, 2016. http://www0.cs.ucl.ac.uk/staff/M.Firman/RG BDdatasets/ デプスマップのデータセット 53
  54. 54. フィルタリング 54
  55. 55. 目的 アウトライヤを除去すること 凸凹を平滑化すること エッジの位置を補正すること 空欄を埋めること 使用フィルタ一覧 アウトライヤ除去のフィルタ エッジ保存平滑化フィルタ • 平均化フィルタ • 統計値ベースのフィルタ ガイド付きエッジ保存平滑化フィルタ フィルタの役割 55
  56. 56. 孤立点の除去・補間 4近傍,8近傍など,周囲から完全に浮いている 画素を除去 アウトライヤ判定されているかつ4近傍,8近傍 の画像が埋まっているなら線形補間 メディアンフィルタでも可.ただし,正しい場 所も修正 アウトライヤ除去 (1/2) 56
  57. 57. 中間値の除去 ショックフィルタベースの処理 erode, dilate後の値との差分で閾値処理するこ とで中間値を フライングピクセル対策 アウトライヤ除去 (2/2) 57 信号 中間値を閾値等で除去 周辺の最大値 周辺の最小値
  58. 58. 大きなエッジを保存しながら平滑化する フィルタ バイラテラルフィルタなど デプスマップの揺らぎを抑える エッジ保存平滑化フィルタ 58 入力 ガウシアン バイラテラル
  59. 59. 一般的な重み付き平均フィルタ 59 バイラテラルフィルタの場合
  60. 60. バイラテラルフィルタ outputinput x 画素ごとにカーネルのウェイトが異なる • 中心の色に近いほど高い重み:値域ガウシアン • 中心の位置に近いほど高い重み:空間ガウシアン C. Tomasi, and M. Roberto, "Bilateral filtering for gray and color images," ICCV1998.
  61. 61. Gaussian Smoothing * * * input output Same Gaussian kernel everywhere Averages across edges ⇒ blur Slides taken from Sylvain Paris, Siggraph 2007
  62. 62. Bilateral Filtering * * * input output Kernel shape depends on image content Avoids averaging across edges Slides taken from Sylvain Paris, Siggraph 2007
  63. 63. デプスマップは,遠くに行くほどノイズレ ベルが大きい. デプスが大きいほど,平滑化の度合いを上 げれば良い. パラメータをアダプティブに 63
  64. 64. アダプティブにフィルタリングすると計算コ ストが大幅に上昇するため,できれば非アダプ ティブで処理したい デプスマップをディスパリティマップにすれ ば,ノイズが多き場所の信号が小さくなって, 各信号のノイズレベルが平坦化 その上で,普通のバイラテラルフィルタをか けるとパラメータを可変にしなくてもそれなり にフィルタ可能 アダプティブにしないために 64
  65. 65. 色に関する重み計算を別の画像で行うエッ ジ保存平滑化フィルタ 別の画像の特性を転写 バイラテラルフィルタ → ジョイントバイラテラルフィルタ ガイド付きフィルタへの拡張 65
  66. 66. ジョイントバイラテラルフィルタ 66 ジョイント バイラテラル フィルタ RGB画像の輪郭情報をデプスに転 写することによりデプスマップ の輪郭を補正
  67. 67. 平均化フィルタでは若干のボケは免れない フライングピクセルの生成 ジョイントバイラテラルの限界 67
  68. 68. 補正デプスを使ったレンダリング 68
  69. 69. 画素を混ぜないためのフィルタが必要 メディアンフィルタ Weighted Median Filter,Weighted Mode Filter バイラテラルフィルタの重みを考慮したメディ アンフィルタ,最頻値フィルタ 統計値フィルタのバイラテラルフィルタ拡張 統計値ベースのフィルタ 69
  70. 70. 補正デプスを使ったレンダリング 70
  71. 71. 繰り返しフィルタによる復元 71
  72. 72. インペインティング処理 重み付き(信頼度付き)のフィルタにより 実装可能 欠損値の信頼度を0にしてフィルタするこ とで欠損値を無視してフィルタすることで 穴の値を埋める 穴埋め 72
  73. 73. 大きな領域の穴埋めはかなり難しい Kinect V1などの大きな領域の欠損は撮影しな おしや時系列の情報を使って補間したほうがい いことが多い 再計測可能なら再計測したほうが絶対によい 輪郭補正と同時にやってもOK 輪郭のあいまいな部分の信頼度を低くして 輪郭補正の精度を高めることもできる 備考:穴埋め 73
  74. 74. 穴埋め・輪郭補正結果 74
  75. 75. 右のように定式化す れば,重み付きのフィ ルタとして実装しなく ても通常の実装のフィ ルタ使用可能 ただし計算コストが2 倍以上 実装を作り直さない場合 75
  76. 76. 3次元モデリング モデリングの精度向上 リフォーカシング 輪郭とデプスの不一致から,輪郭のフォーカス外れておかし な画像になるのを防ぐ 合成・切り出し きれいな切り出し,マッティングのためには輪郭の精度が もっとも重要 デノイジング フォーカスの当たり方でノイズ量がちがうため,デプスを参 照してデノイジング可能 ICPの精度向上 法線ベクトル安定化してpoint to plane, plane to planeのICP の精度が向上 応用先 76
  77. 77. ガイド画像つきフィルタの組み合わせはデ プスマップだけではなく,そのほかの組み 合わせで色々な応用可能 デプスマップ × RGB画像 デプスマップ × IR画像 動きベクトル × IR画像 セグメンテーション × RGB画像 RGB画像 × IR画像 RGB画像 × RGB画像 (フラッシュ,フォーカス,ISO,絞り) ガイド・画像の組み合わせ 77
  78. 78. デュアルカメラスマホ 78 iPhone 7 Plus HUAWEI P9/Mata9/ P10 Honor 8 Pro LG V20/G6 Xiaomi Mi5S PlusZTE Nubai Z17mini/V8 Asus Zenfone 3 Zoom
  79. 79. フラッシュ・ノンフラッシュフォトグラフィ フラッシュ画像  光源の変化→影の消失  色合いが不自然  コントラストがはっきり  ノイズが少ない 「フラッシュを焚いて撮影した写真と 焚かずに取った写真を計算して統合する方法」 ノンフラッシュ画像  色合いが自然  影が正しく撮影  コントラストが曖昧  ノイズが多い
  80. 80. 色温度高,影つき,ノイズ大
  81. 81. 色温度低,影無し,ノイズ小
  82. 82. フラッシュノンフラッシュ統合
  83. 83. Joint Bilateral Upsampling 83 高解像度の色情報をガイド にして補間する値を決定
  84. 84. フィルタリングによるデプスマップ改善に 関する参考文献 福嶋研の博士論文:松尾琢也, "ジョイントフィ ルタによる高効率な奥行き推定に関する研究 参考文献 84
  85. 85. 高速化 85
  86. 86. 改善には複数のポストフィルタが必要 →計算量が増加 以下の側面から改善可能 アルゴリズム コンパイラ・ハードウェア デプスマップ改善の問題 86
  87. 87. 様々な高速化アルゴリズムが提案 Compressive Bilateral Filter • K. Sugimoto and S. I. Kamata, "Compressive Bilateral Filtering," in IEEE Transactions on Image Processing, vol. 24, no. 11, pp. 3357-3369, Nov. 2015. • グレイスケールかつVGAなら,10ms程度で任意の フィルタカーネルサイズで計算可能(しかもCPU) 乱択バイラテラルフィルタ • 藤田秀, 木村誠, 福嶋慶繁, "乱択化バイラテラルフィルタ による高速エッジ保持平滑化," 情報処理学会コンピュー タビジョンとイメージメディア研究会(CVIM), Jan.2016. • 乱数を使ってフィルタリングを間引くことで簡単に高速 化.カラーでも高速化可能. エッジ保存平滑化フィルタの高速化 87
  88. 88. Weighted joint bilateral filter with slope depth compensation filter for depth map refinement," in Proc. The 8th International Conference on Computer Vision Theory and Applications (VISAPP), Feb. 2013. 重み付きバイラテラルフィルタ出力と近傍の値へ の置き換えをすることで最頻値フィルタの近似を する Zhang, Qi, Li Xu, and Jiaya Jia. "100+ times faster weighted median filter (WMF)." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014. WMFの近似高速化アルゴリズム.上の処理のほう がだいぶはやい. 最頻値フィルタの高速化 88
  89. 89. ノンローカルミーンフィルタ デノイジングフィルタ.バイラテラルフィルタではどうしてもノ イズが抑えられなかったらこれ BM3D 最高峰のデノイジングフィルタ.デプスマップのデノイズには, これほどの処理はいらない guided filter ボックスフィルタを組み合わせることで,ガイド画像を線形当て はめした出力(局所線形性)を出力 domain transform filter エッジ保存可能なIIRフィルタ.最も高速に動作するが,ノイズに 弱い Fast Global Smoother Filter 全画像をフィルタリングカーネルの対象にしたフィルタの近似高 速化.穴埋めにはこのフィルタのほうが強い その他のエッジ保存平滑化フィルタ 89
  90. 90. OpenCV デファクトスタンダート画像処理ライブラリ imgproc, photo, ximgproc, xphotoモジュールに 紹介したフィルタが実装されている OpenCP 福嶋が作ったエッジ保存平滑化フィルタ等を公 開したライブラリ https://github.com/norishigefukushima/OpenC P AVXに対応作業が進行中 実装 90
  91. 91. 現代の計算機は並列化だけではない! もちろん並列化は重要 並列化が不可能になる高速化アルゴリズムは結局 遅くなる ベクトル演算ユニットの活用 ベクトル長の増加 ベクトルアドレッシング→LUTの活用 除算・exp・sqrtなど重い計算しない→ベクトル計 算命令 画像処理はメモリに律速 ラスタスキャン順が最速とは限らない計算順序を 考えて遠いメモリからの操作を最小に 高速実装 91
  92. 92. ドメイン固有言語:Domain Specific Language(DSL) 何かに特化した専用プログラミング言語 画像処理専用DSL Halide (http://halide-lang.org/) Darkroom (http://darkroom-lang.org/) Forma (https://github.com/NVIDIA/Forma) など,近年多数登場. 高速な実装・コンパイラ 92
  93. 93. 特徴 C++に組み込む形で使う関数型プログラミング 言語 SSE,ARM, Cuda, OpenCLに主力可能 画像処理プログラムを並列化・ベクトル化済み のコードとして出力 畳み込み1回の処理ではなくて画像処理全体の 画像・行列を何度も操作する操作を最適化可能 OpenCVのディープラーニング用のモジュール に搭載 Halide (1/3) 93
  94. 94. 3x3ボックスフィルタの例 タイリング,ベクトル化,並列化のありとあら ゆるパターンが簡単に記述できるため限界まで 簡単にコードが最適化可能 指定したとおりのC++コードを自動生成 Halide (2/3) 94
  95. 95. Halide (3/3) 95 このコードと同じ命令が生成される! Halideチュートリアルのスライドより
  96. 96. 様々なデプスセンサが登場 Light Coding, Time of Flight, Stereo + Unstructured Light, Stereo センサは方式により精度,誤差の乗り方が 違う デプスマップのフィルタリングによる改善 方法,その高速化方法を紹介 謝辞:本研究はJSPS 科研費JP17H01764 の助成を受けた. まとめ 96

×