0408happyfeet/p3hw1-pen-detection
P3HW1 — Pen Detection (Binary) — 224×224 Purpose Binary image classification: does the image contain a pen? A compact dataset for course assignments and demos. Dataset Composition Original split (normalized to 224×224): 34 images pen: 17 no pen: 17 Augmented split (also 224×224): 306 images Contains the 34 resized originals plus 272 label‑preserving augmentations. All 34 original images were student‑captured (17 pen, 17 no pen) under varied… See the full description on the dataset page: https://huggingface.co/datasets/0408happyfeet/p3hw1-pen-detection.
P3HW1 — Pen Detection (Binary) — 224×224
Purpose
Binary image classification: does the image contain a pen? A compact dataset for course assignments and demos.
Dataset Composition
- Original split (normalized to 224×224): 34 images
- pen: 17
- no pen: 17
- Augmented split (also 224×224): 306 images
- Contains the 34 resized originals plus 272 label‑preserving augmentations.
All 34 original images were student‑captured (17 pen, 17 no pen) under varied backgrounds, lighting, and viewpoints.
Data Collection
- Source: personal, student‑created photos only.
- Locations: indoor settings (desk/tabletop).
- Timeframe: 2025-09.
- No faces or sensitive PII present.
Preprocessing & Augmentation
- Resolution: all images are 224×224 (both splits).
- Augmentations (label‑preserving, torchvision):
RandomHorizontalFlip(0.5)RandomRotation(±15°)RandomAffine(translate ≤10%, scale 0.9–1.1, shear 10°)ColorJitter(brightness ±0.2, contrast ±0.15, saturation ±0.1, hue ±0.02)RandomAdjustSharpness(×1.5)GaussianBlur(ks=3, σ∈[0.1, 1.5])- Excluded: heavy perspective, cutout/erase, aggressive crops that could remove the pen.
Labels
label(ClassLabel): 0 →no pen, 1 →penlabel_str: string alias
Splits
original: resized originals with metadata (orig_width,orig_height,width=224,height=224,source="original").augmented: resized originals + augmented images (source in {original, augmented_v1}), all 224×224.
Features / Metadata Columns
Each example includes:
image— 224×224 RGBlabel(ClassLabel) andlabel_str(string)orig_width,orig_height(size before normalization)width,height(post‑normalization; always 224)source("original"or"augmented_v1")
If needed, stratify into train/val/test from the original and mirror indices into augmented.
Intended Use & Limits
- Teaching/demo for binary presence classification.
- Not for production or safety‑critical applications.
- Small object size, occlusion, or very low light may degrade performance.
Ethics & Safety Notes
- All images are inanimate objects; no biometric data.
- Backgrounds may include incidental printed text.
License
- Dataset: CC BY 4.0 (attribution required).
AI Usage Disclosure
- No generative AI was used to create original images.
- An LLM (ChatGPT) assisted in writing the collection/augmentation/upload code; images in the
augmentedsplit were produced by deterministic torchvision transforms, not by a generative model.
