当前位置: 首页 > news >正文

FPGA_YOLO(二)

上述对cnn卷积神经网络进行介绍,接下来对YOLO进行总结,并研究下怎么在FPGA怎么实现的方案。

对于一个7*7*30的输出  拥有49个cell 每一个cell都有两个bbox两个框,并且两个框所包含的信息拥有30个  4个坐标信息和一个置信度5个,剩下就是20个类别。

FPGA关于YOLO的部署 

1.1部署总共有四种方法:

1.编写完整的网络结构的电路进行映射,也就是基本都用pL来进行处理,图片或者视频的采集以及中间的算法,卷积,激励池化等都在PL进行编写
2.编写部件级加速器(函数\IP可调用的方法\系统调用)部分映射 一部分算法的加速在PL,其他的一些在PS。
3.编写分块级 亚加速器(函数VIP\可调凡的方法\系统调用)部分分块映射
4.多板子分布式映射

1.2工程的具体步骤

1.2.1 :数据的采集 

能够采集到的数据 视频和图像 

视频 :1.pl 传感器读入 ov5640 存在

                       ps的DDR中

                       pl的ddr以及bram

            2PSusb摄像头读入免驱

图像: 1.SD卡的读入

            2网口,

            3串口

           4 ps主程序运行时读入  在写进程的时候写入

1.2.2 : 数据怎么输入至YOLO模块

 在pl测的时候通过自己定义的在pl测进行处理,还有就是ps通过AXI协议把获取的数据送到ps进行接下来 的处理。

1.PL到PS:自定义总线或直接读取模块。

2.PS到PL:高性能传输接口,如AXI Stream和DMA。

3.DMA:直接内存访问,用于PL和PS之间的数据传输。

4.AXI Stream:用于高性能数据传输,支持流式数据传输。

1.2.3 YOLO内部怎么在PL实现

 这是基本在pl侧进行处理 主要取决于网络结构

 以上的block都在pl进行处理,在编写代码的时候,需要有有效数据位这样能够知道在哪些地方数据是有效的。需要考虑时序,表示在什么时间点干什么事。

在传输数据的时候会出现很多数据并行处理,这时需要用buffering来进行缓存。

1.2.3.1FPGA 设计,Buffering(缓冲)

是一个关键的技术,用于优化数据传输

相关文章:

  • Python Web 框架之 Flask
  • 全文通读:126页华为IPD集成产品开发与DFX实战【文末附可编辑PPT下载链接】
  • spring+k8s 功能说明
  • Android Compose 框架派生状态(derivedStateOf、rememberCoroutineScope)深入剖析(十五)
  • Qt进程间通信:QSharedMemory 使用详解
  • 2025年陕西省各市秦创原产业创新聚集区(机器人、羊乳、苹果)“四链”融合项目申报补贴要求和时间流程
  • 【STM32】第一个工程的创建
  • MySQL的数据文件
  • 自然语言处理|LoRA:让大模型微调更简单更高效
  • JS 应用WebPack 打包器第三方库 JQuery安装使用安全检测
  • 【Linux】强大的进程监控工具—htop
  • python采集京东商品评论API接口,json数据示例参考
  • Ubuntu capolar 上实现内网穿透
  • 单片机电路中常见的英文术语及缩写
  • 【Linux学习笔记】gcc编辑器和动静态库的深度剖析
  • 【MySQL】一篇讲懂什么是聚簇索引和非聚簇索引(二级索引)以及什么是回表?
  • Linux第九讲:动静态库
  • [计算机三级网路技术]第六章:交换机及其配置
  • Ubuntu部署Docker搭建靶场
  • 基础-语音是怎么进到LLM里面的
  • 王毅出席金砖国家外长会晤
  • 太好玩了!坐进大卫·霍克尼的敞篷车穿越他画笔下的四季
  • 在循环往复的拍摄中,重新发现世界
  • 国家发改委答澎湃:力争6月底前下达2025年两重建设和中央预算内投资全部项目清单
  • 人社部:就业政策储备充足,将会根据形势变化及时推出
  • 广东一公司违规开展学科培训被罚没470万,已注销营业执照