
使用卷积神经网络的深度计算机视觉
|
421
这需要一些时间,但是此模型在测试集上应达到约 95%的精度。这样你可以开始训练惊
人的图像分类器了!但是计算机视觉不仅仅是分类。例如,如果你还想知道花在图片中
的位置怎么办?让我们现在来看一下。
14.8 分类和定位
如第 10 章所述,定位图片中物体可以表示为回归任务:预测物体周围的边界框,一种
常见的方法是预测物体中心的水平坐标和垂直坐标,还有其高度和宽度。这意味着我
们有四个数字需要预测。它不需要对模型进行太多修改,我们只需要添加具有四个单
位的第二个密集输出层(通常在全局平均池化层之上),就可以使用 MSE 损失对其进
行训练:
base_model = keras.applications.xception.Xception(weights="imagenet",
include_top=False)
avg = keras.layers.GlobalAveragePooling2D()(base_model.output)
class_output = keras.layers.Dense(n_classes, activation="softmax")(avg)
loc_output = keras.layers.Dense(4)(avg)
model = keras.Model(inputs=base_model.input,
outputs=[class_output, loc_output])
model.compile(loss=["sparse_categorical_crossentropy", ...