• 検索結果がありません。

複数の GPU を用いた超高速進化的画像処理システム

N/A
N/A
Protected

Academic year: 2021

シェア "複数の GPU を用いた超高速進化的画像処理システム"

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). 複数の GPU を用いた超高速進化的画像処理システム 安. 藤. 淳†1. 長. 尾. 智. 晴†1. 1. は じ め に 近年,画像処理・認識は多くの問題で必要とされているが,取り扱う問題に強く依存して いることが多く,対象ごとに逐一画像処理を構築するのは非常に困難で手間がかかる.ま た,医用画像処理など,専門的知識が必要な場合も多い. そこで,これらの問題を解決するために様々な手法が提案されている.筆者らは先に,あら. 筆者らは先に,数種類の画像処理フィルタの適用順序および総数を遺伝的プログラ ミング(GP; Genetic Programming)によって最適化することで目的の画像処理を 自動構築する方式を提案した.これを木構造状画像変換自動生成システム(ACTIT; Automatic Construction of Tree-structural Image Transformation)と呼ぶ.し かし,画像のサイズや枚数が大きい場合には膨大な計算時間を要しており,その高 速化が必要となっていた.一方,汎用グラフィックスボードに搭載されている GPU (Graphics Processing Unit)において,処理の一部をプログラミングによって自由 に書き換えることが可能となったことから,GPU を汎用計算に活用する研究が最近 注目されている.そこで本論文では ACTIT の画像処理フィルタを GPU 上で実装し, 処理の高速化を行う.元来並列性が高い画像処理に GPU を適用することは非常に有 効である.. Fast Evolutionary Image Processing Using Multi-GPUs Jun Ando†1 and Tomoharu Nagao†1 We have already proposed the system which automatically constructs image processing with Genetic Programming (GP), Automatic Construction of Tree-structural Image Transformation (ACTIT). However, these complex image processing systems require much computing time because the problem uses large and many images. On the other hand, as we know simple computational power of Graphics Processing Unit (GPU) has been already superior to that of Central Processing Unit (CPU). So presently, the research which employs GPU for the general purpose of calculating becomes popular. In this paper, we propose a fast evolutionary image processing system on multiple GPUs. We employ GPU to ACTIT for the purpose of reducing optimization time. Besides, the system effectively calculates in parallel with multiple GPUs for the fast processing. The optimization speed of the proposed system is several hundred times faster than that of the ordinary ACTIT.. かじめ数種類の画像処理フィルタを用意し,そのフィルタの適用順序および総数を遺伝的プ ログラミング(GP; Genetic Programming)1) によって最適化することで目的の処理を近似 する方式を提案した.この方式は木構造状画像変換自動生成システム(ACTIT; Automatic. Construction of Tree-structural Image Transformation)2) と呼ばれ,これまでに様々な問 題に適用され,その有効性が示されている.しかしながら,学習用の画像のサイズや枚数が 大きい場合などは膨大な計算時間を要しており,その高速化が必要となっていた. 一般に処理の高速化手法として,高速なハードウェア上での実装や複数のプロセッサを 用いた並列処理などが考えられるが,近年安価で取り扱いやすい汎用グラフィックスボード に搭載されている GPU(Graphics Processing Unit)を汎用計算に活用する研究3),4) が注 目されている.その中で GPU を進化計算法に適用した研究例がいくつか報告されている.. Fok ら5) は並列進化的アルゴリズムを汎用グラフィックスボード上で実装し,GPU 上で数式 の評価を行った.Harding ら6) ,Chitty 7) はいくつかのテスト問題や実問題において,GP の個体の評価値計算を GPU 上で行い,最大で数百倍に処理を高速化した.しかし,これら の例では GPU の適用部として,簡単な評価値計算に用いられているだけであり,大幅な計 算時間の削減には至っていない. これらに対して本論文では評価値計算に時間のかかる進化的画像処理に GPU を適用する ことで実用上計算不可能だったものが可能となることを示す.さらに複数の GPU を用いて 効率的に高速化するための方法を提案し,試作した超高速進化的画像処理システムの実験結 果について述べる. 本論文の構成は次のとおりである.まず 2 章では,ACTIT など従来手法に関する解説を 行い,3 章では提案手法である GPU を用いた画像処理システムについて述べる.4 章では, 並列化などシステムのさらなる高速化のために行ったことについて述べる.5 章では,提案 手法による実験・考察を行い,提案手法の有効性を示す.最後に 6 章で結論について述べる.. †1 横浜国立大学大学院環境情報学府 Graduate School of Environment and Information Sciences, Yokohama National University. 113. c 2009 Information Processing Society of Japan .

(2) 114. 複数の GPU を用いた超高速進化的画像処理システム. 2. 本研究に関連する従来研究. 題がある.このため,親個体集合の全部分木構造とその計算結果の画像をあらかじめ計算・. 2.1 ACTIT. とによって計算コストを削減する手法9) や PC(Personal Computer)クラスタを用いた処. ACTIT は遺伝的プログラミングを画像処理に適用した研究の 1 つである.この手法では,. 理の並列化によって効率的に処理を高速化する手法10) などが提案されている.. 保存しておき,子個体集合の計算を行う際に,保存しておいた計算結果の画像を参照するこ. 1 つあるいは複数の入力画像から 1 つの出力画像への変換を,あらかじめ用意した数種類の. 2.2 General Purpose GPU. 画像処理フィルタを任意の形の木構造に組み合わせることによって実現する.. ストリームプロセッサの一種である GPU の処理能力は近年飛躍的に増大し,単純な演. 図 1 に ACTIT システムの処理過程を示す.まず,処理対象となる原画像,それらに対. 算性能においてすでに CPU(Central Processing Unit)を上回っている.また,従来の. する理想的な画像処理の結果である目標画像,必要に応じて,適応度評価の重みをその階調. GPU は座標変換やレンダリングなどのグラフィックス処理を高速に実行する機能しか持っ. 値の大きさで表現した重み画像を教師画像セットとして用意する.次に,GP による木構造. ていなかったが,最近の GPU は,より複雑な処理を行うために,グラフィックスパイプラ. 状画像変換の最適化を行って,出力として最大適応度を持つ木構造状画像変換を得る.そし. インの一部をプログラミングによって自由に書き換えることが可能となっている.さらに,. て,生成された木構造状画像変換が教師画像セットと同様な特徴を持つ未知画像群に対して. Cg(C for graphics),HLSL(High Level Shader Language)といった高級シェーダ言語,. も有効であることを期待する.ACTIT はこれまでに 2 次元欠陥抽出画像処理や 3 次元医用. Sh,Scout,Brook 11) といった GPU プログラミング専用の言語の登場によって,GPU プ. 画像処理. 8). など,様々な問題に適用され,その有効性が示されている.. しかし,ACTIT では木構造状画像変換の生成とその画像変換・適応度計算が繰り返され るため,扱う教師画像のサイズや枚数が大きい場合などは膨大な計算時間を要するという問. ログラミングの環境は整えられてきている.そこで現在,GPU をグラフィックス処理以外 の汎用目的に活用する,GPGPU(General Purpose GPU)3),4) が注目を集めている. 図 2 に,最近の CPU と GPU の性能向上について示す.以前は,主要な演算プロセッサ といえば CPU を指していたが,ここ数年では,単純な単位時間あたりの演算性能ではすで. 図 1 ACTIT システムの処理過程 Fig. 1 The processing flow of ACTIT system.. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). 図 2 近年の CPU と GPU の性能向上 Fig. 2 The computational power of CPU and GPU in recent years.. c 2009 Information Processing Society of Japan .

(3) 115. 複数の GPU を用いた超高速進化的画像処理システム. に GPU が CPU を凌駕している.また,性能向上率についても同様で,GPU が CPU を 上回っている. しかし,GPU は元来グラフィックス処理を行うためのプロセッサであるため,基本的な 処理系がグラフィックス専用に特化されてしまっている.GPU は並列データ処理を得意と しており非常に高速に処理を実行できるが,メモリのランダムアクセスを必要とするよう な処理や C 言語における if 文のような条件分岐処理は苦手としている.つまり,現時点の. GPGPU 向きのアプリケーションとしては • 巨大なデータを扱う, • 各データを独立に処理できる, • 高い並列性を持って処理できる, といった 3 つの要素を満たしているものが適している.これらのことから比較的大きく,か つ分割しやすいデータを扱う画像処理は GPGPU に向いているのではないかと考えられる.. 2.3 進化計算法における並列モデル GA(Genetic Algorithm)12),13) ・GP の並列処理については,様々な研究が行われてい る14),15) .GA・GP の主要な並列化モデルとして Island モデルと Master-Slave モデルが ある.. Island モデルでは,GA・GP における個体集合をいくつかの部分集合に分割し,それぞ. 図 3 GPU を用いた ACTIT Fig. 3 GPU-ACTIT.. れを進化させながら随時部分的な入れ替えを行うことによって解の質の改善を図る方式で 算コストが高い画像変換・適応度計算は GPU 側で行う.. ある.. Master-Slave モデルは GA を最適化計算などに応用する際,適応度関数の評価だけを並. 図 3 に GPU を用いた ACTIT の処理過程を示す.最初に,GPU の初期化処理として教. 列化することによって高速化を図るものである.Master-Slave モデルは一般的に,1 台の. 師画像セットのロード,GPU 用に記述された画像処理フィルタのコンパイル,ロードを行っ. 管理ノードと複数台の計算ノードから構成される.そして,GA・GP を最適化計算に用い. ておく.ここで,GPU では画像の 4 つの要素(R: Red,G: Green,B: Blue,A: Alpha). た際,選択・交叉・突然変異などの遺伝的操作はすべて管理ノードが行い,最も計算負荷の. に対して同時に演算処理を行うことができるため,それぞれの要素に 1 セットの教師画像. 高い部分である適応度関数の評価を計算ノードに分配することによって並列化を行う.この. セット(合計 4 セット)を割り当てることとする.画像変換・適応度計算部では,GPU が. 手法は 1 回の適応度関数の評価に要する計算量が多い場合に効果的である.. CPU から指定された木構造のフィルタ列の並び順に従って原画像に画像処理フィルタを適. 3. 超高速進化的画像処理システム. 用していく.そして,得られた出力画像と目標画像の差の絶対値に重み画像を乗じることで. 3.1 GPU の適用. 代の間で更新する個体数分繰り返した後,保存しておいた適応度だけをまとめて CPU に. GPU は大量の入力データそれぞれに対して,単純で高密度な演算を施して出力するよう. 返す.結果として 1 世代の間における CPU と GPU の情報のやりとりは適用する画像処理. 適応度を計算して,出力用に用意したテクスチャメモリに保存する.それらの処理を 1 世. な処理を得意としている.そこで本システムでは,GP の選択・交叉・突然変異などの世代. フィルタの指定と適応度だけとなる.このように学習過程における CPU-GPU 間のデータ. 交代・遺伝的操作は従来の ACTIT と同様に CPU 側で行い,単調な繰返し処理であるが計. の通信回数を極力少なくすることによって,さらなる処理の高速化を図っている.. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). c 2009 Information Processing Society of Japan .

(4) 116. 複数の GPU を用いた超高速進化的画像処理システム. しきい値とする 2 値化フィルタを例として示す.画像全体の平均階調値は画像中の全画素 を平均して求めることができるが,GPU 上で実装する際には parallel reduction 3) を行い, 注目画素と近傍の画素の平均値を求める処理を繰り返し,並列的に計算することで処理の高 速化を行っている.注目画素と近傍の画素の平均値を求めるという処理のパスを数回行った 後,最後に元画像の各画素と求めた平均階調値の比較処理を行うことによって出力画像が得 られる.. GPU は CPU とは異なるアーキテクチャを持っており,CPU にはない仕様・制限があ る.そのため,CPU 用に記述されたプログラムをそのまま GPU に適用することはできな い.特に問題となる点は,GPU が条件分岐を苦手としていることと,前後のデータ処理に 依存した処理は行えないことである.そこで本研究では,注目画素,およびその近傍画素の 積和演算などを中心とした,GPU の処理系に適合させ,実装することができる比較的単純 な画像処理フィルタだけを用いている.. 3.3 従来手法との相違点 ここでは本システムと従来手法との相違点を述べる.GPU を進化計算法に適用した研究 例はいくつか報告されているが,それらはいずれも GPU の適用部として簡単な評価値計算 に用いられているだけであり,大幅な計算時間の削減には至っていない.または,関数同定 問題などにおいて評価計算の対象となる,GP の木構造で表された数式の長さや数を非常に 図 4 平均階調値による二値化 Fig. 4 Binarization filter (mean value).. 大きくすることによって,GPU の並列計算能力を有効活用できるようにし,処理の高速化 を行っている.これらに対して扱う画像のサイズや枚数が大きく,評価値計算に時間のかか る進化的画像処理に GPU を適用することは非常に理に適っている.従来の ACTIT では最. 3.2 GPU 上での画像処理フィルタの実装. 適化時間の問題でテスト画像による評価にとどまっていたが,本システムでは産業界で使わ. GPU 上での画像処理フィルタの実装方法について次に述べる.まず,シェーダ言語によっ. れている実用上の画像に進化的画像処理を適用することが可能となる.. て記述されたフラグメントプログラムのソースを準備する.フラグメントプログラムとは 画像の各画素ごとに実行されるプログラムであり,C 言語では for 文などを用いて配列の各. 4. 複数の GPU を用いた並列化. データに行う何らかの処理がそれに対応する.また,GPU が内部に持つテクスチャメモリ. システムのさらなる高速化のために複数の GPU を用いた ACTIT の並列化を行う.複. が C 言語における配列に対応しており,入力画像が記録されたテクスチャと実行するフラグ. 数の GPU を用いた並列環境としては複数の GPU を搭載した PC1 台を用いる構成や 1 基. メントプログラムを選択して,レンダリング(描画)を行うことによって演算処理を呼び出. の GPU を搭載した PC 複数台を用いる構成などが考えられる.前者の構成では 1 台の PC. すことができる.この際,レンダリング先をテクスチャに設定することによって,データの. の内部で並列化を行うため,コストやノード間の通信時間が削減できる点で優れているが,. フィードバックを行う.これら一連の処理を 1 パスと定義すると,GPU を用いた ACTIT. ハードウェア上の制約によって 1 台の PC に搭載できる GPU の数が限られてしまう.そこ. で使用する画像処理フィルタは 1 パスまたは複数パスの組合せで実装される. 図 4 に本システムで実装した画像処理フィルタの 1 つである,画像全体の平均階調値を. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). で,本研究では後者の構成を用い,汎用のグラフィックスボードが搭載された汎用の PC 複 数台を用いて並列システムを構築する.. c 2009 Information Processing Society of Japan .

(5) 117. 複数の GPU を用いた超高速進化的画像処理システム. 並列化によってどれだけ高速化することができるのかを決める要因は計算ノード数とシス テム全体における並列化可能部分の割合である.ここで ACTIT では並列処理が可能な画 像変換・適応度計算部が処理時間の大半を占める.このことから ACTIT を並列化すること は非常に有効であると考えられる.. 応度計算部が高速化されたため,相対的に通信時間の影響が増大する.そこで本研究では. Parallel-MGG を改良して通信時間の削減を図った. 図 5 にシステム全体の処理の流れについて示す.従来の Parallel-MGG モデルでは計算 ノードでの計算が終わった後,管理ノードに個体を返し,その後に次の世代の個体を計算. 並列計算を行うにあたり,並列性を妨げる要因として考えられるのはノード間の同期・. ノードに送っている.改良した Parallel-MGG モデルでは各ノードに待合室としてバッファ. 通信時間である.代表的な並列モデルである Master-Slave モデルでは個体を計算ノード. を設けて先に個体を待たせておき,計算が終わった後,すぐに次の個体の計算を始められる. へ送った後,すべての個体の適応度計算が終了するまで待つため,同期待ち時間が発生し. ようにすることで通信時間を削減し,効率的に並列処理を行う.. てしまう.そこで,同期時間を削減するために並列モデルとして Parallel-MGG. 10). を用い. る.Parallel-MGG では MGG(Minimal Generation Gap)16) による世代交代で各世代に. 5. 実. 験. 更新される個体群をそれぞれ複数のノードに割り当てて,並列に,非同期に適応度計算を行. 5.1 実 験 環 境. うモデルであるため,これによって同期時間を削減することができる.従来の ACTIT で. 従来の ACTIT,1∼4 基の GPU を用いた ACTIT で比較実験を行った.構築したシステ. は,全体の処理時間の中で並列化可能部分が占める割合が非常に大きいために通信時間は. ムは PC 複数台を LAN ネットワーク経由でつないだものである.実験に使用した PC の仕. ほぼ無視できる.しかし,GPU を用いた ACTIT では並列化可能部分である画像変換・適. 様は表 1 のとおりである.グラフィックスボードは NVIDIA GeForce 7900 GS を用いた. また,GPU のプログラミングを行うためにグラフィックス API として OpenGL を,シェー ダ言語として Cg を用いた. 画像処理フィルタは GPU 上で実装可能な単純なフィルタを 1 入力フィルタ,2 入力フィル タ合わせて 37 種類用いた.教師画像セットとして横 × 縦が 64 × 64∼1,024 × 1,024 [pixel2 ] のサイズを持つ細胞画像を用いた.また,画像の 4 つの要素(R: Red,G: Green,B: Blue,. A: Alpha)に対して同時に演算処理を行うことができる GPU の処理系を活かすため,教 師画像セット数は 4 とした.. GP による学習時のパラメータはすべての実験において共通の設定を使用した.この設定 を表 2 に示す.使用したパラメータは,どのような画像に対してもある程度の性能が期待. 表 1 PC 仕様 Table 1 The specification of PC.. 図 5 複数の GPU を用いた ACTIT Fig. 5 Multi-GPUs-ACTIT.. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). PC CPU RAM Graphics Board Network OS Graphics API Shader Language. DELL Dimension 9200 Intel Core 2 Duo E6400 2 GB NVIDIA GeForce 7900 GS (G71) (144 GFLOPS) 100 Mbps Ethernet Microsoft Windows XP Professional SP2 OpenGL Cg (C for graphics). c 2009 Information Processing Society of Japan .

(6) 118. 複数の GPU を用いた超高速進化的画像処理システム 表 2 GP パラメータ設定 Table 2 GP parameter setting.. Number of generations Population size Number of Node (Minimum, Expected, Maximum) Crossover rate Mutation rate (for individual) Alternation model Selection Number of MGG children Tournament size. 3,000,5,000,10,000 100 1,15,40 1.0 0.9 MGG Tournament selection 40 2. 表 3 従来の ACTIT と GPU を用いた ACTIT の比較実験結果(処理時間[秒]) Table 3 Experimental results of comparison of CPU-ACTIT and GPU-ACTIT. (processing time [sec]) 2. Image Size [pixel ] 64 × 64 128 × 128 256 × 256 512 × 512 1,024 × 1,024. CPU-ACTIT 4,491 ± 574 25,015 ± 3,637 77,129 ± 4,079 266,331 ± 27,415 902,477 ± 76,164. GPU-ACTIT 718 ± 38 (6.3) 853 ± 31 (29.3) 980 ± 47 (78.7) 2,817 ± 186 (94.5) 11,022 ± 520 (81.9). 図 6 処理時間の内訳 Fig. 6 Details of processing time.. を用いた ACTIT の高速化は非常に有効であると考えられる. 次に,GPU-ACTIT において,CPU-GPU 間のデータの通信量・回数の削減や適応度計 算も GPU 上で実行するなどの工夫が高速化効率にどのくらい貢献しているのかを調べる ために,1 回の個体評価ごとに CPU-GPU 間で入力画像・出力画像の受け渡しを行い,適 応度計算も CPU 上で行うようにした非効率的な GPU-ACTIT との比較実験を行った.そ. できると考えられる一般的な数値を採用した. なお,すべての実験について 5 回の試行を行い,その平均値,標準偏差を結果として示す.. れぞれの処理時間の内訳を図 6 に示す.なお,図中の GPU Runs と記載されている部分が. 5.2 従来の ACTIT と GPU を用いた ACTIT の比較実験. GPU 上で実行されている処理である.CPU-GPU 間でデータの受け渡しが行われていると. 初めに,従来の CPU だけを用いた ACTIT と 1 基の GPU を用いた ACTIT との比較実. きは GPU 上での処理は停止しているため,データの転送時間と GPU の実行時間はオーバ. 験を行った.異なるサイズを持つ教師画像セットを用いたときの処理時間[秒]を表 3 に示. ラップしていない.また,今回は CPU と GPU の並列実行は行っていないため,GPU 実. す.なお,括弧の中の数字は CPU-ACTIT の処理時間を GPU-ACTIT の処理時間で割っ. 行時には CPU はアイドル状態となっている. 図 6 から,CPU-ACTIT では画像変換部分が処理全体の 99%以上を占めているが,GPU-. たものである. 実験結果から,GPU-ACTIT では CPU-ACTIT と比較して,画像サイズが小さい場合. ACTIT ではその画像変換部分を GPU 上で実行することによって処理が大幅に高速化されて. (64 × 64 [pixel2 ])では 5∼10 倍,画像サイズがある程度大きい場合(256 × 256 [pixel2 ] 以. いることが分かる.また,非効率的な GPU-ACTIT では,処理時間全体の中で CPU-GPU. 上)では 80∼100 倍高速となっている.GPU は大量の入力データそれぞれに対して,単純. 間の通信時間と適応度計算にかかる時間が大きくなってしまっている.そこで,効率的な. で高密度な演算を施して出力するような処理を得意としているため,GPU を用いた ACTIT. GPU-ACTIT では,CPU-GPU 間の情報のやりとりをできるだけ少なくし,また適応度計. では画像サイズがある程度大きい場合に特に有効であることが分かる.進化的画像処理を実. 算も GPU 上で行うことによって処理の高速化がなされている.結果的に ACTIT で行われ. 問題に応用する場合,扱う画像のサイズや枚数は大きいことが予想される.このため,GPU. ている処理のほとんどを高速な GPU 上に移すことができた.. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). c 2009 Information Processing Society of Japan .

(7) 119. 複数の GPU を用いた超高速進化的画像処理システム. 図 8 各並列モデルにおける処理時間と通信時間の内訳 Fig. 8 Details of processing time and transporting time.. 図 7 GPU を用いた ACTIT の並列化実験結果 Fig. 7 Experimental results of Multi-GPUs-ACTIT.. 表 4 GPU を用いた ACTIT の並列化実験結果詳細 Table 4 Details of experimental results of Multi-GPUs-ACTIT.. 5.3 GPU を用いた ACTIT の並列化実験 1 基の GPU を用いた ACTIT と,複数の GPU を用いた ACTIT との比較実験を行った. 並列モデルとして Master-Slave モデル,Parallel-MGG モデル,そして各ノードに待合室 を設けることによって,通信時間が削減されるように改良した Parallel-MGG モデルを用 いて実験を行い,それぞれを比較した.GPU の数は 1∼4 基,教師画像セットのサイズは. Number of GPUs 1 2 3 4. CPUACTIT 1.0 ± 0.1 -. Master-slave 94.5 ± 6.0 (1.0) 107.7 ± 2.8 (1.1) 125.0 ± 11.6 (1.3). Parallel-MGG 94.5 120.6 177.9 244.4. ± ± ± ±. 6.0 6.0 7.2 4.6. (1.0) (1.3) (1.9) (2.6). Parallel-MGG with Waiting Buffer 94.5 ± 6.0 (1.0) 189.7 ± 5.7 (2.0) 274.9 ± 15.5 (2.9) 362.2 ± 7.1 (3.8). 512 × 512 [pixel2 ] とした.横軸をノード数,縦軸を処理速度とするグラフを図 7 に,ノー ド数を 4 としたときの各並列モデルにおける処理時間と通信時間の内訳を図 8 に,実験結. 倍,ノード数 4 で約 3.8 倍となり,効率的に並列化されていることが分かる.その結果,画. 果の詳細を表 4 に示す.なお,図 7 と表 4 の処理速度とは従来の ACTIT の処理速度を 1. 像サイズが 512 × 512 [pixel2 ] の場合では,従来の ACTIT で約 266,000 秒かかるところが. としたときの単位画像サイズあたりの処理速度である.また,表 4 の括弧の中の数字は 1. 4 基の GPU を用いた ACTIT で約 740 秒となり,約 360 倍まで高速化することができた.. 基の GPU を用いた ACTIT の処理速度を 1 としたときの単位画像サイズあたりの処理速. 5.4 従来の ACTIT と GPU を用いた ACTIT で生成された木構造状フィルタの性能 比較. 度である. 図 7 から,Master-Slave モデルでは同期・通信時間の影響からノード数を増やしてもあ. 現在,GPU を用いた ACTIT では利用できる画像処理フィルタが単純なものに限られて. まり高速化することができていないことが分かる.しかし,図 8 から,Parallel-MGG モ. いるため,従来の ACTIT と比較して画像変換システムとしての性能が低下してしまってい. デルでは通信する個体数の削減や非同期処理によって同期・通信時間が大幅に削減されてい. ることが懸念される.そこで最後に,従来の ACTIT と GPU を用いた ACTIT で生成され. る.さらに,待合室付きの Parallel-MGG モデルでは通信時間のほとんどを処理時間とオー. た木構造状フィルタの性能比較実験を行った.それぞれの木構造状フィルタの出力画像と適. バラップさせることができ,ノード数 1 の GPU-ACTIT と比較して,ノード数 2 で約 2.0. 応度を図 9 に示す.なお,適応度とは最終的な出力画像と目標画像の差の絶対値に各画素. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). c 2009 Information Processing Society of Japan .

(8) 120. 複数の GPU を用いた超高速進化的画像処理システム. 能となる.また,複数の GPU を用いた新しい並列モデルの提案なども行い,さらなる高速 化が必要である.加えて,処理が高速になったことで,余った時間をより広い範囲の探索に 割り当てることによって,解の高品質化も行うことができる.FPGA ボード,リコンフィ Original Image. 図9. Target Image. Output Image. Output Image. ギャラブルチップなど,他のハードウェア上での実装を行い,評価する必要があると考えら. (CPU-ACTIT). (GPU-ACTIT). 0.955 ± 0.005. 0.946 ± 0.010. れる.以上のことを考慮し,超高速進化的画像処理システムの構築を目指す.. 従来の ACTIT と GPU を用いた ACTIT で生成された木構造状フィルタの性能比較 Fig. 9 Comparison of quality of CPU-ACTIT and GPU-ACTIT.. ごとの重みを掛けて正規化し 1 から減算したもので,0∼1 の値をとり,1 に近づくほど良 好な解ということになる2) . 図 9 から,多少のノイズが出てしまっているが細胞壁の部分はしっかり抽出できていて, 従来の ACTIT と GPU を用いた ACTIT で生成された木構造状フィルタの性能がさほど変 わらないことが分かる.これは,GPU を用いた ACTIT では使用できないフィルタを,使 用できるフィルタの組合せで近似して表現することができているためだと考えられる.. 6. お わ り に 本論文では,ACTIT の画像処理フィルタをグラフィックスボードの GPU 上で実装し,処 理の高速化を行った.提案手法では負荷の高い処理のほとんどを高速な GPU 上に移すこと に成功した.加えて,そのシステムを並列化することによってさらなる処理の高速化を図っ た.そして,比較実験を行ったところ,従来の ACTIT よりも数百倍高速となり,複数の. GPU を用いた画像処理の有効性が示された.本論文における高速化手法によって,今まで は処理時間の関係から実用上計算不可能だった問題に進化的画像処理を適用することが可能 となる.具体的には,リアルタイム処理が必須である ITS(Intelligent Transport Systems) 分野への適用や高速な追加学習が可能な汎用検査装置などが考えられる. 本研究を発展させるためには,さらに考慮すべき要因がいくつか存在する.今回,実験 するにあたり,GPU 上で実行可能な単純なフィルタだけを用いたが,ラベリング処理やヒ ストグラムの計算といった,現在実装が難しい処理を用いた複雑なフィルタへの対応は不 可欠である.また,最近 NVIDIA 社から公開された GPU 向けの C 言語の統合開発環境で ある CUDA(Compute unified device architecture)では共有メモリやスレッドなどの機 能が利用できるようになっている.CUDA にも対応した最新の GPU に置き換えることで, さらなる高速化と,これらの新たな機能を用いた,より複雑な画像処理フィルタの実装も可. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). 参. 考. 文. 献. 1) Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press (1992). 2) 青木紳也,長尾智晴:木構造状画像変換の自動構築法 ACTIT,映像情報メディア学 会誌,Vol.53, No.6, pp.888–894 (1999). 3) Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Kruger, J., Lefohn, A.E. and Purcell, T.J.: A Survey of General-Purpose Computation on Graphics Hardware, EUROGRAPHICS 2005 (2005). 4) Fung, J., Mann, S. and Aimone, C.: OpenVIDIA: Parallel GPU Computer Vision, Proc. ACM Multimedia 2005, Singapore, pp.849–852 (2005). 5) Fok, K.L., Wong, T.T. and Wong, M.L.: Evolutionary Computing on Consumer Graphics Hardware, IEEE Intelligent Systems, Vol.22, No.2, pp.69–78 (2007). 6) Harding, S. and Banzhaf, W.: Fast Genetic Programming on GPUs, Proc. 10th European Conference on Genetic Programming, Valencia, Spain (2007). 7) Chitty, D.M.: A Data Parallel Approach to Genetic Programming Using Programmable Graphics Hardware, Proc. Genetic and Evolutionary Computation Conference (GECCO-2007 ), London, England, pp.1566–1573 (2007). 8) Nakano, Y. and Nagao, T.: Automatic Extraction of Internal Organs Region from 3D PET Image Data using 3D-ACTIT, International Workshop on Advanced Image Technology 2006 (2006). 9) 牛山敏博,長尾智晴:木構造状画像変換自動生成の高速化に関する研究,修士論文,横 浜国立大学大学院環境情報学府 (2003). 10) 村 英敏,安藤 淳,長尾智晴:PC クラスタを用いた木構造状画像処理の高速化に 関する研究,映像情報メディア学会技術報告,Vol.30, No.17, pp.87–88 (2006). 11) Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M. and Hanrahan, P.: Brook for GPUs: Stream Computing on Graphics Hardware, SIGGRAPH 2004 (2004). 12) Holland, J.H.: Adaptation in Natural and Artificial Systems, The Univ. Michigan Press (1975), MIT Press (1992). 13) Goldberg, D.E.: Genetic Algorithm in Search, Optimization and Machine Learning, Addison Wesley (1989).. c 2009 Information Processing Society of Japan .

(9) 121. 複数の GPU を用いた超高速進化的画像処理システム. 14) Cantu-Paz, E.: A survey of parallel genetic algorithms, Calculateurs Paralleles, Vol.10, No.2 (1998). 15) Tanese, R.: Distributed Genetic Algorithms, Proc. 3rd International Conference on Genetic Algorithms, pp.434–439 (1989). 16) 佐藤 浩,小野 功,小林重信:遺伝的アルゴリズムにおける世代交代モデルの提案 と評価,人工知能学会誌,Vol.12, No.5, pp.734–744 (1997).. 安藤. 淳. 昭和 58 年生.平成 17 年横浜国立大学工学部電子情報工学科卒業.平 成 19 年同大学大学院環境情報学府情報メディア環境学専攻博士前期課程 修了.現在,同博士後期課程在学中.画像処理,進化計算法等に関する研 究に従事.. (平成 20 年 8 月 21 日受付) (平成 20 年 10 月 9 日再受付) (平成 20 年 11 月 17 日採録). 長尾 智晴(正会員) 昭和 34 年生.昭和 60 年東京工業大学大学院博士後期課程中退.同年 同大学工学部附属像情報工学研究施設助手.同大学工学部助教授を経て, 平成 13 年横浜国立大学大学院環境情報研究院教授,現在に至る.工学博 士.画像処理,進化計算法,神経回路網,分散人工知能等に関する研究に 従事.. 情報処理学会論文誌. 数理モデル化と応用. Vol. 2. No. 2. 113–121 (Mar. 2009). c 2009 Information Processing Society of Japan .

(10)

図 2 近年の CPU と GPU の性能向上
図 3 に GPU を用いた ACTIT の処理過程を示す.最初に, GPU の初期化処理として教 師画像セットのロード, GPU 用に記述された画像処理フィルタのコンパイル,ロードを行っ ておく.ここで, GPU では画像の 4 つの要素( R: Red , G: Green , B: Blue , A: Alpha ) に対して同時に演算処理を行うことができるため,それぞれの要素に 1 セットの教師画像 セット(合計 4 セット)を割り当てることとする.画像変換・適応度計算部では, GPU が CPU
図 4 平均階調値による二値化 Fig. 4 Binarization filter (mean value).
表 1 PC 仕様
+4

参照

関連したドキュメント

In this study, the standard deviation of gray level intensity Gsa, the ratio of surface area RA, the ratio of X-direction length RLX and the one of Y

a uniform appearance, resulting in a low standard deviation. Distribution of height values is obviously varied with increasing of wrinkle, although the mean of

Although the picture element (pixel) in conventional image sensors are placed in the form of a lattice for ease of implementation, the lattice place- ment of pixels intrinsically

position by processing the image of preceding the cost function is concerned with the errors control.. of

The study on the film of the block copolymer ionomer with a cesium neutralized form (sCs-PS- b -f-PI) revealed that a small amount of water and thermal annealing promoted the

ImproV allows the users to mix multiple videos and to combine multiple video effects on VJing arbitrary by data flow editor. We employ a unified data type, we call, Video Type which

The goods and/or their replicas, the technology and/or software found in this catalog are subject to complementary export regulations by Foreign Exchange and Foreign Trade Law

Adaptive image approximation by linear splines over locally optimal Delaunay triangulations.. IEEE Signal Processing Letters