python cnn图像分类_python中CNN多类图像分类的边界盒预测

本文介绍了如何使用Keras库建立一个卷积神经网络(CNN)模型,对包含四类特定对象的图像进行分类和边界框预测。首先,定义了一个包含两个卷积层的CNN模型,然后利用ImageDataGenerator进行数据增强。通过fit_generator方法对训练集进行拟合,并在测试集上评估模型性能。目标是不仅预测图像类别,还预测出感兴趣区域的边界框坐标。
摘要由CSDN通过智能技术生成

我有4种特定对象的训练集和测试。我还有csv格式的绑定框条件/感兴趣区域坐标(x,y,w,h)。

该项目的主要目的是预测测试图像的类别以及感兴趣区域周围的边界框,并在图像上打印类的名称。在

我应用了基于keras库的CNN模型。对给定的测试集图像进行分类。为了预测给定测试图像的边界框坐标,我应该更改什么?在from keras.models import Sequential

from keras.layers import Convolution2D

from keras.layers import MaxPooling2D

from keras.layers import Flatten

from keras.layers import Dense

#CNN initializing

classifier= Sequential()

#convolutional layer

classifier.add(Convolution2D(filters = 32, kernel_size=(3,3), data_format= "channels_last", input_shape=(64, 64, 3), activation="relu"))

#Pooling

classifier.add(MaxPooling2D(pool_size=(2,2)))

#addition of second convolutional layer

classifier.add(Convolution2D(filters = 32, kernel_size=(3,3), data_format= "channels_last", activation="relu"))

classifier.add(MaxPooling2D(pool_size=(2,2)))

#step 3 - FLatttening

classifier.add(Flatten())

#step 4 - Full connection layer

classifier.add(Dense(128, input_dim = 11, activation = 'relu'))

#output layer

classifier.add(Dense(units = 4, activation = 'sigmoid'))

#compiling the CNN

classifier.compile(optimizer='adam',loss="categorical_crossentropy",metrics =["accuracy"])

#part 2 -Fitting the CNN to the images

from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(rescale = 1./255,

shear_range = 0.2,

zoom_range = 0.2,

horizontal_flip = True)

test_datagen = ImageDataGenerator(rescale = 1./255)

training_set = train_datagen.flow_from_directory('dataset/Train',

target_size = (64, 64),

batch_size = 32,

class_mode = 'categorical')

test_set = test_datagen.flow_from_directory('dataset/Test',

target_size = (64, 64),

batch_size = 32,

class_mode = 'categorical')

classifier.fit_generator(training_set,

steps_per_epoch =4286/32,

epochs = 25,

validation_data = test_set,

validation_steps = 44/32)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值