面向视觉处理的 可重构阵列互连技术研究
DESCRIPTION
面向视觉处理的 可重构阵列互连技术研究. 刘江明 2014.04.15. 目录. 可重构阵列架构及互连. 视觉信息处理算法并行验证. 基于 RANSAC 的图像匹配算法改进. 可重构阵列架构设计及算法映射验证流程. Ⅰ. 可重构阵列架构及互连. 可重构阵列架构及互连的初步功能设计. PE 单元模块、 Router 互连结构设计. PE 阵列设计;可重构架构建模设计、仿真. 可重构阵列架构及互连的初步功能设计. RPU ( Reconfigurable Processing Unit )功能设计. 可重构阵列架构及互连的初步功能设计. - PowerPoint PPT PresentationTRANSCRIPT
面向视觉处理的可重构阵列互连技术研究
刘江明2014.04.15
目录
基于 RANSAC的图像匹配算法改进
可重构阵列架构及互连
视觉信息处理算法并行验证
可重构阵列架构设计及算法映射验证流程
可重构阵列架构功能设计 视觉信息处理算法分析
可重构PE阵列设计 简单算法kernel并行映射
其他算法kernel并行映射其他模块设计
可重构阵列架构行为模型 视觉信息处理算法并行映射配置信息
可重构阵列架构硬件实现 视觉信息处理算法并行映射配置信息
联系优化
小范围联合仿真
行为级联合仿真验证
硬件设计流程
配套视觉信息处理算法映射过程
可重构阵列架构及互连
Ⅰ
可重构阵列架构及互连的初步功能设计
PE 阵列设计;可重构架构建模设计、仿真
PE 单元模块、 Router 互连结构设计
可重构阵列架构及互连的初步功能设计
RPU
RPU_Controller
配置控制器(AHB Master)
配置字接口(AHB Slave)
数据控制器(AHB Master)
Shared Memory
PEA
CWI_FIFO_Empty
CWI_DATA
IS_READING_FIFO
PEA_EN
PEA_CP_INDEX
PEA_Finish
ADDR
DATA
REQ & GRANT
CW1
CP_LOAD_Finish
CP_INDEX
CP_ADDR
CP_DATA
CW2 & CW3DATA_LOAD/STORE_Finish SM_DATASM_ADDR
控制流 配置流 数据流
AHB总线
RPU( Reconfigurable Processing Unit )功能设计
可重构阵列架构及互连的初步功能设计PEA( Processing Element Array )功能设计
PEA
SM_Arbiter
Conf_Arbiter
PEA_Sync
Array of PEs
PEA_EN
PEA_CP_INDEX
PEA_FINISH
CC_PEA_TOP
CC_PEA_TOP_VALID
CC_CP_VALID
CC_CP_DATA
CC_SEL_PE
CC_CP_ADDR
SM_ADDR[4]
SM_STORE_DATA[4]
SM_LOAD_DATA[4]
SM_RD_WR[4]
SM_REQ[4]
SM_GRANT[4]
SM_ADDR[16]
SM_STORE_DATA[16]
SM_LOAD_DATA[16]
SM_RD_WR[16]
SM_REQ[16]
SM_GRANT[16]
PE_EN
PE_FINISH[16]
CP_FINISH[16]
PE_CONF_VALID[16]
PE_CONF_READY[16]
PE_CONF_ADDR & DATA
可重构阵列架构及互连的初步功能设计PE( Processing Element )功能设计
PE
PE_Controller
LSU
ALU
Conf_MEM
Router
PE_enPE_finish
PEA_CONF_ADDR
PEA_CONF_DATA
ALU_op
CP_finish
ALU_input (1,2,3)ALU_output
Conf_ADDR (_VALID)
Conf_DATA(_READY)
PEA_CONF_VALID
PEA_CONF_READY
WDATARDATA
RW
REQ
GRANT
ADDR
CP_enCP_index
ALU_en
ALU_finish
ADDR DATAADDR DATA
To Other PEs
可重构阵列架构及互连
Ⅰ
可重构阵列架构及互连的初步功能设计
PE 阵列设计;可重构架构建模设计、仿真
PE 单元模块、 Router 互连结构设计
PE 单元模块、 Router 互连结构设计PE( Processing Element )模块内部设计
PE
PE_Controller
LSU
ALU
Conf_MEM
Router
PE_enPE_finish
PEA_CONF_ADDR
PEA_CONF_DATA
ALU_op
CP_finish
ALU_input (1,2,3)ALU_output
Conf_ADDR (_VALID)
Conf_DATA(_READY)
PEA_CONF_VALID
PEA_CONF_READY
WDATARDATA
RW
REQ
GRANT
ADDR
CP_enCP_index
ALU_en
ALU_finish
ADDR DATAADDR DATA
To Other PEs
PE_Controller
Input 1和input 2的四个来源:(1) 来自shared memory (地址在配置包中指定)(2)来自自己或其他PE上一个机器周期的输出 (通过Router)(3)来自shared Memory (地址在配置包中指定)(4)来自寄存器堆(5)来自立即数另:Input 3为细粒度控制通路,只能来自于自己或其他PE的output2
0
1
2
3
4
…...
RF
15
RF的功能:RF[0]~RF[13] 用于所在PE的存储,只能被本PE访问RF[14],counter,记录这套配置包已经执行的机器周期数。RF[15],保存下一个机器周期要执行的配置是当前配置包的第几行。相当于Program Counter (PC),用于迭代
RF只能被当前PE访问,通过bit[5:1] = 11111, bit[10:6]就是
对应RF的编号
Conf_MEM
…...
Mem_bank1
根据地址的高两位决定是哪个bank
Mem_bank1
Mem_bank2
Mem_bank3
ALU
Input1 (32-bit) Input2 (32-bit) Input3 (1-bit)
output2 (1-bit)output1 (32-bit)
PE 单元模块、 Router 互连结构设计PE 阵列内部 Router 互连结构设计
n 后面接一个二维坐标 (x , y) ,表示当前 PE 要访问 PE 的相对位置。 x 表示目标 PE 相对当前 PE 在横向上移动的距离(正数向右,负数向左), y 表示纵向上移
动的距离(正数向上,负数向下)。 目前合法的 router 坐标有:
a) 相邻的四个 PE (上、下、左、右)。即 (0,1), (0,-1), (-1,0), (1,0) 。b) 距离为 2 的四个 PE (上跳、下跳、左跳、右跳)。即 (0,2), (0,-2), (-2,0), (2,0) 。c) 上一行和下一行的部分 PE (相邻行间互联)。对于 4*4 的阵列,目前合法的坐标有
(1,1), (1,-1), (-1,1), (-1,-1) 。d) 本 PE 在上一机器周期的输出数据。即 (0,0)
一个 PE 的输出可以被多个 PE 在下一个机器周期通过 router 同时访问。
Array of PEsPE11
PE12
PE13
PE14
PE21
PE22
PE23
PE24
PE31
PE32
PE33
PE34
PE41
PE42
PE43
PE44
-1, 1 0, 1 1, 1
-1, 0 0, 0 1, 0 2, 0
-1, -1 0, -1 1, -1
0, 2
-2, 0
0, 2
可重构阵列架构及互连
Ⅰ
可重构阵列架构及互连的初步功能设计
PE 阵列设计;可重构架构建模设计、仿真
PE 单元模块、 Router 互连结构设计
PE 阵列设计;可重构架构建模设计、仿真接下来需要完成的工作
1. 基于 PE 单元、互连结构的 PE 阵列( 4*4 )设计
2. 可重构整体架构的模型搭建、仿真( SystemC & Verilog )
3. 在利用视觉处理算法仿真和验证的过程中,根据功能、性能的相关结果,对部分硬件结构进行优化(如双口 Shared Memory ,具有数据分发功能的平台级 Router )
视觉信息处理算法并行验证Ⅱ
• 运算密集( compute intensive )
• 数据密集( data intensive )• 控制密集( control intensive )
面向并行计算的算法应用类型划分,目前在学术界得到较广泛承认的是伯克利大学一份技术报告中提出的分类方法。根据:相似数据结构或访存行为—— 13 dwarfs
根据分类标准,将视觉信息处理算法合理的分类,并进而分割、映射,最终在可重构处理器上实现。
2D-DCT 等单 kernel 算法应用的并行映射
RANSAC 等多 kernel 算法应用的并行映射
与可重构平台的联合仿真验证
视觉信息处理算法并行验证
Ⅱ
2D-DCT 等单 kernel 算法应用的并行映射
RANSAC 等多 kernel 算法应用的并行映射
与可重构平台的联合仿真验证
视觉信息处理算法并行验证
2D-DCT 等单 kernel 算法应用的并行映射算法应用并行映射流程
1. 分析算法,划分所属 kernel
2. 分析算法的计算特征(加减乘除、浮点 / 定点 / 整型、计算复杂度分析,数据密集型 / 计算密集型 / 控制密集型,计算量、访存量)
3. 分析算法的访存特征(各个 kernel 的访存复杂度分析、变量名称、数据量、输入 / 输出、最大并发访问数量)
4. 根据分析和可重构 PE 单元功能和互连,将算法主要部分( kernel )用数据流图(Data Flow Graph,DFG)的形式表达。
5. 数据准备和在 Shared Memory 中的安排
6. 将最终的并行映射表达成配置信息的形式
2D-DCT 等单 kernel 算法应用的并行映射完成 2D-DCT等算法的映射
1. 采用稠密矩阵乘法类映射的方法,映射为对应 DFG 图
2. 每两个 PE 一组进行一组乘、加运算
软流水 PE 功能演化及配置压缩过程 DFG 图 PEA各 PE 功能(每两个 PE 组成一组)
2D-DCT 等单 kernel 算法应用的并行映射完成 2D-DCT等算法的映射
3. 数据准备和在 Shared Memory 中 的安排
2D-DCT 等单 kernel 算法应用的并行映射完成 2D-DCT等算法的映射
4. 将最终的并行映射表达成配置信息的形式
视觉信息处理算法并行验证
Ⅱ
2D-DCT 等单 kernel 算法应用的并行映射
RANSAC 等多 kernel 算法应用的并行映射
与可重构平台的联合仿真验证
视觉信息处理算法并行验证
RANSAC 等多 kernel 算法应用的并行映射正在进行 RANSAC等算法的映射1. 分析算法,划分所属 kernel:Map Reduce 映射化简 & Back-track
and Branch +Bound 回溯与分支限界。控制密集型 & 计算密集型2. 分析算法的计算特征
a) 热点 1 ( inv_matrix_3 ) 3*3 矩阵求逆( 1 次)
b) 热点 2 (mul_matrix_3 ) 两个 3*3 矩阵相乘( 1 次)
c) 热点 3 ( cal_distance ) 两点之间欧氏距离 di (次数:角点对数量)
d) 热点 4 ( count_inliers ) 统计内点数量:比较、 +1 (内点对数量次) 内点对欧氏距离 di 的总和 D :累加(内点对数量次)
e) 非热点 1 1*3 向量 ×3*3 矩阵(次数:角点对数量)
11 12
21 22
31 32
0
1 = 1 0
1
h h
x y w z h h
h h
RANSAC 等多 kernel 算法应用的并行映射接下进行 RANSAC等算法的映射
1. 分析算法的访存特征(各个 kernel 的访存复杂度分析、变量名称、数据量、输入 / 输出、最大并发访问数量)
2. 根据分析和可重构 PE 单元功能和互连,将算法主要部分( kernel )用数据流图(Data Flow Graph,DFG)的形式表达。
3. 数据准备和在 Shared Memory 中的安排
4. 将最终的并行映射表达成配置信息的形式
视觉信息处理算法并行验证
Ⅱ
2D-DCT 等单 kernel 算法应用的并行映射
RANSAC 等多 kernel 算法应用的并行映射
与可重构平台的联合仿真验证
视觉信息处理算法并行验证
与可重构平台的联合仿真验证
1. 已完成 2D-DCT 在可重构阵列 C++ 行为模型平台的功能验证。
2. 接下来需要完成所有 6 种视觉信息算法在可重构阵列上的并行映射。
3. 完成视觉信息处理算法与可重构行为模型平台的联合仿真,相互验证功能正确,初步分析性能。并对算法映射、可重构硬件结构进行优化。
工作展望
基于 RANSAC 的图像匹配算法改进
Ⅲ视觉信息处理算法并行验证
国内外发展及研究现状 & 算法基本原理基于约束随机采样和极大似然概率模型的优化改进
基于 RANSAC 的图像匹配算法改进
最先由 Martin A. Fischler 和 Robert C. Bolles于 1981 年提出。
RANSAC 算法历经 30 多年演化,已经形成多个经典可靠的衍生算法。
RANSAC ( RANdom SAmple Consensus ,随机抽样一致性 )是一种基本子集的目标函数的优化方法 ,通过随机取样剔除局外点的影响 ,以期构建一个仅由局内点数据组成的基本子集 。
由两幅图像上匹配的特征点集估计变换矩阵 H时,由于特征点会受到一定噪声污染 , 同时还有可能存在误匹配 ,所以将特征点集划分两类 : 局内点数据和局外点数据 。
而局外点数据是误匹配的特征点对 。 对该问题解决的方案是采用 RANSAC 方法 ,通过重复地随机取样数据基本子集 , 利用基本子集估算变换矩阵 H。
国内外发展及研究现状 & 算法基本原理
基于 RANSAC 的图像匹配算法改进
一般情况下 ,随机取样基本子集的数目必须确保在所有取样子集中 , 至少有一个数据基本子集包含的数据全部是局内点数据的概率大于 95 % 。基本子集数目 n (迭代次数)与至少取得一个良性取样子集的概率 Γ ( Γ >95% ) 之间关系的公式如下:
( 1 ) 其中 ε 表示局外点占数据集的比例 , m 表示基本子集中数据点的数目。
国内外发展及研究现状 & 算法基本原理
1- (1- (1- ) )m n
基于 RANSAC 的图像匹配算法改进
RANSAC 基本流程
1. 提取特征2. 估计匹配特征点数据集3. 循环重复 n 次 ,如果 ε发生变化 , 使用公式 ( 1 ) 做相应调整
1 )在数据集中,随机取样基本子集 ;2 )由基本子集,计算变换矩阵 H;3 )评估基本矩阵 F 的相容性;
a) 对数据集中所有数据点 , 利用前面求出的变换矩阵 H计算代数误差
b) 计算与变换矩阵 H相关的目标函数(阈值) , 划分数据为局内点和局外点 。
4. 选择对应具有最多局内点数目的变换矩阵 H。5. 利用所有局内点重新计算变换矩阵 H。
国内外发展及研究现状 & 算法基本原理
基于 RANSAC 的图像匹配算法改进
评估基本矩阵 F 的相容性 研究热点
Torr P H S, Zisserman A. MLESAC: A new robust estimator with application to estimating image geometry[J]. Computer Vision and Image Understanding, 2000, 78(1): 138-156.
提出了一种非常经典的 RANSAC 改进方法—— MLESAC 利用似然估计模型,转化为一个约束的最优化问题 同时假设匹配点受到高斯噪声的污染,并用高斯分布和均匀分布的模型
来描述测量值与真实值之间的误差 主要公式如下
国内外发展及研究现状 & 算法基本原理
基于 RANSAC 的图像匹配算法改进
Nistér D. Preemptive RANSAC for live structure and motion estimation[J]. Machine Vision and Applications, 2005, 16(5): 321-329.
在MLESAC 的基础上进一步改进 正常计算投影变换时,一般 3 对匹配点。改进:利用 4 对
点,降低复杂计算的代价,进行预处理。 利用 Cauchy 来描述模型的误差利用似然估计模型,并为了减少计算瓶颈带来的计算困难,将投影误差分为 10 对点一组进行计算。
国内外发展及研究现状 & 算法基本原理
基于 RANSAC 的图像匹配算法改进
Cheng L, Li M, Liu Y, et al. Remote sensing image matching by integrating affine invariant feature extraction and RANSAC[J]. Computers & Electrical Engineering, 2012, 38(4): 1023-1032.
在内外点划分过程中,对于判断阈值进行动态调整 调整主要依据当前点集的特征,主要分为两种动态调整算法
采用尽可能小的 threshold ,来获得几乎没有误差的内点对,并在迭代中,不断利用下面的公式,对 threshold 进行扩大,直到某个对应的threshold 下,内点对中出现无差点对。
采用尽可能大的一个 threshold ,来获得包含误差的内点对。利用内点中的正确率以及内点数量作为判断:如果正确率低于 40% ,那么就将 threshold 减半,并反复迭代,直到正确率达到所要求的值。
国内外发展及研究现状 & 算法基本原理
基于 RANSAC 的图像匹配算法改进
Yan Q, Xu Y, Yang X, et al. HEASK: Robust homography estimation based on appearance similarity and keypoint correspondences[J]. Pattern Recognition, 2014, 47(1): 368-387.
集成了基于像素的优点和基于特征的单应矩阵估计方法的优点 极大似然框架下结合了外观相似性和关键点对应关系的概率模
型 选择用拉普拉斯分布代替高斯分布来描述内点坐标误差分布,
在描述重尾分布上有更好的效果 采用 ECC (加强相关系数)描述参考图像与待变换图像之间的
相似性。
国内外发展及研究现状 & 算法基本原理
基于约束随机采样和极大似然概率模型的优化改进
1. 随机采样会浪费大量时间,约束条件下的随机采样,可以提高迭代效率。根据特点条件,过随机采样。
2. 结合极大似然概率模型,将 RANSAC 计算 H矩阵过程转化为最优化问题。采用拉普拉斯分布模型描述像素坐标误差。
3. 采用动态 threshold 的算法,找到最适合样本的 threshold ,进而获得最精确的内点集和计算结果 H。
4. 利用所有内点进行最精确的计算。
RANSAC 基本流程1. 提取特征2. 估计匹配特征点数据集3. 循环重复 n 次 ,如果 ε发生变化 , 使用公式 ( 1 ) 做相应调整
1 )在数据集中,随机取样基本子集 ;2 )由基本子集,计算变换矩阵 H;3 )评估基本矩阵 F 的相容性;
a) 对数据集中所有数据点 , 利用前面求出的变换矩阵 H计算代数误差 b) 计算与变换矩阵 H相关的目标函数(阈值) , 划分数据为局内点和局外点 。
• 选择对应具有最多局内点数目的变换矩阵 H。• 利用所有内点重新计算变换矩阵 H。
RANSAC 基本流程1. 提取特征2. 估计匹配特征点数据集3. 循环重复 n 次 ,如果 ε发生变化 , 使用公式 ( 1 ) 做相应调整
1 )在数据集中,随机取样基本子集 ;2 )由基本子集,计算变换矩阵 H;3 )评估基本矩阵 F 的相容性;
a) 对数据集中所有数据点 , 利用前面求出的变换矩阵 H计算代数误差 b) 计算与变换矩阵 H相关的目标函数(阈值) , 划分数据为局内点和局外点 。
• 选择对应具有最多局内点数目的变换矩阵 H。• 利用所有内点重新计算变换矩阵 H。
参考文献[1] D. Rossi , F. Campi , S. Spolzino , S. Pucillo and R. Guerrieri "A
heterogeneous digital signal processor for dynamically reconfigurable computing", IEEE J. Solid-State Circuits, vol. 45, no. 8, pp.1615 -1626 2010.
[2]Rossi D, Mucci C, Campi F, et al. Application space exploration of a heterogeneous run-time configurable digital signal processor[J]. Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, 2013, 21(2): 193-205.
[3] Asanovic K, Bodik R, Catanzaro B C, et al. The landscape of parallel computing research: A view from Berkeley[R]. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley, 2006.
参考文献[4] Asanovic K, Bodik R, Demmel J, et al. A view of the parallel
computing landscape[J]. Communications of the ACM, 2009, 52(10): 56-67.
[5] Fischler M A, Bolles R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[J]. Communications of the ACM, 1981, 24(6): 381-395.
[6] Wang H, Suter D. Robust adaptive-scale parametric model estimation for computer vision[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2004, 26(11): 1459-1474.
[7] Rousseeuw P J, Leroy A M. Robust regression and outlier detection[M]. John Wiley & Sons, 2005.
[8] Cheng C M, Lai S H. A consensus sampling technique for fast and robust model fitting[J]. Pattern Recognition, 2009, 42(7): 1318-1329.
THANKS!