碎碎思 · 2022年06月07日

优秀的 Verilog/FPGA开源项目介绍(二十五)- FPGA图像处理库

FPGA-Imaging-Library

https://github.com/dtysky/FPGA-Imaging-Library

介绍

一个开源的FPGA图像处理库。

921d76577377f42bcfce14a26b9570ac.png

F-I-L是一个FPGA平台的开源的图像处理库,已经拥有了许多常用操作,并在不断更新中。这些操作被以IP核的形式进行了封装,遵循同一种规范化的接口,同时具有流水线和请求响应两种使用模式。

fpga_image_processing

https://github.com/damdoy/fpga_image_processing

介绍

少逻辑量FPGA图像处理库。在verilog中实现简单的图像处理操作,该项目围绕一个中央图像处理模块展开image_processing.v,该模块使用 verilator 仿真。在ICE40 FPGA上实现。

因为它针对的是低端 fpga 设备(无论是价格还是功耗),例如 ice40 ultraplus。它使用 1Mbit 的 ram 将图像存储到两个缓冲区中,即输入缓冲区和存储缓冲区。图像在输入缓冲区中加载和读取,计算在存储缓冲区中完成。这两个缓冲区可以交换。大多数操作将在存储缓冲区中完成,如果对两个图像应用操作(例如 binary_add),则生成的图像将写入存储缓冲区。

架构

e2b3b411abf80aeb8db3cf5a70303fe2.png

ImageStitchBasedOnFPGA

https://github.com/mhhai/ImageStitchBasedOnFPGA

七路摄像头拼接

Image-Classification-using-CNN-on-FPGA

https://github.com/padhi499/Image-Classification-using-CNN-on-FPGA

项目是关于在 FPGA 上设计一个经过训练的神经 n/w(CIFAR-10 数据集),以使用深度学习概念(CNN-卷积神经网络)对图像 I/P 进行分类。

有 6 层(滑动窗口卷积、ReLU 激活、最大池化、扁平化、完全连接和 Softmax 激活)决定了我们的 I/P 图像的类别。Kernels/Filters用于从图像 I/P 进行特征检测。图像 I/P 可以是灰度/彩色的。

使用的工具

赛灵思 Vivado v17.4

Matlab vR2018.a

使用的语言

Verilog HDL

600538b7010e6663d49e5ee48a17ade3.jpg

Image_sim

https://github.com/Bestduan/Image_sim

介绍

基于FPGA的图像处理模块(出自于crazybingo)(将里面的Intel的shift_RAM以及altsqrt的IP核换为Verilog来实现,方便实现跨平台移植)

含有图像的仿真模块

文件结构基于vscode下FPGA_Develop_Support插件

魔方图像处理

https://github.com/IdlessChaye/magicalcubeImageProcess

cbe4aacdfb0112bed06412f987e11809.png

功能

使用ov7725获取magiccube表面正确位置的像素,通过hsv编码转换为3位颜色编码。

输出

6 个魔方表面 9 个正方形 3 位颜色编码。

20ce9801e0e9a10588d31b6b9f0fd74b.png

板卡

Xilinx FPGA EGO1 xc7a35tcsg324

microshift_compression

https://github.com/zhangmozhe/microshift_compression

Microshift:一种高效的硬件图像压缩算法

这是 TCSVT 论文“Microshift: An Efficient Image Compression Algorithm for Hardware”的 Matlab 和 Verilog 实现

描述

Microshift是一种有损图像压缩算法,可以在硬件上以极低的功耗高效实现。

  • 在数据集上进行测试时,它可以将图像压缩到1.25 BPP,其结果质量优于最先进的片上压缩算法 ( PSNR=33.16, SSIM=0.90 )。

bba9328b552c8d665fa03d02a1252958.png

  • 提出了一种高效的 VLSI 架构,并在 FPGA 上实现。
  • ASIC 设计的结果进一步验证了低硬件复杂性和高功率效率。
  • 我们的方法有望用于低功耗无线视觉传感器网络(WVSN)。

b1b550219fea320f41f204b68274584c.png

论文

https://github.com/zhangmozhe/microshift_compression/blob/master/paper.pdf

HDR

https://github.com/markos-stefanidis/FPGA-Based-HDR-algorithm

https://github.com/sh-vlad/FPGA_rtime_HDR_video

matlab-imageprocess

https://github.com/LiaoYuxuan/matlab-imageprocess

58980f2f0c107bf219bd41bf49c90c4c.png

最后就是一些资料了,主要是图像处理算法,核心是冈萨雷斯数字图像处理MATLAB版本。

总结

终于介绍完了SNN、TPU、CNN和DNN,今天推荐几个视频/图像处理的项目,说实话其实这方面内容比较少,项目也是比较老旧,因为这方面内容太多,已经发展了几十年了,ASIC在这方面基本都满足了常规应用,所以在FPGA方面基本停滞不前了。但是国内像CrazyBingo等大佬还在这方面继续耕耘。后续我也准备追随大佬们的脚步出系列教程(围绕ISP)。

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在下面留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

原文:OpenFPGA
作者:碎碎思

相关文章推荐

更多FPGA技术干货请关注FPGA 的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10604
内容数
561
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息