FPGA实现MTCNN实现公交人头检测项目情况

目录

一、原始zynqNet实现步骤

二、MTCNN实现步骤

2.1 项目进展

2.2 软件端

2.2.1 python程序更改

2.2.2 c端程序的实现

2.2.3 卷积的更改

2.2.4 openCV库

2.3 ARM上进行移植

2.2.3 程序更改为FPGA程序

2.2.4 虚拟机上运行程序

 


一、原始zynqNet实现步骤

FPGA实现MTCNN实现公交人头检测项目情况_第1张图片

zynqNet项目情况,蓝线已通。

 

 

二、MTCNN实现步骤

2.1 项目进展

FPGA实现MTCNN实现公交人头检测项目情况_第2张图片

蓝线已通,红线未通。

2.2 软件端

2.2.1 python程序更改

原始程序为基于人脸检测的程序。运用python代码训练与测试。

我们将原始程序改为了基于公交人头检测的程序。

更改相应的超参数,以便提升mAP,公交人头上mAP为60%左右。

更改相应网络结构,使去除掉pooling的过程,只用3*3的卷积实现。

2.2.2 c端程序的实现

将c代码改为与python代码一致。

2.2.3 卷积的更改

用于去除openBLAS库的依赖,且将卷积改为与zynqNet一致的形式。

2.2.4 openCV库

2.3 ARM上进行移植

2.2.3 程序更改为FPGA程序

去除openBLAS库,只保留openCV依赖库,openCV依赖库只在ARM端实现,FPGA端只实现卷积与激活函数。

2.2.4 虚拟机上运行程序

虚拟机上安装openCV,并且对程序进行make并运行。

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(FPGA,机器学习,目标检测)