我已经在Keras中训练了一个神经网络来检测图像上的关键点。网络需要形状为(224、224、3)的图像。我希望能够使用CoreML在Swift中检测图像上的关键点,但不确定如何在期望正方形图像的神经网络中使用非正方形形状。对适当的预处理步骤有任何想法吗? Vision API内置了一些功能来帮助您吗?我可以将图像压缩为正方形,但我想这会与预测的(X,y)关键点对混淆。
答案 0 :(得分:0)
这取决于。原始模型是如何训练的?如果还对压缩图像进行了训练,那么在推理过程中将它们压缩就可以了。
如果没有,并且想要保留图像的长宽比,则可能需要将imageCropAndScaleOption
对象中的VNCoreMLRequest
设置为其他模式之一。
无论如何,您都必须将预测的关键点坐标转换回您正在显示图像的尺寸。这在压缩图像时最简单(只需乘以宽度和高度),但是在使用一个图像时比较棘手其他imageCropAndScaleOption
个。