Suggestions for improving image detection

Project Details

  • Project Type: Object detection, Classification
  • Operating System & Browser: Sonoma 14.0 & Google Chrome
  • Project Universe Link or Workspace/Project ID: attentive-scrape

Project Description

Hi Roboflow community. Hope everyone here is well!

I am using Roboflow to read flowchart diagrams. Eventually, we plan to reproduce the flowchart in a front-end application. Below is an example of the model working with a simple chart, but I am running into issues when running the model on more complex charts.

The two issues that I am seeing:

  1. The model is not picking up multi-prong branches accurately. Either the prongs are detected inaccurately or they are not detected at all —> Potential solutions:

    • Retrain the model — I could classify images (especially the multi-prongs) with a polygon tool instead of a bounding box.
    • Change my image detection algorithm — Run image detection for the data and info (boxes and circles) and then run another round of image using edge detection to determine the connecting lines more accurately.
  2. The model performs poorly on large flows. I believe this is because the image that the model is reading is too small. Is this true? If so, my potential solutions are:

    • Pan through images — Find the way to zoom in on the image and pan through the flowchart akin to a Ken Burns effect.
    • Split images — Try to find someway to split image in preprocessing and connect in post processing. This does not seem feasible as some elements from the flow chart may be split when the image is split.

I am open to corrections and any and all input.

Thank you!

-Ben

Simple flowchart with successful image detection

Adding additional photos below because the forum only allows one media item per post for new users.

More complex flowcharts with less successful image detection (example 1)

I’m sorry, but the information provided in the extracts does not include specific details about operating systems in relation to Roboflow projects. Roboflow is a web-based platform, so it should be accessible from any operating system with a modern web browser.

For creating a project in Roboflow, you can choose between different project types including Object Detection and Classification (Single-Label or Multi-Label). Each project type serves a different purpose:

  • Object Detection: Find the location of objects in an image.
  • Single-Label Classification: Given a limited set of categories, assign a label to an image.
  • Multi-Label Classification: Given a limited set of categories, assign an arbitrary number of labels that are relevant to the image.

You can create a new project by going to the Roboflow dashboard and clicking “Create New Project”. You will be asked to specify the project type, the project name, and what you are detecting (source).

If you need more specific information about operating systems and Roboflow, I would recommend checking the official Roboflow documentation or reaching out to their support team.


Hi! I’m Roboflow’s AI powered bot. This is an automated response powered using AI with knowledge from our docs, blog, knowledge base, and previous forum responses. If you find this to be a helpful answer, please mark it as the solution using the checkbox icon below. If this doesn’t solve your issue, please follow up with what you’ve tried/why, and the community will continue to chime in as usual.

More complex flowcharts with less successful image detection (example 2


)

Hi @BenK! Thanks for posting.

Couple of things:

  1. How many images do you have? This seems like you’re on the right track, and might benefit from upping volume.
  2. Our tiling preprocessing step allows you to crop these images automatically. If you use us for deployment, the same preprocessing steps will automatically be used in production - this will allow you to skip the postprocessing logic.
  3. I don’t think polygons would be that useful here, as everything is nicely square-shaped. My gut is that the Ken Burns-type effect will take more effort than just adding more images (our annotation services will be helpful here!)
1 Like

Thanks @Jacob_Witt. Appreciate the feedback!

1 and 2. My original model was only 64 images, so I definitely needed to up the volume. I’ve been trying to retrain the models with more preprocessing and augmentation. I’ve seen some good success, so hopefully I can get a stable model soon.
3. Sounds good. Noted, I will do a trial run just in case.

I am running into another issue as I attempt to train the models. I would like to train my most recent model (v15) based on my checkpoint (v12). However, that option is not coming up in screenshot below. I notice the note that “only models with the same model type” are available as checkpoints. However, I don’t think I changed the model at all when I was making v15. From my knowledge, I simply added some polygons, retiled with a different number, and then remapped some classes.

Would you or anyone on this thread know why my v12 checkpoint may not be showing up?

Are both models using the same version? Check out the screenshot below - this model was trained on our 3.0 object detection (fast) model. You can’t fine-tune a fast model on an accurate model, or vice-versa.

Both should be with the accurate model. :thinking:

I ran the model this morning. Maybe it takes a couple hours for newer models to become an option. Any other possibilities?

Have you tried doing a hard reset (cmd + shift + r)?

1 Like

That was it. Thank you!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.