Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何通过在36x60大小的数据上训练的神经网络预测不同的数据?_Python 3.x_Opencv_Keras_Neural Network_Data Science - Fatal编程技术网

Python 3.x 如何通过在36x60大小的数据上训练的神经网络预测不同的数据?

Python 3.x 如何通过在36x60大小的数据上训练的神经网络预测不同的数据?,python-3.x,opencv,keras,neural-network,data-science,Python 3.x,Opencv,Keras,Neural Network,Data Science,我用36x60的眼睛图像训练神经网络。所以我只能用36x60的图像来预测结果?但在我的应用程序中,我有一个视频流,这个流被分为帧,每帧预测68个地标点。在眼睛范围内,我可以选择眼点,并使用OpenCV的“boundingrect”功能,很容易获得裁剪图像。但这张图片没有36x60表格。获取可用于预测的36x60数据的正确方法是什么?或者如何将神经网络用于另一种形式的数据?神经网络(就我所遇到的)具有固定的输入形状,只允许批量大小的自由。这(可能)适用于你见过的每一个神奇的神经网络。不要太害怕通过

我用36x60的眼睛图像训练神经网络。所以我只能用36x60的图像来预测结果?但在我的应用程序中,我有一个视频流,这个流被分为帧,每帧预测68个地标点。在眼睛范围内,我可以选择眼点,并使用OpenCV的“boundingrect”功能,很容易获得裁剪图像。但这张图片没有36x60表格。获取可用于预测的36x60数据的正确方法是什么?或者如何将神经网络用于另一种形式的数据?

神经网络(就我所遇到的)具有固定的输入形状,只允许批量大小的自由。这(可能)适用于你见过的每一个神奇的神经网络。不要太害怕通过现成的采样将图像重塑为网络的预期输入大小。健壮的计算机视觉网络通常是在增强数据上训练的;随机缩放、倾斜或以其他方式变换,以扩大网络处理这种不可避免的缩放情况的能力

当然,还有一些警告。用于预测的输入应尽可能类似于它所训练的数据集,也就是说,模型应应用于它所设计的数据。例如,考虑用于卫星应用的对象检测网络。如果将相同的网络应用于无人机图像,则对象的相对大小可能会大大大于为其设计网络的对象(特别是其锚定框大小)


Tl;dr:假设您使用的网络适合您的工作,请不要害怕缩放图像/帧以适应网络输入。

谢谢您提供的信息。你能澄清一些信息吗?缩放框架的最佳方式是什么?e、 我得到的数据是30x20的形状。我是否应该使用face或更好的工具来扩展眼睛的边界,以将“0”填充到36x60?您好!我不确定你的目标是什么,所以我不确定什么最适合你的目的,但是如果你真的想用0填充不需要的像素,那很好;在NLP网络中,总是要填充太短的文本序列。如果它只是你想要的图像的一部分,那么你可以随意裁剪/缩放;可以使用openCV和其他软件包,也可以使用像素索引。例如,如果您希望从人脸图像中获得眼睛,则裁剪是一种方法,因为需要考虑的像素越少,网络运行速度就越快。这回答了你的问题吗?此外,还有来自不同缩放算法的输出示例,尽管它们中的大多数往往会导致类似的网络性能。我个人倾向于用0来代替填充。