【发布时间】:2018-09-01 19:57:38
【问题描述】:
对于我的游戏内 AI 项目,我使用计算机视觉。因此,对于监督学习,我会捕获屏幕并按下按键。
由于我的硬盘空间有限,我无法存储大量数据(大量大小为 320x240 的图像)。到目前为止,我发现以 jpeg 格式保存帧效果最好(1000 帧 ~20MB)。
我还尝试使用 numpy(.npy,1000 帧 ~220 MB)和 h5py(.h5,1000 帧 ~220MB)保存图像数组。通过这种方式,文件太大而无法存储足够量的数据用于 AI 训练(即使使用 gzip 压缩)。
但是,保存在 jpeg 中会导致读/写速度非常慢。那么,有没有什么办法可以将一组图像存储在一个文件中以具有高读/写速度,同时又很紧凑?
我发现了关于它的有趣研究 (https://stackoverflow.com/a/41425878),但似乎在图像的情况下它没有帮助。
【问题讨论】:
-
也许使用二进制文件...但问题是您真的需要将所有图像存储在 320x240 中吗?难道你不能“预处理”你的图像在可能的情况下缩小尺寸(不丢失信息),然后在你使用它时重新整形?问题也是为什么你应该存储如此大量的数据......?你需要保留所有东西吗?
-
很可能是x-y problem。你也没有提到你将如何处理这些数据。压缩可能会使您的数据无法进行进一步处理。我同意达德普的观点。尝试提取特征并存储它们通常是更好的方法
-
@Dadep,它已经“预处理”了,因为图像的原始尺寸是 800x600。是的,我必须首先保留所有数据,因为我的计算机功能不是太强大,无法同时玩和训练 AI。
-
@Piglet,我正在做一辆自动驾驶汽车。因此,我想训练 AI 让汽车保持在一条车道上(目前为止,稍后我将添加功能)。在我的情况下,哪些特征可以很好地提取?我认为即使丢失了 jpeg 格式也能发挥作用——人工智能将能够检测线并保持在一条车道上。
-
@Rustam,我同意 Piglet,你应该提取特征,也可以考虑改变你项目的总体架构。如果你有计算限制,你应该换一种方式思考。您可以编辑您的帖子,以显示您系统的总体图吗?
标签: python machine-learning computer-vision artificial-intelligence