Skip to content

Releases: serengil/deepface

v0.0.83

26 Jan 21:01
0833da1
Compare
Choose a tag to compare

🔄 Enhancement

Find function now returns a pandas dataframe, with the distance column named as distance by default. Improved naming practice for clarity and consistency.PR-974

Ticket: #969

🎯 New Feature

Added optional threshold argument to the find function. You can now filter the pandas dataframe after finding distances for each pair. If threshold is not set, the pre-tuned threshold will still be used for the given model name and distance metric. PR-974

Ticket: #972

🐛 Bug Fix

Resolved yunet bug related to "Argument 'score_threshold' can't be treated as a float." The issue has been sorted out. PR-974

Ticket: #973

Packages

v0.0.82

25 Jan 14:59
0833da1
Compare
Choose a tag to compare

Bugs

🔄 Normalization Layer Update : The VGG-Face model's normalization layer, causing issues for some GPU users (e.g. #957, #966), has been revamped. In this pull request, the normalization layer's functionality has been seamlessly integrated into the embedding calculation using regular NumPy operations instead of the Keras backend. PR-967

🚧 DeepID Model Representation Fix: Resolved an issue with the representation call of the DeepID model, ensuring smooth and error-free execution. PR-964

🐛 Ssd detector's alignment bug: When face detection is done with Ssd, unexpectedly it returns zero dimensional image. This causes errors in the alignment stage. We terminated the aligment procedure now if one of the dimension's shape of coming image is 0. PR-959

Improved Dependency Handling: Meaningful exception messages are now thrown when importing uninstalled optional dependencies (e.g., Ssd, YuNet), providing clear guidance for resolving dependencies. PR-959

📦 Package Inclusion in Wheel Build: The readme and dependencies are now included in the built wheel package. This inclusion mitigates potential errors when uploading to Conda and ensures a smoother installation process for users. PR-950

Enhancements

🗄️ Datastore Management Enhancement: After running the find function, the created datastore is now expected to be updated rather than deleted if new instances are added in the database folder. This PR ensures that the pickle file is appropriately modified when instances are added, dropped, or if the content of existing images changes, improving overall data management. PR-959

📂 Modularized Functionality Logics: With this PR, the functionality logics for various operations in the DeepFace interface, including verify, find, analyze, represent, stream, and extract faces, have been relocated to the modules folder. As a result, the DeepFace interface (DeepFace.py) now boasts a cleaner and more organized structure. PR-953

🧬 Abstract Classes for Models: New abstract classes, namely FacialRecognition, Detector, and Demography, have been introduced. All facial recognition models, extended models (e.g., age, gender), and detectors now inherit from these abstract classes. [This architectural enhancement simplifies the process of adding new backends for these models. PR-960, PR-962

📚 Docstring Refinement: Docstrings in the deepface interface have been re-arranged for improved readability and understanding, enhancing the overall documentation. PR-965

🐳 Dockerfile Optimization: The Dockerfile has been updated to enhance the docker build cache layer, resulting in an optimized and more efficient build process. PR-951

Package

v0.0.81

25 Jan 15:09
88814e6
Compare
Choose a tag to compare

Enhancements

🚀 VGG-Face Model Structure Update: A significant change has been made to the model structure of the VGG-Face model. The last layer, originally with 2622 output nodes for classifying identities, has been replaced. The model now utilizes its early layer, featuring 4096 output nodes. This modification is backed by experiments demonstrating an impressive accuracy improvement of nearly 6%. PR-948

💡Type Hints Added: Type hints have been introduced for both function arguments and return types in DeepFace functions. This enhancement provides improved clarity and documentation, making it easier for developers to understand and utilize the functions effectively. PR-922, PR-934

🛠️Unit Test Refactoring: The unit testing structure has undergone significant improvements. Previously, there was a single long-running unit test, but now, the tests have been modularized into multiple units. This refactoring enhances test manageability and granularity, allowing for more focused and efficient testing of individual components. PR-932

Bugs

🛠️ YuNet Alignment Issue Resolved: Addressed and resolved the alignment issue in YuNet. Users can now experience improved alignment functionality, ensuring a more accurate and reliable performance. PR-921

🟰 load_image Function Update: The load_image function now returns a tuple containing the loaded image and its corresponding image name. An update has been made in DeepFace.py to accommodate this change. The outdated point where this function was called has been rectified, ensuring proper assignment of the result as a tuple for improved functionality. PR-917

🚢Docker Shell Script Typo Fix: Resolved a typo in the shell script file used for Dockerizing. The discrepancy in image names during both build and run steps has been corrected, ensuring consistency and preventing potential errors. PR-943

Package