我正在使用形状为 36x60 的眼睛图像训练神经网络。所以我只能使用 36x60 图像预测结果?但是在我的应用程序中,我有一个视频流,这个流被分成帧,每帧预测 68 个地标点。在眼睛范围内,我可以选择视点,使用 OpenCV 的“boundingrect”函数,很容易得到裁剪图像。但是这张图片没有 36x60 的形式。获取可用于预测的 36x60 数据的正确方法是什么?或者如何将神经网络用于另一种形式的数据?
最佳答案
神经网络(就我所遇到的而言)具有固定的输入形状,只允许批量大小自由。这(可能)适用于你见过的每一个惊人的神经网络。不要害怕使用现成的采样将图像 reshape 为网络的预期输入大小。强大的计算机视觉网络通常在增强数据上进行训练;随机缩放、倾斜和以其他方式进行转换,以便(除其他外)扩大网络处理这种不可避免的缩放情况的能力。
当然有一些注意事项。用于预测的输入应尽可能与其训练的数据集相似,也就是说,模型应应用于为其设计的数据。例如,考虑为卫星应用制作的目标检测网络。如果将相同的网络应用于无人机图像,则对象的相对大小可能比设计网络(特别是其 anchor 框大小)的对象大得多。
Tl;dr:假设您使用正确的网络来完成工作,不要害怕缩放图像/帧以适应网络的输入。
关于python-3.x - 如何通过在 36x60 大小的数据上训练的神经网络预测不同的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56181395/