The model was fine
It was being shown a different picture than the one it learned from.
For three weeks my grow camera’s health check refused to read a healthy plant. “Couldn’t read it confidently,” hour after hour.
The plan was to retrain it on more views. The first explanation, twice, was that the camera had moved.
Neither was it.
I took the photos the hub had saved and scored them on my desk with the same model. 279 of 285: healthy.
The hub’s own scores, on those same photos, disagreed. Half the verdicts flipped.
The difference was one step. Before the model saw a frame, the hub color-corrected it. On a frame full of leaves, that cut the green by 11 to 16 percent. Healthy leaves came out pale, and pale reads sick.
The model was fine. It was being shown a different picture than the one it learned from.
Retraining on the corrected frames didn’t fix it either. Moving the correction so the model sees the photo as taken did. The next two captures read healthy.
The rule I kept: before you retrain anything, reproduce the score the device actually recorded. If you can’t, you’re debugging the wrong thing.
Where has a preprocessing step quietly changed what your model saw?
First published on LinkedIn, 20 October 2026: the post.
Also read: The best picture was already on the machine · The camera called it female, ten days late · The whole run, as the device recorded it