SimSwap icon indicating copy to clipboard operation
SimSwap copied to clipboard

Upgrade insightface

Open woctezuma opened this issue 2 years ago • 8 comments

The following issue arises with insightface==0.6.2 or below, including the recommended version (0.2.1).

ValueError: This ORT build has ['AzureExecutionProvider', 'CPUExecutionProvider'] enabled. Since ORT 1.9, you are required to explicitly set the providers parameter when instantiating InferenceSession. For example, onnxruntime.InferenceSession(..., providers=['AzureExecutionProvider', 'CPUExecutionProvider'], ...)

See:

  • #445

This issue is fixed by upgrading to insightface==0.7 or above, but the following issue arises.

TypeError: RetinaFace.detect() got an unexpected keyword argument 'threshold'

This pull request fixes this second issue, which allows to use the latest version of insightface (0.7.3).

Fix:

  • #139
  • #407

woctezuma avatar Sep 21 '23 09:09 woctezuma

Can confirm, fix works :)

dimitrisTim avatar Sep 24 '23 20:09 dimitrisTim

Again getting the same error "RetinaFace.detect() got an unexpected keyword argument 'threshold'". Can you share your .ipynb file?

!git clone https://github.com/woctezuma/SimSwap.git I have used insightface==0.7.3

Mr-Nobody-dey avatar Oct 01 '23 07:10 Mr-Nobody-dey

!git clone https://github.com/woctezuma/SimSwap.git I have used insightface==0.7.3

You should use the branch which incorporates the fix.

!git clone https://github.com/woctezuma/SimSwap.git --branch upgrade-insightface --single-branch

Otherwise you get the main branch, which is an exact copy of the official SimSwap.

woctezuma avatar Oct 01 '23 08:10 woctezuma

Ok thank you, It works like a charm. It is 9 commits behind, will you update it?

Mr-Nobody-dey avatar Oct 01 '23 19:10 Mr-Nobody-dey

Ok thank you, It works like a charm. It is 9 commits behind, will you update it?

I can do that, but there is no much point: only the README and the notebook were modified in the 9 commits, so no Python code.

Edit: Done this time, but the point of this branch is that the pull request could be merged in the official repository, not to maintain it whenever there is a new update in the official repository. 😛

woctezuma avatar Oct 02 '23 09:10 woctezuma

ok Thanks by the way.

Mr-Nobody-dey avatar Oct 03 '23 14:10 Mr-Nobody-dey

In the latest insightface version, delete line 65 of insightface_func/face_detect_crop_multi.py:

        bboxes, kpss = self.det_model.detect(img,
                                             threshold=self.det_thresh, <---remove this LINE
                                             max_num=max_num,
                                             metric='default')

TO

        bboxes, kpss = self.det_model.detect(img,
                                             max_num=max_num,
                                             metric='default')

face_detect_crop_single.py is same.

yanmingsohu avatar Oct 11 '23 02:10 yanmingsohu

Yes, that is partially what I did:

  • https://github.com/neuralchen/SimSwap/pull/447/files

In the latest insightface version, delete line 65 of insightface_func/face_detect_crop_multi.py:

If you only do that, then you cannot specify the detection threshold. For instance, the default value (0.5) is used instead of 0.6.

  • 0.5 default for SCRFD:

https://github.com/deepinsight/insightface/blob/c2db41402c627cab8ea32d55da591940f2258276/python-package/insightface/model_zoo/scrfd.py#L85C1-L85C1

  • 0.6:

https://github.com/neuralchen/SimSwap/blob/a5f6dea67398eec9ee71e156f7ad15dbd7ce4977/test_wholeimage_swapsingle.py#L55-L56


NB: antelope.zip contains a file hinting at SCRFD for detection:

  • glintr100.onnx recognition
  • scrfd_10g_bnkps.onnx detection

based on the outputs found in Colab:

find model: ./insightface_func/models/antelope/glintr100.onnx recognition
find model: ./insightface_func/models/antelope/scrfd_10g_bnkps.onnx detection

So the detection model is SCRFD.

https://github.com/neuralchen/SimSwap/blob/a5f6dea67398eec9ee71e156f7ad15dbd7ce4977/insightface_func/face_detect_crop_single.py#L41-L43

https://github.com/neuralchen/SimSwap/blob/a5f6dea67398eec9ee71e156f7ad15dbd7ce4977/insightface_func/face_detect_crop_single.py#L47-L48

woctezuma avatar Oct 11 '23 16:10 woctezuma