我正在将包含裁剪面部的张量从BlazeFace传递到我的自定义模型中进行分类任务。问题在于这些维度与我的自定义模型的输入不匹配,我的模型是使用迁移学习和MobileNetV2训练的。我意识到当裁剪的面部尺寸小于我的自定义模型的形状时,我尝试调整它们的尺寸。我该怎么做才能让裁剪的面部适合模型呢?
模型输入形状 : [1,224,224,3]裁剪的面部 : [1,117,68,3]
const crop = tf.image.cropAndResize( tensorReshaped, boxes, [0], [height, width] ); // 将裁剪的面部调整大小到 [1,224,224,3] console.log(crop.shape); const prediction = model.predict(crop.reshape([1, 224, 224, 3])); if (!prediction || prediction.length === 0) { console.log("No prediction available"); return; } // 进行预测。 const preds = prediction.dataSync(); console.log(preds);
回答:
我需要调整裁剪图像的大小而不是改变它们的形状
const alignCorners = false; // 将裁剪的图像调整大小到 [1,224,224,3] const imageResize = tf.image.resizeBilinear( crop, [224, 224], alignCorners );