PPT(要約版)

Download Report

Transcript PPT(要約版)

局所並列画像処理を目的とした
アーキテクチャの設計
福田 静人† 味岡義明‡ 天野 英晴†
†慶應義塾大学 理工学部 天野研究室
‡(株) エッチャンデス
1
発表内容
研究背景・目的
研究対象となる処理
アーキテクチャの設計
FPGAデバイスへの実装及び評価
現状報告・まとめ
2
研究背景・目的
視覚支援サービス
サポータによる
視覚障がい者支援
カメラ付き
携帯電話の普及
カメラ付き携帯電話から転送された画像による
音声サポートの実現(遠隔代読、歩行支援等)
3
視覚支援サービス
利用者からネットワーク経由で送信された
画像を元に音声で遠隔サポート
遠隔代読:看板、案内板、チラシなどの代読
 歩行支援:信号、標識、マークなどの読み取り

看板の文字は何か?
信号の色は?
4
視覚支援サービス
問題点
 通信コスト
-転送データ量、転送時間、転送にかかる料金
⇒端末側で転送データ量を減らす処理が必要

サポータ側の負担の軽減
‐利用者は常に使用しているわけではない
‐サポータの経験の差や、数にばらつきがある
⇒PC等を用いた自動化によるサポータ支援
サービスそのものを支援するシステムの必要性
5
発表内容
研究背景・目的
研究対象となる処理
アーキテクチャの設計
FPGAデバイスへの実装及び評価
現状報告・まとめ
6
視覚支援サービスで必要な処理
文字情報や標識、案内マーク等の読み取り
 一定の特徴をもつ記号情報の抽出
 取り出された記号情報の認識
記号情報の効率的な抽出に焦点
ex.画像中からの文字列の抽出
7
記号情報の抽出
画像中から効率的に記号を抽出するには?
この文字を抽出するには、
この部分だけ演算を行え
ばよい
同時に検出可能
局所的な並列性を生かせる処理が有効
8
局所並列画像処理アルゴリズム
N×N画素の正方領域で局所的に処理を
行うアルゴリズム
厳密な数値計算の代わりに単純な数式と
局所的なデータ交換を使用
ハードウェアを用いた並列処理が前提
処理例


色情報生成 :RGB画像からW(白)、B(黒)、R(赤)、
(緑)の画像を生成
画素値移動 :重心方向に画素値を移動
他にも、幾何解析、エッジ情報生成アルゴリズムなど
9
処理例1
–色情報生成‐
演算対象の画素と、その周囲の画素の値から
色情報画像を生成する




周囲の画素に比べて明るい
周囲の画素に比べて暗い
Rの値がGの値よりも大きい
Gの値がRの値よりも大きい
白
黒
赤
緑
黒の2値画像
元画像
赤の2値画像
10
処理例2
-画素値移動‐
8近傍の画素を参照し、
局所的な重心方向に
画素値を移動
0
0
1
1
0
10
0
1
1
1 8
1 1
7
1 2
1 22
1 2
1 1
1
1 3
1 2
1 3
1 1
1
1
1
1
12
1
1
1 3
1 2
1 3
1 1
1
0
1
1
1 1
6
4
1
1
1
11
1
ハードウェアへの要求
局所的な並列性の利用
様々な局所処理の実行

処理を行う領域の大きさが変更できること
画像のサイズに対する拡張性

画像サイズの拡大にスケーラブルに対応できる
こと
局所処理をターゲットとしたアーキテクチャ
12
設計方針
局所的な並列性の利用
小規模なPE(Processing Element)を複数使用
 1PEで数十~数百画素を処理
 PE間でデータ共有を行い、局所処理を実行

InterConnection
Processing
Element
PE Array
13
設計方針
様々な局所処理の実行
PEごとにローカルメモリを使用
 SPMD方式を用いて並列実行
 プログラム上で処理領域のサイズを変更

拡張性
PEの構造を均質化、周期性を持たせる
 PE間のデータ共有動作を処理と分離

実装

組み込みメモリを持ち、構造に周期性のある
FPGAをターゲット
14
発表内容
研究背景・目的
研究対象となる処理
アーキテクチャの設計
FPGAデバイスへの実装及び評価
現状報告・まとめ
15
アーキテクチャ
→
←
→
←
→
←
→
←
PE
(2.2
)
・・・
→
←
→
←
→
←
→
←
PE
(1.n
)
・・・
→
←
PE
(2.n
)
→
←
PE
(n.1
)
→
←
PE
(n.2
)
→
←
・・・
→
←
PE
(2.1
)
・・・
PE
(0.n
)
→
←
・・・
→
←
PE
(1.2
)
・・・
PE
(n.0
)
→
←
PE
(0.2
)
→
←
→
←
→
←
PE
(1.1
)
PE
(2.0
)
→
←
→
←
→
←
・・・
PE
(n.n
)
→
←
PE
(0.1
)
→
←
→
←
PE
(1.0
)
→
←
→
←
・・・
PE Array Controller
Host Interface
PE
(0.0
)
→
←
→
←
→
←
→
←
PEアレイ
→
←
小規模PEを周期的
に配置
SPMDアーキテク
チャ
PEアレイコントローラ
で全体を制御
16
アーキテクチャ
MULT
(16 bits)
→
←
→
←
PE
(1.n
)
→
←
PE
(2.n
)
PE
(n.1
)
→
←
PE
(n.2
)
→
←
ALU
(16 bits)
→
←
→
←
→
←
→
←
→
←
→
←
→
←
・・・
PE
(n.0
)
・・・
→
←
PE
(2.2
)
・・・
PE
(0.n
)
・・・
・・・
→
←
PE
(2.1
)
→
←
→
←
・・・
→
←
PE
(1.2
)
PE
(0.2
)
PE
(2.0
)
→
←
→
←
PE
(1.0
)
・・・
PE
(n.n
)
→
←
→
←
→
←
→
←
PE
(1.1
)
PE
(0.1
)
→
←
→
←
→
←
→
←
→
←
・・・
PE Array Controller
Host Interface
PE
(0.0
)
→
←
→
←
→
←
PEアレイ
→
←
Register file
16 Bit×16
Local
Memory
16 KByte
Communication
Controller
Neighbor PEs
(UP, DOWN,
RIGHT, LEFT)
17
Processing Element
MULT
(16 bits)
16bit RISCプロセッサ



4段パイプライン
16bitのALUと固定小数点乗算器
アルゴリズムの実行と通信制御
ローカルメモリ


各8KBの命令メモリとデータメモリ
データメモリの境界は4/8/16bit
通信コントローラ




PE間のデータ共有機構
上下左右のPEと16bit幅で接続
転送バッファを介して転送
プロセッサとは独立して動作
ALU
(16 bits)
Register file
16 Bit×16
Local
Memory
16 KByte
Communication
Controller
Neighbor PEs
(UP, DOWN,
RIGHT, LEFT)
18
→
←
PE
→
←
PE
→
←
PE
→
←
→
←
PE
→
←
PE
→
←
→
←
PE
→
←
→
←
PE
→
←
→
←
PE
PE
→
←
→
←
→
←
→
←
→
←
→
←
PE
PE
→
←
→
←
→
←
→
←
→
←
→
←
→
←
→
←
→
←
PE
PE
→
←
→
←
→
←
PE
PE
このPEだけでは
検出できない
→
←
PE
→
←
近傍のPEとの
データ共有が必要
→
←
PE
→
←
→
←
→
←
→
←
PE
PE
→
←
→
←
→
←
→
←
→
←
→
←
→
←
PE
PE
PE
→
←
→
←
→
←
→
←
→
←
→
←
→
←
PE
→
←
→
←
PE
→
←
→
←
→
←
PE
→
←
→
←
→
←
→
←
局所処理の実現方法
19
局所処理の実現方法
⇒
⇒
⇒
⇒
PE
12
PE
1
PE
1
⇒
⇒
PE
0
⇒
⇒
12
02
PE
0
 1つのPEからの
データの流れ方は固定
転送回数を
リセット
 転送回数に制限
2 ⇒ PE
12 ⇒ PE
02
PE
⇒
PE
1
PE
⇒
⇒
⇒
PE
0
PE
PE
⇒
⇒
PE
1
⇒
02
PE
1
⇒
PE
⇒
PE
0
PE
1
⇒
PE
0
PE
0
PE
0
1 ⇒ PE
12 ⇒ PE
0
1 ⇒ PE
0 ⇒ PE
 プログラムによって
共有する範囲を変更
 データ共有動作とアル
ゴリズムの実行を分離
20
PEアレイへのデータ供給
命令データのブロードキャスト
Select0
Select1
転送を行いつつ
命令データを書き込み
Halt
PE Array Controller
Host Interface
PE
Select2
Select3
外部からローカルメ
モリにアクセス可能
PE
PE
PE
Halt
21
PEアレイへのデータ供給
画像データの読み込み/書き込み
Select0
Select1
Select2
Select3
このPEのみローカル
メモリにアクセス可能
Halt
PE Array Controller
Host Interface
PE
PE
PE
PE
Halt
22
発表内容
研究背景・目的
研究対象となる処理
アーキテクチャの設計
FPGAデバイスへの実装及び評価
現状報告・まとめ
23
実装
小規模PEを周期的に配置するアーキテク
チャ
ローカルメモリを中心とした構造
製作コストを抑える
周期的に分散配置された組み込みデバイスとロジック
であるFPGAは実装に適する
24
実験ボード
SSRAM
SDRAM
Virtex-II
Quick
Logic
SSRAM
バイオインフォマティクス用リコンフィギャラブルアクセラレータボード




Virtex-II
Quick Logic
SyncBurst SRAM
SDRAM
XC2V6000-4BF957C
QL5064-PB456C-66B(PCIインタフェース)
2MByte × 8
32MByte × 2
実装結果(PEあたり)
Slice
Local Memory
Multiplier
1,639
16KB (Block RAM × 8)
1 (MULT 18x18)
25
拡張性の評価
PEアレイのサイズと実装評価
100
50
90
80
40
60
50
30
Slice使用率
動作周波数
40
20
動作周波数
Slice使用率
70
30
20
10
10
0
0
1x1
2x2
3x3
4x4
PEアレイサイズ
26
局所処理方法の考察
27
発表内容
研究背景・目的
研究対象となる処理
アーキテクチャの設計
FPGAデバイスへの実装及び評価
現状報告・まとめ
28
まとめ
29
現状報告
30
-------------------
31
研究背景・目的
視覚支援サービス
サポータによる
視覚障がい者支援
カメラ付き
携帯電話の普及
カメラ付き携帯電話から転送された画像による
音声サポートの実現(遠隔代読、歩行支援等)
PC等を用いたサービスの自動化、サポータ支援
32
視覚支援サービス
利用者が送信した画像を元にサポート
遠隔代読:看板、案内板、チラシなどの代読
 歩行支援:信号、標識、マークなどの読み取り

サービスそのものを支援する
システムの必要性
問題点

サポータ側の負担の軽減
 画像撮影によるプライバシーの問題
 画像転送にかかる通信コスト
33
視覚支援サービスで必要な処理
サービスの内容

文字情報や標識、案内マーク等の読み取り
⇒ 一定の特徴をもつ記号情報の抽出
⇒ 取り出された記号情報の認識
一般的な方法

フーリエ変換、ハフ変換、ヒストグラム作成etc…
⇒ 精度は高いが計算コストがかかる。
⇒ 記号という局所的な図形に対して並列性が生かせない
局所的な並列性を生かせる処理が必要
34
局所処理の実現方法
局所処理を行う
InterConnection
Processing
Element
PE Array
処理を行うPE
近傍のPEと PE Array
データ共有
35
特徴
新規性

局所並列性の利用を目的としたハードウェア
拡張性
PEの構造を均質化、周期性を持たせる
 PE間のデータ共有に同期を必要としない

実装

製作コストを抑えるため、組み込みメモリを持ち、
構造に周期性のあるFPGAをターゲットに実装
36
16bit RISC プロセッサ
局所処理/通信制御に使用
4段パイプライン
 16bit×16の汎用レジスタ

命令セット
局所処理を行うための専用の命令体系
 クロック供給を止めるSLEEP命令

固定小数点乗算器

整数/固定小数の乗算、アドレス計算に使用
タイマ

PE間のアルゴリズムレベルでの同期に使用
37
データ共有動作
転送回数が2の場合
PE Array
38
設計方針
局所的な並列性の利用
小規模なPE(Processing Element)を複数使用
 1PEで数十~数百画素を処理
 PE間でデータ共有を行い、処理を実行

InterConnection
Processing
Element
PE Array
処理を行うPE
近傍のPEと PE Array
データ共有
39
-------------------
40
→
←
→
←
PE
→
←
→
←
PE
→
←
PE
→
←
→
←
PE
→
←
PE
→
←
→
←
PE
→
←
→
←
→
←
→
←
→
←
→
←
PE
→
←
→
←
→
←
→
←
PE
PE
PE
→
←
PE
→
←
→
←
PE
PE
→
←
→
←
→
←
→
←
→
←
PE
→
←
→
←
→
←
PE
PE
→
←
→
←
→
←
→
←
PE
→
←
→
←
→
←
→
←
PE
PE
PE
→
←
→
←
→
←
→
←
→
←
PE
→
←
PE
→
←
→
←
→
←
→
←
→
←
→
←
PE
→
←
→
←
PE
→
←
→
←
→
←
→
←
→
←
PE
→
←
→
←
41