feat: Enhance Identify Panel with quality filtering and navigation improvements

This commit introduces a quality filtering feature in the Identify Panel, allowing users to filter faces based on a quality score (0-100%). The panel now includes a slider for adjusting the quality threshold and displays the current quality percentage. Additionally, navigation functions have been updated to skip to the next or previous face that meets the quality criteria, improving the user experience during identification. The README has been updated to reflect these new features and enhancements.
This commit is contained in:
tanyar09
2025-10-16 14:49:00 -04:00
parent b2847a066e
commit 986fc81005
5 changed files with 532 additions and 134 deletions
+18 -6
View File
@@ -16,6 +16,7 @@ A powerful desktop application for organizing and tagging photos using **state-o
- **👤 Person Identification**: Identify and tag people across your photo collection
- **🤖 Smart Auto-Matching**: Intelligent face matching with quality scoring and cosine similarity
- **🔍 Advanced Search**: Search by people, dates, tags, and folders
- **🎚️ Quality Filtering**: Filter faces by quality score in Identify panel (0-100%)
- **🏷️ Tag Management**: Organize photos with hierarchical tags
- **⚡ Batch Processing**: Process thousands of photos efficiently
- **🔒 Privacy-First**: All data stored locally, no cloud dependencies
@@ -114,7 +115,12 @@ python src/photo_tagger.py scan /path/to/photos
Open the dashboard and click "Process Photos" to detect faces.
### 3. Identify People
Use the "Identify" panel to tag faces with names.
Use the "Identify" panel to tag faces with names:
- **Quality Filter**: Adjust the quality slider (0-100%) to filter out low-quality faces
- **Unique Faces**: Enable to hide duplicate faces using cosine similarity
- **Date Filters**: Filter faces by date range
- **Navigation**: Browse through unidentified faces with prev/next buttons
- **Photo Viewer**: Click the photo icon to view the full source image
### 4. Search
Use the "Search" panel to find photos by people, dates, or tags.
@@ -133,11 +139,12 @@ Use the dashboard to configure DeepFace settings:
### Manual Configuration
Edit `src/core/config.py` to customize:
- `DEEPFACE_DETECTOR_BACKEND` - Face detection model
- `DEEPFACE_MODEL_NAME` - Recognition model
- `DEFAULT_FACE_TOLERANCE` - Similarity tolerance (0.4 for DeepFace)
- `DEEPFACE_SIMILARITY_THRESHOLD` - Minimum similarity percentage
- Batch sizes and quality thresholds
- `DEEPFACE_DETECTOR_BACKEND` - Face detection model (default: `retinaface`)
- `DEEPFACE_MODEL_NAME` - Recognition model (default: `ArcFace`)
- `DEFAULT_FACE_TOLERANCE` - Similarity tolerance (default: `0.6` for DeepFace)
- `DEEPFACE_SIMILARITY_THRESHOLD` - Minimum similarity percentage (default: `60`)
- `MIN_FACE_QUALITY` - Minimum face quality score (default: `0.3`)
- Batch sizes and other processing thresholds
---
@@ -169,6 +176,11 @@ python tests/test_deepface_gui.py
- ✅ Multiple detector/model options (GUI selectable)
- ✅ Cosine similarity matching
- ✅ Face confidence scores and quality metrics
- ✅ Quality filtering in Identify panel (adjustable 0-100%)
- ✅ Unique faces detection (cosine similarity-based deduplication)
- ✅ Enhanced thumbnail display (100x100px)
- ✅ External system photo viewer integration
- ✅ Improved auto-match save responsiveness
- ✅ Metadata display (detector/model info in GUI)
- ✅ Enhanced accuracy and reliability
- ✅ Comprehensive test coverage (20/20 tests passing)