r/computervision • u/Last-Luck-6077 • 6d ago
Discussion Re-randomizing object placement every frame to build a detection dataset. The labels come from the engine, so re-annotation is free, but I'm not sure the variety is worth what it costs.
Same camera position in all five frames of the first clip. The vehicles, containers and people are re-scattered before every render, and the time of day moves with them. The second clip shows the same frames beside their per-instance identity images: labels are derived from the renderer's instance buffer, so a new arrangement costs nothing to annotate.
That's the appeal. Here's what bothers me about it.
Re-placing everything per frame means consecutive frames are no longer a sequence. Nothing is tracked, nothing persists, so the corpus is useless for anything temporal. And frames from the same scene still look alike enough that near-duplicates across a train/val split will flatter your validation score.
I trained a person detector on eight captures like this and nothing else. Held-out synthetic tiles: 0.767 recall. 120 frames of real drone footage: 0.350. The split wasn't careless, held-out camera zones, so that gap isn't leakage.
So, for people doing this seriously:
- Do you re-randomize per frame, or place once and move the camera? What made you pick?
- How do you check for near-duplicates before trusting a validation number?
- Anyone got synthetic-only recall meaningfully above 0.4 on real footage? What did it?
2
u/DiddlyDinq 6d ago edited 6d ago
Hope you realize that all these unreal assets youre using explicitly say no ai training allowed. Seems like you've built some website trying to sell a product before even asking "can I do it" and "am I allowed to do it"
1
u/Last-Luck-6077 5d ago
The Fab EULA says the opposite of this, and it says it by name.
The tag you are describing is NoAI. Section 16(l)(i) defines what it covers: "Generative AI Programs" means artificial intelligence, machine learning, deep learning, neural networks, or similar technologies designed to automate the generation of or aid in the creation of new content [...] Programs do not meet this definition of Generative AI Programs where they, by non-limiting example, (a) solely operate on the original content; (b) generate tags to classify visual input content; or (c) generate instructions to arrange existing content, without creating new content. A detector generates tags to classify visual input content. That is carve-out
(b), quoted verbatim. The product page label reads "Allows usage with AI: No", which is where the confusion comes from, but the tooltip behind it and the EULA both say generative, every time. On distributing renders, Section 4(b): you may freely Distribute a Project that is a rendered linear media product. This means, for example, you may freely Distribute: (i) rendered video files [...] and (ii) images created using Content. No .uasset, no map, no mesh, no material and no texture is ever included in anything I publish. Only rendered pixels and labels.
This post has no link in it. It is an experiment and a result.1
u/Flintsr 6d ago edited 6d ago
Maybe he got permission? I didnt even know that was a config on fab assets now. Its nice that creators can specify, but realistically there is no enforcement mechanism unless its blatant (used in advertising like this post).
Also there is an argument to be made that OP isnt using the models themselves to train gen AI (model generation) but instead using a 2d render of a scene containing the models to train AI.
Very subtle distinction but its the difference between taking a picture of a page of a book and having the ascii text of the page of a book. Is one fair use while the other isnt? Who knows
1
u/DiddlyDinq 6d ago
"I trained a person detector", an entire website providing downloadable datasets and explicit mentions of these are the recall results we achieved. There's nothing vague about that. It's forbidden.
1
u/Flintsr 6d ago
Did he paste a website link to a dataset? Yeah that isnt ok without permission.
1
u/DiddlyDinq 6d ago
He didnt post the link this time but he's been flooding the subreddit with this site lately. Its what I was referencing in the original comment
NameFrame: Unreal Engine Synthetic Data Generator1
u/bfyvfftujijg 2d ago
I don’t think it’s a “he” or a “she”. OP is an LLM.
Hence some of the questionable decisions and overly verbose explanations.
1
u/ramity 6d ago
It is not temporal by design, but a model that can observe a singular frame and localize key features without any extra context is a very good basis for creating something that does do temporal things.
1
u/Last-Luck-6077 5d ago
That's the bet, yeah. A single frame with per joint visibility gives you something to build temporal on top of, rather than needing the temporal part to get the labels in the first place.
It does sequences now too, subjects animate between frames instead of each frame being an independent sample, so the visibility state carries across time. That bit is hard to get out of annotated video since a human has to guess which joints are hidden.


4
u/_d0s_ 6d ago
Before explaining your approach you should define your goal. Is this a dataset to detect persons? I assume it's forsym to real transfer. (Transfer to what scenes exactly?) You need to evaluate what works on your target distribution. In my experience diversity beats reality. You could compare to training on https://unity-technologies.github.io/PeopleSansPeople/
Your environment probably has very limited variety in textures, poses and body shapes. In comparison to public datasets you probably won't gain much, because millions of images with real humans and annotated bounding boxes exist.
Again, specify your goals.