running train your classifier.ipynb
Closed this issue · 0 comments
ycdhqzhiai commented
I don't understand why there are only 145 samples in the output. I hope someone can help me ,
``
data=load_data(data_dir)
keys=[]
for key in data.iterkeys():
keys.append(key)
print('foler:{},image numbers:{}'.format(key,len(data[key])))
``train_x=[]
train_y=[]
for x in data[keys[0]]:
bounding_boxes, _ = detect_face.detect_face(x, minsize, pnet, rnet, onet, threshold, factor)
nrof_faces = bounding_boxes.shape[0]#number of faces
for face_position in bounding_boxes:
face_position=face_position.astype(int)
#print(face_position[0:4])
cv2.rectangle(x, (face_position[0], face_position[1]), (face_position[2], face_position[3]), (0, 255, 0), 2)
crop=x[face_position[1]:face_position[3],
face_position[0]:face_position[2],]
crop = cv2.resize(crop, (96, 96), interpolation=cv2.INTER_CUBIC )
#print(crop.shape)
crop_data=crop.reshape(-1,96,96,3)
#print(crop_data.shape)
emb_data = sess.run([embeddings],
feed_dict={images_placeholder: np.array(crop_data), phase_train_placeholder: False })[0]
train_x.append(emb_data)
train_y.append(0)
print(len(train_x))
for y in data[keys[1]]:
bounding_boxes, _ = detect_face.detect_face(y, minsize, pnet, rnet,
onet, threshold, factor)
nrof_faces = bounding_boxes.shape[0]#number of faces
for face_position in bounding_boxes:
face_position=face_position.astype(int)
#print(face_position[0:4])
cv2.rectangle(y, (face_position[0], face_position[1]), (face_position[2], face_position[3]), (0, 255, 0), 2)
crop=y[face_position[1]:face_position[3],
face_position[0]:face_position[2],]
crop = cv2.resize(crop, (96, 96), interpolation=cv2.INTER_CUBIC )
crop_data=crop.reshape(-1,96,96,3)
#print(crop_data.shape)
emb_data = sess.run([embeddings],
feed_dict={images_placeholder: np.array(crop_data), phase_train_placeholder: False })[0]
train_x.append(emb_data)
train_y.append(1)
print(len(train_x))
print('搞完了,样本数为:{}'.format(len(train_x)))