摘要: Viola-Jones 算法是一个经典的用于对象检测的算法,最著名的是用于人脸检测。由 Paul Viola 和 Michael Jones 于 2001 年提出,该算法在实时人脸检测任务中表现出色,因其速度和准确性成为计算机视觉领域的基石。本文将带您深入了解 Viola-Jones 算法的核心原理 阅读全文
posted @ 2025-04-27 20:51 木杉的园子 阅读(119) 评论(0) 推荐(0)
摘要: 在现代计算机图形学中,渲染管线(Rendering Pipeline)是将三维场景转换为二维图像的核心流程。无论是游戏、影视特效还是虚拟现实,渲染管线都扮演着至关重要的角色。本文将深入解析图形渲染管线的关键步骤、工作原理以及其在 FPGA 中的实现。 1. 什么是渲染管线 通常来说,渲染管线可以分为 阅读全文
posted @ 2025-04-27 20:50 木杉的园子 阅读(47) 评论(0) 推荐(0)
摘要: 光流法(Optical Flow)是一种计算图像序列中像素运动的技术,广泛用于计算机视觉领域,用于估计图像中物体的运动。它假定图像中的亮度在短时间内是保持恒定的,通过比较相邻帧之间的像素变化来推断运动信息。 1. 什么是光流法 光流法的核心假设是亮度恒常性假设(Brightness Constanc 阅读全文
posted @ 2025-04-27 20:48 木杉的园子 阅读(87) 评论(0) 推荐(0)
摘要: 在机器学习和深度学习中,优化是模型训练的核心环节。随机梯度下降算法(Stochastic Gradient Descent, 简称 SGD)是最经典的优化算法之一,它通过迭代更新模型参数来最小化损失函数。本文将从理论与实践的角度,详细介绍 SGD 的工作原理、实现细节及其改进方法。 1. SGD算法 阅读全文
posted @ 2025-04-27 20:43 木杉的园子 阅读(114) 评论(0) 推荐(0)
摘要: K 近邻算法(K-Nearest Neighbors,简称 KNN)是机器学习中最基础的分类与回归算法之一,它利用邻近度来对单个数据点的分组进行分类或预测。KNN 在许多实际应用中表现良好,特别是在小规模数据集上。本文将详细介绍 KNN 的原理、实现步骤及其应用场景,并通过示例代码演示其工作过程。 阅读全文
posted @ 2025-04-27 20:40 木杉的园子 阅读(113) 评论(0) 推荐(0)
摘要: 本文将介绍 FPGA 片上的常见存储资源。 1. D 触发器 在 Xilinx 的 7 系 FPGA 上拥有大量的多种的 D 触发器,用以支持不同功能的时序逻辑。 1.1 FDCE 具有时钟使能和异步复位的 D 触发器(D Flip-Flop with Clock Enable and Asynch 阅读全文
posted @ 2025-04-27 20:23 木杉的园子 阅读(337) 评论(0) 推荐(0)
摘要: 逻辑电路可以分为两大类:“组合”逻辑电路和“时序”逻辑电路。组合逻辑电路的输出只取决于当前的输入。时序逻辑电路的输出不仅取决于当前的输入,而且取决于过去的输入序列,这个序列是任意长的。 对于组合逻辑电路,可以通过输入输出之间的真值表来描述其功能。而对于时序逻辑电路,使用真值表描述其功能是不现实的,无 阅读全文
posted @ 2025-04-27 15:51 木杉的园子 阅读(72) 评论(0) 推荐(0)
摘要: 在 C++ 编程中一般使用 std::thread 来进行创建多个线程,实现并发执行、提升程序性能。 1. 线程的创建和启动 最简单的方式就是将一个可调用对象(函数、函数对象、lambda 表达式)传给 std::thread 构造函数: #include <iostream> #include < 阅读全文
posted @ 2025-04-27 14:43 木杉的园子 阅读(112) 评论(0) 推荐(0)
摘要: 在多线程编程中,使用互斥锁能够避免数据竞争。在 C++ 标准库中有 std::mutex 的互斥锁实现来帮助我们处理线程同步。 1. 互斥锁的基本用法 在 C++ 11 中,引入了 RAII (Resource Acquisition Is Initialization)风格的锁管理类 std::l 阅读全文
posted @ 2025-04-27 14:39 木杉的园子 阅读(78) 评论(0) 推荐(0)