I’m attempting to build a dataset and workflow to identify each game cartridge in an image. (input.jpg)
My Current Problem
My first step is labeling sufficient samples of each cartridge to be identified.
I’ve trained a model with a relatively small dataset (around 100 images + augmentations) of manually annotated images, to annotate the different areas of cartridges. (classes: cartridge, label, logo, art, id) (Model Type: Roboflow 3.0 Instance Segmentation (Fast))
I’m using that model to use Label Assist to annotate a much larger dataset. (Type: Object Detection)
When I’m annotating a cartridge that is square in the frame and has horizontal/vertical lines it has a pretty good annotation suggestion with straight lines. (good.jpg)
If the cartridge is skewed or relatively small in the larger image, then the suggested annotations are mostly correct, but have very jagged, sawtooth, or zig zag looking lines. (zigzag.jpg)
Why is it this way? I want simple, straight lines, for my annotations what can I do to have that?
My Overall Direction:
My current thoughts that my steps are like this, I welcome any feedback on how data should be annotated, or what type of models should be used.
Some challenges I’m aware of that I need to plan for:
- I expect around 5,000 classes.
- The source image may have a single cartridge or a large grid with 60+ cartridges.
Steps:
- Annotate CartComponents
- Train CartComponents model to simplify/speed up annotation
- Annotate cartridge labels with unique class per cartridgeID
- Train CartidgeIdentifier model (with 1,000’s of classes) to identify a cartridge
- User Application will take input image and use CartComponents to detect cartridges
- User Application will crop each cartridge individually from the image
- User Application will feed individual cartridge image to CartidgeIdentifier model to identify
Project Type: Object Detection
Operating System & Browser: MacOS, Safari