Add files via upload

This commit is contained in:
WalkerLau 2020-08-24 16:34:12 +08:00 committed by GitHub
parent aad399703e
commit f0ef66c31b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

55
README.md Normal file
View File

@ -0,0 +1,55 @@
# 基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测 SOC
原创作品,转载请联系作者并注明出处:<https://github.com/WalkerLau>
源码地址https://github.com/WalkerLau/DetectHumanFaces
本项目是第四届集成电路创新创业大赛ARM杯的参赛作品包含了详细的技术文档、软件配置教程以及完整的代码。
## 项目描述
我们采用ARM Cortex-M3软核及FPGA构成了轻量级的实时人脸检测SOC通过ov5640摄像头采集实时图像经过检测系统的检测后将已经框出人脸的实时图像通过HDMI输出到显示器同时可以通过UART查看检测时间等信息还能通过板载LED灯查看检测到的人脸数量。
我们采用的算法是 [Nenad Markus](https://github.com/nenadmarkus) 提供的 [Pixel Intensity Comparison-based Object detection](https://github.com/nenadmarkus/pico) ,该算法可以快速检测出人脸的位置与数量。
我们的人脸检测系统的特点如下:
* **速度快**我们为SOC设计了运算加速器最终实现了18帧/秒的检测速度。关于加速器的详细介绍请看《[TechSpecification](https://github.com/WalkerLau/DetectHumanFaces/blob/master/TechSpecification.md)》。
* **节省硬件资源**采用低成本的Cortex-M3处理器及FPGA实现。
## 实现效果
经过Cortex-M3及硬件加速器的运算后我们的人脸检测系统可以实现18帧/秒的检测能力。
<div align="center"><img src="https://raw.githubusercontent.com/WalkerLau/DetectHumanFaces/master/images/show.png"></div>
<div align="center"><img src="https://raw.githubusercontent.com/WalkerLau/DetectHumanFaces/master/images/accComp.png"></div>
## 硬件及软件平台
* 硬件:
* 开发板:黑金 ALINX AX7050
* FPGA 芯片Xilinx Spartan7 XC7S50
* 摄像头OmniVision(豪威) OV5640
* 软件:
* Keil MDK v5.29
* vivado 2019.2
## 系统的技术细节
关于本人脸检测系统的具体技术细节,如系统架构、检测算法、加速器的设计等,都可以在本 Github repo 的《[TechSpecification](https://github.com/WalkerLau/DetectHumanFaces/blob/master/TechSpecification.md)》中找到。
文件 `Docs/Keil and Vivado Configurations.pdf` 详细介绍了Keil与Vivado IP的配置。
文件夹 `hardware` 包含了所有硬件代码Verilog代码、约束文件和决策树参数文件 `facefinder.coe`用于初始化Block RAM文件夹 `software` 包含了所有软件代码C代码等
比特流文件 `minSOC.bit` 仅可用于 “黑金 ALINX AX7050” 开发板的下板。
## 联系作者
Xuanzhi LIU (xuanzhi@mail.ustc.edu.cn)
Qiao HU (qhu@mail.ustc.edu.cn)
Zongwu HE (zwhe1@mail.ustc.edu.cn)