Eggshell Micro-Crack Diagnostics Decision support for poultry breeder farms

Model card

Crack detection macro F10.907
Morphology macro F10.794 95% CI 0.698–0.876
Localisation pointing game0.765
ArchitectureEfficientNet-B0, multi-task, auxiliary segmentation head (3.67 M parameters)
Input384 × 384, egg isolated and background neutralised, per-image per-channel standardisation
Training data554 candled hatching eggs, single annotator, verified by a hatchery manager
Test data98 eggs, sealed before any modelling and opened exactly once
Detectionmacro F1 0.907, ROC-AUC 0.985, recall 0.980
Morphologymacro F1 0.794 (95% CI 0.698–0.876)
Localisationpointing game 0.765, energy inside expert polygon 0.513

Reference points

Capture statistics alone — image size, brightness and colour, with no egg content whatsoever — reach 0.357 on morphology. The best classical pipeline, combining texture descriptors, ridge filtering and crack geometry, reaches 0.565. Read every figure above against those, not against chance.

Root-cause rule base

Physiological share of attributed cause, by crack morphology and flock lay stage.

PatternEarly layPeak productionLate lay
Hairline 30% 40% 55%
Star 15% 20% 30%
Network 50% 60% 75%

Deterministic expert rules from Ross 308 specifications and the crack-morphology literature. Not learned from data and not validated against hatch outcomes.

Known limitations

API

For integration with other equipment, such as a future conveyor-mounted camera.

GET  /api/v1/health     liveness
GET  /api/v1/ready      readiness, including model state
GET  /api/v1/info       this model card as JSON
GET  /api/v1/rules      the root-cause rule base
POST /api/v1/inspect    multipart "image", plus "age_class"
POST /api/v1/batch      multipart "images", plus "age_class"