Giter Club home page Giter Club logo

Comments (8)

StevenBorkman avatar StevenBorkman commented on August 20, 2024

Do you have a custom labeler that you added to your solo dataset?

from pysolotools.

aryansaurav avatar aryansaurav commented on August 20, 2024

I am not sure I understand custom labelers very well... I have keypoints which are custom but not written any custom labeler in C# code myself yet!

from pysolotools.

StevenBorkman avatar StevenBorkman commented on August 20, 2024

Ok, I was specifically asking if you had a written a custom c# labeler. So, that doesn't sound like that was the issue. I guess could you send the full error and a sample of your dataset that you created?

from pysolotools.

aryansaurav avatar aryansaurav commented on August 20, 2024

Sure, I am attaching the error log (error_log1.txt) in this thread
error_log1.txt

but for the dataset sample, I have to discuss with my team.
I was able to dig a bit into the code and figure out this error comes from "solo" class. More specifically, the solo instance's "end" property is not set by default. Setting it to the number of frames in the dataset suppresses the error

 solo = Solo(data_dir_path)
solo.end= 3		# Number of frames per sequence in the dataset.

This however, does not fix the issues. It loops on only 3 frames in one sequence and leaves the rest of the sequences.
And then, the second error comes up, which is the as raised in another issue: #137

I managed to find a temporary fix to this issue by disabling the line 373 in solo2coco.py file (since there are no categories in the dataset). Then it can generate a dataset, but it does not have the keypoints nor segmentation masks, only images.

As discussion on the issue #137 the alternative to the above workaround (commenting line 373) is to add boundingbox2d for each label. That way, the generated dataset has two json files bbox and semantic but neither contain the keypoints nor segmentation masks.

from pysolotools.

AristideLaignel avatar AristideLaignel commented on August 20, 2024

Hi,
I solve this problem by adding a try catch like this at line 159 in core.py of the package dataclasses_json :

try:
     field_value = kvs[field.name]
except:
     field_value = None

from pysolotools.

aryansaurav avatar aryansaurav commented on August 20, 2024

Hi, I solve this problem by adding a try catch like this at line 159 in core.py of the package dataclasses_json :

try:
     field_value = kvs[field.name]
except:
     field_value = None

Thanks for your tip but does that really solve the issue? I know the error is coming from this line and the above "fix" could disable it.

After experimenting a bit, I figured out this error comes only when you've multiple bounding boxes and multiple frames per sequence. If you've a single bounding box, it doesn't happen. The issue needs to be addressed to enable working with multiple bounding boxes

from pysolotools.

AristideLaignel avatar AristideLaignel commented on August 20, 2024

Thanks for your tip but does that really solve the issue? I know the error is coming from this line and the above "fix" could disable it.

After experimenting a bit, I figured out this error comes only when you've multiple bounding boxes and multiple frames per sequence. If you've a single bounding box, it doesn't happen. The issue needs to be addressed to enable working with multiple bounding boxes

Yes it's works with multiple bounding boxes. I succed to have my dataset in the right format !

from pysolotools.

aryansaurav avatar aryansaurav commented on August 20, 2024

Thanks @AristideLaignel for the confirmation. Finally figured out this issue appears if there is a missing annotation in a given frame (say if the object does not appear in that frame). Your fix is indeed a good fix (if not perfect fix) to handle those exceptions.

Saved me some extra hours and hairs on my head from being scratched away. I'll close this issue now.

from pysolotools.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.