新手做哪类网站,知乎做笔记的网站,开发一款社交软件需要多少钱,杭州网页设计招聘一、简介
1、目标检测概念
2、目标检测应用 3、目标检测发展历程 二、YOLO V1 1、输入
必须为448x448分辨率 2、网络结构
卷积 池化 卷积 池化 3、输出 最终7x7x30表示#xff0c;7x7个各自#xff0c;每个格子有30个数据#xff0c;30个数据包含两个部分 1#xff1a;…一、简介
1、目标检测概念
2、目标检测应用 3、目标检测发展历程 二、YOLO V1 1、输入
必须为448x448分辨率 2、网络结构
卷积 池化 卷积 池化 3、输出 最终7x7x30表示7x7个各自每个格子有30个数据30个数据包含两个部分 1位置信息第一个候选框中心点x 2预测中心点纵坐标 y 3候选框W宽度 4高度H
5第一个候选框置信度
6位置信息第二个候选框中心点x 7预测中心点纵坐标 y 8候选框W宽度 9高度H
10第一个候选框置信度
11~20类别信息 --/300 / 300
--x2 x2 -- /300 /300
数据举例 4、损失函数
1中心点误差 真实值与预测值的平方差 我们有多少网格单元 B有多少个候选框 含有物体为1 不含物体为0 不含物体损失函数直接为0
中心点误差只针对含有物体的候选框进行计算 计算与真实中心点之间的距离
2高度宽度误差 使用根号目的减小误差 3置信度误差
含有物体的时候 不含有物体的时候 4类被误差 5、YOLO V1总结
输入时固定的因为存在全连接层网络有24层卷积2个全连接层包含大量1x1卷积最终7x7x30表示7x7个各自每个格子有30个数据30个数据包含两个部分
1位置信息第一个候选框中心点x 2预测中心点纵坐标 y 3候选框W宽度 4高度H
5第一个候选框置信度
6位置信息第二个候选框中心点x 7预测中心点纵坐标 y 8候选框W宽度 9高度H
10第一个候选框置信度
11~20类别信息
以及最后的损失函数
三、YOLO V2
1、模型的输入
不同与V1 引入了ImageNet448 x 448的训练 同时引入高精度的分类器 多尺度训练 2、网络部分
BN层 无全连接层
3、输出部分 13*13*5 不同于V1的 7*7*2 4、损失函数 M 5 第一行置信度损失 第二行前12800次计算收敛先验框 第三行正样本位置损失 第四行正样本置信损失 第五行类别损失 1、第一行负责检测物体置信度损失
2、预测框与先验框损失
3、预测框负责预测的位置损失
4、预测框负责预测物体他的置信度损失
5、物体的类别损失分类损失
四、YOLO V3
1、输入 网络 输出 2、损失函数 3、网络结构 1特征提取 backbone 五、ZYNQ部署思路 HLS 01 向量加法器设计
1、目标——两个向量对应元素相加
#include vector_add.h#define MAXNUM 50void vector_add_top(float A[MAXNUM],float B[MAXNUM],float C[MAXNUM]){for(int i 0;i MAXNUM ; i){C[i] A[i] B[i];}
}2、开发问题——数据类型对生成电路的影响
float型 int型 最优 fixed型 3、如何并行加速 bug1当数组过大采用unroll展开循环报错 bug2减小数组采用unroll展开循环仍不能同时进行每个元素的对应加法 原因受限于RAM端口数量RAM最多双端口最多支持两个数据同时读写
将ABC进行展开 #include vector_add.h#define MAXNUM 50void vector_add_top(D32 A[MAXNUM],D32 B[MAXNUM],D32 C[MAXNUM]){
#pragma HLS ARRAY_PARTITION variableA complete dim1
#pragma HLS ARRAY_PARTITION variableB complete dim1
#pragma HLS ARRAY_PARTITION variableC complete dim1for(int i 0;i MAXNUM ; i){
#pragma HLS UNROLLC[i] A[i] B[i];}
}将ABC进行分块 #include vector_add.h#define MAXNUM 50void vector_add_top(D32 A[MAXNUM],D32 B[MAXNUM],D32 C[MAXNUM]){
#pragma HLS ARRAY_PARTITION variableA block factor2 dim1
#pragma HLS ARRAY_PARTITION variableB block factor2 dim1
#pragma HLS ARRAY_PARTITION variableC block factor2 dim1for(int i 0;i MAXNUM ; i){
#pragma HLS UNROLLC[i] A[i] B[i];}
}4、对乘法进行测试
#include vector_add.h#define MAXNUM 50void vector_add_top(float A[MAXNUM],float B[MAXNUM],float C[MAXNUM]){for(int i 0;i MAXNUM ; i){C[i] A[i] B[i];}
}float型 int型 最优 fixed型精度有保障 5、如何与PS交互AXI接口
5.1AXI-HP-DDR 5.2AXIS-DMA-HP-DDR 6、存储测试
(1) RAM_2P_BRAM
#pragma HLS RESOURCE variableA_buffer coreRAM_2P_BRAM
#pragma HLS RESOURCE variableB_buffer coreRAM_2P_BRAM
#pragma HLS RESOURCE variableC_buffer coreRAM_2P_BRAM (2) RAM_T2P_BRAM
#pragma HLS RESOURCE variableA_buffer coreRAM_T2P_BRAM
#pragma HLS RESOURCE variableB_buffer coreRAM_T2P_BRAM
#pragma HLS RESOURCE variableC_buffer coreRAM_T2P_BRAM (3) RAM_S2P_BRAM: (4) RAM_2P_LUTRAM:
#pragma HLS RESOURCE variableA_buffer coreRAM_2P_LUTRAM
#pragma HLS RESOURCE variableB_buffer coreRAM_2P_LUTRAM
#pragma HLS RESOURCE variableC_buffer coreRAM_2P_LUTRAM (5) RAM_S2P_LUTRAM:
#pragma HLS RESOURCE variableA_buffer coreRAM_S2P_LUTRAM
#pragma HLS RESOURCE variableB_buffer coreRAM_S2P_LUTRAM
#pragma HLS RESOURCE variableC_buffer coreRAM_S2P_LUTRAM