Skip to content
Back to skills

Data And Alignment

ASecurity

"Prepare Facenet class-folder datasets, validate LFW pair inputs,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
datagit

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-and-alignment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data And Alignment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data And Alignment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-and-alignment/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-and-alignment)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-and-alignment
description: "Prepare Facenet class-folder datasets, validate LFW pair inputs,
  and build safe MTCNN alignment workflows."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# Facenet Data and Alignment

Use this sub-skill when the user needs to prepare or check face image data before embedding, evaluation, or training. This includes class-folder dataset layout, LFW pair files, image preprocessing assumptions, and MTCNN alignment commands.

## When to read

- The user asks how to structure a Facenet dataset or why labels/classes are wrong.
- A workflow needs aligned face thumbnails before `compare`, classifier training, LFW validation, or training.
- The task mentions `align_dataset_mtcnn`, MTCNN thresholds, margin, image size, multiple faces, or bounding-box output.
- The user has an LFW-style `pairs.txt` file and missing-image or skipped-pair issues.

## Core conventions

- Facenet datasets use `data_dir/class_name/image_file` directories. `facenet.get_dataset()` sorts class directories and assigns integer labels by sorted class order.
- `facenet.load_data()` reads images, converts grayscale to RGB, optionally prewhitens, then crops/flips to the requested image size.
- MTCNN alignment writes class subdirectories under an output directory and records bounding boxes in `bounding_boxes_<random>.txt`.
- For pretrained 2018 models, later inference/evaluation often needs fixed image standardization; route to [`../evaluation/SKILL.md`](../evaluation/SKILL.md) before LFW evaluation.

## Practical workflow

1. Validate source layout with [`scripts/validate_facenet_dataset.py`](scripts/validate_facenet_dataset.py). It checks class directories, image extensions, minimum images per class, and optional LFW pair references without importing TensorFlow.
2. Read [`references/data-formats.md`](references/data-formats.md) for class-folder, LFW pair, learning-rate schedule, and large dataset conversion formats.
3. If images are unaligned, read [`references/alignment-workflows.md`](references/alignment-workflows.md), then build a command with [`scripts/build_alignment_command.py`](scripts/build_alignment_command.py).
4. Choose `--image_size` and `--margin` based on the downstream workflow. README-era examples commonly use `182` aligned output for training and `160` for model input.
5. Decide whether multiple detected faces should be saved. The default behavior picks one centered/large face; `--detect_multiple_faces` changes output naming and class counts.
6. After alignment, validate the output dataset again before training or classifier workflows.

## Decision points

- **Unaligned vs aligned input**: `compare` and contributed clustering can align internally, but training and LFW evaluation expect prepared aligned face patches.
- **Random order**: use `--random_order` only to help multiple alignment jobs split work; it makes logs harder to compare.
- **Multiple faces**: enable only when each input image may legitimately contain more than one identity; otherwise it can pollute class folders.
- **Skipped images**: alignment records output filenames without boxes when no face is found. Treat a high skip rate as detector/quality/data issue, not a training issue.

## Output contract

A successful preparation pass should leave:

- a validated source or aligned class-folder directory;
- a recorded image size and margin;
- a bounding-box/no-face log from alignment when alignment was run;
- a second validation report showing class counts after alignment.

Keep raw photos and aligned outputs in separate directories so a failed detector run can be discarded without data loss.

## Route onward

- For embedding comparison, classifier training, export, or clustering, continue with [`../embeddings-and-classification/SKILL.md`](../embeddings-and-classification/SKILL.md).
- For LFW pair metrics, continue with [`../evaluation/SKILL.md`](../evaluation/SKILL.md).
- For softmax/triplet model training, continue with [`../training/SKILL.md`](../training/SKILL.md).
- For model path and tensor-name issues, continue with [`../model-export-and-checkpoints/SKILL.md`](../model-export-and-checkpoints/SKILL.md).

## Troubleshooting

Read [`references/troubleshooting.md`](references/troubleshooting.md) for invalid class-folder layouts, missing pairs, MTCNN import errors, deprecated SciPy image I/O, and unexpected face counts.

Files in this skill

  • SKILL.md4.3 KB
  • references/alignment-workflows.md2.1 KB
  • references/data-formats.md2.2 KB
  • references/troubleshooting.md1.9 KB
  • scripts/build_alignment_command.py1.3 KB
  • scripts/validate_facenet_dataset.py4.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.