首页 > 解决方案 > CNN对象定位

问题描述

我有图像数据集(24 x 24)。我想预测每个图像center_xcenter_y的每个对象。我有一个文件,其中包含图像center_xcenter_y的每个对象。

每个图像中的对象数量小于或等于 2。

我尝试在最后一层使用具有“线性”激活功能的卷积神经网络来解决这个问题,但没有取得好的效果。

model = Sequential()
model.add(Conv2D(80, 3 ,activation='relu',input_shape=(24,24,3)))
model.add(Conv2D(64,3  , activation='relu' ))
model.add(MaxPool2D(2,2))
model.add(Conv2D(64,3  , activation='relu' ))
model.add(MaxPool2D(2,2)) 
model.add(Conv2D(128,1  , activation='relu' ))
model.add(Flatten())   
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4, activation = 'linear')) 

输出:

[center_x_of_first_object , center_y_of_first_object ,center_x_of_second_object , center_y_of_second_object ]
  1. 如果图像中没有对象,则输出将是:[0,0,0,0]
  2. 如果图像中有一个对象,则输出将为: [value_x,value_y ,0,0]

  3. 如果图像中有两个对象,则输出将为: [value_x,value_y ,value_x2,value_y2]

如何解决这个问题?

标签: pythonmachine-learningkerasdeep-learningconv-neural-network

解决方案


推荐阅读