【发布时间】:2020-05-27 03:25:06
【问题描述】:
我是深度学习和 Keras 的新手。我创建了一个在 ASL(美国手语)数据集上训练的模型,其中包含近 80,000 个训练图像和 1500 个测试图像。我还附加了一些更多的类,即。从 0 到 9 的手势数字。所以,我总共有 39 节课(0-9 和 A-Z)。我的任务是训练这个数据集并将其用于预测。我的预测输入是来自网络摄像头的帧,我将在其中显示手势。
我的 Keras 模型
classifier = Sequential()
classifier.add(Conv2D(32, (3, 3), input_shape = (100, 100, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Conv2D(32, (3, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Flatten())
classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 39, activation = 'softmax'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
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('train',
target_size = (100,100),
batch_size = 128,
class_mode = 'categorical')
test_set = test_datagen.flow_from_directory('test',
target_size = (100, 100),
batch_size = 128,
class_mode = 'categorical')
classifier.fit_generator(training_set,
steps_per_epoch = 88534,
epochs = 10,
validation_data = test_set,
validation_steps = 1418)
ASL 数据集图像大小为 200x200,数字符号数据集大小为 64x64。在以 96% 的验证准确率运行 5 个 epoc 后,当我在视频上运行它时,我仍然无法获得良好的预测。
视频帧的python程序
classifier = load_model('asl_original.h5')
classifier.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['accuracy'])
cam = cv2.VideoCapture(0)
while(1):
try:
ret, frame = cam.read()
frame = cv2.flip(frame,1)
roi = frame[100:400,200:500]
cv2.rectangle(frame,(200,100),(500,400),(0,255,0),2)
cv2.imshow('frame',frame)
cv2.imshow('roi',roi)
img = cv2.resize(roi,(100,100))
img = np.reshape(img,[1,100,100,3])
classes = classifier.predict_classes(img)
print(classes)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
except Exception:
traceback.print_exc()
pass
我不明白为什么即使在对如此大的数据集进行训练之后,我也无法获得准确的预测。 我需要进行哪些更改才能获得所有 39 个课程的准确预测。
数据集的链接。 ASL DATASET 和 Hand sign for numbers
【问题讨论】:
-
这与标题无关:“在使用 python 压缩文件期间压缩了不必要的文件夹”您需要使标题反映一般问题:meta.stackexchange.com/questions/10647/…
-
抱歉,标题错误
标签: python tensorflow keras deep-learning kaggle