bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2022-06-03T15:09:12Zhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/40Could move video processing tools to bob.bio.video2022-06-03T15:09:12ZLaurent COLBOISCould move video processing tools to bob.bio.videoThere are some very nice tools for video processing such as
`bob.pad.face.transformer.VideoToFrames`
or
`bob.pad.face.database.database.delayed_video_load` which are not PAD specific and would gain in visibility if moved to `bob.bio.video`.There are some very nice tools for video processing such as
`bob.pad.face.transformer.VideoToFrames`
or
`bob.pad.face.database.database.delayed_video_load` which are not PAD specific and would gain in visibility if moved to `bob.bio.video`.Laurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/32Handling preprocessor/extractor failures2021-10-29T15:34:56ZAnjith GEORGEanjith.george@idiap.chHandling preprocessor/extractor failuresCurrently, I couldn't find a clean way to handle preprocessor or extractor failures in the pipelines.
What is the best way to emulate the `--allow-missing-files` flag in the previous `spoof.py` in bob9?.
This is a blocking issue in port...Currently, I couldn't find a clean way to handle preprocessor or extractor failures in the pipelines.
What is the best way to emulate the `--allow-missing-files` flag in the previous `spoof.py` in bob9?.
This is a blocking issue in porting some of the examples from previous bob version.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/154BioAlgorithm.score is never used (?)2021-10-29T15:34:56ZLaurent COLBOISBioAlgorithm.score is never used (?)Hi,
I believe that following [this commit](https://gitlab.idiap.ch/bob/bob.bio.base/-/commit/54b3600e337843120e7d36db1cdac9f2e36dfb97), the `BioAlgorithm.score` might never be explicitly called (scoring is always passing through `BioAlg...Hi,
I believe that following [this commit](https://gitlab.idiap.ch/bob/bob.bio.base/-/commit/54b3600e337843120e7d36db1cdac9f2e36dfb97), the `BioAlgorithm.score` might never be explicitly called (scoring is always passing through `BioAlgorithm.score_multiple_biometric_references`). This is unless there is some usage I am not aware of, but I think scoring in `vanilla-biometrics` is always done through `BioAlgorithm.score_samples`, which itself never calls `score`.
This might become confusing for users as the doc only mention the `BioAlgorithm.score` (which moreover is abstract), while the main thing to implement in a `BioAlgorithm` is actually the `BioAlgorithm.score_multiple_biometric_references` (which moreover is not abstract).
ping @amohammadi , this is related to the first question in issue https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/153. But I think it's better that I open a separate issue for clarity.
ping @hotroshi Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/50Many baselines don't run against ATNT2021-07-09T12:24:46ZAmir MOHAMMADIMany baselines don't run against ATNTI have tested 2 so far:
```
$ bob bio pipelines vanilla-biometrics atnt lda
bob.bio.face.config.baseline.helpers@2021-05-18 17:17:07,852 -- WARNING: Annotation type None is not supported. Input images will be fully scaled.
Traceback (mos...I have tested 2 so far:
```
$ bob bio pipelines vanilla-biometrics atnt lda
bob.bio.face.config.baseline.helpers@2021-05-18 17:17:07,852 -- WARNING: Annotation type None is not supported. Input images will be fully scaled.
Traceback (most recent call last):
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/wrappers.py", line 483, in _fit
self.estimator = self.estimator.fit(X, y, **fit_params)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/wrappers.py", line 201, in fit
self.estimator = self.estimator.fit(X, **kwargs)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/transformers/algorithm.py", line 62, in fit
training_data = split_X_by_y(X, y)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/transformers/__init__.py", line 9, in split_X_by_y
for x1, y1 in zip(X, y):
TypeError: 'NoneType' object is not iterable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "bin/bob", line 22, in <module>
sys.exit(bob.extension.scripts.main_cli())
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/script/vanilla_biometrics.py", line 205, in vanilla_biometrics
execute_vanilla_biometrics(
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/vanilla_biometrics.py", line 148, in execute_vanilla_biometrics
_ = compute_scores(post_processed_scores, dask_client)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/vanilla_biometrics.py", line 23, in compute_scores
result = result.compute(scheduler=dask_client)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/base.py", line 284, in compute
(result,) = compute(self, traverse=False, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/base.py", line 566, in compute
results = schedule(dsk, keys, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 560, in get_sync
return get_async(
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 503, in get_async
for key, res_info, failed in queue_get(queue).result():
File "~/temp/conda/envs/hardening/lib/python3.8/concurrent/futures/_base.py", line 432, in result
return self.__get_result()
File "~/temp/conda/envs/hardening/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
raise self._exception
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 545, in submit
fut.set_result(fn(*args, **kwargs))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 237, in batch_execute_tasks
return [execute_task(*a) for a in it]
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 237, in <listcomp>
return [execute_task(*a) for a in it]
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 228, in execute_task
result = pack_exception(e, dumps)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 223, in execute_task
result = _execute_task(task, data)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/wrappers.py", line 485, in _fit
raise RuntimeError(
RuntimeError: Something went wrong when fitting SampleWrapper(estimator=AlgorithmTransformer(instance=<bob.bio.base.algorithm.LDA object at 0x7fd497421d90>,
projector_file='~/temp/bob.bio.base.legacy_cache/lda/Projector.hdf5'),
fit_extra_arguments=(), transform_extra_arguments=()) from DaskWrapper(estimator=SampleWrapper(estimator=AlgorithmTransformer(instance=<bob.bio.base.algorithm.LDA object at 0x7fd497421d90>,
projector_file='~/temp/bob.bio.base.legacy_cache/lda/Projector.hdf5'),
fit_extra_arguments=(),
transform_extra_arguments=()))
```
```
$ bob bio pipelines vanilla-biometrics atnt facenet-sanderberg
bob.bio.face.config.baseline.helpers@2021-05-18 17:17:23,185 -- WARNING: Annotation type None is not supported. Input images will be fully scaled.
Traceback (most recent call last):
File "bin/bob", line 22, in <module>
sys.exit(bob.extension.scripts.main_cli())
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/script/vanilla_biometrics.py", line 205, in vanilla_biometrics
execute_vanilla_biometrics(
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/vanilla_biometrics.py", line 148, in execute_vanilla_biometrics
_ = compute_scores(post_processed_scores, dask_client)
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/vanilla_biometrics.py", line 23, in compute_scores
result = result.compute(scheduler=dask_client)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/base.py", line 284, in compute
(result,) = compute(self, traverse=False, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/base.py", line 566, in compute
results = schedule(dsk, keys, **kwargs)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 560, in get_sync
return get_async(
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 503, in get_async
for key, res_info, failed in queue_get(queue).result():
File "~/temp/conda/envs/hardening/lib/python3.8/concurrent/futures/_base.py", line 432, in result
return self.__get_result()
File "~/temp/conda/envs/hardening/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
raise self._exception
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 545, in submit
fut.set_result(fn(*args, **kwargs))
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 237, in batch_execute_tasks
return [execute_task(*a) for a in it]
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 237, in <listcomp>
return [execute_task(*a) for a in it]
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 228, in execute_task
result = pack_exception(e, dumps)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/local.py", line 223, in execute_task
result = _execute_task(task, data)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/abstract_classes.py", line 59, in enroll_samples
retval.append(self._enroll_sample_set(k))
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/abstract_classes.py", line 66, in _enroll_sample_set
data = [s.data for s in sampleset.samples]
File "~/git/bob.project.hardening/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/abstract_classes.py", line 66, in <listcomp>
data = [s.data for s in sampleset.samples]
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/sample.py", line 136, in __getattribute__
return super().__getattribute__(name)
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/sample.py", line 151, in data
return self._load()
File "~/temp/conda/envs/hardening/lib/python3.8/site-packages/bob/pipelines/wrappers.py", line 86, in __call__
self.output = self.func(X)
File "~/git/bob.project.hardening/src/bob.bio.face/bob/bio/face/embeddings/tf2_inception_resnet.py", line 75, in transform
return _transform(X)
File "~/git/bob.project.hardening/src/bob.bio.face/bob/bio/face/embeddings/tf2_inception_resnet.py", line 61, in _transform
raise ValueError(
ValueError: Image shape (160, 160, 5) not supported. Expected (None, 160, 160, 3)
```https://gitlab.idiap.ch/bob/bob.devtools/-/issues/75inter-sphinx sources not picked up for private packages in the nightlies2021-10-29T15:34:56ZVincent POLLETinter-sphinx sources not picked up for private packages in the nightliesSphinx doesn't pick up the private packages as sources in the nightlies, see for instance this [MR](https://gitlab.idiap.ch/bob/nightlies/-/merge_requests/45#note_62708)Sphinx doesn't pick up the private packages as sources in the nightlies, see for instance this [MR](https://gitlab.idiap.ch/bob/nightlies/-/merge_requests/45#note_62708)Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/153The docs for creating a custom pipeline are confusing2021-10-29T15:34:56ZAmir MOHAMMADIThe docs for creating a custom pipeline are confusingSee
* https://groups.google.com/d/msgid/bob-devel/89dc9a68-a4bc-4849-a9b9-f3a4d79974e3n%40googlegroups.com
* https://groups.google.com/d/msgid/bob-devel/1d82d1f1-3c21-4b41-a844-3a937c086f3fn%40googlegroups.comSee
* https://groups.google.com/d/msgid/bob-devel/89dc9a68-a4bc-4849-a9b9-f3a4d79974e3n%40googlegroups.com
* https://groups.google.com/d/msgid/bob-devel/1d82d1f1-3c21-4b41-a844-3a937c086f3fn%40googlegroups.comAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/49all_samples() in IJBC2021-10-29T15:34:57ZHatef OTROSHIall_samples() in IJBCHi,
When trying to get `all_samples()` for ijbc dataset, I face with the following error:
```python
>> from bob.bio.face.config.database.ijbc import database
>> database.all_samples()
--------------------------------------------------...Hi,
When trying to get `all_samples()` for ijbc dataset, I face with the following error:
```python
>> from bob.bio.face.config.database.ijbc import database
>> database.all_samples()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-11-9f954791c55f> in <module>
----> 1 database.all_samples()
AttributeError: 'IJBCDatabase' object has no attribute 'all_samples'
```https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/152`bob bio pipelines vanilla-biometrics` should have an option `--memory` inste...2021-12-15T08:02:00ZTiago de Freitas Pereira`bob bio pipelines vanilla-biometrics` should have an option `--memory` instead `--checkpoint``bob bio pipelines vanilla-biometrics` should checkpoint by default instead of running everything on memory, not on the other way around.
If someone is not aware of what this command does and runs it in a big dataset, the program might ...`bob bio pipelines vanilla-biometrics` should checkpoint by default instead of running everything on memory, not on the other way around.
If someone is not aware of what this command does and runs it in a big dataset, the program might crashes because of OOM.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/74If no pip packages to install, `bdt create` crashes at pip installation phase2021-10-29T15:34:56ZAndré AnjosIf no pip packages to install, `bdt create` crashes at pip installation phaseAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.db.hqwmca/-/issues/1Unnecessary dask and distributed dependencies2021-05-07T15:15:16ZVincent POLLETUnnecessary dask and distributed dependenciesThose dependencies were added in !5 to get the versions set in `bob.devtools`, to work around a broken `fsspec` package. They should be removed once the `fsspec` package is fixed.
[fsspec package issue](https://github.com/ContinuumIO/a...Those dependencies were added in !5 to get the versions set in `bob.devtools`, to work around a broken `fsspec` package. They should be removed once the `fsspec` package is fixed.
[fsspec package issue](https://github.com/ContinuumIO/anaconda-issues/issues/12357)Vincent POLLETVincent POLLEThttps://gitlab.idiap.ch/bob/bob/-/issues/268Are we adopting flake ?2021-05-04T15:40:35ZTiago de Freitas PereiraAre we adopting flake ?Hi guys,
I've seen that some repos contains a pre-commit files where, among other things, code style is checked via `flake`.
First, are we adopting this? Second, why this was never discussed?
Cheers
TiagoHi guys,
I've seen that some repos contains a pre-commit files where, among other things, code style is checked via `flake`.
First, are we adopting this? Second, why this was never discussed?
Cheers
Tiagohttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/73index error when fetching package previous tags and there aren't any2021-10-29T15:34:56ZVincent POLLETindex error when fetching package previous tags and there aren't anyIndex error when taking the latest tag [here](https://gitlab.idiap.ch/bob/bob.devtools/-/blob/99b1e2ffbc54251338571177893d5fb9434d6e46/bob/devtools/release.py#L144)Index error when taking the latest tag [here](https://gitlab.idiap.ch/bob/bob.devtools/-/blob/99b1e2ffbc54251338571177893d5fb9434d6e46/bob/devtools/release.py#L144)https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/48images are assumed to be between 0 and 255 irrespective of their dtype2021-07-09T12:29:50ZAmir MOHAMMADIimages are assumed to be between 0 and 255 irrespective of their dtypeUsually, it is conventional that the dtype of the image determines the range of an image.
For example, when
* dtype is `uint8` image is assumed to be 0 and 255 and:
* `uint16` -> [0,65535]
* `float` -> [0,1]
This is expected in many Py...Usually, it is conventional that the dtype of the image determines the range of an image.
For example, when
* dtype is `uint8` image is assumed to be 0 and 255 and:
* `uint16` -> [0,65535]
* `float` -> [0,1]
This is expected in many Python libraries such as matplotlib and tensorflow.
However, in bob.bio.face, it is assumed that images are between 0 and 255 irrespective of their type:
- https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/8c50e1ee70d866b6c39d7c228cdf1df475a63822/bob/bio/face/database/pola_thermal.py#L103
- https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/8c50e1ee70d866b6c39d7c228cdf1df475a63822/bob/bio/face/embeddings/resnet50.py#L138
- https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/8c50e1ee70d866b6c39d7c228cdf1df475a63822/bob/bio/face/embeddings/tf2_inception_resnet.py#L19
- https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/8c50e1ee70d866b6c39d7c228cdf1df475a63822/bob/bio/face/embeddings/mobilenet_v2.py#L68
I think this problem has arisen due to unconventional conversion of the image dtype in:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/8c50e1ee70d866b6c39d7c228cdf1df475a63822/bob/bio/face/preprocessor/Base.py#L102
where the range of the image is not changed during the conversion.
I think it is worth the effort to refactor the code and respect conventional image value ranges in bob.bio.face;
a function similar to https://www.tensorflow.org/api_docs/python/tf/image/convert_image_dtype?hl=en
could alleviate this problem.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/47Checkpoint cropped face images in .png files (by default) instead of .h5 files2021-07-09T12:30:44ZAmir MOHAMMADICheckpoint cropped face images in .png files (by default) instead of .h5 filesThe checkpoint files are basically .png images but saving them in .h5 files makes them inaccessible for opening and viewing.The checkpoint files are basically .png images but saving them in .h5 files makes them inaccessible for opening and viewing.Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/31Checkpointwrapper sometimes fails due to temporary disk issues2021-10-29T15:34:56ZAmir MOHAMMADICheckpointwrapper sometimes fails due to temporary disk issuesIt's a good idea to retry a couple of times when saving and loadingIt's a good idea to retry a couple of times when saving and loadingTiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/72conda-forge migration2022-03-30T09:33:02ZAmir MOHAMMADIconda-forge migrationIt might be in our interest to base our builds based on conda-forge.
Here is what comes to my mind to enable the migration:
* [x] Cache conda-forge recent (and needed) packages from linux-64 and osx-64 and osx-arm64 builds
* [x] Vince...It might be in our interest to base our builds based on conda-forge.
Here is what comes to my mind to enable the migration:
* [x] Cache conda-forge recent (and needed) packages from linux-64 and osx-64 and osx-arm64 builds
* [x] Vincent: update [libblitz-feedstock](https://github.com/conda-forge/libblitz-feedstock/blob/master/recipe/meta.yaml) to match [ours](https://gitlab.idiap.ch/bob/conda/-/blob/master/conda/libblitz/meta.yaml)
* [x] Tiago: remove vlfeat dependency from bob.ip.base ~~Fix and merge https://github.com/conda-forge/vlfeat-feedstock/pull/9~~
* [x] Laurent: Submit [zc.buildout](https://gitlab.idiap.ch/bob/conda/-/tree/master/conda/zc.buildout) to conda-forge
* [x] Laurent: Submit [zc.recipe.egg](https://gitlab.idiap.ch/bob/conda/-/tree/master/conda/zc.recipe.egg) to conda-forge
* [x] Amir: We need to use conda-forge docker image(s), their compilers, and mac requirements
* [x] Remove `deps` from bob/bob.devtools>
* [x] Start building bob/bob.devtools> based on conda-forge
* [x] Update pin versions in bob.devtools
* [x] Archive bob/conda>
* [x] Amir: We need to delist packages in our channel that are already in conda-forge using metadata patches
* [x] Delete all the beta packages
* [x] Start building bob packages based on conda-forge
* [x] Use https://github.com/conda-forge/miniforge/ instead of miniconda
* [x] We might need to support `yum-requirements.txt` to support `pyopengl` which needs `mesa-libGL-devel` package installed. See: https://gitlab.idiap.ch/bob/bob.devtools/-/blob/5cd514f64181dd0ee834aaf61ebb189c0257e9f8/.gitlab-ci.yml#L71 https://gitlab.idiap.ch/bob/bob.ip.view uses pyopenglhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/46Cleanup face cropping helpers2021-10-29T15:34:57ZLaurent COLBOISCleanup face cropping helpersThe available embedding extractors expect various types of cropping (various cropped image size, and more or less tight).
Currently those defaults are provided through some helpers functions (https://gitlab.idiap.ch/bob/bob.bio.face/-/bl...The available embedding extractors expect various types of cropping (various cropped image size, and more or less tight).
Currently those defaults are provided through some helpers functions (https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/master/bob/bio/face/config/baseline/helpers.py) that are not well documented and confusing to follow. The aim is to cleanup and document better the face cropping, mainly :
1. Baselines cleanup
* [x] Hard code specific cropped positions for available baselines directly in the associated config file
* [x] Set the correct annotator that should be used with each extractor (-> the same one than during training)
2. Helpers cleanup
* [x] Refactor to provide only few, general purpose, default cropped positions (e.g. wide & tight crops)
* [x] Document the available default crops
I'll be working on that.Laurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/45MultiFace crop issue2021-10-29T15:34:57ZTiago de Freitas PereiraMultiFace crop issueHi @lcolbois
If I run
`./bin/bob bio pipeline vanilla-biometrics multipie-pose arcface-insightface -m -c -o /path/ -vvv`
I get the following issue.
```
allow_scoring_with_all_biometric_references=allow_scoring_with_all_biometri...Hi @lcolbois
If I run
`./bin/bob bio pipeline vanilla-biometrics multipie-pose arcface-insightface -m -c -o /path/ -vvv`
I get the following issue.
```
allow_scoring_with_all_biometric_references=allow_scoring_with_all_biometric_references,
File "/remote/idiap.svm/user.active/tpereira/gitlab/bob/bob.nightlies/src/bob.bio.base/bob/bio/base/pipelines/vanilla_biometrics/pipelines.py", line 100, in __call__
f" >> Vanilla Biometrics: Training background model with pipeline {self.transformer}"
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/base.py", line 260, in __repr__
repr_ = pp.pformat(self)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/pprint.py", line 144, in pformat
self._format(object, sio, 0, 0, {}, 0)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/pprint.py", line 161, in _format
rep = self._repr(object, context, level)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/pprint.py", line 393, in _repr
self._depth, level)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 181, in format
changed_only=self._changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 437, in _safe_repr
v, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 406, in _safe_repr
o, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 406, in _safe_repr
o, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 437, in _safe_repr
v, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 437, in _safe_repr
v, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 437, in _safe_repr
v, context, maxlevels, level, changed_only=changed_only)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 425, in _safe_repr
params = _changed_params(object)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/utils/_pprint.py", line 91, in _changed_params
params = estimator.get_params(deep=False)
File "/idiap/user/tpereira/conda/envs/bob.nightlies/lib/python3.7/site-packages/sklearn/base.py", line 195, in get_params
value = getattr(self, key)
AttributeError: 'MultiFaceCrop' object has no attribute 'allow_upside_down_normalized_faces'
```
Since you've implemented this feature, do you mind having a look?
Thanks
ping @ageorgehttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/44Filename extension of ARface database is undefined2021-04-08T06:37:35ZManuel Günthersiebenkopf@googlemail.comFilename extension of ARface database is undefinedWhen downloading the images of the AR face database from its original site: https://www2.ece.ohio-state.edu/~aleix/ARdatabase.html The images are stored in `.raw` format. Depending on which format was used to convert the files, different...When downloading the images of the AR face database from its original site: https://www2.ece.ohio-state.edu/~aleix/ARdatabase.html The images are stored in `.raw` format. Depending on which format was used to convert the files, different file name extensions need to be provided for the arface database interface: https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/fdf454e829c320df1747cbbbcd050be9f6a26b34/bob/bio/face/config/database/arface.py#L10
Currently, this extension is fixed to `.png`. It would be optimal if we could have a resource parameter to update this extension in case people stored images in a different format -- as it is the case at Idiap, where `.ppm` was used.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.learn.linear/-/issues/14Severe bug in LDA (default algorithm)2021-09-14T16:25:15ZAndré AnjosSevere bug in LDA (default algorithm)The default algorithm in this package is wrong. We cannot use symmetric to evaluate the eigenvalue decomposition of $Sw^-1 Sb$, because that multiplication is not guaranteed symmetric.
We should always be using `pinv`. There should be...The default algorithm in this package is wrong. We cannot use symmetric to evaluate the eigenvalue decomposition of $Sw^-1 Sb$, because that multiplication is not guaranteed symmetric.
We should always be using `pinv`. There should be no other option.
References:
* https://gitlab.idiap.ch/bob/bob.learn.linear/-/blob/master/bob/learn/linear/include/bob.learn.linear/lda.h#L49
* https://gitlab.idiap.ch/bob/bob.learn.linear/-/blob/master/bob/learn/linear/cpp/lda.cpp#L137Tiago de Freitas PereiraTiago de Freitas Pereira