Automated ICAO/ISO Compliance Validator for ID Portraits
DOI:
https://doi.org/10.66660/ghyn.v1i12.146Keywords:
ICAO Compliance, ISO 19794-5, Portrait Validation, Face Landmarks, Automated Quality Control, MediaPipe Tasks API, Flask REST APIAbstract
Abstract
The manual verification of identity document portraits against international
standards remains a labor-intensive and error-prone process, limiting scalability in
high-volume digital identity workflows. This paper presents an automated, open-source
compliance validator that programmatically enforces ICAO Doc 9303 and ISO/IEC
19794-5 requirements for ID portrait photographs. The proposed system integrates
MediaPipe's modern Tasks API for robust face landmark extraction, geometric rulebased checks for head-to-frame ratio (70–80%), eye-line positioning (50–60% from
top), and head pose tolerance (±10°), alongside environmental assessments for
background uniformity and lighting consistency. A modular, thread-safe architecture
enables dual deployment: a stateless Flask REST API for system integration and a
cross-platform Tkinter graphical interface for interactive validation, both producing
structured JSON reports with per-check status, quantitative metrics, and actionable
recommendations. Evaluation on a curated dataset of 500 portrait images across three
difficulty tiers demonstrates high precision (0.95) and recall (0.93) for overall
compliance detection, with average end-to-end latency of 218 ± 24 ms on CPU
hardware. The validator reduces manual review overhead by >85% while maintaining
full auditability through ephemeral, privacy-preserving processing. By bridging
standards-aligned rule enforcement with production-ready deployment, this work
provides a reproducible, offline-capable foundation for scalable identity photography
workflows in resource-constrained environments.
References
X. Qin, Z. Zhang, C. Huang, C. Gao, M. Dehghan, and Y. Wang, “U²-Net: Going
deeper with nested U-structure for salient object detection,” Pattern Recognition, vol.
, p. 107404, Oct. 2020.
C. Rother, V. Kolmogorov, and A. Blake, “‘GrabCut’: Interactive foreground
extraction using iterated graph cuts,” ACM Transactions on Graphics, vol. 23, no. 3,
pp. 309–314, Aug. 2004.
D. E. King, “Dlib-ml: A machine learning toolkit,” Journal of Machine Learning
Research, vol. 10, pp. 1755–1758, 2009.
D. Gatis, “rembg: Remove background from images using U²-Net,” GitHub
Repository, 2024. [Online]. Available: https://github.com/danielgatis/rembg
International Civil Aviation Organization (ICAO), Machine Readable Travel
Documents, Part 3: Specifications for Machine Readable Passports, Doc 9303, 8th ed.
Montreal, Canada: ICAO, 2015.
R. C. Gonzalez and R. E. Woods, Digital Image Processing, 4th ed. Hoboken, NJ,
USA: Pearson, 2018.
The Pallets Projects, “Flask Web Framework Documentation,” 2024. [Online].
Available: https://flask.palletsprojects.com/
Python Software Foundation, “Tkinter—Python Interface to Tcl/Tk,” Python 3
Documentation, 2024. [Online]. Available:
https://docs.python.org/3/library/tkinter.html
P. Viola and M. J. Jones, “Robust real-time face detection,” International Journal
of Computer Vision, vol. 57, no. 2, pp. 137–154, May 2004.
S. Wang, J. Li, and M. Zhang, “Deep portrait matting and background
replacement: A survey,” IEEE Access, vol. 11, pp. 45210–45228, 2023.
OpenCV Developers, “OpenCV: Open Source Computer Vision Library,” 2024.
[Online]. Available: https://opencv.org/
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2026 Mohanned Albibas, AL-Mokhtar Abdullah Faraj, Musa Faneer

This work is licensed under a Creative Commons Attribution 4.0 International License.
This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (CC BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.





