2018 Fiscal Year Annual Research Report
Systematization of image processing by programming design pattern and design of domain specific programming language for image processing
Project/Area Number |
17H01764
|
Research Institution | Nagoya Institute of Technology |
Principal Investigator |
福嶋 慶繁 名古屋工業大学, 工学(系)研究科(研究院), 准教授 (80550508)
|
Co-Investigator(Kenkyū-buntansha) |
津邑 公暁 名古屋工業大学, 工学(系)研究科(研究院), 准教授 (00335233)
杉本 憲治郎 早稲田大学, 理工学術院(情報生産システム研究科・センター), 講師(任期付) (00773483)
|
Project Period (FY) |
2017-04-01 – 2020-03-31
|
Keywords | 画像処理 / 高能率計算 / 並列計算 / デザインパターン / ドメイン固有言語 / フィルタ / 画像処理コンパイラ / ハードウェアアクセラレーション |
Outline of Annual Research Achievements |
計算機環境が複雑化している中,高度に最適化された機械語を得るためには,分野ごとに特化した専用プログラミング言語が必要不可欠である.しかし,最新の画像処理専用プログラミング言語でも,局所的な最適化しかできず,アルゴリズム全体の最適化は未だできない.加えて,網羅的なプログラミングパターンを考慮しているとは言えない. そこで,本研究では,画像処理研究をプログラミングのデザインパターンという新たな観点から体系化することで,この問題にアプローチする.そして,専用プログラミング言語にデザインパターンを指示する機能を与えることで,全体を見通す機能を獲得させ,この問題を解決する.これは,画像処理の高速化,アルゴリズム,計算機アーキテクチャの専門化が協力することで初めて達成される独創的な研究であり,また,プログラミングによる計算処理の学術的な体系化という方法も他の隣接分野にも波及するためこの意義は大きい. 今年度は,バイラテラルフィルタのベクトル化のパターン化,FIRフィルタのランダムサンプリングを伴うFIRフィルタの並列化・ベクトル化のパターン化,IIRフィルタの効率的な計算スケジューリングのパターン化,周波数フィルタリングであるDCTを用いたフィルタのパターン化を行い,そのアプリケーションとなるガイデットフィルタのCPU,FPGAの高効率化実装や,プログラミング言語拡張による効率的な記述を実現した.加えて,高効率なアップサンプリング方法の実現も行った.また,GPU向けへのバイラテラルフィルタの実現や,その高次元信号への応用も行った.DCTフィルタリングに関しては,一般的な定式化を行うとともに,特殊な条件下では高速化可能であることを示し,それに応じたパターンを構築した.またハードウェアに関するデータIOに関する検証も行った.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
画像処理の基本となるFIRフィルタ,IIRフィルタ,周波数フィルタについて様々なパターンの検証を行った.各フィルタは画像処理を構築するうえで中もっとも計算コストやメモリIOが多くなり効率的なプログラミングの中で支配的な影響を持つ.このパターン化が十分できれば多くの手法の高速化パターンが明らかになる. まず,FIRフィルタについては,様々な重み計算の方法,サンプリング間引きがある場合を考慮してメモリのロードから並列計算,ベクトル計算がどのように実現可能かを網羅的に明らかにした.また,IIRフィルタについては,主要なフィルタであるガウシアンフィルタや移動平均フィルタについて様々な実装を行い,メモリIO,ベクトル化効率,並列化効率などを明らかにした.そのほかにも様々なIIRフィルタについて検証した.また,周波数フィルタリングでは,画像全体への周波数フィルタリングと短時間周波数フィルタリングの双方を評価した. これらを明らかにするとともに,そのアプリケーションの実現も各種行った.例えばガイデットフィルタは,FIRフィルタ,IIRフィルタを組み合わせて長い画像処理パイプラインをつなぐフィルタであり,その効率的な実装パターンの組み合わせは非常に多い.その中でも効率的なパターンを発見するために上記の知見を用い,加えてプログラミング言語として実現することでCPU向けやFPGA向けの実装を行った. 他にも,GPU向けのIIRフィルタやFIRフィルタの実現や,3次元ボリュームデータに対する拡張等,様々な用途を考慮した検証を行うことができた. これらに加えて,色変換による汎用的な情報削減による高速化手法のなど,パターン化を行うことで,多くの発見がされている.
|
Strategy for Future Research Activity |
最終年度では,パターン化したFIRフィルタや,IIRフィルタ,周波数フィルタに加えてダウンサンプリング,アップサンプリング,ポイントオペレータ,カラーフィルタリングなどを踏まえて検討する.上記3つは画像処理のボトルネックとなる処理であり,後述した処理は,上記の3つの処理に画像処理として演算の密結合が可能であることが多い.その場合,データIOが支配的な画像処理においては軽微なコスト増だけで済む.まずは,そのような結合パターンを明らかにする.加えて,これらのパターンを結合するための汎用的な計算フレームワークやそのコンパイラ拡張を実装する. また,データIOを効率化するためにはタイリング処理が重要であり,この処理を行うことで,並列化効率とベクトル化効率,キャッシュ効率,演算量の関係が変わる.例えば,フィルタ単体の局所的な並列化ではなく,画像処理パイプラインをタイル単位で並列化にすることで, 演算量は増えるが,キャッシュ効率,ベクトル化効率等の向上が可能となる.これらの影響も踏まえて検討を進める. また,検証するためにいくつかの画像処理アプリケーションを実装し,本研究であきらかになったパターンが,実際にどれくらいの効率が向上したかを置きらかにする.アプリケーションの対象としては,比較的長い画像処理パイプラインとなる定数時間バイラテラルフィルタや,ディープラーニングなどの畳み込みネットワーク,ステレオマッチングや動きベクトル推定といった処理を本研究で発見したパターンにより構築する.
|
Research Products
(48 results)