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

GPGPU を用いた時空間画像処理による 細胞領域分割システムの

N/A
N/A
Protected

Academic year: 2021

シェア "GPGPU を用いた時空間画像処理による 細胞領域分割システムの "

Copied!
20
0
0

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

全文

(1)

修士論文

GPGPU を用いた時空間画像処理による 細胞領域分割システムの

精度向上と性能評価

同志社大学大学院 生命医科学研究科 医工学・医情報学専攻 医情報学コース

博士前期課程

2013

年度

1008

井上 楓彩

指導教授 廣安 知之教授

2015

1

23

(2)

Abstract

In recent years, with the advance of microscope technology, the alive cells have been able to observe. On the other hand, from the standpoint of image processing, the quality assessment which determine whether cells were successfully cultured has been studied.

Therefore, the cell image processing is performed not only static images but also moving images.

However, because of moving images are aggregation of static images, the processing of these images would take large burdens. Thus, we focused on massive cores, which Graphics Processing Units (GPU) contains, to solve the problem above.

In this study, to aim high quality cell segmentation system, we build the spatio- temporal image processing system using General-Purpose computing on Graphics Process- ing Units (GPGPU) as parallel processing. To evaluate the performance of our proposal system, we compared the processing speed of the spatio-temporal image processing with two cases: one is only using CPU and another is GPGPU. As the result, processing speed of GPGPU is faster than CPU. Moreover, the difference between these processing speeds was extend as increasing the amount of data.

Based on the above, the usefulness of GPGPU use in cell segmentation system with

moving images had been suggested.

(3)

目 次

1

序論

1

2 GPGPU

による並列処理

2

2.1

シングルコア

CPU

の性能向上の限界

. . . . 2

2.2

マルチコアプロセッサとしての

GPU . . . . 2

2.3 GPGPU

向け

GPU

アーキテクチャ

. . . . 3

2.4 CUDA

プログラミング

. . . . 4

3 GPGPU

を用いた時空間画像処理による細胞領域分割システム

5 3.1

細胞領域分割の精度向上

. . . . 5

3.2

処理速度の高速化

. . . . 6

4

提案システムの性能評価

7 4.1

実験環境

. . . . 7

4.2

実験結果

. . . . 7

5

考察

9

6

結論

10

(4)

1

序論

近年

,

生命現象を解き明かす手段として

,

生きたままの細胞を観察する「ライブイメージ ング技術」が注目されている

?) .

例えば

,

遺伝子細胞の研究では分子レベルでの解析が進

,

生きている細胞で内部の分子の動きを直接観察する取り組みが行われている

1 .

しかし

,

細胞を生きたまま観察する技術には

,

主に以下

3

点の課題が存在する

?) . (1)

子顕微鏡や

X

線顕微鏡で用いられる線量は

,

放射線に耐性をもつ微生物さえも死んでしま うほど強力であること

. (2)

電子顕微鏡は透過能力が低いため

,

試料を数百ナノメートル以 下にスライスしなければならないこと

. (3)

試料を染色すると細胞が死んでしまうこと

.

かしながら

,

近年は

X

線自由電子レーザ

?)

や共焦点レーザスキャナー

?)

などの顕微鏡動画 技術の発達により

,

上記のような課題が解消されつつある

.

一方で

,

細胞画像処理に関する研究は以前から行われており

,

その代表例として

,

細胞画 像から

,

細胞が正常に培養されたかどうか判断するための品質評価手法などが挙げられる

?)

.

よって

,

前述の顕微鏡動画技術の発展に併せ

,

細胞画像の処理は静止画の域を越え

,

動画の 処理に対応する必要があると考えられる

.

しかし

,

動画は静止画の集合体であり

,

その処理 には大きな負担がかかる

.

その負担量は

,

ヒトの目の時間分解能が約

30 [ms]

であるため

?)

, 1

秒間の動画を処理量は

, 33

枚以上の静止画を処理する量と同等だと推測される

.

そこで

,

この問題を解決するため

,

コンピュータの画像処理向け専用プロセッサである

Graphics Processing Unit (GPU)

に顕微鏡動画の処理を委ねることにした

. GPU

は本来

,

画像処理用のプロセッサであり

,

画像処理は膨大なデータを規則的に処理する必要があるた

, Central Processing Unit (CPU)

の演算性能を凌駕する並列演算プロセッサとしての一

面をもつ

?) . GPU

を並列演算プロセッサとして応用利用する技術を

, GPU

による汎目的

計算

(General-purpose computing on graphics processing units: GPGPU)

と呼ぶ

.

また

, CPU

にくらべ

GPU

はシンプルな内部構造をとることから

?) ,

費用面においてもコスト削 減が見込まれる

.

本稿では研究目的して

, GPGPU

の特性を上手く活用した効率の良い顕微 鏡動画の高速処理システムの構築を目指す

.

本稿の構成について説明する

.

まず

,

2

章では

, GPU

の内部構造を説明するとともに

,

高い並列性を実現できる原理について紹介する

.

つぎに

,

??

章では

,

本稿で提案する

,

空間画像処理による細胞輪郭抽出システムの概要と

,

そのシステム要件について説明する

.

3

章では

,

細胞輪郭抽出に必要な画像処理アルゴリズムについて説明するとともに

,

時空 間画像処理の概要について紹介する

.

そして

,

4

章より

,

本システムの性能を

(1)CPU

みを用いて細胞輪郭抽出の処理した場合と

(2)GPGPU

を利用した場合との二者で性能比 較し

, GPGPU

利用の有用性を確かめる

.

5

章では

CPU

のみの処理と比較し

, GPGPU

の長所・短所について考察し

,

6

章にて

GPGPU

の利点を最大限に引き出せる細胞輪郭 抽出の処理方法について結論を導く

.

1細胞内ネットワークのダイナミズム解析技術開発

http://www.nedo.go.jp/activities/ZZ 00184.html

(5)

2 GPGPU

による並列処理

本章では

, GPU

の内部構造を説明するとともに

, GPGPU

として高い並列性を実現する

原理について紹介する

.

2.1

シングルコア

CPU

の性能向上の限界

CPU

の性能は

,

プロセッサ上に搭載されるトランジスタの数に左右され

,

個々のトラン ジスタのサイズを小さくし

,

単位面積あたりの搭載数を増やすことで演算性能を向上させ てきた

.

すなわち

,

集積密度の増加は

CPU

の性能向上に置き換えることができる

.

単位面 積あたりのトランジスタ数は

18

ヶ月ごとに倍になるという経験則から

, CPU

の性能は

2.1

式のような向上を見せていた

.

これをムーアの法則と呼ぶ

.

p = 2

1.5n

(2.1)

しかし

, 2010

年代に差し掛かる頃からトランジスタの微細化が原子レベルに到達し

,

単位

面積あたりの搭載数が頭打ちとなった

.

また

,

大量のトランジスタへの電力供給が漏れ電力 を引き起こし

, CPU

が生み出す発熱が大きな課題となった

.

以上

2

点の理由により

, CPU

の負荷軽減のためクロック周波数を上昇が躊躇され

,

シングルコア

CPU

の処理能力の向上 に限界をもたらした

.

この問題を解決すべく登場したのが

,

マルチコア

CPU

による処理手法である

.

マルチコ

CPU

の登場以降

,

シングルコア

CPU

の処理能力はさほど向上していない

.

コアを複数 個利用し

,

その

1

1

つを単純化することによって発熱を抑えつつ

,

処理速度を維持する手 法が現在の傾向となった

. CPU

を単純化することでパイプライン段数が下がり

,

クロック 周波数の低減にも繋がった

.

よって

,

消費電力は抑えられ

,

結果として発熱も抑えることが できた

.

2.2

マルチコアプロセッサとしての

GPU

2.1

節にて

,

昨今の

CPU

の構造は

,

消費電力の削減のため従来型より単純化しているこ とについて説明した

.

しかし

,

内部構造を単純化しても

, CPU

には割り込み処理や条件分 岐処理に必要なキャッシュやレジスタセット

,

コンテクストスイッチなどを搭載しているた

,

依然コストを下げることが困難である

.

そこで

,

低いコストでマルチコアを手に入る手

段として

, GPU

に備え付けられている大量のコア群に目をつけた

. GPU

は元来

,

画像処理

用のデバイスである

.

そのため

,

スクリーン上に画像を

1

ドットずつ描画するだけの処理

,

つまり

1

つのコアにシングルスレッドを走らせるだけで事が足り

,

割り込み処理の必要は ないため

,

キャッシュやレジスタセット

,

コンテクストスイッチなどは搭載されておらず極 めて単純な内部構造を取っている

.

つまり

GPU

,

単位面積あたりのコストが低いにも関 わらず処理能力が高いデバイスであると言える

. GPGPU

の登場以前から

,

画像処理の性能 を向上させるため

, GPU

単体でも簡単な物理演算を行う取り組みがなされてきた

.

そこで

,

この演算能力をもっと汎用的に活用するため

, NVIDIA

社は

GPU

向け

C

言語の統合開発

(6)

環境である

Compute Unified Device Architecture (CUDA)

を発表した

. CUDA

の登場以

, CUDA

を実行するために適した環境作りが

,

ハードウェアレベルで始まり

, Fermi

アー

キテクチャが開発された

.

2.3 GPGPU

向け

GPU

アーキテクチャ

2.3.1 Fermi

アーキテクチャ

Fermi

アーキテクチャとは

, NVIDIA

が初めて本格的に

GPGPU

向けに設計したアーキ

テクチャである

. GPU

が元来有する並列処理能力をさらに発揮できるよう

,

コアとメモリ の設計に改革がみられた

. Fermi

アーキテクチャ内のコアは

, Streaming Processor (SP)

呼ばれ

(CUDA

コアとも呼ぶ

),

効率よく計算が行えるよう

SP

32

個単位でユニット化し

Streaming Multi-processor (SM)

が採用された

. Fermi

アーキテクチャでは

SM

16

搭載されているため

,

SP

数は

512

(32x 16)

である

.

また

, Fermi

アーキテクチャではキャッシュメモリが導入された

.

キャッシュメモリとは

,

繰り返し使用するデータを一時的に保存しておく高速なメモリである

.

前述のとおり

, GPU

は画像処理用のデバイスであり

,

スクリーン上に画像を

1

ドットずつ描画するだけの処理 を主としていた

.

つまり

, 1

つのコアにシングルスレッドを走らせるだけで処理が終了する ため

,

キャッシュメモリの必要性がなかった

.

しかし

,

数値計算には割り込み処理や条件分 岐処理が必要なため

,

メモリアクセスが重要となる

.

そこで

, Fermi

アーキテクチャに

, L1, L2

キャッシュメモリ

,

そしてシェアードメモリを搭載することによって

,

数値計算を従来型

GPU

より効率化した

.

Fermi

アーキテクチャの登場により

GPU

での数値計算が可能となったが

,

一方で

,

膨大な

電力消費が課題であった

.

これを解決するために生み出されたのが

,

次章で説明する

Kepler

アーキテクチャである

.

2.3.2 Kepler

アーキテクチャ

Kepler

アーキテクチャでは

, Fermi

アーキテクチャでは課題だった膨大な消費電力を抑え

ることに成功した

. Kepler

アーキテクチャの

1W

あたりの演算能力は

,

最大で

Fermi

アー キテクチャの

3

倍である

.

消費電力を抑える方策として

,

パイプラインとスケジューラの 設計が見直された

. Fermi

アーキテクチャとの比較を

Fig. 1

に乗せる

. Kepler

アーキテク チャではパイプラインの長さを

Fermi

アーキテクチャの約

2

倍の長さにし

,

クロック周波数 を下げることによって

,

漏れ電力による発熱を抑えた

.

そして

, Fermi

アーキテクチャでは

GPU

内に設置されていたスケジューラを

, Kepler

アーキテクチャでは

CPU

に移動させる ことによって

, GPU

での処理負担を軽減させた

.

また

, SP

Fermi

時代の

32

個から

, 192

個に増設し

SMX

と名称を変更した

. Kepler

アーキテクチャを搭載した

GPU

の一つである

GTX680

では

, SMX

8

個搭載しており

,

SP

数は

1,536

(192x 8)

となる

.

(7)

2.4 CUDA

プログラミング

2.3

で紹介した通り

, GPGPU

向け

GPU

にはキャッシュメモリやシェアードメモリが搭 載され

,

ある程度の割り込み処理や条件分岐処理に対応できるようになったが

,

その性能は

未だ

CPU

に劣る

.

よって

, GPGPU

は単体で数値演算を行うことができず必ず

CPU

の助

けを必要とする

. CPU

GPGPU

の協調動作に必要なのが

, CUDA(Fig. 2(a)

を参照

)

であ

. CUDA

アプリケーションの役割として

, CPU

, GPGPU

側のプログラミング環境の

提供

,

そして

, CPU

GPGPU

間の通信制御が挙げられる

.

詳細は次の通りである

. CPU

側は

CUDA Application Programming Interface(

以下

, API)

を用いてプログラミングを行

, CPU

側から

GPGPU

の制御を担う

.

一方

, GPGPU

側は

CUDA C Language

を用いて プログラミングを行い

, GPGPU

内で動くロジックを記述する

.

これを

GPU

カーネルと呼

.

また

, CPU

GPGPU

はシステム構造的にも物理的にも分離しているので

, CUDA

プリケーションによって双方間の通信制御が行われる

.

CUDA

アプリケーションによるプログラミングは

,

以下のワークフロー

(Fig. 2(b)

を参

)

の通りである

.

1

GPU

側の計算領域を確保する

.

2

)計算に必要なデータを

CPU

から

GPU

へ転送する

3

)カーネルを呼び出す

.

4

)転送されたデータに対してカーネルを実行する

.

結果は

GPU

メモリに保存される

.

5

)計算されたデータを

GPU

から

CPU

へ転送する

.

6

GPU

側の計算領域を破棄する

.

GPGPU

Fig. 2(c)

で示す

Grid, Block, Thread

3

要素で構成され

,

それらの個数や 配置を含めたアーキテクチャはモデルによって異なる

. Block

間の依存関係を絶ち切るこ とで

, CPU

から

GPGPU

への転送時間に制限をもたせているからだ

.

よって

, GPU

カーネ ルのプログラムを行う際は

, GPGPU

のアーキテクチャを考慮しなければならない

.

また

,

アーキテクチャに考慮して

GPGPU

プログラミングすることにより

,

演算性能を高めるこ とができる

.

(8)

3 GPGPU

を用いた時空間画像処理による細胞領域分 割システム

本稿で紹介する細胞領域分割システムには

, 2

つ目標がある

.

1

)時空間画像処理による細胞領域分割の精度向上

.

2

GPGPU

による並列処理がもたらす処理速度の高速化

.

本システムの対象動画から

1

フレーム抜き出し

Fig. 3

に示した

. Fig. 3

の欠点として

,

ントラストが低いゆえ

,

細胞領域の境界線が判別しづらいことが挙げられる

.

これを解決 する方法として

,

ヒストグラム平坦化を用いた画像濃度補正を行った

.

詳細を

Fig. 4

に述 べる

.

一方

,

利点として

,

動画であるため

,

フレーム数が多いことが挙げられる

.

これを利用し

,

細胞領域の分割精度を向上させる手段として

,

時空間画像処理を取り入れた

.

詳細を

Fig. 5

に述べる

.

そして

, GPGPU

の並列性を活かし

, (1)

に述べた細胞領域分割の処理速度の高速化に取

り組んだ

.

3.1

細胞領域分割の精度向上

3.1.1

ヒストグラム平坦化を用いた画像濃度補正

ヒストグラム平坦化とは

,

画素値の分布が平坦

(

一様

)

になるように濃度値を変換する手 法のことである

.

各濃度値が一様になるため

,

コントラスト強調効果が得られる場合が多

.

しかし

,

ヒストグラム平坦化は画像全体のヒストグラムを用いているため

,

ピクセル座 標などの位置情報が考慮されていない

.

したがって

,

今回の対象画像

(Fig. 3)

のように

,

影時の比較り環境によって細胞の写り具合が異なる場合

,

コントラストの差をより際立た せてしまう場合がある

. Fig. 3

では

,

僅かではあるが

,

画像の中央部にいくほど濃度が高く

(

明るく

) ,

両端にいくほど濃度が低く

(

暗く

)

なっているためヒストグラム平坦化を行うと

Fig. 6

のようになり

,

濃度の高い中央部分が白く抜けてしまった

.

このような誤ったコント

ラスト強調は

,

領域分割の精度を下げる原因と成り得る

.

そこで

,

画像全体のヒストグラムに変換処理を行うのではなく

,

画像内のそれぞれ局所的 な範囲でヒストグラム変換を行うことで

,

画像のコントラストのばらつきを抑える方法を 提案する

.

局所的ヒストグラム平坦化のアルゴリズムを以下に示す

.

また

,

概要を

Fig. 4

に示す

.

1

)ヒストグラム平坦化を行う局所領域の大きさを指定する

.

2

)対象画像の局所領域においてヒストグラム平坦化を行い

,

処理後の画素値を記憶する

.

3

)ヒストグラム平坦化を行う局所領域を

, 1

ピクセルずつ未変換領域へ移動し

(2)

の操 作を行う

.

4

(2)

(3)

の操作を対象画像の全ての局所領域で適用されるまで繰り返す

.

(9)

5

)局所領域が重なるピクセルに置いては

,

それらの平均値を新しい画素値とする

.

位置によってコントラストがばらついている画像でも

,

局所領域ではそのばらつきが小 さいことが考えられる

.

そのため

,

ばらつきがちいさいそれぞれの範囲ごとでヒストグラム 変換を行うことで

,

全体のコントラストを一定にすることができる

.

3.1.2

時空間画像処理

時空間画像処理とは

, 3

次元処理とも呼ばれる

.

この場合の

3

次元とは

,

画像を構成する 画素の

x

, y

,

そして動画の時間軸を指す

.

今回の対象資料は動画であり

,

フレーム数 を多く抱える

.

そこで

,

複数枚のフレームを重ね合わせることによって

,

細胞輪郭を強調し

,

その他のノイズ成分の軽減を図った

.

概要を

Fig. 5

に示す

.

重ね合わせられたフレームは

,

任意の一定区間から抽出された細胞画像である

.

これらの細胞画像の画素値の平均を取り

,

細胞動画を再構成した

.

3.2

処理速度の高速化

GPU

GPGPU

として扱うには

, NVIDIA

2

が提供する

GPU

向けの

C

言語の統合開 発環境である

Compute Unified Device Architecture(CUDA)

が必要となる

. CUDA

の役 割として主に

, CPU

GPU

間の通信制御が挙げられる

. CUDA

の処理の流れは以下の通 りである

.

1

GPU

側の計算領域を確保する

.

2

)計算に必要なデータを

CPU

から

GPU

へ転送する

3

)カーネルを呼び出す

.

4

)転送されたデータに対してカーネルを実行する

.

結果は

GPU

メモリに保存される

.

5

)計算されたデータを

GPU

から

CPU

へ転送する

.

6

GPU

側の計算領域を破棄する

.

2

Parallel Programming and Computing Platform — NVIDIA http://www.nvidia.com/object/cuda

home new.html

(10)

4

提案システムの性能評価

4.1

実験環境

本システムで使用した

GPU

の概要は

Table 1

の通りであり

,

この

GPGPU

Table 2

スペックを有するマシンに搭載した

. GTX680

のアーキテクチャは

2

の通りである

.

4.2

実験結果

4.2.1

画像処理の結果

性能評価の際に用いたフィルタ群は以下の通りである

(Fig. 7).

1

)グレースケール処理

2

)時空間画像処理

(2

フレーム

)

3

Non Local(NL) Means

フィルタ

4

)局所的ヒストグラム平坦化

5

)時空間画像処理

(20

フレーム

)

6

)二値化処理

まず

, (1)

で色空間の変換を行う

.

今回は

,

グレースケール処理を行い

,

カラー成分を排除

することで画像処理の高速化を図った

.

(2)

にて

3.1.2

節に述べた時空間画像処理を

2

フレーム行い

,

軽く平均化することにより

ノイズ成分を除去した

.

(3)NLMeans

フィルタを用いて更にノイズ成分の除去を行った

. NLMeans

フィルタとは

,

適応的な重みを持つサポートウィンドウのコンボルージョンによりノイズ成分を低減させ

,

エッジキープ型のフィルタである

.

その重みは

,

カーネル中心まわりにサポートよりも 小さなテンプレートを作成し

,

テンプレートマッチングによりサポートウィンドウ内の類 似度

(

重み付きユークリッド距離

, L2

ノルムのエクスポネンシャル

)

を各位置ごとに求め ていく

.

その類似度により

,

テンプレートに似ている位置の重みを大きく

,

似ていない位置 の重みは小さく設定される

.

また

,

類似したフィルタには

,

バイラテラルフィルタがあり

,

NLMeans

フィルタのテンプレートサイズが

(1 x 1)

のとき

,

位置の重みのないバイラテラ

ルフィルタとなる

.

計算式は以下の通りである

.

ω(p, q) = 1

Z(p) exp( max(kv(p) v(q)k 2 2 2 , 0)

h 2 ) (4.1)

Z(p, q) = ∑

q S

exp( max(kv(p) v(q)k 2 2 2 , 0)

h 2 ) (4.2)

out(p) = ∑

q S

ω(p, q)in(q) (4.3)

2

GTX 680 Kepler Whitepaper - GeForce http://www.geforce.com/Active/en US/en US/pdf/

GeForce-GTX-680-Whitepaper-FINAL.pdf

(11)

注目画素

p

に対するサポートウィンドウ内の集合

S

に含まれる周辺画素

q

の重み

w(p, q)

, p

付近のテンプレートから構築したベクトル

v(p)

と同様のベクトル

v(q)

L2

ノルム から

,

画像の不可されているであろうノイズσに応じた値で引き

,

最小値が

0

となるように クリップする

.

それをパラメータ

h

に応じた値で除算したものが重みとなる

.

最終的な画

out(p)

はこの重みと入力画像

in

のコンボリューションで出力される

.

(4)

にて

, 3.1.1

節で紹介した局所的ヒストグラム平坦化を行い

,

画像全体の濃度補正を

行った

.

(5)

にて

,

再度

,

時空間画像処理を行う

.

細胞の動くことによって輪郭がぶれることを利 用し

,

フレームの重ね合わせによって輪郭を太く強調する

.

このときの重ね合わせるフレー ム枚数は

, 20

フレームである

.

(6)

最後に二値化を行う

.

今回は

,

二値化の閾値を求める方法として大津法を採用した

.

大津法とは

,

濃淡画像の輝度値ヒストグラムが地の部分と頭の部分でそれぞれ山を作ると 仮定し

,

地と図のクラスの分離度が一番高くなる閾値を計算する方法である

.

閾値は

,

各輝 度値を閾値としたときの各クラス内の分散

σ 2 W

とクラス間の分散

σ B 2

からなる

.

これを

,

ラス内での分散とクラス間の分散の比

σ 2 W2 B

が最小となる輝度値を計算し

,

閾値とする

.

以上の処理を経て

,

出力された画像を

Fig. 8

に示す

. 4.2.2

各画像処理ごとの処理速度の比較

4.2.1

で紹介した画像処理のうち

, (2)

時空間画像処理

(2

フレーム

), (3) NLMeans

フィル

, (4)

局所的ヒストグラム平坦化

, (5)

時空間画像処理

(20

フレーム

)

それぞれの処理に要 した時間を

Fig. 9

に示す

.

(2)

時空間画像処理

(2

フレーム

)

CPU

で行ったときの処理時間は

3.33

±

0.00, GPU

のときは

2.54

±

0.07 [s]

であった

. (3) NLMeans

フィルタの処理を

CPU

で行ったときの 処理時間は

89.7

±

0.06 [s], GPGPU

のときは

8.77

±

0.07 [s]

であった

. (4)

局所的ヒスト グラム平坦化の処理を

CPU

で行ったときの処理時間は

121

±

0.00 [s], GPGPU

のときは

2345

±

0.17 [s]

であった

. (5)

時空間画像処理

(20

フレーム

)

CPU

で行ったときの処理時 間は

3.09

±

0.00, GPU

のときは

2.63

±

0.07 [s]

であった

. (2), (3), (5)

においては

GPGPU

の利用による処理時間の減少が認められた

.

一方

, (4)

の局所的ヒストグラム平坦化では

,

GPGPU

において処理時間の増加が見られた

.

4.2.3

処理速度の比較

1

フレームあたりに要した処理時間の結果を

Fig. 10

に示す

. Fig. 7

の全行程を

GPGPU

で行った場合

, CPU

の処理時間が

2.12

±

0.13 [s], GPU

の処理時間が

25.3

±

0.35 [s]

となっ

.

その処理時間は

CPU

の処理時間よりも遥かに上回る結果となった

.

各処理ごとの処理 時間を調査したところ

, GPGPU

で局所的ヒストグラム平坦化を実行した際

,

大きなオーバ ヘッドが発生することが判明した

.

これが

, CPU

よりも処理速度が低下する原因であると考 えられる

.

そこで

,

局所的ヒストグラム平坦化を

CPU

で行い

,

それ以外の処理を

GPGPU

で行ったところ

(GPGPU’), CPU

のみの処理よりも処理時間が削減されることが明らかと なった

.

(12)

5

考察

GPU

で局所的ヒストグラム平坦化を行った際の

, CPU

GPU

の処理記録を調査したと ころ

,

平坦化の対象領域を

4pixel

ずつ移動させるごとに

, Fig. 11

の処理が行われているこ とが判明した

.

この処理の問題点は

,

平坦化領域の決定と平坦化処理の命令がともに

CPU

側から行われていることにある

.

このため

, GPU

で処理する際に特有の命令の変換や

, GPU

上での新たなメモリの確保

,

スレッドの同期処理など

,

各種オーバヘッドが発生し

,

処理効 率を低下させる原因となっていた

.

また

,

頻繁に

CPU

GPGPU

との通信が行われるた

, GPGPU

最大の利点である並列処理が行われおらず

,

シングルスレッドで処理されてい

たと考えられる

.

本来

,

局所的ヒストグラム平坦化は

,

並列化に向いた処理であると考えら れる

.

なぜなら

,

個々の対象領域の画素値処理が独立しているからだ

.

したがって

,

局所ヒ ストグラム平坦化処理のパフォーマンス最大限に向上させるには

,

無用なオーバヘッドを 極力発生させないことが

,

求められることが明らかとなった

.

(13)

6

結論

以前より

,

細胞を培養する際の画像処理を用いた品質評価手法として

,

細胞領域の分割手 法に関する研究が取り組まれてきた

.

これに加え

,

顕微鏡技術の向上に伴い

,

細胞を生きた まま観測できる環境が整いつつある

.

このような状況下において

,

細胞領域分割処理の研 究は

,

静止画の域を越え

,

動画像への対応が求められている

.

しかし

,

動画像は静止画の集 合体であり

,

そのデータ量は膨大である

.

そこで

,

効率よく領域分割処理する方策として

, GPU

に搭載されている大量のコア群に着目した

.

細胞領域分割を行うためのフィルタ処理

GPU

が担い

,

その他の処理を

CPU

が担うシステムを構築し

, GPU

の処理性能の検討を 行った

.

細胞領域分割するための画像処理として

, (1)

グレースケール処理

, (2)

時空間画 像処理

(2

フレーム

), (3) NLMeans

フィルタ

, (4)

局所的ヒストグラム平坦化

, (5)

時空間 画像処理

(20

フレーム

), (6)

二値化を行った

.

結果

,

局所的ヒストグラム平坦化を除くすべ ての画像処理

, GPGPU

による処理速度の削減が見受けられた

.

局所的ヒストグラム平坦

化の際

, GPGPU

のパーフォーマンスが向上しなかった理由として

,

平坦化領域の決定と平

坦化処理の命令がともに

CPU

側から行われていたことが考えられる

.

したがって

,

頻繁に

CPU

GPGPU

との通信が行われるため

, GPGPU

最大の利点である並列処理が行われお

らず

,

シングルスレッドで処理されていたと考えられる

. GPGPU

パフォーマンス最大限に 向上させるには

,

無用なオーバヘッドを極力発生させないことが

,

求められることが明らか となった

.

(14)

謝辞

私が本研究室に配属されてからの

3

年間

,

同志社大学生命医学部の廣安知之教授

,

誠に深 く感謝申し上げます

.

また

,

様々な指摘

,

助言をして下さいました

,

同志社大学生命医学部 の山本詩子助教

,

同志社大学理工学部の田中美里特任助教

,

そして

,

昨年度に退職されまし た同志社大学生命医学部の横内久猛教授に心より感謝致します

.

日頃から研究ミーティングにて多く議論して頂いた医療システム班の西村祐二さん

,

松浦 秀行さん

,

三島康平さん

,

伊藤悟さん

,

竹中誠人さん

,

堀真弓さんに御礼申し上げます

.

特に 三島康平さんとは互いにコーチングをし合う関係であり

,

研究に関するあらゆる場面で助け 合ってきました

.

今では

,

私の研究に対する一番の良き理解者です

.

ありがとうございまし

.

三島康平さんの研究活動が更なる発展を向かえられるよう

,

心より応援しております

.

そして

,

同級生の西村祐二さん

,

松浦秀行さんからは

,

システム研究に関する様々な基礎 知識を教えて頂きました

.

修士課程よりシステム研究を始めた私は当初

,

大変知識が乏し

,

お二人の的確なご助言に大変救われました

.

また

,

画像処理プログラムを作成するにあ たって

,

澤田淳二さん

,

関谷駿介さんにはから多大なご指導

,

ご助言を頂きました

.

お忙し いなかにも関わらず

,

非常に丁寧なご指導を頂いた折には

,

感謝の言葉も見つからないほど でございます

.

また

,

先にご卒業された藤井亮助さんには

,

昨年度の一年間

,

多大なるご指導頂き心より 感謝申し上げます

.

そして

,

本論文を校正してくださいました三島康平さん

,

杉田出弥さん に御礼申し上げます

.

お忙しい中

,

ご無理をお願いしたにも関わらず丁寧な校正をして頂き 感謝しております

.

最後に

,

医療情報システム研究室の皆様には私の研究に関して数多くの議論や助言を頂 きました

.

皆様のおかげで

, 3

年間すばらしい研究生活を送ることができました

.

そして

,

生活において私を支えてくださった家族

,

友人にも感謝申し上げます

.

この場を借りて厚く 御礼申し上げます

.

ありがとうございました

.

(15)

付 図

1 Comparison between Fermi and Kepler architecture . . . . 1

2 About CUDA application . . . . 2

3 Original cell image . . . . 3

4 Local histogram equalization . . . . 3

5 Working flow of spatio-temporal image processing . . . . 3

6 Overall histogram equalization . . . . 3

7 Sequence of image processing . . . . 4

8 Result image . . . . 4

9 Processing Speed of each filter process . . . . 4

10 Processing Speed . . . . 5

11 Processing sequence of local histogram equalization on GPU . . . . 5

付 表

1 Specification of NVIDIA GRID K2 . . . . 1

2 Specification of the machine . . . . 1

(16)

Fig. 1 Comparison between Fermi and Kepler architecture

Table 1 Specification of NVIDIA GRID K2

GPU GTX680 x2

processor cores 1,536

clock rate [MHz] 745

global memory [Kbyte] 4 memory clock rate [KHz] 2.5 shared memory [Kbyte/block] 48

L1 cashe [Kbyte] 64

L2 cashe [Kbyte] 512

Table 2 Specification of the machine OS Microsoft Windows 7 Enterprise OS version 6.1.7601 Service Pack 1

memory [GB] 16.38

processor Intel c Xeon R CPU E5-2680 v2

clock rate [GHz] 2.8

(17)

(a) CUDA Application

(b) CUDA Programming Work flow

(c) GPU Architecture

Fig. 2 About CUDA application

(18)

Fig. 3 Original cell image

Fig. 4 Local histogram equalization

Fig. 5 Working flow of spatio-temporal image processing

Fig. 6 Overall histogram equalization

(19)

Fig. 7 Sequence of image processing

Fig. 8 Result image

(a) Processing Speed of each filter process (b) Core Occupation of GPU

(c) Core Occupation of GPU (d) Core Occupation of GPU

Fig. 9 Processing Speed of each filter process

(20)

Fig. 10 Processing Speed

Fig. 11 Processing sequence of local histogram equalization on GPU

Fig. 1 Comparison between Fermi and Kepler architecture
Fig. 2 About CUDA application
Fig. 3 Original cell image
Fig. 7 Sequence of image processing
+2

参照

関連したドキュメント

Developed wear using conductive fabric. Power Supply Unit

Abstract This study is aimed to reveal the specific process through which the activity form and the athletic mind of the old-education-system high schools were formed by "following

pair of ables whih provide power supply and om-.

攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな

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

Katsura (Graduate School of Informatics, Kyoto University) Numerical simulation of the transport equation by upwind scheme..

Some motivating factors come from the general system theory [8, 18]; one illustrating example below is based on the concept of a general time system. In this connection in [5, 6]

In this paper, we consider the coupled difference system (1.1) for a general class of reaction functions ( f (1) , f (2) ), and our aim is to show the existence and uniqueness of