基于ARM SoC 的卷积神经网络车牌识别系统设计
专栏革新中,禁止订阅!!!
优惠券已抵扣
余额抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
新芯设计
本硕科班,自学成才,专注数字芯片设计 7 年,入职芯片设计原厂 3 年,具备异构多核 SoC 成功流片和量产上市的经验,点击关注,收获卧龙。
展开
-
基于 SoC 的卷积神经网络车牌识别系统设计(1)引言
通过 CPU 软核 IP 在纯 FPGA 平台上构建一个 AI SoC 卷积神经网络车牌识别系统,其中,缩放、填充层、卷积层、ReLU、池化层、全连接层 IP 都是 Verilog 设计的,同时集成了各种高性能的 IP。这是最具挑战性的 AI SoC 芯片设计项目,集成了 Python 卷积神经网络代码、Verilog 卷积神经网络硬件设计、ARM SoC 设计、ARM 与 FPGA 的交叉编译流程等等。这不仅是科研学习、集创竞赛、秋招求职的一个极具优势的精彩项目,也是目前最火热的芯片行业之中的一个...原创 2021-10-10 10:43:05 · 3043 阅读 · 42 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(2)概述
这是第三届全国大学生集成电路创新创业大赛 - Arm 杯 - 片上系统设计挑战赛(本人指导的一个比赛)。主要划分为以下的 Top5 重点 + 难点 + 亮点 + 热点 + 创新点...原创 2020-06-06 14:15:01 · 4474 阅读 · 69 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(2-1)基于 Arm Cortex-M3 SoC 车牌识别系统的搭建
本文详细描述了整个基于 SoC 的卷积神经网络车牌识别系统设计的搭建流程,大体分为 IP 与互连线、数据通路、时钟域划分。文中的 IP 设计和整体的 SoC 设计都有对应的设计文档、Verilog 代码和 FPGA 工程,不仅可以上板测试,而且可以成功实现。另外,文末总结了一些设计的规律,如不同板子不同工程不同 IP 的时钟域划分,如米联客、黑金、Xilinx 官方等,以及本次系统的搭建的工程链接。...原创 2020-06-06 17:52:39 · 3151 阅读 · 34 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(2-2)Xilinx Vivado 和 Arm Keil 的交叉编译设计流程
本文首先简述了 Xilinx Vivado 和 Arm Keil 的交叉编译设计流程,其实质就是 Verilog HDL 和 C 的交叉编译设计流程。文末给出了详细的交叉编译、设计流程的 PDF 文档获取方法,目测全网,仅此一份...原创 2020-06-06 17:58:25 · 2023 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(3-1)基于 Python 编程的车牌识别预处理、定位、分割、缩放的效果一览
这是一个在基于 OpenCV 的 Python 程序下,整体车牌定位、分割、识别的各个步骤的处理结果的展示,相当于算法的验证,只有先在软件上经过正确的严格的验证,才能进行硬件上的设计与实现。算法设计上是没有问题的,输入数据就是来自实际真实场景的车牌图像,只是比较少的环境噪声干扰、比较理想化的车牌图像拍摄、比较清晰的车牌识别背景之类的。对于基于 SoC 的卷积神经网络车牌识别系统设计、学习、研究具有较为良好的指导作用,对于现实 AI 落地还具有一定的局限性。...原创 2020-06-06 11:38:59 · 2691 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(3-2)基于 OpenCV 的车牌识别预处理、定位、分割、缩放的 Python 源代码
车牌的识别,主要包括车牌识别预处理、定位、分割、缩放、以及卷积神经网络五大模块,这里,给出了前四个模块的详细 Python 代码,主要是调用了 OpenCV 库,至于最后的一个卷积神经网络模块嘛,详见下文。...原创 2020-06-06 12:19:55 · 1768 阅读 · 11 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(3-3)基于 TensorFlow 的卷积神经网络字符识别的 Python 源代码
这是基于 TensorFlow 的卷积神经网络字符识别的 Python 源代码及其详解。关于卷积神经网络,主要就是一些输入特征图和卷积核的窗滑动操作以及一些矩阵的操作之类的。文末整理了全部的关于神经网络的详细资料,包括但不限于《卷积神经网络详解》《轻量级网络》《数据重用策略》《Winograd Algorithm》《Machine Learning》等等。...原创 2020-06-07 10:32:36 · 1121 阅读 · 4 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(4-1)基于 Verilog 的 OV5640 IP 设计
这是一个基于 Verilog 的 OV5640 IP 设计。一方面能够对OV5640 输入的 8 Bits 数据进行解码和编码,通过解码的方式转换成 RGB565 的 16 Bits数据,通过编码的方式转换成RGB888 24Bits数据;另一方面能够对 OV5640 输入的行场同步信号进行协议置换,转换成Video In to AXI4-Stream IP 协议的 Video 数据。...原创 2020-08-17 11:46:38 · 1292 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(4-2)基于 Verilog 的 RGB2HSV IP 设计
这是车牌识别预处理(RGB2HSV + 二值化 + 形态学)的 IP 设计之一。主要功能是针对从 OV5640 IP 输出的 RGB888真彩色车牌识别数据(视频传输格式:640X480 @60Hz)转换成 HSV 的数据,为之后的定位与分割提供了良好的设计环境。文末给出了整个 IP 设计的工程及其验证环境的激励数据和输出数据,即数据流的产生和 HDMI 的显示,可成功上板测试。...原创 2021-12-25 18:00:55 · 2828 阅读 · 4 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(4-3)基于 Verilog 的 HSV2Binary IP 设计
这是车牌识别预处理(RGB2HSV + 二值化 + 形态学)的 IP 设计之一。主要功能是针对从 RGB2HSV IP 的输出数据转换成 Binary 二值化格式的数据,为之后的定位与分割提供了良好的设计环境。原创 2021-12-25 17:21:09 · 2571 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(4-4)基于 Verilog 的 Dilate & Erode IP 设计
这是车牌识别预处理(RGB2HSV + 二值化 + 形态学)的 IP 设计之一。主要功能是针对从 HSV2Binary 的二值化图像数据进行膨胀和腐蚀的数学形态学操作,为之后的定位与分割提供了良好的设计环境。文末给出了整个 IP 设计的工程及其验证环境的激励数据和输出数据,即数据流的产生和 HDMI 的显示,可成功上板测试。...原创 2020-06-06 11:24:35 · 2164 阅读 · 14 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-0)基于 Verilog HDL 的卷积神经网络 AI IP 设计
如前文所述,我们已经具备了成熟的车牌识别系统的卷积神经网络 Model,根据模型指定的不同层数及其具体参数,通过 Verilog HDL 设计一个个的 IP,以搭积木的方式,来完成卷积神经网络的硬件加速 IP 设计。...原创 2020-06-07 16:26:06 · 1762 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-1)基于 Verilog 的网络输入 UnResize IP 设计
基于 Verilog 的网络输入 UnResize IP 设计模块主要是以仿真为目的,将字符分割之后的 128*64 数据存放在 ROM 中,并以 AXI4-Stream 的协议进行输出;输出矩阵大小为 128*64;主要有 Sim_ROM、UnResize.coe(原始数据初始化文件)、ROM 的一些 IP 模块。...原创 2020-06-07 10:48:00 · 1099 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-2)基于 Verilog 的缩放操作 Resize IP 设计
紧接着字符分割(UnResize)之后,将分割之后的输入特征图进行缩放操作(Resize)。输入矩阵大小为 128*64,缩放窗口大小为 4*2,输出矩阵大小为32*32。主要有 Sim_ROM、Resize、FSM_Timer(FSM + Timer)、Delay_N 的一些 IP 模块。...原创 2020-06-07 11:24:34 · 1989 阅读 · 9 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-3)基于 Verilog 的填充层 First_Fill IP 设计
NOTES:紧接着缩放操作(Resize)之后,将缩放之后的输入特征图进行边缘填充操作(First_Fill)。输入矩阵大小为 32*32,边缘填充数值为 0,输出矩阵大小为34*34。主要有 Sim_ROM、Sel_Fill、FSM_Timer(FSM + Timer)、Delay_N、Reduce、Extend、AXI4-Stream Data FIFO 的一些 IP 模块。...原创 2020-06-07 18:18:17 · 932 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-4)基于 Verilog 的卷积层 First_CNN IP 设计
紧接着第一层填充层(First_Fill)之后,将填充之后的输入特征图进行卷积操作(First_CNN)。输入矩阵大小为 34*34,卷积窗口大小为 3*3,输出矩阵大小为32*32。主要有 First_CNN、FSM_Timer(FSM+ Timer)、Delay_N 的一些 IP 模块。...原创 2020-06-07 18:24:58 · 2344 阅读 · 2 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-5)基于 Verilog 的池化层 First_Pool IP 设计
紧接着第一层卷积层(First_CNN)之后,将卷积之后的输入特征图进行池化操作(First_Pool)。输入矩阵大小为 32*32,池化窗口大小为 2*2,输出矩阵大小为16*16。主要有 First_Pool、Resize、FSM_Timer(FSM + Timer)、Delay_N 的一些 IP 模块。...原创 2020-06-07 18:30:15 · 1398 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-6)基于 Verilog 的填充层 Second_Fill IP 设计
紧接着第一层池化操作(First_Pool)之后,将池化之后的输入特征图进行边缘填充操作(Second_Fill)。输入矩阵大小为 16*16*8,边缘填充数值为 0,输出矩阵大小为18*18*8。主要有 Sel_Fill、FSM_Timer(FSM + Timer)、Delay_N、Reduce、Extend、AXI4-Stream Data FIFO 的一些 IP 模块。...原创 2020-06-07 19:29:19 · 668 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-7)基于 Verilog 的卷积层 Second_CNN IP 设计
紧接着第二层填充层(Second_Fill)之后,将填充之后的输入特征图进行卷积操作(Second_CNN);输入矩阵大小为 18*18*8,卷积窗口大小为 3*3,输出矩阵大小为16*16*8;主要有 Second_CNN(Second_CNN_Sub + Mul_Add)、FSM_Timer(FSM+ Timer)、Delay_N 的一些 IP 模块。...原创 2020-06-07 19:45:06 · 1437 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-8)基于 Verilog 的线性激活函数 ReLU IP 设计
线性激活函数,针对每个数据输出,有如下公式:Output = Max(Feature,0),前面还有一个多维卷积的求和模块(加法树),偏置权重。紧接着第二层卷积层(Second_CNN)之后,将卷积之后的输入特征图进行 ReLU 操作。主要有 Adder_Tree、ReLU、Delay_N 的一些 IP 模块。...原创 2020-06-07 19:55:17 · 2164 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-9)基于 Verilog 的池化层 Second_Pool IP 设计
紧接着第二层卷积层(Second_CNN)之后,将卷积之后的输入特征图进行池化操作(Second_Pool)。输入矩阵大小为 16*16*8,池化窗口大小为 2*2,输出矩阵大小为8*8*8。主要有 Second_Pool、FSM_Timer(FSM + Timer)、Delay_N 的一些 IP 模块。...原创 2020-06-08 13:37:42 · 1288 阅读 · 2 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(5-10)基于 Verilog 的全连接层 Full_Connect IP 设计
紧接着第二层池化层(Second_Pool)之后,将池化之后的输入特征图进行全连接操作(Full_Connect)。输入矩阵大小为 8*8*8,权重矩阵大小为 512*10,输出矩阵大小为1*10。主要有 Mul_Accumulate、FSM_Timer(FSM + Timer)、Delay_N、Distributed RAM 的一些 IP 模块。...原创 2020-06-08 13:37:50 · 1716 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(6-1)数字 IC 设计工程师求职必问:关于项目的 72 个问题
本文主要总结了数字 IC 设计工程师求职中,面试官必问的 72 个项目问题。熟悉这些问题的答案,不仅能够助你在秋招中斩获大厂 Offer,同时可以提升你的科研能力水准。原创 2020-12-04 10:31:52 · 1020 阅读 · 4 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(6-2)数字 IC 设计工程师求职必答:关于项目的 72 个答案
本文主要总结了数字 IC 设计工程师求职中,面试官必问的 72 个项目问题的答案,针对于本次项目,对于其它项目的提问也是类似的。熟悉关于项目的 72 个问题的答案,不仅能够助你在秋招中斩获大厂 Offer,同时可以提升你的科研能力水准。 由于项目部分答案需要贴图、表格、公式之类的形式,因此本文就简单的以图片的方式来展示,但是依旧是绝对不掺杂任何的水分,都是实实在在的满满的干货。 此外,文末附上了 12 页的 PDF 文档获取方法。...原创 2020-12-04 10:33:12 · 701 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(6-3)数字 IC 设计工程师项目复盘:关于项目的 48 条心得
本文主要总结了数字 IC 设计工程师项目中,通过总结复盘的 48 条心得。基于这 48 条心得,希望能够帮助各位数字 IC 设计工程师缩短探索时间、减少设计弯路、提高设计能力、斩获大厂高薪!原创 2021-10-06 21:38:58 · 1089 阅读 · 0 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(6-4)数字 IC 设计工程师求职面试:关于项目的 100 个提问
大部分订阅该项目的 AI SoC 芯片设计爱好者都是为了找工作而做准备的,因此,总结了关于项目的面试提问内容,满满的干货,希望能够帮助到大家们。原创 2021-10-10 10:39:54 · 825 阅读 · 3 评论 -
基于 SoC 的卷积神经网络车牌识别系统设计(7)SoC 定义构成和 SoC 启动流程
(7)SoC 定义构成和 SoC 启动流程原创 2022-06-15 20:57:10 · 804 阅读 · 0 评论