bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2021-09-10T07:50:49Zhttps://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/63failed test: bob/bio/face/test/test_baselines.py::test_afffe2021-11-22T19:49:17ZAmir MOHAMMADIfailed test: bob/bio/face/test/test_baselines.py::test_afffeThis test fails in bob/bob> and bob/nightlies>This test fails in bob/bob> and bob/nightlies>Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/20Port Youtube faces2021-09-09T07:00:22ZTiago de Freitas PereiraPort Youtube facesyoutube faces need to be ported the to the new API.youtube faces need to be ported the to the new API.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/19Biometrics experiments are not automatically possible with this package2021-09-09T07:00:31ZTiago de Freitas PereiraBiometrics experiments are not automatically possible with this packageHi,
I've tried to run an experiment using Youtube face database and there's nothing binding our `VideoWrapper` with our FR baselines.
We need to:
1. create a wrapper that wraps the scikit-learn Pipeline with the Video Wrapper
2. A CL...Hi,
I've tried to run an experiment using Youtube face database and there's nothing binding our `VideoWrapper` with our FR baselines.
We need to:
1. create a wrapper that wraps the scikit-learn Pipeline with the Video Wrapper
2. A CLI command that allow us to use any baseline with video databases.
ping @mguenther @xzhangTiago de Freitas PereiraTiago de Freitas Pereirahttps://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.paper.8years/-/issues/1bob 9 - Databases missing2021-10-29T15:34:57ZTiago de Freitas Pereirabob 9 - Databases missingJust a note on which databases are missing to be ported on bob9 for continuing this work:
- [x] Arface
- [x] MultiPIE
- [x] SCFACE
- [x] CASPEAL
- [X] FRGC
- [X] GBU
- [x] LFWJust a note on which databases are missing to be ported on bob9 for continuing this work:
- [x] Arface
- [x] MultiPIE
- [x] SCFACE
- [x] CASPEAL
- [X] FRGC
- [X] GBU
- [x] LFWhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/161Implement a hash_fn mechanism implemented on bob.pipelines in the BiometricAl...2021-10-29T15:34:57ZTiago de Freitas PereiraImplement a hash_fn mechanism implemented on bob.pipelines in the BiometricAlgorithmThe IJB-C test2 protocol has more than 100k biometric references and we have issues in check-pointing them in our file system.
A solution would be to extend what we've done on bob.pipelines --> https://gitlab.idiap.ch/bob/bob.pipelines/...The IJB-C test2 protocol has more than 100k biometric references and we have issues in check-pointing them in our file system.
A solution would be to extend what we've done on bob.pipelines --> https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/25Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/160Databases with mutiple file extension (e.g. FRGC).2021-08-13T13:57:35ZLaurent COLBOISDatabases with mutiple file extension (e.g. FRGC).Hello,
In the current CSV-based implementation of database wrappers, we specify the extension of the files to load as an argument of the sample loader.
This poses problem for example in the particular case of [bob.bio.face.database.FRGC...Hello,
In the current CSV-based implementation of database wrappers, we specify the extension of the files to load as an argument of the sample loader.
This poses problem for example in the particular case of [bob.bio.face.database.FRGC](https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/master/bob/bio/face/database/frgc.py#L41) which has some images stored as `.JPG` while some others are stored as `.jpg`. Currently trying to load the latter ones raises an error, as the loader looks only for a `.JPG` extensions.
I think the most straightforward fix would be for the sample loader to accept a list of valid extensions and try all of them at loading time. What do you think ?
Also, I wonder if this type of situation is very niche (i.e. I will implement a custom sample loader just for FRGC), or if it would make sense to update the default CSVToSampleLoaderBiometrics to generally handle this type of case ?
Another case were it could be useful is to implement some cross-database evaluation protocols (e.g. samples from database A as models and samples from database B as probes), where we could have different extensions as well. I had to do this kind of evaluation in the past when comparing FFHQ against Syn-Multi-PIE.
ping @tiago.pereiraLaurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/61IJB-C protocols outdated and incomplete2021-10-29T15:34:57ZManuel Günthersiebenkopf@googlemail.comIJB-C protocols outdated and incompleteWhen downloading the original data from IJB, the structure of the protocol files have changed. When I run an `ls -R IJB-C/protocols/` in the main directory of the downloaded and extracted `IJB` folder, I obtain:
```
IJB-C/protocols/: ...When downloading the original data from IJB, the structure of the protocol files have changed. When I run an `ls -R IJB-C/protocols/` in the main directory of the downloaded and extracted `IJB` folder, I obtain:
```
IJB-C/protocols/:
archive ijbc_metadata_with_age.csv readme.txt test1 test10 test11 test2 test4 test6 test7 test9
IJB-C/protocols/archive:
clustering ijbc_11_covariate_probe_reference.csv ijbc_1N_gallery_G1.csv ijbc_1N_probe_mixed.csv ijbc_face_detection_ground_truth.csv ijbc_wild_test10.csv ijbc_wild_test9.csv
ijbc_11_covariate_matches.csv ijbc_11_G1_G2_matches.csv ijbc_1N_gallery_G2.csv ijbc_face_detection.csv ijbc_metadata.csv ijbc_wild_test11.csv
IJB-C/protocols/archive/clustering:
ijbc_clustering_1021_hint_10000.csv ijbc_clustering_1839_hint_10000.csv ijbc_clustering_32_hint_100.csv ijbc_clustering_3531_hint_10000.csv ijbc_clustering_ground_truth.csv
IJB-C/protocols/test1:
enroll_templates.csv match.csv README.txt verif_templates.csv
IJB-C/protocols/test10:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test11:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test2:
enroll_templates.csv match.csv README.txt verif_templates.csv
IJB-C/protocols/test4:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test6:
face_detection.csv face_detection_ground_truth.csv README.txt
IJB-C/protocols/test7:
clustering_1021_hint_10000.csv clustering_1839_hint_10000.csv clustering_32_hint_100.csv clustering_3531_hint_10000.csv clustering_ground_truth.csv README.txt
IJB-C/protocols/test9:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
```
The currently implemented protocol files are located in `IJB-C/protocols/archive`. The new files have a much easier structure.
Currently, only the `1:1` protocol is implemented, which would correspond to the `IJB-C/protocols/test1` folder. However, the database also provides many more protocols, for example, open-set identification protocols defined in `IJB-C/protocols/test4`. An implementation of these protocols would be great, and should be straightforward with the new protocol files.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/159score_reduction_algorithm in BioAlgorithm cannot be changed2021-10-29T15:34:56ZManuel Günthersiebenkopf@googlemail.comscore_reduction_algorithm in BioAlgorithm cannot be changedWhile there is a parameter called `score_reduction_algorithm` in the `BioAlgorithm` class, this parameter is not taken into account:
https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/c746d5f04472ac1ab838865c346144e352a9b295/bob/bio/base/pi...While there is a parameter called `score_reduction_algorithm` in the `BioAlgorithm` class, this parameter is not taken into account:
https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/c746d5f04472ac1ab838865c346144e352a9b295/bob/bio/base/pipelines/vanilla_biometrics/abstract_classes.py#L38Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://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.devtools/-/issues/78The README badge for the documentation is not updated anymore during a release2021-10-29T15:34:56ZAndré AnjosThe README badge for the documentation is not updated anymore during a releaseThis needs fixing as the PyPI package badges are pointing to the "master" tip documentation.This needs fixing as the PyPI package badges are pointing to the "master" tip documentation.André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/77Using .* with relational operator is superfluous and deprecated and will be r...2021-10-01T13:45:09ZAmir MOHAMMADIUsing .* with relational operator is superfluous and deprecated and will be removed in a future version of conda.We're getting warnings like:
```
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.*, but conda is ignoring the .* and treating it as 1
Using .* with relatio...We're getting warnings like:
```
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.*, but conda is ignoring the .* and treating it as 1
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 2.*, but conda is ignoring the .* and treating it as 2
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.*, but conda is ignoring the .* and treating it as 3
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 2.*, but conda is ignoring the .* and treating it as 2
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 4.*, but conda is ignoring the .* and treating it as 4
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 0.23.*, but conda is ignoring the .* and treating it as 0.23
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.*, but conda is ignoring the .* and treating it as 3
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.6.*, but conda is ignoring the .* and treating it as 3.6
```
e.g. https://gitlab.idiap.ch/bob/nightlies/-/jobs/237973
The `conda/meta.yaml` recipes of packages need to be updated and probably some other places.https://gitlab.idiap.ch/bob/bob.measure/-/issues/64Partially missing documentation2021-10-29T15:34:56ZLaurent COLBOISPartially missing documentationHi, I noticed the docstrings of many `bob.measure` functions disappeared from the doc between Bob 8 and now, e.g.:
Bob 8
![image](/uploads/30049b39551cd51a5015b20548ee9fd3/image.png)
Current
![image](/uploads/a65659b231b22762783138c1fe...Hi, I noticed the docstrings of many `bob.measure` functions disappeared from the doc between Bob 8 and now, e.g.:
Bob 8
![image](/uploads/30049b39551cd51a5015b20548ee9fd3/image.png)
Current
![image](/uploads/a65659b231b22762783138c1fe541b7e/image.png)
I am pretty suspicious it's linked to the functions that have been wrapped with `@array_jit`, I am guessing the docstring is not transmitted after applying the decorator.
ping @amohammadiAmir MOHAMMADIAmir MOHAMMADIhttps://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.bio.base/-/issues/157Issues in CSVToSampleLoaderVulnerability2021-08-13T12:57:12ZLaurent COLBOISIssues in CSVToSampleLoaderVulnerabilityHello,
There are some remaining issues with the [CSVToSampleLoaderVulnerability](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/database/csv_dataset.py#L154). Mainly:
1. Currently raises an error as the `reference_i...Hello,
There are some remaining issues with the [CSVToSampleLoaderVulnerability](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/database/csv_dataset.py#L154). Mainly:
1. Currently raises an error as the `reference_id` parameter is accidentally [fed twice](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/database/csv_dataset.py#L240) when creating the `DelayedSample` (once explicitly, once as an element of the `kwargs` dictionnary).
2. (Minor) When loading reference samples, it still attaches a list of `references` to which the Sample should be compared, which doesn't really make sense. I think it is still fine to leave it that way as I guess this metadata won't be used anyway when running `vanilla-biometrics`.
3. Major one : when `attack_type` is None (cf. [this snippet](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/database/csv_dataset.py#L220)), we are supposed to compare the probe sample to every biometric reference. However, I believe this won't currently work as the list of `all_references` is [built on the fly](https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/database/csv_dataset.py#L209). So, when treating the first probes, this list of `all_references` could be almost empty. This should not pose problem if we call `db.references()` before ever calling `db.probes()`, but I think it is unsafe to rely on this assumption.
As I am planning to use this loader, I could work on fixing those aspects. 1) seems pretty straightforward to solve, however I am not sure how to approach 2) and 3) yet, so I am open to suggestions if you have some.
ping @ydayerhttps://gitlab.idiap.ch/bob/bob.bio.vein/-/issues/25Nightlies failing because of this2021-10-29T15:34:57ZTiago de Freitas PereiraNightlies failing because of thishttps://gitlab.idiap.ch/bob/nightlies/-/jobs/235895
It seems a simple sphinx issue.
Anyone willing to look at it?https://gitlab.idiap.ch/bob/nightlies/-/jobs/235895
It seems a simple sphinx issue.
Anyone willing to look at it?Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/18Issue with failed files with VideoWrapper2021-10-29T15:34:57ZAnjith GEORGEanjith.george@idiap.chIssue with failed files with VideoWrapperIt seems the video saving while checkpointing is not correctly handled while using VideoWrapper.
Can you take a look at this.It seems the video saving while checkpointing is not correctly handled while using VideoWrapper.
Can you take a look at this.Amir MOHAMMADIAmir MOHAMMADIhttps://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.