Can someone please explain why Yolo is allowed in this competition?

The “training” that is required is no different than a HuskyLens… but I dont think the HuskyLens is allowed. Using pretrained CNN models is not allowed

With yolo there is no need to further elaborate on anything for development because Yolo is built on pretrained CNN models. Everything the huskylens and yolo does requires the use of their very own pre-trained models.

So why is yolo allowed if other pre-trained models like HuskeyLens are not?

2 Likes

Hi @jeremy.desmond!

You’re right that YOLO is commonly used as a pre-trained model, and in that form, it’s indeed quite similar to something like the HuskyLens. You get a model that was trained beforehand, and you just feed it your own data to fine-tune it. That is against the rules, since the competition prohibits the use of pre-trained AI models.

However, YOLO can also be used as a framework. If you’re not using any pre-trained weights and instead build your own custom model from scratch and then train it with your dataset, then its use is compliant with the rules.

I hope this helps!

Csaba
2025 Committee

1 Like

“You get a model that was trained beforehand, and you just feed it your own data to fine-tune it. That is against the rules”

That is exactly how yolo works…

1 Like

Perhaps I can contribute my opinion here, though I must first clarify that I’m neither an RCJ official or a YOLO expert. I’ll avoid using the term “model”, as that can refer to many different things, leading to confusion.

The way YOLO is utilized consists of many different components…

  1. A neural network framework. This is often (…but not necessarily) Darknet. Using Darknet or any other neural network (eg. PyTorch) is allowed.

  2. A network architecture. This is YOLO. It describes how each layer of the neural network connects to each other. This and other network architectures are allowed.

  3. Initial weights for the convolution layers. Examples includes “yolo4.conv” or “darknet53.conv.74”. This alone will not allow you to detect any objects, but it provides a starting point for your custom training. You can perform your own custom training without this, but it’ll be much less efficient (In the original YOLO paper, this set of weights took about a week of running time to train). I would think it is allowed to use the “.conv” files, but perhaps it’s best that the RCJ officials clarify.

  4. Final weights file. Examples of this includes “yolo4.weights” and “yolo4-tiny.weights”. If you download and use this, you’ll be able to detect objects without any further work. This is not allowed. If you conduct your own training to generate your own “.weights” file, then it is allowed.

The HuskyLens has a couple of features that are relevant here…

  1. Object recognition. It’s unclear what architecture is used here, but it looks like a CNN with 20 pre-trained objects. There’s no training involved in using this. If you use this, it’ll be similar to using YOLO with a final weights file that someone else has trained. This is not allowed.

  2. Object tracking. It’s unclear how this works, and it may not be a CNN at all. The HuskyLens wiki says that it needs objects with a clear outline, so maybe feature matching (ie. SIFT / FLANN)? Without knowing what it uses, I can’t say if it’s allowed or not. Either way, using a point and click solution isn’t great for learning.

Perhaps instead of a blanket ban on all pre-trained weights, it should be narrowed down to weights that are pre-trained on objects used in RCJ. This means that the HuskyLens object recognition would be allowed (…it doesn’t recognize any objects relevant to rescue line). It’ll be useless, but if a team manages to find a creative use for it, then I don’t see why not. Similarly, using a YOLO weights file that’s pretrained on a dataset like COCO would also be allowed (…but again useless). This would be analogous to how RCJ allows the use of off the shelf components, but not those specifically designed to solve any primary task.

2 Likes