derive cleaner min-4px YOLO corpus
This commit is contained in:
@@ -9,7 +9,9 @@ from pathlib import Path
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(tmp_path: Path) -> None:
|
||||
def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(
|
||||
tmp_path: Path,
|
||||
) -> None:
|
||||
script_path = ROOT / "scripts" / "audit_operator_yolo_dataset_quality.py"
|
||||
assert script_path.exists()
|
||||
|
||||
@@ -135,10 +137,12 @@ def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(tmp_path: Pat
|
||||
text=True,
|
||||
)
|
||||
|
||||
assert "Operator YOLO dataset quality audit passed" in result.stdout
|
||||
assert "Operator YOLO dataset quality audit completed" in result.stdout
|
||||
|
||||
report = json.loads(
|
||||
(output_dir / "operator_yolo_dataset_quality_audit.json").read_text(encoding="utf-8")
|
||||
(output_dir / "operator_yolo_dataset_quality_audit.json").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
)
|
||||
assert report["status"] == "needs_attention"
|
||||
assert report["sample_count"] == 3
|
||||
@@ -150,7 +154,9 @@ def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(tmp_path: Pat
|
||||
assert report["label_stats"]["parsed_label_count"] == 3
|
||||
assert report["label_stats"]["invalid_label_count"] == 0
|
||||
assert report["min_label_visible_ratio"] == 0.25
|
||||
sample_by_slug = {sample["sample_slug"]: sample for sample in report["sample_summaries"]}
|
||||
sample_by_slug = {
|
||||
sample["sample_slug"]: sample for sample in report["sample_summaries"]
|
||||
}
|
||||
assert sample_by_slug["geel"]["parsed_label_count"] == 2
|
||||
assert sample_by_slug["geel"]["invalid_label_count"] == 0
|
||||
assert sample_by_slug["geel"]["small_box_share"] == 0.5
|
||||
@@ -161,7 +167,9 @@ def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(tmp_path: Pat
|
||||
]
|
||||
assert sample_by_slug["turnhout"]["parsed_label_count"] == 1
|
||||
assert sample_by_slug["turnhout"]["small_box_share"] == 0.0
|
||||
assert sample_by_slug["turnhout"]["quality_warnings"] == ["median_box_area_below_gate"]
|
||||
assert sample_by_slug["turnhout"]["quality_warnings"] == [
|
||||
"median_box_area_below_gate"
|
||||
]
|
||||
assert sample_by_slug["postel_bos"]["parsed_label_count"] == 0
|
||||
assert sample_by_slug["postel_bos"]["quality_warnings"] == []
|
||||
|
||||
@@ -173,7 +181,9 @@ def test_operator_yolo_dataset_quality_audit_reports_dataset_risks(tmp_path: Pat
|
||||
assert "small_box_share_above_gate" in warning_codes
|
||||
assert "positive_tiles_have_low_visual_variance" in warning_codes
|
||||
|
||||
markdown = (output_dir / "operator_yolo_dataset_quality_audit.md").read_text(encoding="utf-8")
|
||||
markdown = (output_dir / "operator_yolo_dataset_quality_audit.md").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
assert "Operator YOLO Dataset Quality Audit" in markdown
|
||||
assert "Label Quality" in markdown
|
||||
assert "Minimum visible label ratio" in markdown
|
||||
|
||||
Reference in New Issue
Block a user