01 — Collect
Photographs of the crop in the state it is actually in — different fields, different light, different times of day. A detector only ever learns the conditions it was shown.
02 — Label
One rectangle round every weed in every frame, and the species it belongs to. This is the part nobody writes about: the model's ceiling is set here, by how carefully the boxes were drawn.
03 — Augment
Flipped, rotated, cropped, and shifted in exposure. The subject is unchanged and the label travels with it, so the net is shown the same weed under conditions the camera never caught.
Shot hundredsSeen in training several×
04 — Train
Starting from pretrained weights rather than nothing: the early layers already know edges and texture, and only the later ones have to learn what separates a weed from the crop around it.
Base YOLOv8From pretrained
05 — Detect
This is what makes YOLO fast enough for video. The image is divided into a grid and every cell answers for whatever falls inside it — one pass, not a search.
Grid 13 × 13Passes 1
06 — Suppress
Neighbouring cells each return a box for the same plant. Non-maximum suppression keeps the most confident and folds the rest into it, so one weed leaves with one box.
07 — Result
Run over video the model was never trained on, the boxes stay on the plants through motion and changing light. Measured across the held-out set: 89% mAP.
mAP 89%Runs on video