bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2022-04-25T16:18:31Zhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/74Let's talk about face alignment2022-04-25T16:18:31ZTiago de Freitas PereiraLet's talk about face alignmentHi guys,
In Bob we have a 10 years old standard for face-alignment; in short we geometrically normalize the face using a set of affine transformations using the eyes as reference.
Some packages (like the face zoo and the deep-insight) ...Hi guys,
In Bob we have a 10 years old standard for face-alignment; in short we geometrically normalize the face using a set of affine transformations using the eyes as reference.
Some packages (like the face zoo and the deep-insight) does a very similar job, but with an automatic landmark detector on front.
As far as I could see, they have a code to find the best affine transformation to match the automatically detected landmarks to 25 reference points of the face.
https://github.com/JDAI-CV/FaceX-Zoo/blob/5b63794ba7649fe78a29d2ce0d0216c7773f6174/face_sdk/core/image_cropper/arcface_cropper/FaceRecImageCropper.py#L101
Any thoughts on that?
Shall we put this in place?
I think this analysis of alignment makes at least a small report (if not a conference paper).
ping @mguenther @amohammadi @ageorgehttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/172There is no algorithm available to compute average features2021-12-15T14:41:32ZManuel Günthersiebenkopf@googlemail.comThere is no algorithm available to compute average featuresRelated to bob/bob.bio.face#73
The current best way of handling several deep features for enrollment or probing is to compute there average. Currently, this is not implemented. This issue is used to keep track of the implementation of t...Related to bob/bob.bio.face#73
The current best way of handling several deep features for enrollment or probing is to compute there average. Currently, this is not implemented. This issue is used to keep track of the implementation of that feature.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/170We have no clear documentation on how to handle supervised training.....2022-04-25T17:38:13ZTiago de Freitas PereiraWe have no clear documentation on how to handle supervised training........ while using `vanilla-biometrics`.
Internally, we know that we need to add this kwarg to the transformer that does the fit `fit_extra_arguments = (("y", "subject_id"),)` linking the `subject_id` from the sample with the `y` parameter...... while using `vanilla-biometrics`.
Internally, we know that we need to add this kwarg to the transformer that does the fit `fit_extra_arguments = (("y", "subject_id"),)` linking the `subject_id` from the sample with the `y` parameter of the `BaseEstimator`.
However, this is obscure in the documentation.
We need a proper documentation and a simple example.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/22`test_video_like_container` fails on ARM2022-03-04T14:26:12ZTiago de Freitas Pereira`test_video_like_container` fails on ARMLook at https://gitlab.idiap.ch/bob/bob.bio.video/-/jobs/251433#L2788
https://gitlab.idiap.ch/bob/bob.bio.video/-/jobs/251433Look at https://gitlab.idiap.ch/bob/bob.bio.video/-/jobs/251433#L2788
https://gitlab.idiap.ch/bob/bob.bio.video/-/jobs/251433Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/169CLI plotting commands inconsistent2021-12-15T15:13:31ZManuel Günthersiebenkopf@googlemail.comCLI plotting commands inconsistentWhen using the plotting commands for bob, some of the parameters are expected to be separated by space, and some by comma. For example, the following command does not work:
```
bob bio dir scores-1 scores-2 --legends label-1 label-2
```...When using the plotting commands for bob, some of the parameters are expected to be separated by space, and some by comma. For example, the following command does not work:
```
bob bio dir scores-1 scores-2 --legends label-1 label-2
```
This raises the error:
```
Usage: bob bio dir [OPTIONS] [SCORES]...
Try 'bob bio dir -?' for help.
Error: Invalid value: Number of legends must be >= to the number of systems
```
In fact, the score files must be separated by space, and the legends by comma, in order to work:
```
bob bio dir scores-1 scores-2 --legends label-1,label-2
```
Is there any particular reason for this behavior, i.e., is this expected?https://gitlab.idiap.ch/bob/bob.io.video/-/issues/19Deprecation in favour of imageio (and imageio-ffmpeg)2022-01-26T08:15:33ZAndré AnjosDeprecation in favour of imageio (and imageio-ffmpeg)@bob: I think it is time to deprecate this package. We have been maintaining this for a long time and it very often requires effort to keep it up.
The package (imageio)[https://github.com/imageio/imageio] seems well documented and main...@bob: I think it is time to deprecate this package. We have been maintaining this for a long time and it very often requires effort to keep it up.
The package (imageio)[https://github.com/imageio/imageio] seems well documented and maintained, and contains a plugin for reading video files through (ffmpeg in frames)[https://github.com/imageio/imageio-ffmpeg], as we do, aside supporting all video formats we do, via the same, or similar libraries.
I propose we just move the effort to maintaining the conda-forge feedstocks (https://github.com/conda-forge/imageio-feedstock/, https://github.com/conda-forge/imageio-ffmpeg-feedstock/) instead.
Please comment.https://gitlab.idiap.ch/bob/bob.bio.demographics/-/issues/2A lot of work to be done in this package2021-11-26T20:18:30ZTiago de Freitas PereiraA lot of work to be done in this packageThis package has the purpose to be the main back for fairness in biometrics.
However, several bits are missing here.
Follow below a TODO list.
- [ ] Proper user guide and documentation
- [ ] Implementation of a pipeline that does PlatSc...This package has the purpose to be the main back for fairness in biometrics.
However, several bits are missing here.
Follow below a TODO list.
- [ ] Proper user guide and documentation
- [ ] Implementation of a pipeline that does PlatScalling and calibration by group
- [ ] Port the regularization strategies that it's implemented on TF to PyTorch.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/165Move some features from bob.measure to bob.bio.base2021-11-26T17:45:12ZTiago de Freitas PereiraMove some features from bob.measure to bob.bio.baseAs we've discussed in the last bob meeting we decided to move some biometric specific features from `bob.measure` to `bob.bio.base`
The candidate features are the following (including the plot extension of it):
- bob.measure.cmc
- bo...As we've discussed in the last bob meeting we decided to move some biometric specific features from `bob.measure` to `bob.bio.base`
The candidate features are the following (including the plot extension of it):
- bob.measure.cmc
- bob.measure.dir
- bob.measure.epc
- ANYTHING ELSE?
Depends on: https://gitlab.idiap.ch/bob/bob.measure/-/merge_requests/103
ping @amohammadi @lcolbois @ydayer
Thankshttps://gitlab.idiap.ch/bob/bob.measure/-/issues/66Issue with ROC curve2021-11-29T11:24:22ZTiago de Freitas PereiraIssue with ROC curveHi @andre.anjos,
You've mentioned in our last Bob meeting that there's an issue with the ROC plot in some special cases.
Do you have any file containing the true values and prediction scores that triggers the issue?
ThanksHi @andre.anjos,
You've mentioned in our last Bob meeting that there's an issue with the ROC plot in some special cases.
Do you have any file containing the true values and prediction scores that triggers the issue?
Thankshttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/163`annotate` does not create files for empty annotations2021-11-24T10:07:55ZYannick DAYER`annotate` does not create files for empty annotationsMissing annotations files lead to errors when trying to load them later on.
Files are not created since we use `CheckpointWrapper` to save them and it skips samples with `output_attribute == None`.
Need to change the save system of [th...Missing annotations files lead to errors when trying to load them later on.
Files are not created since we use `CheckpointWrapper` to save them and it skips samples with `output_attribute == None`.
Need to change the save system of [the `annotate` script](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/script/annotate.py#L106) to not use `CheckpointWrapper`.
Expected behavior: Failed execution of the annotator on a sample still creates a file for that sample with `"null"` or another expected value.Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/66LFW directories are non-standard2022-02-03T12:53:53ZManuel Günthersiebenkopf@googlemail.comLFW directories are non-standardIt appears that the directory structure for the LFW dataset is set to an idiap-specific location. By default, there is no relative path like this:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/ead8c069bafb4024dc15c5df7fdc878aec8bd5f0/b...It appears that the directory structure for the LFW dataset is set to an idiap-specific location. By default, there is no relative path like this:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/ead8c069bafb4024dc15c5df7fdc878aec8bd5f0/bob/bio/face/database/lfw.py#L87
When downloading the images from the LFW web page, they get extracted into directories `lfw` or `lfw_funneled` (for the funneled version). In my eyes it would be more sensible to used these directories instead, i.e., use `lfw` when no annotation directory is specified, and use `lfw_funneled` when annotations are provided.
Another way would be to have two distinct entries for `lfw-view2`, such as `lfw-view2-aligned` (funneled images and annotations) and `lfw-view2-raw` (original images, use detectors).https://gitlab.idiap.ch/bob/bob.bio.demographics/-/issues/1Moralize the facecropper script2021-10-25T17:33:13ZTiago de Freitas PereiraMoralize the facecropper scriptThe face cropper script needs to be more generic
https://gitlab.idiap.ch/bob/bob.bio.demographics/-/blob/master/bob/bio/demographics/script/preprocessor.py
I need a generic script that does face crop that:
- Take a database as input
...The face cropper script needs to be more generic
https://gitlab.idiap.ch/bob/bob.bio.demographics/-/blob/master/bob/bio/demographics/script/preprocessor.py
I need a generic script that does face crop that:
- Take a database as input
- Take a configuration file as input (setting the cropper options).https://gitlab.idiap.ch/bob/bob.ip.stereo/-/issues/5Camera pair unclear convention for extrinsic parameters2021-10-07T14:42:55ZVincent POLLETCamera pair unclear convention for extrinsic parametersCameraPair expects the extrinsic parameters to be relative to the left camera:
https://gitlab.idiap.ch/bob/bob.ip.stereo/-/blob/master/bob/ip/stereo/camera.py#L86
This should be at least documented, but best refactored to be generic.CameraPair expects the extrinsic parameters to be relative to the left camera:
https://gitlab.idiap.ch/bob/bob.ip.stereo/-/blob/master/bob/ip/stereo/camera.py#L86
This should be at least documented, but best refactored to be generic.Vincent POLLETVincent POLLEThttps://gitlab.idiap.ch/bob/bob.ip.gabor/-/issues/6bob.ip.gabor in pure python2024-01-15T14:27:24ZTiago de Freitas Pereirabob.ip.gabor in pure pythonHi,
To make it easier the maintenance in the long run of Bob, we would like to get rid of all C++ packages.
By getting rid, we meant by either porting it to pure python (https://gitlab.idiap.ch/bob/bob.measure/-/merge_requests/100 , htt...Hi,
To make it easier the maintenance in the long run of Bob, we would like to get rid of all C++ packages.
By getting rid, we meant by either porting it to pure python (https://gitlab.idiap.ch/bob/bob.measure/-/merge_requests/100 , https://gitlab.idiap.ch/bob/bob.learn.linear/-/merge_requests/15 , https://gitlab.idiap.ch/bob/bob.learn.em/-/merge_requests/40) or archiving it (https://gitlab.idiap.ch/bob/bob.learn.mlp/-/issues/11 , https://gitlab.idiap.ch/bob/bob.learn.libsvm/-/issues/12 )
@mguenther, since you are the father of this package; worth the effort to port the gabor framework to pure python (for the sake of keeping our history)? Do you know any other library that does the job that `bob.ip.gabor` does?
Thankshttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/162Follow-up from "Making Distance algorithm (enroll and scoring) more robust wh...2021-09-10T07:50:49ZTiago de Freitas PereiraFollow-up from "Making Distance algorithm (enroll and scoring) more robust while different..."Create a Wrapper on `bob.bio.base.pipelines.vanilla_biometrics.BioAlgorithm` to handle videos as input.
ping @mguenther @amohammadi
The following discussion from !264 should be addressed:
- [ ] @mguenther started a [discussion](https...Create a Wrapper on `bob.bio.base.pipelines.vanilla_biometrics.BioAlgorithm` to handle videos as input.
ping @mguenther @amohammadi
The following discussion from !264 should be addressed:
- [ ] @mguenther started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/264#note_65532): (+4 comments)
> My idea was rather that the `bob.bio.video` Wrapper solves this issue by transforming the `Sample`s from a video into a `SampleSet`, but I am not sure how difficult that would be in the new version.https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/62[SCFace] Fix channel metadata in `listing.csv`2021-08-26T13:02:59ZLaurent COLBOIS[SCFace] Fix channel metadata in `listing.csv`For myself. In the CSV protocols, cameras 6, 7 have channel `RGB` assigned to them, where it should be `IR`.
This is not dramatic as this metadata is not used in the pipelines, however it should be fixed for consistency.
Moreover, it can...For myself. In the CSV protocols, cameras 6, 7 have channel `RGB` assigned to them, where it should be `IR`.
This is not dramatic as this metadata is not used in the pipelines, however it should be fixed for consistency.
Moreover, it can lead to mistakes when designing new protocols using the `listing.csv`.Laurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.measure/-/issues/65Error margins on cross validation protocols2021-08-02T08:10:25ZAmir MOHAMMADIError margins on cross validation protocolsMany experiments come with K-Fold cross validation protocols.
Currently, we only have support for displaying the numerical metrics using the `multi-metrics` command.
However, support for plotting ROC and DET curves with proper error marg...Many experiments come with K-Fold cross validation protocols.
Currently, we only have support for displaying the numerical metrics using the `multi-metrics` command.
However, support for plotting ROC and DET curves with proper error margins are missing.
Scikit-learn has an example for ROC with +-1 std in https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc_crossval.html
but this might not be the best approach.
Moreover, in our multi-metrics, we also use mean and std to show errors.https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/60Add the possibility to pass a pre-loaded model into embedding base classes.2022-01-19T15:48:19ZManuel Günthersiebenkopf@googlemail.comAdd the possibility to pass a pre-loaded model into embedding base classes.In some cases, deep learning models are instantiated inside of other packages, and it is not possible to pass the paths of the model to be loaded inside of the classes. For these cases, we should add a `model` parameter to the base class...In some cases, deep learning models are instantiated inside of other packages, and it is not possible to pass the paths of the model to be loaded inside of the classes. For these cases, we should add a `model` parameter to the base class constructors, and simply store the models internally, i.e.:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/pytorch.py#L42
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/mxnet.py#L33
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/tensorflow.py#L53
As the `transform` function always checks if the model is loaded, no further adaptations need to be done. Test code should be implemented, though.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/59Introduce usage documentation for deep learning modules2022-01-19T15:48:19ZManuel Günthersiebenkopf@googlemail.comIntroduce usage documentation for deep learning modulesThe two students who introduced the deep learning frameworks also wrote some documentation on how to use their new modules. For some reason, these did not make it into the current package, but I have a copy of it.
Since the structure of...The two students who introduced the deep learning frameworks also wrote some documentation on how to use their new modules. For some reason, these did not make it into the current package, but I have a copy of it.
Since the structure of the modules has changed, we might need to update the documentation accordingly.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.extension/-/issues/79Improve logging in bob.extension.download.get_file2021-06-16T16:25:53ZManuel Günthersiebenkopf@googlemail.comImprove logging in bob.extension.download.get_fileEven when set verbosity level to 2 (`-vv`), there is no information that networks are downloaded. Hence, when running a pipeline for the first time, there is no response on the console for a couple of minutes (I can only see the Ethernet...Even when set verbosity level to 2 (`-vv`), there is no information that networks are downloaded. Hence, when running a pipeline for the first time, there is no response on the console for a couple of minutes (I can only see the Ethernet usage to increase).
I would suggest to add a logging info message when downloading, e.g., here: https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/e8e95bf04a73f8e60ba5a997392afb4e6c4a64fd/bob/bio/face/embeddings/opencv.py#L117
The question is if we should do that here or if we should add an info message inside the `bob.extension.download.get_file` method directly.