- 博客(396)
- 收藏
- 关注
原创 深度学习篇---PaddleDetection模型选择
PaddleDetection目标检测模型选型指南:根据任务需求选择匹配模型,如实时场景选PP-YOLOE系列(工业级SOTA),移动端用PicoDet超轻量模型,高精度任务选Faster R-CNN。需平衡精度、速度和部署环境,通过量化/剪裁优化性能,典型应用包括工业质检、智慧交通等。关键是根据硬件条件(如边缘设备选PicoDet-S量化版)和任务复杂度(医疗影像用PP-YOLOE-X)进行合理选择,避免盲目追求大模型。
2025-07-29 18:08:50
1354
原创 深度学习篇---百度AI Studio模型
百度AIStudio提供覆盖NLP、CV、语音等多领域的AI模型库。NLP领域推荐ERNIE3.0处理复杂文本,ERNIE-Tiny适合移动端;CV领域PaddleDetection实现72.9FPS实时检测。选择模型时需平衡任务复杂度与计算资源,轻量级模型ERNIE-4.5-0.3B适合企业部署,大模型ERNIE-4.5-47B适合专业场景。通过FastDeploy等工具可优化部署效率,典型应用包括智能客服、工业质检等场景。建议根据具体需求测试不同模型,找到性能与成本的最佳平衡点。
2025-07-29 18:06:00
1102
原创 深度学习篇---层与层之间搭配
深度学习模型中的网络层搭配遵循系统性原则,关键点包括:1)基础"铁三角"结构(卷积层→批归一化→激活函数)实现高效特征提取;2)通过池化层实现降维和特征压缩;3)残差连接解决深层网络的梯度消失问题;4)分类任务采用"全局池化→全连接层→Softmax"作为标准输出结构;5)Dropout层用于防止过拟合。典型应用场景包括图像分类(ResNet)、目标检测(YOLO)和图像分割(U-Net)等,其核心逻辑是特征提取逐步深入、确保训练稳定性并控制模型复杂度。
2025-07-28 16:22:02
825
原创 深度学习篇---Batch Normalization
摘要:BatchNormalization(批量归一化)是深度学习中的关键技术,通过在每层网络输入前标准化数据分布(均值为0,方差为1)并引入可学习的缩放平移参数,有效解决"内部协变量偏移"问题。其核心优势包括加速训练(收敛速度提升2-3倍)、允许更大学习率、增强泛化能力和降低对初始化的敏感性。BN通常置于卷积/全连接层与激活函数之间,在训练时动态计算批次统计量,推理时使用移动平均值。该技术已成为CNN、全连接网络等主流模型的标配组件,显著提升模型训练稳定性和性能。
2025-07-28 16:16:11
574
原创 嵌入式硬件篇---驱动板
ESP32驱动板的设计核心在于放大3.3V弱电信号以控制大功率外设。设计需明确目标外设(如电机、继电器等),采用相应驱动元件(如TB6612、三极管等),并包含五个关键部分:ESP32接口、驱动电路、外设接口、电源模块和保护电路。制作流程包括原理图设计、PCB布局、打样、焊接和分步测试,重点要注意功率匹配、共地连接、续流二极管和保护措施。建议新手从简单外设入手,使用立创EDA设计,逐步掌握驱动板制作要点,实现弱电控制强电的目标。
2025-07-27 13:12:52
1224
1
原创 嵌入式硬件篇---ESP32稳压板
摘要:ESP32稳压板制作指南,核心在于为ESP32提供稳定3.3V电源并支持多种供电方式(锂电池/USB/外接电源)。设计包含5个关键部分:输入接口、保护电路(防反接/过流)、可选锂电池充电模块、稳压电路(推荐根据电流需求选择不同芯片)和输出接口。制作流程包括原理图设计、PCB布局、打样和焊接测试,特别强调保护电路的必要性和分步测试的重要性。新手需注意稳压芯片选型、电容配置和焊接质量,推荐使用立创EDA进行设计,通过分步测试确保电源稳定性和保护功能正常。
2025-07-27 13:04:21
733
原创 嵌入式硬件篇---ESP32拓展板
本文详细介绍了ESP32拓展板的制作流程,分为7个关键步骤:1)明确功能需求;2)规划核心模块(接口、电源、功能);3)准备工具和资料;4)电路设计(原理图和PCB布局);5)PCB打样;6)元器件焊接;7)分阶段测试。重点强调了电源稳定性、引脚兼容性设计、PCB布线规范等核心要素,并建议新手从单一功能入手,逐步完善。文中提供了具体元件选型建议、常见问题解决方案和测试方法,为DIY爱好者提供了系统化的制作指南。
2025-07-27 13:00:59
782
原创 程序代码篇---python向http界面发送数据
Python中通过HTTP接口发送数据的方法摘要:使用requests库可以轻松实现GET和POST请求。GET方式适合少量数据,将参数拼接在URL后(如requests.get(url, params=data));POST方式更安全,适合表单或JSON数据,分别用data参数(表单)和json参数(API接口)发送。需要模拟浏览器时可添加headers,保持登录状态需使用Session对象。关键点包括:确认URL、构造数据字典、选择请求方式、处理响应(状态码和返回内容)。
2025-07-27 12:53:07
888
原创 程序代码篇---python获取http界面上按钮或者数据输入
本文介绍了在Python中处理HTTP界面按钮点击和数据输入的两种方法:1) 作为客户端使用requests和BeautifulSoup模拟用户操作网页,自动提交表单数据;2) 作为服务端使用Flask框架搭建Web应用接收用户输入。客户端方法通过解析网页表单结构并构造POST请求模拟点击,服务端方法则通过表单的name属性获取用户提交的数据。两种方式都无需实际"点击"按钮,而是通过处理表单数据来实现交互效果。
2025-07-27 12:48:42
708
原创 程序代码篇---数据包解析
本文介绍了设备间通信中数据包解析的常见格式及实现方法。主要分为文本格式(CSV、JSON)和二进制格式(固定长度、TLV),分别适用于不同场景:CSV简单易读适合基础数据;JSON支持复杂结构;二进制格式效率更高,适合实时传输;TLV灵活可扩展。还介绍了加入帧头、校验位的自定义格式,提升嵌入式设备通信可靠性。提供了Python和ESP32(Arduino)的解析代码示例,建议根据实际需求在易读性和效率之间权衡选择数据格式。
2025-07-27 12:35:19
773
原创 上位机知识篇---流式Web服务器模式的实现
流式Web服务器模式是一种持续传输数据的通信方式,区别于传统一次性传输。它通过保持连接开放,实现服务器边生成数据边发送,客户端边接收边处理,特别适用于实时性要求高或数据量大的场景。主要技术包括HTTP分块传输、SSE、WebSocket和HTTP/2流,广泛应用于直播、在线聊天、AI内容生成、实时监控和大文件传输等场景。这种模式显著改善了用户体验,减少了等待时间,使数据传输更加高效流畅。
2025-07-27 12:18:58
572
原创 上位机知识篇---Web
WEB(万维网)是通过浏览器访问的互联网网页世界,由网页、服务器和浏览器三部分组成。用户通过浏览器访问服务器上的网页文件,服务器处理后返回内容,浏览器解析显示。WEB分为静态网页(固定内容)和动态网页(可交互变化),广泛应用于信息查询、在线购物、社交互动、在线学习等领域。其优势包括无需安装、跨设备使用、自动更新和低使用门槛,是日常生活中不可或缺的互联网服务形式。
2025-07-27 12:15:42
882
原创 上位机知识篇---AJAX
AJAX是一种异步网页交互技术,允许在不刷新整个页面的情况下与服务器交换数据并更新部分内容。其核心特点是"异步"和"局部更新",用户操作后JavaScript会向服务器请求数据,服务器返回JSON等格式的数据,再由JavaScript更新指定区域。典型应用包括搜索提示、分页加载、表单验证、实时数据更新等。相比传统网页刷新,AJAX能提升用户体验、减少数据传输量并提高响应速度,是现代Web应用的基础技术。
2025-07-27 12:12:13
584
原创 上位机知识篇---Tailwind CSS
TailwindCSS是一个原子化CSS框架,通过提供最小单位的CSS类(如text-red-500、p-4)让开发者直接组合使用,无需单独编写CSS代码。其特点是类名直观(如font-bold代表粗体)、设计灵活(不限制样式)、响应式简单(sm:text-lg等前缀)且能自动精简代码。适合快速原型开发、定制化设计项目和团队协作,但不推荐给完全不懂CSS的新手或需要极致性能优化的场景。与传统CSS相比,Tailwind用类名组合替代样式声明,使开发更高效。
2025-07-27 12:09:15
786
原创 嵌入式硬件篇---ESP32驱动异常
ESP32驱动外设异常分析与解决 摘要:ESP32驱动外设时常见的异常问题可分为硬件、软件和环境三类。硬件问题包括供电不稳、接线错误和硬件损坏,需检查电压、接线和更换损坏部件。软件问题涉及驱动库兼容性、通信参数配置和资源冲突,应调整库版本、参数设置和初始化顺序。环境干扰主要来自电磁干扰和温湿度异常,需优化布线并控制环境条件。排查时建议使用串口调试、示波器检测和最小系统测试等方法,逐步定位问题。解决ESP32驱动异常需综合硬件检查、软件调试和环境优化等措施。
2025-07-27 12:04:56
917
原创 深度学习篇---优化器
PyTorch优化器指南:从基础到进阶选择 本文系统介绍了PyTorch中各类优化器的特点和应用场景。基础优化器部分涵盖SGD及其变种(Momentum、NAG),解释了其"沿梯度方向调整参数"的核心思想。自适应学习率优化器部分详细解析了AdaGrad、RMSprop和Adam系列的工作原理,特别强调了Adam在深度学习中的广泛应用。文章还介绍了AdamW、RAdam等进阶优化器,并提供了实用选择建议。
2025-07-27 12:00:04
960
原创 深度学习篇---损失函数
深度学习中的损失函数是模型优化的关键指标,针对不同任务需选择匹配的损失函数。回归任务常用MSE(对误差敏感)、MAE(抗异常值)和Huber损失(平衡两者);分类任务中,二分类使用交叉熵(BCE),多分类用CCE,类别不均衡时采用FocalLoss;特殊任务如相似度计算使用三元组损失,生成任务则用KL散度衡量分布差异。正确选择损失函数是模型优化的"指南针",直接影响训练效果和应用场景适配性。
2025-07-27 11:55:36
883
原创 嵌入式硬件篇---有线串口通信问题解决
本文系统介绍了有线串口通信(RS-232/RS-485/TTL-UART)接收问题的排查与解决方法。首先强调物理层检查的重要性,包括线路接触、抗干扰措施和传输距离控制;其次分析电气特性匹配要点,涉及电平转换、接地方式和驱动能力;然后详解串口参数同步与流控配置;最后提出硬件故障诊断、固件优化和数据传输策略改进方案。文章采用分层递进的思路,结合工具使用建议,为串口通信故障提供了一套完整的解决方案框架,核心在于确保物理连接可靠、参数同步和协议优化。
2025-07-26 19:37:58
871
原创 嵌入式硬件篇---有线串口通信问题
有线串口通信(UART/RS-232/RS-485)接收异常的主要原因包括:物理层问题(线路接触不良、线缆选型不当、布线干扰);电气特性不匹配(电平标准冲突、驱动能力不足、接地问题);参数配置错误(波特率、数据位等不一致);硬件故障(UART损坏、缓存不足);以及传输逻辑缺陷(无流量控制、协议设计不合理)。排查时应遵循"物理层→电气层→协议层"的顺序,通过更换线缆、测量信号、核对参数等方法逐步定位问题。
2025-07-26 19:34:27
1062
原创 嵌入式硬件篇---zigbee无线串口通信问题解决方法
ZigBee无线串口通信异常解决方案:1.射频层优化:通过信道扫描选择低干扰信道,采用跳频技术增强抗干扰能力,适当提升发射功率并优化天线配置;2.网络机制调整:控制节点数量与数据发送频率,优化路由策略,确保多路径冗余;3.串口配置统一:严格匹配波特率等参数,合理启用硬件/软件流控;4.硬件固件升级:更换高性能天线模块,确保稳定供电,更新固件修复已知缺陷。建议按"基础参数检查→信号测试→网络诊断→硬件排查"的顺序逐步定位问题,结合环境特点针对性优化。
2025-07-26 19:31:00
870
原创 嵌入式硬件篇---zigbee无线串口通信问题
ZigBee无线串口通信接收异常问题的原因分析与解决思路 摘要:ZigBee无线串口通信中常见的接收异常问题(丢包、乱码等)主要由六大因素导致:1)射频层干扰与信号衰减(同频干扰、信号衰减、多径效应);2)网络层机制问题(信道拥堵、路由失效、网络参数冲突);3)串口配置不匹配(波特率等参数不一致、流控机制问题);4)模块硬件与固件缺陷(天线问题、射频性能不足、固件逻辑错误);5)电源稳定性问题(电压不足、纹波干扰);6)数据帧格式与长度问题。
2025-07-26 19:26:34
1071
1
原创 上位机知识篇---Jetson Nano的深度学习GPU推理
JetsonNano是NVIDIA推出的低成本边缘AI开发板,适合轻量化深度学习项目。文章详细介绍了其使用流程:1)硬件准备包括5V4A电源、64GB SD卡等;2)系统安装JetPack专用系统;3)环境配置需安装ARM版PyTorch等工具;4)数据准备推荐小型数据集;5)模型训练建议使用MobileNet等轻量模型并采用迁移学习;6)部署时可用TensorRT加速推理。文中还提供了训练代码示例和常见问题解决方案,强调通过优化参数、散热等方式克服硬件限制,适合开发实时图像识别等边缘AI应用。
2025-07-25 18:46:22
1132
原创 深度学习篇---预训练模型
预训练模型是深度学习中通过大规模数据预先训练好的基础模型,可直接使用或微调适配特定任务。主要优势包括:节省训练时间和算力资源,在小数据集上也能获得较好效果,且性能通常优于从头训练的模型。适用于快速原型开发、数据有限任务、迁移学习等场景。在计算机视觉领域,常用ResNet、MobileNet等预训练模型,通过简单修改输出层即可适配自定义分类任务。预训练模型提供通用特征提取能力,能加速模型收敛并降低过拟合风险,是提升开发效率的有效工具。
2025-07-25 18:33:44
939
原创 深度学习篇---归一化&标准化&颜色空间转化
本文介绍了PyTorch图像预处理中的三个核心步骤:归一化(ToTensor)将0-255像素值转换为0-1范围,使数值更稳定;标准化(Normalize)通过减去均值并除以标准差,使数据分布中心化;颜色空间转换(如转换为RGB)确保输入通道一致性。文章详细解释了每个步骤的原理,给出了具体代码实现,并强调了参数选择要点:ToTensor无需调参,Normalize需匹配训练数据分布,颜色空间转换需符合模型要求。这些预处理步骤协同工作,为模型提供规范化的输入数据,是深度学习图像处理的基础环节。
2025-07-25 18:16:19
830
原创 深度学习篇---数据预处理
数据增强是提升深度学习模型泛化能力的关键技术,通过10种常用方法对图像进行多样化处理:旋转、平移、翻转、缩放、裁剪、亮度对比度调整、色彩抖动、加高斯噪声、剪切和混合图像。这些方法能有效模拟真实场景变化,如不同角度、光照条件和目标位置等,显著增加训练数据多样性。PyTorch实现时,需区分训练集(随机增强)和验证集(仅标准化),通过torchvision.transforms进行图像预处理,再使用DataLoader批量加载。核心原则是保持目标本质不变,贴近实际场景,根据任务需求选择增强策略,从而避免过拟合。
2025-07-25 17:59:32
580
原创 深度学习篇---剪裁&缩放
深度学习图像预处理中,剪裁和缩放是关键操作:剪裁通过截取关键区域去除冗余信息,常用方法包括中心剪裁、随机剪裁和目标区域剪裁;缩放则通过插值算法统一图像尺寸,主要方法有最近邻、双线性和双三次插值。二者协同使用能有效提升模型训练效率和泛化能力,但需注意平衡细节保留与计算成本,避免过度处理导致特征丢失。实际应用中应根据任务需求选择合适的策略组合。
2025-07-25 17:39:18
1021
原创 深度学习篇---图像数据采集
在使用 Python 通过摄像头采集图像时,我们通常使用OpenCV库来操作。下面详细介绍如何获取和设置摄像头的相关参数,包括分辨率、帧率、曝光时间等关键信息。
2025-07-25 16:59:15
564
原创 深度学习篇---图片分辨率
摘要: 图片分辨率是深度学习全流程的关键参数,影响数据采集成本、预处理效率、模型训练精度、部署实时性及标注质量。高分辨率提升细节但增加计算负担,低分辨率节省资源但可能丢失信息。建议结合任务需求(如分类用224×224,检测用512×512)、数据量、硬件条件动态调整,通过多尺度训练、关键区域裁剪等策略优化。核心目标是平衡精度、效率与成本,例如边缘设备优先低分辨率,服务器端可支持高分辨率但需优化传输。最终需根据实际场景选择最优方案。
2025-07-25 16:47:51
562
原创 算法篇---滤波算法
本文介绍了信号处理中常用的几种滤波算法及其适用场景:移动平均滤波通过取均值平滑随机噪声,适合温湿度传感器等简单场景;指数移动平均给新数据更高权重,适用于股票价格等需快速响应的场合;中值滤波能有效剔除突发干扰,常用于图像去噪;巴特沃斯滤波可针对性过滤特定频率噪声,应用于音频处理等领域;粒子滤波擅长处理非线性复杂系统,如机器人SLAM。文章指出,算法选择需考虑噪声特性(随机/突发/特定频率)、系统动态特性(线性/非线性)和计算资源限制,实际应用中常组合使用多种滤波方法。
2025-07-25 16:33:26
984
原创 深度学习篇---深度学习中的卡尔曼滤波
卡尔曼滤波与深度学习的结合,利用深度学习处理复杂非线性模式(如目标识别、时序预测),卡尔曼滤波则负责动态噪声过滤和状态跟踪(如运动平滑、多传感器融合)。典型应用包括:动态目标跟踪(修正检测跳变)、传感器数据融合(提升定位精度)、时序预测去噪(平滑输入与输出)、机器人控制(优化运动轨迹)及不确定性量化(稳定决策)。两者互补,深度学习提供高维特征提取,卡尔曼滤波确保动态系统的鲁棒性,适用于自动驾驶、机器人等复杂场景。
2025-07-25 16:18:51
717
原创 程序代码篇---卡尔曼滤波与PID的组合应用
摘要:本文介绍了两种控制系统的实现方法,分别针对小车速度控制和室温控制场景。1) 小车控制系统采用卡尔曼滤波处理编码器噪声,结合PID算法调节电机输出,实现速度稳定;2) 室温控制系统直接使用PID算法控制加热设备,无需卡尔曼滤波。两种方案均提供Python仿真和ESP32硬件实现版本,包含完整的代码框架和参数说明。文章重点阐述了卡尔曼滤波的噪声处理原理、PID控制的三项调节作用,并给出了参数调整建议,强调实际应用中需要根据硬件特性优化控制参数。
2025-07-25 15:46:41
287
原创 程序代码篇---卡尔曼滤波与PID
卡尔曼滤波和PID控制是嵌入式系统中的两种核心技术,但功能截然不同。卡尔曼滤波主要用于状态估计,从噪声数据中提取真实状态(如GPS定位修正);PID控制则是闭环调节,通过比例、积分、微分运算消除系统误差(如恒温控制)。二者常协同工作:卡尔曼滤波提供精确状态数据,PID根据误差生成控制量。简言之,卡尔曼滤波解决"测不准"问题,PID解决"控不稳"问题,前者是"感知工具",后者是"调节工具"。
2025-07-25 15:38:43
894
原创 程序代码篇---卡尔曼滤波
卡尔曼滤波是一种优化估计算法,通过结合预测和测量来减少噪声影响。其核心是"预测-更新"循环:先根据历史数据预测当前状态,再用新观测值修正预测结果。以温度测量为例,算法能有效平滑带噪声的传感器数据,使结果更接近真实值。该方法广泛应用于导航定位、无人机控制等领域,通过动态调整对预测和观测的信任权重,在系统噪声和测量误差中寻找最优解。
2025-07-25 15:30:46
533
原创 程序代码篇---嵌入式中的卡尔曼滤波
卡尔曼滤波在嵌入式控制中能有效融合多传感器数据(如加速度计、编码器),去除噪声干扰,提升系统稳定性。其核心优势在于:1)实时递归处理,适合资源受限的嵌入式设备;2)通过数学建模(状态方程、测量方程)动态调整数据权重;3)参数(Q/R)可针对不同传感器特性优化。文中提供了完整的C语言实现方案(含STM32/Arduino适配建议),通过小车速度估计案例,展示了如何用加速度计补偿编码器噪声,用编码器修正加速度计的积分漂移,最终获得平滑准确的状态估计。调试时需重点调整过程噪声协方差Q和测量噪声协方差R参数。
2025-07-25 15:22:58
776
原创 深度学习篇---车道线循迹
摘要:本文提出了一种基于深度学习的双车道线循迹方案,通过预测四个轮子转速实现自主控制。系统采用端到端回归模型,从图像输入直接输出转速值。关键环节包括数据采集、模型设计、训练优化和环境适应。数据采集需覆盖多样化场景,模型采用轻量级CNN结合时序信息提取特征,并引入多任务学习提升鲁棒性。训练策略强调损失函数设计和正则化方法。部署阶段优化实时性能,并加入故障处理机制。通过"数据-模型-部署"全流程优化,显著提升了循迹精度和环境适应性。
2025-07-22 22:55:28
675
原创 程序代码篇---PID简介
PID控制算法解析:包含比例(P)、积分(I)、微分(D)三部分。P控制根据误差大小调整输出,但存在静态误差;I控制通过累积误差消除残差;D控制抑制超调,加快系统响应。文中对比了无PID和PID控制的温度系统实现:无PID采用简单的开关控制,通过滞后值防止继电器频繁切换;PID控制则通过固定周期计算输出占空比,使加热器按比例开启,实现更精确的温度调节。PID算法通过调整Kp、Ki、Kd参数优化系统性能,避免积分饱和和输出振荡,适用于各类工业控制场景。
2025-07-22 22:42:11
988
原创 深度学习篇---矩阵
本文系统阐述了矩阵运算在机械臂运动学和深度学习的核心应用。在机械臂领域,旋转矩阵、齐次变换矩阵和雅可比矩阵分别用于描述坐标变换、位姿映射和速度/力传递;深度学习则通过矩阵乘法实现全连接层、卷积运算(im2col转换)和循环神经网络的状态更新。两类应用均依赖矩阵求逆、伪逆、转置等基础运算,并利用矩阵化方法将复杂映射转化为高效计算。这些案例表明矩阵运算是硬件控制和软件智能中实现多变量关系建模与优化的通用数学工具。
2025-07-20 13:13:41
970
原创 嵌入式硬件篇---机械臂运动学解算(3自由度)
摘要:3自由度机械臂运动学解算包括正解(关节角度→末端位姿)和逆解(目标位姿→关节角度)。采用D-H参数法建模,通过齐次变换矩阵计算位姿变换。正解通过矩阵连乘实现,逆解采用几何解析法并需处理多解和奇异性问题。实际应用中需考虑实时性优化(FPGA/GPU加速)和误差补偿(标定/柔顺控制)。3自由度机械臂在工业装配、医疗手术等领域具有重要应用价值,其解算复杂度介于2自由度和6自由度机械臂之间,需要平衡精度、实时性和鲁棒性。
2025-07-20 13:03:28
1068
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人