I need help to detect something specific

So i need to detect a stack of logs from about the range of max 35 meters from every angle in various weather conditions (snow, rain, everything) and every time (night and day). I would have an infrared camera, rgb camera (i would also buy something new if that would help capturing a good image during day and night. The stack of logs can be cut like in the picture but also can full on trees stacked. So yeah my problem is i dont know on wich parts of the tree i should focus on when detecting or training, because somtimes i only see the tree slices and sometimes only the bark from the side and sometimes a mix of both. The detection should be pretty accurate too. So if anyone has an idea i would really appreciate it.

Hey @Hatzi

Thanks for sharing your interesting use case. I imagine this project might take a bit of trial and error, but here’s a couple thoughts that come to mind:

  • Computer vision models perform well when predicting on data they “see” during training.
    • If you have a lot of environmental variability, like weather and time of day, you might have better success with an infrared camera (given its consistently easier to spot the logs w/ an infrared)
  • If there’s a distinctive part of the trees that are always somewhat visible, like the bark, training an object detection model with one class (ex: logpile) might work well for your use case
    • If there are several different distinctive scenarios with minimal visual overlap, (only the tree core/rings, vs only the bark, vs only the leaves) you might have better luck with several classes (ex: logpile-bark, logpile-leaves, logpile-core)
    • I would recommend starting to label with several different classes. This way, you can train a model with these multiple classes, and if it performs poorly you can always remap them to a single class to see if it performs better.

Hope this helps

You can create a 3D model of various stacked wood (you can use Blender for this), and then apply different textures and backgrounds.

Using Unity Engine Perception, you can generate a wide variety of angles, weather conditions, lighting conditions, etc., for synthetic image datasets that come with 2D bounding boxes, semantic segmentation masks, and more.

If you need any further help, kindly let me know.