icatcherplus / icatcher_plus

iCatcher+: Robust and automated annotation of infant gaze from videos collected in laboratory, field, and online studies
GNU General Public License v3.0
17 stars 17 forks source link

Sw/face detection #38

Closed samwinebrake closed 1 year ago

samwinebrake commented 1 year ago

Adds RetinaFace as the default face detector in the pipeline. Provides functionality for CPU parallelization when using RetinaFace due to longer processing time. Previous face detector still present as an option for when compute time is valued over accuracy. Currently, only changing reproduce/ directory. If changes are accepted, will integrate with src.

yoterel commented 1 year ago

The changes should be applied to /src/ instead of /reproduce/, the purpose of "preproduce" folder is to allow researchers to reproduce original iCatcher+ results for comparisons, validation, or to retrain, etc... Sorry for the unclear folder structure

Another comment to save sometime after this is resolved: the dependency list under the .toml file grew substantially and I would strongly suggest to "cut-off" any unnecessary dependencies if possible, for example pandas is used for a single test, and we don't want to force users to install this package for that reason at all (even not devs). Can we rewrite this test to read the csv "inhouse" ? shouldn't be more than a couple of rows in pure python. For other packages, I haven't made sure but please reduce if they aren't absolutely necessary.

Last note: for the new model being used (retina) please incorporate it into the existing pooch downloader, and not from an obscure location (download the file locally, or send it to me, and I will update the OSF to include it when automatic model download is being performed)

samwinebrake commented 1 year ago

Ah ok that makes sense, I will update so that the changes alter src. I will also look through the new dependencies and see if I can thin them out.