Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems encountered when running FaceReconstruction/demo/demo_face_rec_on_video.py #29

Open
jing54001 opened this issue Oct 16, 2024 · 3 comments

Comments

@jing54001
Copy link

First, I encountered this problem when I first ran it.

betas = torch.cat([shape_params, expression_params], dim=1)
RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 1 but got size 4 for tensor number 1 in the list.

I found that after face_encode, the shape of batch['shapecode'] is (1, 300) but the default batch_size of the code is 4, so I added the following modification

batch = self.face_encoder(batch, return_features=return_features)
batch['shape code]=batch['shapecode'].expand(4, -1)
check_nan(batch)

After that, my code can run normally, but after running part of the results, it suddenly reports an error. How can I solve it?
(When executing insightface's download.py, the antelopev2 download failed because the old version link is invalid.
I used the following link to download https://huggingface.co/MonsterMMORPG/tools/resolve/main/antelopev2.zip)


[WARNING] Processing MICA image in forward pass. This is very inefficient for training. Please precompute the MICA images in the data loader.
 17%|█████████████████████████▎                                                                                                                              | 34/204 [00:06<00:21,  7.86it/s][WARNING] Processing MICA image in forward pass. This is very inefficient for training. Please precompute the MICA images in the data loader.
 17%|██████████████████████████                                                                                                                              | 35/204 [00:06<00:21,  7.93it/s][WARNING] Processing MICA image in forward pass. This is very inefficient for training. Please precompute the MICA images in the data loader.
 17%|██████████████████████████                                                                                                                              | 35/204 [00:06<00:33,  5.04it/s]
Traceback (most recent call last):
  File "demo_face_rec_on_video.py", line 174, in <module>
    main()
  File "demo_face_rec_on_video.py", line 169, in main
    reconstruct_video(args)
  File "demo_face_rec_on_video.py", line 85, in reconstruct_video
    vals = test(model, img)
  File "/data2/jyy/inferno/inferno_apps/FaceReconstruction/utils/test.py", line 7, in test
    values = model(batch, training=False, validation=False)
  File "/data2/jyy/miniconda3/envs/aios/envs/face/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceRecBase.py", line 357, in forward
    batch = self.encode(batch, training=training)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceRecBase.py", line 522, in encode
    batch = self.face_encoder(batch, return_features=return_features)
  File "/data2/jyy/miniconda3/envs/aios/envs/face/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceEncoder.py", line 18, in forward
    return self.encode(batch, return_features=return_features)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceEncoder.py", line 270, in encode
    batch = self.mica_deca_encoder.encode(batch, return_features=return_features)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceEncoder.py", line 211, in encode
    batch = self.mica_encoder.encode(batch, return_features=return_features)
  File "/data2/jyy/inferno/inferno/models/FaceReconstruction/FaceEncoder.py", line 173, in encode
    mica_image = self.mica_preprocessor(image, fan_landmarks, landmarks_validity=landmarks_validity)
  File "/data2/jyy/inferno/inferno/models/mica/MicaInputProcessing.py", line 58, in __call__
    mica_image = self._dirty_image_preprocessing(input_image)
  File "/data2/jyy/inferno/inferno/models/mica/MicaInputProcessing.py", line 179, in _dirty_image_preprocessing
    blob, _ = get_arcface_input(face, img)
  File "/data2/jyy/inferno/inferno/models/mica/detector.py", line 39, in get_arcface_input
    aimg = face_align.norm_crop(img, landmark=face.kps)
  File "/data2/jyy/miniconda3/envs/aios/envs/face/lib/python3.8/site-packages/insightface/utils/face_align.py", line 72, in norm_crop
    warped = cv2.warpAffine(img, M, (image_size, image_size), borderValue=0.0)
TypeError: Expected Ptr<cv::UMat> for argument 'M'

@coding-kuku
Copy link

I have the same problems, have you solved the last one?

@radekd91
Copy link
Owner

radekd91 commented Dec 6, 2024

Hotfix coming soon!

@radekd91
Copy link
Owner

radekd91 commented Dec 6, 2024

Pushed a fix. Please ty again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants