Merge branch 'feat/png-face-extraction' of https://github.com/faceshiftlabs/DeepFaceLab

This commit is contained in:
Brigham Lysenko 2019-08-11 15:25:39 -06:00
commit e89c191ddc

View file

@ -135,7 +135,7 @@ class ExtractSubprocessor(Subprocessor):
if filename_path.suffix == '.png': if filename_path.suffix == '.png':
src_dflimg = DFLPNG.load ( str(filename_path) ) src_dflimg = DFLPNG.load ( str(filename_path) )
if filename_path.suffix == '.jpg': if filename_path.suffix == '.jpg':
src_dflimg = DFLJPG.load ( str(filename_path) ) src_dflimg = DFLPNG.load ( str(filename_path) )
if 'rects' in self.type: if 'rects' in self.type:
if min(w,h) < 128: if min(w,h) < 128:
@ -248,17 +248,17 @@ class ExtractSubprocessor(Subprocessor):
if str(filename_path) != str(output_file): if str(filename_path) != str(output_file):
shutil.copy ( str(filename_path), str(output_file) ) shutil.copy ( str(filename_path), str(output_file) )
else: else:
output_file = '{}_{}{}'.format(str(self.final_output_path / filename_path.stem), str(face_idx), '.jpg') output_file = '{}_{}{}'.format(str(self.final_output_path / filename_path.stem), str(face_idx), '.png')
cv2_imwrite(output_file, face_image, [int(cv2.IMWRITE_JPEG_QUALITY), 85] ) cv2_imwrite(output_file, face_image, [int(cv2.IMWRITE_PNG_COMPRESSION), 0] )
DFLJPG.embed_data(output_file, face_type=FaceType.toString(self.face_type), DFLPNG.embed_data(output_file, face_type=FaceType.toString(self.face_type),
landmarks=face_image_landmarks.tolist(), landmarks=face_image_landmarks.tolist(),
source_filename=filename_path.name, source_filename=filename_path.name,
source_rect=rect, source_rect=rect,
source_landmarks=image_landmarks.tolist(), source_landmarks=image_landmarks.tolist(),
image_to_face_mat=image_to_face_mat, image_to_face_mat=image_to_face_mat,
pitch_yaw_roll=data.pitch_yaw_roll pitch_yaw_roll=data.pitch_yaw_roll
) )
data.final_output_files.append (output_file) data.final_output_files.append (output_file)
face_idx += 1 face_idx += 1
@ -401,13 +401,13 @@ class ExtractSubprocessor(Subprocessor):
self.text_lines_img = self.cache_text_lines_img[1] self.text_lines_img = self.cache_text_lines_img[1]
else: else:
self.text_lines_img = (imagelib.get_draw_text_lines ( self.image, sh, self.text_lines_img = (imagelib.get_draw_text_lines ( self.image, sh,
[ '[Mouse click] - lock/unlock selection', [ '[Mouse click] - lock/unlock selection',
'[Mouse wheel] - change rect', '[Mouse wheel] - change rect',
'[Enter] / [Space] - confirm / skip frame', '[Enter] / [Space] - confirm / skip frame',
'[,] [.]- prev frame, next frame. [Q] - skip remaining frames', '[,] [.]- prev frame, next frame. [Q] - skip remaining frames',
'[a] - accuracy on/off (more fps)', '[a] - accuracy on/off (more fps)',
'[h] - hide this help' '[h] - hide this help'
], (1, 1, 1) )*255).astype(np.uint8) ], (1, 1, 1) )*255).astype(np.uint8)
self.cache_text_lines_img = (sh, self.text_lines_img) self.cache_text_lines_img = (sh, self.text_lines_img)
@ -494,10 +494,10 @@ class ExtractSubprocessor(Subprocessor):
break break
if self.x != new_x or \ if self.x != new_x or \
self.y != new_y or \ self.y != new_y or \
self.rect_size != new_rect_size or \ self.rect_size != new_rect_size or \
self.extract_needed or \ self.extract_needed or \
redraw_needed: redraw_needed:
self.x = new_x self.x = new_x
self.y = new_y self.y = new_y
self.rect_size = new_rect_size self.rect_size = new_rect_size