fix: 适配 ubuntu 路径并增强换发色/训练流程稳定性
将配置与训练脚本从 /home/xsl 切到本机 /home/ubuntu;换发色在 webui 增强失败或缺色板时降级返回,训练结束后自动重启 hair 服务再回调。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -72,6 +72,8 @@ class HairStyle_Model_Infer(object):
|
||||
# haircolor_dir = '/home/data/hair/data/ref_color/3628746832766'
|
||||
face_base, hair_matting, status = self.infer_haircolor_new(user_rgb_8uc3_orisize, haircolor_dir,target_hair_color,
|
||||
return_matting=True)
|
||||
if status != 0:
|
||||
return user_rgb_8uc3_orisize, None, status
|
||||
user_rgb_8uc3_orisize = face_base
|
||||
# 构建一个色板
|
||||
r, g, b = target_hair_color
|
||||
@@ -1016,7 +1018,7 @@ class HairStyle_Model_Infer(object):
|
||||
def infer_haircolor_new(self, user_rgb_8uc3_orisize, haircolor_dir, target_hair_color, return_matting=False):
|
||||
landmarks_origin_img_1k= self.get_landmark.forward(user_rgb_8uc3_orisize)
|
||||
if landmarks_origin_img_1k is None:
|
||||
return None, 10001
|
||||
return None, None, 10001
|
||||
need_process = (target_hair_color[0] * 0.299 + target_hair_color[1] * 0.587 + target_hair_color[2] * 0.114) > 150
|
||||
_, user_matting_8uc1_bald_orisize = self.process_data_infer.generator_matte.matte_inference(user_rgb_8uc3_orisize,
|
||||
landmarks_origin_img_1k)
|
||||
@@ -1036,10 +1038,13 @@ class HairStyle_Model_Infer(object):
|
||||
need_process=True
|
||||
if need_process:
|
||||
haircolor_dir_tmp = os.path.join(config.get('default', "haircolorDir"), config.get('default', "baseColor_ID"))
|
||||
face_base, status1 = self.infer_haircolor_tj(user_rgb_8uc3_orisize, haircolor_dir_tmp)
|
||||
# cv2.imwrite('/home/student/Desktop/tmp_color/need/face_base.png', face_base)
|
||||
if status1 == 0:
|
||||
return face_base, user_matting_8uc1_bald_orisize, 0
|
||||
if os.path.exists(haircolor_dir_tmp):
|
||||
face_base, status1 = self.infer_haircolor_tj(user_rgb_8uc3_orisize, haircolor_dir_tmp)
|
||||
# cv2.imwrite('/home/student/Desktop/tmp_color/need/face_base.png', face_base)
|
||||
if status1 == 0:
|
||||
return face_base, user_matting_8uc1_bald_orisize, 0
|
||||
else:
|
||||
need_process = False
|
||||
else:
|
||||
need_process = False
|
||||
if not need_process:
|
||||
|
||||
Reference in New Issue
Block a user