Un repository profesional dedicat prelucrării avansate de imagini și biometriei faciale aplicate local (non-cloud). Acest portofoliu demonstrează abilități solide de inginerie software, organizare modulară a codului conform standardului PEP 257 și management eficient al mediilor virtuale.
În dezvoltarea acestui portofoliu, am implementat bune practici utilizate în producție de echipele de top:
- Astral
uvEnvironment: Am înlocuit clasiculvenv/pipcuuv(scris în Rust), reducând timpul de rezolvare a dependențelor și instalare de la minute la milisecunde. - Dlib Pure Implementation: Pentru a asigura portabilitatea pe sisteme Windows fără compilatoare grele de C++ (Visual Studio Build Tools), am integrat direct distribuții binare pre-compilate ale motorului Dlib, decuplând arhitectura de barierele rigide ale sistemului de operare.
- Documentație Exhaustivă: Fiecare algoritm este încapsulat în funcții pure, cu tipizare statică (Type Hinting) și Docstrings descriptive conforme cu PEP 257.
- Cod Calibrat Profesional cu Ruff: Toate fișierele de cod au fost scanate și verificate prin linter-ul
ruff. Rezultatul verificării este impecabil:All checks passed!, garantând un stil curat, fără importuri redundante sau erori sintactice.
Cap. 6 Computer_Vision/
│
├── .gitignore # Regulă strictă pentru excluderea cache-ului și a modelelor grele (.dat)
├── README.md # Documentația principală a proiectului
├── LEARNING_WORKFLOW.md # Harta de navigare și învățare în proiect
├── requirements.txt # Dependențele de producție
│
├── sesiunea_28_opencv_avansat/
│ ├── imagini/ # Imagini martor (flori.jpg, text_vechi.jpg, forme.jpg)
│ ├── outputs/ # Rezultatele procesărilor vizuale
│ └── proiect_tema_s28.py # Algoritmi de segmentare, Canny și Threshold adaptiv
│
└── sesiunea_29_dlib_facial/
├── imagini/ # Seturi de date pentru analiză biometrică (maria.jpg)
├── modele/ # Rețele neuronale pre-antrenate (68 Landmark Predictor)
├── outputs/ # Jurnale tabelare rezultate (coordonate CSV)
└── proiect_tema_s29.py # Mapare facială și extragere de trăsături
- Izolare HSV: Segmentarea obiectelor pe baza nuanței exacte (filtrare albastră pe petale), curățată prin morfologie matematică (Eroziune/Dilatare) pentru eliminarea zgomotului „sare și piper”.
- Filtrare pe Arie: Calculul matematic al suprafeței contururilor externe (
cv2.contourArea) și extragerea exclusivă a obiectelor cu dimensiuni macro (>500px). - Adaptive Thresholding: Tehnica Gaussian locală pentru optimizarea documentelor scanate neuniform, eliminând umbrele degradate pentru sisteme OCR.
- Decupare ROI (Region of Interest): Combinarea algoritmului Canny cu Bounding Boxes pentru izolarea și salvarea automată a formelor geometrice în ferestre separate.
- Face Detection: Utilizarea detectorului frontal bazat pe piramide de imagini și HOG (Histogram of Oriented Gradients).
- 68 Facial Landmarks: Încărcarea unui model neuronal predictiv de formă pentru a mapa cu precizie chirurgicală trăsăturile feței (ochi, nas, gură, structură osoasă).
- Data Export: Extragerea matricii de puncte și transpunerea ei în fișiere tabelare
.csvstructurate pentru analiză statistică sau antrenare de modele ML ulterioare.
Important
Notă privind Contextul de Execuție (Working Directory):
Toate scripturile utilizează căi relative (imagini/, modele/) pentru o portabilitate maximă. Pentru ca algoritmii OpenCV și Dlib să acceseze corect resursele și să afișeze ferestrele grafice (cv2.imshow), terminalul trebuie să navigheze în interiorul folderului dedicat fiecărei sesiuni înainte de rulare. Executarea direct de la rădăcină va bloca încărcarea imaginilor din cauza discrepanței de context.
| Algoritm | Input Status | Output Generat | Utilitate în Industrie |
|---|---|---|---|
| HSV Filter (Blue) | Floare cu petale degradate | Mască Binară + Contur Roșu | Controlul Calității în Fabrici (Robotică) |
| Adaptive Threshold | Gradient de umbră puternic | Text Binarizat Înalt-Contrast | Digitizarea Arhivelor Istorice (OCR) |
| 68 Landmarks Map | Portret feminin (maria.jpg) |
68 Puncte Albastre + landmarks.csv |
Securitate Biometrică & Analiză Facială |
Pentru a testa și verifica funcționalitatea proiectului pe stația locală de lucru cu validarea corectă a căilor, executați în terminal:
# 1. Poziționarea în rădăcină și activarea mediului virtual
cd Cap.-6-Computer_Vision
.venv\Scripts\Activate.ps1
# 2. Verificare cod cu Ruff (Stil și Calitate)
uv run ruff check .
# 3. Rularea Sesiunii 28 (OpenCV) în contextul corect de foldere
cd sesiunea_28_opencv_avansat
python proiect_tema_s28.py
# 4. Rularea Sesiunii 29 (Dlib Biometrics) în contextul corect de foldere
cd ../sesiunea_29_dlib_facial
python proiect_tema_s29.pyPortofoliu dezvoltat cu pasiune de catre Maria Gabriela Cojocaru pentru Computer Vision și Inginerie Software Clean-Code.