耘达峰科技推出AI应用图像处理相关解决方案-仿射变换到FPGA设计实现

2023-04-04 18:58:45 278 Bob

`

 

2020新品发布

北京耘达峰科技有限公司

仿射变换到FPGA设计实现

使用HLS实现仿射变换

完整解决方案

(壹)方案介绍

 

什么是仿射变化

 
 
 
 

 

 

仿射变换(AffineTransformation)是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”和“平行性”

 

 

仿射变换包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear),以下内容我们着重讨论平移、缩放和旋转三种实现。

 

平移变化效果展示:

 
 
 
 

 
 
 
 

旋转变化效果展示:

 

 
 
 
 

 
 
 
 

 

缩放(缩小/放大)变化效果展示:

 
 
 
 

 
 
 
 

 

 

(贰)方案原理

 

仿射变换实现原理

 
 
 
 

 

 

图像/视频的仿射变换可以理解为矩阵运算的过程,可以将图像/视频经过数字处理后的所有像素点理解为一个以图片分辨率为维度的矩阵,然后根据变换操作进行对应的矩阵运算操作,然后对于超过分辨率或显示要求之外的部分自动裁剪,对于未能补齐的区域做补零操作,进而实现仿射变换。

 

  • 平移变换(HLS实例分享系列-使用HLS快速实现图像的平移变换算法)操作相当于将每个像素点都移动移动距离,假设原来像素点的坐标为(x0y0),平移变换操作变化量假设为txty,那么新像素的坐标点将为(x0+tx,y0+ty),一次类推将图像内所有像素点的坐标都做同样的变换操作,就可以演变为矩阵操作。

 

  • 缩放操作就是将每一个像素点的横坐标放大(缩小)至sx倍,纵坐标放大(缩小)至sy倍,同时对产生的空白区域做像素补充,这里面可以采用多种算法实现像素点的补充,已知的算法有最邻近算法、双线性插值算法(HLS实例分享系列-使用HLS快速实现图像缩放算法)以及双三次插值算法等,以上算法各有优缺点,算法的选择决定了实现的难易程度,也决定了算法的计算量及性能快慢。

     

  • 旋转操作也是难度比较大的操作,将目标图形中所有像素点的坐标围绕原点旋转(顺时针或者逆时针)固定或者任意弧度,并且对超出图像分辨率的部分做自动裁剪以及对空白区自动补零操作,这是一个复杂的矩阵运算,以及三角函数的复杂应用。

 

 

(叁)硬件平台

 

硬件组成方案概述

 
 
 
 

 

 

硬件组成方案采用主控FPGA+ARM,FPGA来实现仿射变换的全部核心算法,采用开源RTL代码经过综合、布局布线、生成bin文件等一系列常规FPGA设计开发操作之后加载到目标硬件系统平台上,其中ARM主要负责视频的输入和输出,以及FPGA程序的自动加载等操作,但不参与仿射变换的任何核心算法计算。

 

该硬件组合方案具有的优势:

  • 核心算法完全满足RTL源码设计,完全自主可控;

  • 借助FPGA的并行化算法处理可以加速处理速度,提高效率;

  • FPGA具有易维护,随时可以升级等特点,完全满足国内标准化硬件设计的要求,还可以满足产品的性能与功能的多次迭代;

  • 有助于提高产品核心竞争力;

  • 支持全彩高分辨图像输入;

 

(肆)性能展示

 

仿射变换视频演示

 
 
 
 

 

 

下期继续展示仿射变换动态演示效果

敬请期待!!!

 

 
 

公司介绍

 
 

 

关于我们

 
 
 

北京耘达峰科技有限公司是一家专注于建立FPGA生态解决方案的技术服务型公司,注册资金500万。公司主要产品围绕FPGA为核心开展全面的解决方案,主要包括图像视频领域高性能IP核研发、算法模型研发、高层次综合整体解决方案、板卡设计及技术培训等,公司有占地一百平米的算法模型/IP核原型展示体验区。

发现更多精彩

关注公众号

END

 

 

 

`