Published December 14, 2022
| Version v0.5.0
Software
Open
cosanlab/py-feat: v0.5.0
Authors/Creators
- 1. Dartmouth College
- 2. @Dartmouth College
- 3. @LedgerInvesting
- 4. Computer Vision Group - FSU Jena
Description
Notes
This is a large overhaul and refactor of some of the core testing and API functionality to make future development, maintenance, and testing easier. Notable highlights include:
- tighter integration with
torchdata loaders - dropping
opencvas a dependency - experimental support for macOS m1 GPUs
- passing keyword arguments to underlying
torchmodels for more control
Detector Changes
New
- you can now pass keyword arguments directly to the underlying pytorch/sklearn models on
Detectorinitialization using dictionaries. For example you can do:detector = Detector(facepose_model_kwargs={'keep_top_k': 500})to initializeimg2poseto only use 500 instead of 750 features - all
.detect_*methods can also pass keyword arguments to the underlying pytorch/sklearn models, albeit these will be passed to their underlying__call__methods - SVM AU model has been retrained with new HOG feature PCA pipeline
- new XGBoost AU model with new HOG feature PCA pipeline
.detect_imageand.detect_videonow display atqdmprogressbar- new
skip_failed_detectionskeyword argument to still generate aFexobject when processing multiple images and one or more detections fail
- the new default model for landmark detection was changed from
mobilenettomobilefacenet. - the new default model for AU detection was changed to our new
xgbmodel which gives continuous valued predictions between 0-1 - remove support for
feremotion model - remove support for
jaanetAU model - remove support for
pnpfacepose detector - drop support for reading and manipulating Affectiva and FACET data
.detect_imagewill no longer resize images on load as the new default foroutput_size=None. If you want to process images withbatch_size > 1and images differ in size, then you will be required to manually setoutput_sizeotherwise py-feat will raise a helpful error message
Fex Changes
New
- new
.update_sessions()method that returns a copy of aFexframe with the.sessionsattribute updated, making it easy to chain operations .predict()and.regress()now support passing attributes toXand orYusing string names that match the attribute names:'emotions'use all emotion columns (i.e.fex.emotions)'aus'use all AU columns (i.e.fex.aus)'poses'use all pose columns (i.e.fex.poses)'landmarks'use all landmark columns (i.e.fex.landmarks)'faceboxes'use all facebox columns (i.e.fex.faceboxes)- You can also combine feature groups using a comma-separated string e.g.
fex.regress(X='emotions,poses', y='landmarks')
.extract_*methods now includestdandsem. These are also included in.extract_summary()
- All
Fexattributes have been pluralized as indicated below. For the time-being old attribute access will continue to work but will show a warning. We plan to formally drop support in a few versions.landmark->.landmarks.facepose->.poses.input->.inputs.landmark_x->.landmarks_x.landmark_y->.landmarks_y.facebox->.faceboxes
test_pretrained_models.pyis now more organized usingpytestclasses- added tests for
img2posemodels - added more robust testing for the interaction between
batch_sizeandoutput_size
- data loading with multiple images of potentially different sizes should be faster and more reliable
- fix bug in
resmasknetthat would give poor predictions when multiple faces were present and particularly small - #150
- #149
- #148
- #147
- #145
- #137
- #134
- #132
- #131
- #130
- #129
- #127
- #121
- #104
Files
cosanlab/py-feat-v0.5.0.zip
Files
(13.2 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:a38783da0ed18e9c8fc27fbb8531ded6
|
13.2 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/cosanlab/py-feat/tree/v0.5.0 (URL)