JARVIS-MoCap / JARVIS-AnnotationTool

AnnotationTool to create multi-view annotations for the JARVIS 3D Markerless Pose Estimation Toolbox
https://jarvis-mocap.github.io/jarvis-docs/
GNU Lesser General Public License v2.1
24 stars 6 forks source link

Error when exporting training set #2

Closed vigji closed 2 years ago

vigji commented 2 years ago

I am trying to export a training dataset from some annotated movies. I am working on a macOS and installed the Annotation Tool available on the website. Running stuff on a mac solved the issues described #1, even though those are still standing on the Windows machine.

I have annotated a bunch of frames and I wanted to generate a training dataset from them. I am working with 3 cameras, I annotated from 1 camera all key points, and from the other 2 I suppressed one in each as it was not visible.

This is the window I have just before the export: Screenshot 2022-05-24 at 09 05 27

If I export, the tool crashes and I get the following report:

Process:               AnnotationTool [19789]
Path:                  /private/var/folders/*/AnnotationTool.app/Contents/MacOS/AnnotationTool
Identifier:            ???
Version:               ??? (???)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           AnnotationTool [19789]
User ID:               501

Date/Time:             2022-05-24 09:05:29.983 +0200
OS Version:            Mac OS X 10.15.7 (19H512)
Report Version:        12
Anonymous UUID:        C279620A-BC34-6883-34DB-45EF599243A2

Sleep/Wake UUID:       59D21917-B77C-4D98-96E5-81734769A3CF

Time Awake Since Boot: 56000 seconds
Time Since Wake:       410 seconds

System Integrity Protection: enabled

Notes:                 Translocated Process

Crashed Thread:        3  QThread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
abort() called
terminating with uncaught exception of type NSException
...

Any way you can help me?

JARVIS-MoCap commented 2 years ago

Hi,

The root cause of your issue seems to be that MacOS doesn't like it when popup windows are created by a thread other than the main thread. The only time that happens is when I try to export a trainingset without having the calibration files added to the dataset.

This is definitely a bug that needs fixing, but I think you can get around it by making sure that you add your calibration files to the dataset. The easiest way of doing this is by clicking the big blue "plus" button in the annotation mode. This should do two things:

  1. You should be able to see the reprojection error statistics instead of the blue "plus"
  2. There should now be a folder called CalibrationParameters inside your dataset directory, containing all your calibration '.yaml' files

I hope this helps! Please let me know if missing calibration files are not the cause of the issue.

vigji commented 2 years ago

That was it, worked like a charm! Thank you very much for your help, I'll keep reporting on this! :) Feel free to close the issue if you want, or keep it up for the popup window bugfix.

Thanks again!