学习日记(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 加速推理,并对比不同缩放比例对检测精度的影响,同时学习如何将结果视频叠加时间戳和类别标签,增强可视化效果。

相关推荐
报错小能手19 小时前
深入理解 Linux 物理内存管理
学习·操作系统
zx_zx_12319 小时前
哈希表的学习
学习·哈希算法·散列表
FAFU_kyp19 小时前
Kimi Coding Plan API 集成问题与解决方案
学习
L-影1 天前
下篇:它到底是怎么操作的——AI中半监督学习的类型与作用,以及为什么它成了行业的“最优解”
人工智能·学习·机器学习·ai·半监督学习
xw-busy-code1 天前
抽象语法书学习笔记
笔记·学习·ast·抽象语法树
小羊羔heihei1 天前
Python编程实战:12道趣味算法题
笔记·python·学习·其他·算法·学习方法·交友
名字不相符1 天前
2026年3月27日NSSCTF之[SWPU 2019]漂流记的马里奥
学习·ctf·萌新
小羊羔heihei1 天前
Python列表操作全攻略
经验分享·笔记·python·学习·其他·交友
weixin_409383121 天前
godot碰撞测试的学习
学习·游戏引擎·godot