学习日记(2026年3月23日)

今日学习内容

今天主要围绕 YOLOv8 视频目标检测的完整流程进行实践,重点解决内存不足和代码变量错误的问题。上午复习了 Ubuntu 系统中查看 conda 环境的方法,使用 conda env list 快速确认当前环境。下午着手处理一个实际项目:用训练好的 best.pt 模型对一段屏幕录制视频进行检测,并保存标注后的结果。

遇到的主要困难

  1. 内存分配错误:运行预测脚本时,出现 _ArrayMemoryError: Unable to allocate 8.79 MiB 的报错,原因是视频帧分辨率过大(1422×2160),OpenCV 在读取帧时无法分配足够内存。

  2. 变量未定义:修正内存问题后,又遇到 NameError: name 'input_video' is not defined,因为在配置部分用了 video_path,但代码中却引用了 input_video。

解决方法

· 对于内存问题,我在代码中增加了自动缩放机制:当帧面积超过设定阈值(如1080p)时,先等比例缩小帧送入模型预测,再将标注后的帧放大回原始尺寸保存,这样既避免了内存溢出,又保证了输出视频的分辨率不变。

· 对于变量命名错误,我将配置参数统一为 input_video 和 output_video,并修改了代码中所有引用,确保一致性。

收获与反思

今天深刻体会到"细节决定成败":一个变量名不匹配就可能让整个程序崩溃。同时学会了用"先缩放、后还原"的策略处理大尺寸视频,这是工程中应对内存限制的常用技巧。通过这次实践,我对 OpenCV 的视频读写、YOLO 模型推理的内存管理有了更具体的认识。不足的是,没有提前估算视频帧尺寸,导致反复调试,下次应先检查视频属性再设计处理方案。

下一步计划

明天将尝试用 GPU 加速推理,并对比不同缩放比例对检测精度的影响,同时学习如何将结果视频叠加时间戳和类别标签,增强可视化效果。

相关推荐
胡图图不糊涂^_^15 分钟前
测试用例篇——设计测试用例的方法
笔记·学习·测试用例·判定表法·正交法生成用例测试·等价类·边界值
Fanfanaas32 分钟前
C++ 继承
java·开发语言·jvm·c++·学习·算法
飞翔中文网1 小时前
Java学习笔记之抽象类
java·笔记·学习
Esaka_Forever2 小时前
few‑shot learning(少样本学习)
人工智能·学习
川石课堂软件测试3 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos
2301_809051143 小时前
Linux 数据库开发 学习笔记
笔记·学习·数据库开发
爱喝水的鱼丶3 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇)第三篇:SAP ALV 报表样式定制:字段布局与交互功能配置
服务器·开发语言·学习·交互·sap·abap
很楠爱上3 小时前
Node.js 模块化学习笔记
笔记·学习·node.js
毕竟是shy哥3 小时前
CLIP:从自然语言监督中学习可迁移的视觉模型
学习
川石课堂软件测试4 小时前
作为一名测试工程师如何学习Kubernetes(k8s)技能
学习·测试工具·容器·职场和发展·kubernetes·测试用例·harmonyos