ColorSegmentationDetector
A detector based on HSV color threshold segmentation, used for flower detection and counting. It requires no training data, but it is sensitive to changes in illumination.
Timeline (last 90 days)
The ColorSegmentationDetector uses min_area=120 square pixels and bloom_area_min=900 square pixels, recording a connected component reaching 900 as a bud and anything below as a budlet.
On unperturbed simulated scenes, strict scoring (greedy center-distance matching) gives precision = recall = F1 = 1.000 with zero false positives.
Under three lighting conditions—exposure −50, shadow gradient and half-frame shadow—the total-count scoring gives a total error of 0.0%, but in reality between one-sixth and one-quarter of the buds are lost and about twenty ghost budlets are added.
Under gamma 2.2 darkening, the number of detected buds drops to 45 and the number of budlets inflates to 179, with a total-count error of only +6.7%.
Under a warm color cast, budlet recall drops exactly to zero, all 76 budlets are missed, and the 25 detected "budlets" are fragment false positives.
Under overexposed conditions, recall stays at 1.000, but precision drops to 0.933, with 15 extra false positives.
The detector's failure threshold falls somewhere between gamma 1.9 and 2.2, but sampling is sparse and the 1.9 run carried noise, so it cannot be pinpointed.
Under 0.8× radius leaf coverage, the total error reaches +81%, with 297 buds detected (ground truth 76), because partially covered buds shatter into multiple fragments, each falling in the 120–900 square pixel range and being miscounted as a bud.
Lowering min_area from 120 to 40 raises recall under mild occlusion from 0.776 to 0.981 and bud recall from 0.382 to 0.947, but false positives rise from 4 to 49 and total error flips from −20.5% to +21.4%.
All Facts (9)
The ColorSegmentationDetector uses min_area=120 square pixels and bloom_area_min=900 square pixels, recording a connected component reaching 900 as a bud and anything below as a budlet.
50%UnverifiedOn unperturbed simulated scenes, strict scoring (greedy center-distance matching) gives precision = recall = F1 = 1.000 with zero false positives.
50%UnverifiedUnder three lighting conditions—exposure −50, shadow gradient and half-frame shadow—the total-count scoring gives a total error of 0.0%, but in reality between one-sixth and one-quarter of the buds are lost and about twenty ghost budlets are added.
50%UnverifiedUnder gamma 2.2 darkening, the number of detected buds drops to 45 and the number of budlets inflates to 179, with a total-count error of only +6.7%.
50%UnverifiedUnder a warm color cast, budlet recall drops exactly to zero, all 76 budlets are missed, and the 25 detected "budlets" are fragment false positives.
50%UnverifiedUnder overexposed conditions, recall stays at 1.000, but precision drops to 0.933, with 15 extra false positives.
50%UnverifiedThe detector's failure threshold falls somewhere between gamma 1.9 and 2.2, but sampling is sparse and the 1.9 run carried noise, so it cannot be pinpointed.
50%UnverifiedUnder 0.8× radius leaf coverage, the total error reaches +81%, with 297 buds detected (ground truth 76), because partially covered buds shatter into multiple fragments, each falling in the 120–900 square pixel range and being miscounted as a bud.
50%UnverifiedLowering min_area from 120 to 40 raises recall under mild occlusion from 0.776 to 0.981 and bud recall from 0.382 to 0.947, but false positives rise from 4 to 49 and total error flips from −20.5% to +21.4%.
50%