This version supplements the legacy Homework 2 PDF/DOCX. Use it for future offerings after the instructor supplies dates, robot access, and a private deployment set.
Develop and evaluate a vision model for sorting nuts and bolts. The central question is not only whether a CNN trains, but whether its decisions remain reliable when lighting, orientation, scale, surface finish, blur, or background differ from the training images.
- Document image provenance, grayscale conversion, resizing to
(300, 300, 1), class definitions, and augmentation policy. - Split by source image/object/session before augmentation. Augmented versions of one source image must not be split across train, validation, and test sets.
- Establish a non-neural baseline or a deliberately simple reference model.
- Train a CNN compatible with the sorting-robot interface. Record framework version, seed, architecture, training time, and threshold.
- Report confusion matrix, accuracy, precision, recall, F1, ROC/AUC, and class-specific errors on a reserved test set.
- Evaluate controlled robustness changes: at minimum brightness, rotation, blur, and partial occlusion. Report the test design and results.
- Inspect and annotate at least ten failure or low-confidence cases.
- Define an abstention/inspection rule for low-confidence predictions and test it on the instructor-held deployment images.
- Measure actual sorting success rate if the robot is used; report the number of trials and a binomial confidence interval.
- Explain the engineering consequence of a false nut-versus-bolt prediction.
- During a short individual check, predict a likely failure mode, inspect an unfamiliar image, or modify the decision threshold.
- Use the AI-use record if generative AI is permitted. Verify one AI-generated suggestion with an independent test, not only training accuracy.
lastname_firstname_classification/
README.md
environment.yml or requirements.txt
train.py or train.ipynb
AI_USE.md
results/
metrics.json
figures/
failure_audit.md
Grade with the shared rubric. Keep held-out deployment images and model-answer material outside the public repository.