bob issueshttps://gitlab.idiap.ch/bob/bob/-/issues2019-04-19T22:41:25Zhttps://gitlab.idiap.ch/bob/bob/-/issues/189bob.ip.VLDSIFT doesn't extract feature every time2019-04-19T22:41:25ZAndré Anjosbob.ip.VLDSIFT doesn't extract feature every time*Created by: zongyuange*
Hi,
I have encountered a problem for this function. When I setup a feature extractor as:
im = bob.io.load('10.jpg');
im_r = im[0,:,:];
im_g = im[1,:,:];
sift_ex = bob.ip.VLDSIFT(309,372,1,3); # 309 and 3...*Created by: zongyuange*
Hi,
I have encountered a problem for this function. When I setup a feature extractor as:
im = bob.io.load('10.jpg');
im_r = im[0,:,:];
im_g = im[1,:,:];
sift_ex = bob.ip.VLDSIFT(309,372,1,3); # 309 and 372 is the image height and width
sift_r = sift_ex(numpy.float32(im_r));
sift_g = sift_ex(numpy.float32(im_g));
Then I will find sift_g value starts from [28000:end] all equals to zero. If you apply this sift feature extractor to im_r again, same thing happened to sift_r. I have attached the image for you to have a look. Thanks!
![10](https://cloud.githubusercontent.com/assets/5070099/2778241/f7c6e980-caef-11e3-8d93-0eaa8a851e13.jpg)
https://gitlab.idiap.ch/bob/bob/-/issues/105Distance in KMeansMachine is square Euclidean2016-08-04T09:30:21ZAndré AnjosDistance in KMeansMachine is square Euclidean*Created by: laurentes*
Preparing the Bob tutorial, I've just noticed that the distance returned by the getDistanceFromMean() method of the KMeansMachine class is not the Euclidean distance, but the square Euclidean distance. This is no...*Created by: laurentes*
Preparing the Bob tutorial, I've just noticed that the distance returned by the getDistanceFromMean() method of the KMeansMachine class is not the Euclidean distance, but the square Euclidean distance. This is not a real problem because of the bijection between these two, but to my mind, this needs to be updated.
For this purpose, we need to update/add tests, and make sure that it does not affect our baseline results.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/141Mark differences between python and C++ style bindings2015-08-18T16:22:37ZAndré AnjosMark differences between python and C++ style bindings*Created by: anjos*
> Issue migrated from the bug #104
For many functions, we have two different kinds of python bindings: one kind which follows the C++ API (e.g. void f(const BA& input, BA& output)), and one which is more 'pythoni...*Created by: anjos*
> Issue migrated from the bug #104
For many functions, we have two different kinds of python bindings: one kind which follows the C++ API (e.g. void f(const BA& input, BA& output)), and one which is more 'pythonic' (e.g. BA f(const BA& input)). These two bindings often share the same python function name. I don't think this is a good strategy, as these sometimes leads to impossible cases when the C++ API has many overloaded functions. I think the function name should reflect this difference. OpenCV strategy was roughly to used two different namespaces (cv for the C like functions, and cv2 for the pythonic one). We could do something slightly different such as appending the function name with something like '_c' or '_cc' to clearly highlight this fact.https://gitlab.idiap.ch/bob/bob/-/issues/81bob.measure.far_threshold missing tests2016-08-04T09:29:22ZAndré Anjosbob.measure.far_threshold missing tests*Created by: anjos*
Hello,
I noticed you placed a function for computing the threshold given a certain FAR at `bob.measure`. This method is very useful, but it was wrongly coded w.r.t. the default arguments. I have fixed this on commit...*Created by: anjos*
Hello,
I noticed you placed a function for computing the threshold given a certain FAR at `bob.measure`. This method is very useful, but it was wrongly coded w.r.t. the default arguments. I have fixed this on commit 5644f048642ec97cb05781180790ba66f1c3371f. I have also taken the opportunity to improve on the documentation for each input variable.
I noticed there are no tests for this method. Could you please implement them?v1.1https://gitlab.idiap.ch/bob/bob/-/issues/24euklidean_distance should be renamed2016-08-04T09:27:30ZAndré Anjoseuklidean_distance should be renamed*Created by: laurentes*
I've nothing against the beautiful german language, but it would be better to stick to English for the Bob project. Furthermore, the function euklidean_distance() in python/math/lib/__init__.py should be renamed ...*Created by: laurentes*
I've nothing against the beautiful german language, but it would be better to stick to English for the Bob project. Furthermore, the function euklidean_distance() in python/math/lib/__init__.py should be renamed to something like euclidean_distance().v1.0https://gitlab.idiap.ch/bob/bob/-/issues/190import bob failed2016-08-04T09:32:51ZAndré Anjosimport bob failed*Created by: ldocio*
Hello,
I have installed bob cloning the git repository following the instructions in:
https://github.com/idiap/bob/blob/master/INSTALL.md
The compilation and instalation finished without errors, but importing...*Created by: ldocio*
Hello,
I have installed bob cloning the git repository following the instructions in:
https://github.com/idiap/bob/blob/master/INSTALL.md
The compilation and instalation finished without errors, but importing the bob package from python gives an error:
$ python
>>> import bob
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named bob
>>>
https://gitlab.idiap.ch/bob/bob/-/issues/133EMTrainer minimizes or maximizes? What?2016-08-04T09:31:13ZAndré AnjosEMTrainer minimizes or maximizes? What?*Created by: anjos*
There is a bug on the initialization of the EMTrainer. The printed value is initialized with a very small number whereas it should be initialized with a very big one. Otherwise, it gives out the impression that a pea...*Created by: anjos*
There is a bug on the initialization of the EMTrainer. The printed value is initialized with a very small number whereas it should be initialized with a very big one. Otherwise, it gives out the impression that a peak is reached and then the training continues. Example:
```
Bootstrapping Gaussian-Mixture Modelling with K-Means Clustering...
# EMTrainer:
# Iteration 1: -1.79769e+308 -> 1938.63
# Iteration 2: 1938.63 -> 1458.86
# Iteration 3: 1458.86 -> 986.196
```
To fix this, one just would have to initialize the first estimation with +Inf instead of -Inf.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/159PNG codec does not support image with indexed color2019-04-19T22:41:24ZAndré AnjosPNG codec does not support image with indexed color*Created by: matthiass2*
Given the attached PNG image with indexed color, the bob codec can't read it when using bob 1.2.0:
![image](https://f.cloud.github.com/assets/5189100/960468/362936be-04b8-11e3-8c57-18b69b4ee351.png)
```pyt...*Created by: matthiass2*
Given the attached PNG image with indexed color, the bob codec can't read it when using bob 1.2.0:
![image](https://f.cloud.github.com/assets/5189100/960468/362936be-04b8-11e3-8c57-18b69b4ee351.png)
```python
import bob
img=bob.io.load('image.png')
```
The error message is:
"RuntimeError: png codec does not support images with color spaces different than GRAY or RGB"v2.0https://gitlab.idiap.ch/bob/bob/-/issues/158The train() method of MAP_GMMTrainer segfaults when the prior is not set2016-08-04T09:31:53ZAndré AnjosThe train() method of MAP_GMMTrainer segfaults when the prior is not set*Created by: laurentes*
As reported on the mailing list, the train() method of the MAP_GMMTrainer causes a segmentation fault, when the prior GMM distribution is not set. There is a need to add a check, and to raises a runtime exception...*Created by: laurentes*
As reported on the mailing list, the train() method of the MAP_GMMTrainer causes a segmentation fault, when the prior GMM distribution is not set. There is a need to add a check, and to raises a runtime exception if this situation occurs.v2.0https://gitlab.idiap.ch/bob/bob/-/issues/128MLP machine revamping for introducing new features2016-08-04T09:31:03ZAndré AnjosMLP machine revamping for introducing new features*Created by: laurentes*
We would like to revamp the MLP machine to have the following features:
- ~~Possibility to get the outputs of each layer (Both before and after applying the activation function)~~
- ~~Possibility to set a diffe...*Created by: laurentes*
We would like to revamp the MLP machine to have the following features:
- ~~Possibility to get the outputs of each layer (Both before and after applying the activation function)~~
- ~~Possibility to set a different activation function for the last/output layer (useful when using MLP for regression)~~
- ~~Possibility to do backward propagation directly using the machine (To avoid code duplication within the trainers)~~
~~In particular, this should simplify the definition of new trainers for this MLP machine, but will (slightly) increase the cost when processing data (Saving intermediate outputs from each layer).~~ (fixed by adding a base MLP trainer class)v1.2https://gitlab.idiap.ch/bob/bob/-/issues/152WhiteningTrainer documentation has to be improved2013-07-12T10:35:15ZAndré AnjosWhiteningTrainer documentation has to be improved*Created by: khoury*
The reference given doesn't correspond to the Cholesky Whitening we are doing. The formula given seems not totally correct.*Created by: khoury*
The reference given doesn't correspond to the Cholesky Whitening we are doing. The formula given seems not totally correct.https://gitlab.idiap.ch/bob/bob/-/issues/126Deprecated NumPy API warnings2013-06-01T16:29:58ZAndré AnjosDeprecated NumPy API warnings*Created by: siebenkopf*
During the C++ compilation of Bob under various systems (MacOS, Linux Arch) we get warnings that we use deprecated NumPy API.
The solution that is proposed in the error message is to
#define NPY_NO_DEPRECAT...*Created by: siebenkopf*
During the C++ compilation of Bob under various systems (MacOS, Linux Arch) we get warnings that we use deprecated NumPy API.
The solution that is proposed in the error message is to
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
I tried this, and the warnings go away. Unfortunately, the code does not compile any more, we get errors like:
src/python/ndarray.cc:254:48: error: no member named 'descr' in 'tagPyArrayObject'
Hence, it seems that we use some functions of the old NumPy API. This means that we might get some trouble later on, if we do not follow the NumPy 1.7 API. In any case, this would be nice to be fixed to remove the annoying warnings.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/186bob.sp.extrapolateNearest is doggy2019-04-19T22:41:25ZAndré Anjosbob.sp.extrapolateNearest is doggy*Created by: pedrotome*
It can't handle the following array properly:
```python
A33_bug = numpy.array([[0., 1, 2], [3, 4, 5], [6, 7, 8]])
```
It should return
```python
A33_bug_nearest = numpy.array([[0., 1, 2, 2], [3, 4, ...*Created by: pedrotome*
It can't handle the following array properly:
```python
A33_bug = numpy.array([[0., 1, 2], [3, 4, 5], [6, 7, 8]])
```
It should return
```python
A33_bug_nearest = numpy.array([[0., 1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 8], [6, 7, 8, 8]])
```
but return
```python
A33_bug_nearest = numpy.array([[0., 1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 8], [8, 8, 8, 8]])
```https://gitlab.idiap.ch/bob/bob/-/issues/153No python tests for bob.ip.GaborWaveletTransform and related classes2015-08-18T16:19:09ZAndré AnjosNo python tests for bob.ip.GaborWaveletTransform and related classes*Created by: siebenkopf*
It seems that there are no python tests for the bob.ip.GaborWaveletTransform, bob.machine.GaborGraphMachine and bob.machine.GaborJetSimilarity. It would be nice to add some.*Created by: siebenkopf*
It seems that there are no python tests for the bob.ip.GaborWaveletTransform, bob.machine.GaborGraphMachine and bob.machine.GaborJetSimilarity. It would be nice to add some.v2.0https://gitlab.idiap.ch/bob/bob/-/issues/187Packages for ubuntu14.04?2016-08-04T09:32:44ZAndré AnjosPackages for ubuntu14.04?*Created by: StevenLOL*
Hi
I am using 14.04 trusty when
sudo apt-get update
:
W: Failed to fetch http://ppa.launchpad.net/biometrics/bob/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found
W: Failed to fetch ...*Created by: StevenLOL*
Hi
I am using 14.04 trusty when
sudo apt-get update
:
W: Failed to fetch http://ppa.launchpad.net/biometrics/bob/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/biometrics/bob/ubuntu/dists/trusty/main/binary-i386/Packages 404 Not Found
https://gitlab.idiap.ch/bob/bob/-/issues/170mincllr calibration code crashing with list index out of range2019-04-19T22:41:24ZAndré Anjosmincllr calibration code crashing with list index out of range*Created by: khoury*
In the file python/bob/measure/calibration.py, when the `p` list index of the list `pos` reached the value `P` (length of the `pos` list), the conditional test
```python
if n == N or neg[n] > pos[p]:
```
will ...*Created by: khoury*
In the file python/bob/measure/calibration.py, when the `p` list index of the list `pos` reached the value `P` (length of the `pos` list), the conditional test
```python
if n == N or neg[n] > pos[p]:
```
will crash as follows:
```python
Traceback (most recent call last):
...
min_cllr = bob.measure.calibration.min_cllr(scores_dev[i][0], scores_dev[i][1])
File "/usr/lib/python2.7/site-packages/bob/measure/calibration.py", line 51, in min_cllr
if (n == N or neg[n] > pos[p]):
IndexError: list index out of range
```
A solution seems to be:
```python
if not (p == P) and (n == N or neg[n] > pos[p]):
```v2.0https://gitlab.idiap.ch/bob/bob/-/issues/27Usage of abbreviations in namespaces2016-08-04T09:27:37ZAndré AnjosUsage of abbreviations in namespaces*Created by: siebenkopf*
When I try to read some C++ code of Bob, I often step over an abbreviated namespace (like tp for bob::python). Also in the python code, sometimes packages are abbreviated or, even worse, "from xxx import yyy as ...*Created by: siebenkopf*
When I try to read some C++ code of Bob, I often step over an abbreviated namespace (like tp for bob::python). Also in the python code, sometimes packages are abbreviated or, even worse, "from xxx import yyy as zzz" is used. This makes the code really hard to read since I always have to scroll up to the definition of abbreviation to understand, what is actually called.
I definitely would go for removing all these abbreviations and using the fully qualified names. I know that writing code this way may take a little longer, but I think it is worth the time. And most of the editors provide automatic source completion, that speeds up the typing.
What do you think about this?v1.2https://gitlab.idiap.ch/bob/bob/-/issues/263Bob 8.0.02020-10-06T06:13:03ZTiago de Freitas PereiraBob 8.0.0Hi guys,
I just pinned all bob packages on Friday and during the weekend (nightlies were green before this).
However, I can't release the bob meta-package for some unreadable set of conda conflicts
https://gitlab.idiap.ch/bob/bob/-/jo...Hi guys,
I just pinned all bob packages on Friday and during the weekend (nightlies were green before this).
However, I can't release the bob meta-package for some unreadable set of conda conflicts
https://gitlab.idiap.ch/bob/bob/-/jobs/212111
I would appreciate some insights on this
Thankshttps://gitlab.idiap.ch/bob/bob/-/issues/264[black]2022-05-10T09:48:44ZTiago de Freitas Pereira[black]I would like to `[black]` all packages inside of `bob.nightlies`, so we have standard formating.
Any objection?
ping @amohammadi @ydayer @andre.anjosI would like to `[black]` all packages inside of `bob.nightlies`, so we have standard formating.
Any objection?
ping @amohammadi @ydayer @andre.anjosBob 9.0.0https://gitlab.idiap.ch/bob/bob/-/issues/265Several tests failing on bob/bob2020-12-18T12:35:36ZTiago de Freitas PereiraSeveral tests failing on bob/bobSome nosetests are failing one bob/bob
https://gitlab.idiap.ch/bob/nightlies/-/jobs/220347Some nosetests are failing one bob/bob
https://gitlab.idiap.ch/bob/nightlies/-/jobs/220347Bob 9.0.0https://gitlab.idiap.ch/bob/bob/-/issues/266Bob 9.0.0rc12021-07-07T07:34:13ZTiago de Freitas PereiraBob 9.0.0rc1Hi guys,
Since we are in a consistent sequence of green nightlies, I think we can safely have a release candidate of Bob with the new stuff.
I would like to pin everything on `bob.nightlies` as `rc1` and release it on our stable channe...Hi guys,
Since we are in a consistent sequence of green nightlies, I think we can safely have a release candidate of Bob with the new stuff.
I would like to pin everything on `bob.nightlies` as `rc1` and release it on our stable channel.
I would appreciate your input on it.
ThanksBob 9.0.0https://gitlab.idiap.ch/bob/bob/-/issues/267pytest still runs the slow nosetests2022-05-10T09:48:19ZAmir MOHAMMADIpytest still runs the slow nosetestsWe used to export `NOSE_EVAL_ATTR="not slow"` to have nosetets skip some tests but now in this project, we run all tests with pytests and pytests ignores this env variable.We used to export `NOSE_EVAL_ATTR="not slow"` to have nosetets skip some tests but now in this project, we run all tests with pytests and pytests ignores this env variable.https://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/-/issues/269Bob 10.0.0 release2021-11-04T14:03:50ZTiago de Freitas PereiraBob 10.0.0 releaseWe have had several modifications since the last release. Can we have a new minor release of this one?
We would need to release `bob.bio.base` too (if not the whole bob).
ThanksWe have had several modifications since the last release. Can we have a new minor release of this one?
We would need to release `bob.bio.base` too (if not the whole bob).
Thankshttps://gitlab.idiap.ch/bob/bob/-/issues/37Sphinx generates URL to non-existing `source code` pages in the documentation...2016-08-04T09:28:01ZAndré AnjosSphinx generates URL to non-existing `source code` pages in the documentation when using the plot extension with inline code*Created by: laurentes*
The plot extension of sphinx is always generating a *source code* URL when using the `.. plot::` directive. This is particularly annoying when inline python code is used after this directive, as sphinx will still...*Created by: laurentes*
The plot extension of sphinx is always generating a *source code* URL when using the `.. plot::` directive. This is particularly annoying when inline python code is used after this directive, as sphinx will still generate an URL pointing to a file which does not exist. There are two potential solutions:
- Either we find a way to disable the generation of the *source code* URL. I've looked at the sphinx documentation without success so far.
- Or we should always create an external python file which will be used by the `.. plot::` directive.
This currently affects the tutorial about the *measure* submodule of Bob.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/35Consecutive uses of HDF5File on the same file can crash your script2016-08-04T09:27:55ZAndré AnjosConsecutive uses of HDF5File on the same file can crash your script*Created by: anjos*
The following piece of code will crash the python interpreter if the ``del f`` step is not called between two consecutive calls to ``HDF5File()``. This problem seems to affect only Ubuntu 10.04 LTS.
```python
imp...*Created by: anjos*
The following piece of code will crash the python interpreter if the ``del f`` step is not called between two consecutive calls to ``HDF5File()``. This problem seems to affect only Ubuntu 10.04 LTS.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5')
f.set('my_array', A)
#del f
f = bob.io.HDF5File('testfile1.hdf5', 'r') #read only
f.read('my_integer') #reads integer
f.read('my_float') # reads float
print f.read('my_array') # reads the array
del f
```https://gitlab.idiap.ch/bob/bob/-/issues/181The evaluation metric "Area Under Curve" (AUC) is missing2015-08-18T16:05:03ZAndré AnjosThe evaluation metric "Area Under Curve" (AUC) is missing*Created by: siebenkopf*
One well-known evaluation metric for binary classification problems is the Area Under (ROC) Curve: http://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve
It would be nice to have ...*Created by: siebenkopf*
One well-known evaluation metric for binary classification problems is the Area Under (ROC) Curve: http://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve
It would be nice to have an implementation of it in ``bob.measure``.https://gitlab.idiap.ch/bob/bob/-/issues/58OpenCV 2.4.x has problems with pkg-config2016-08-04T09:28:48ZAndré AnjosOpenCV 2.4.x has problems with pkg-config*Created by: anjos*
The following bug in the OpenCV tracker affects us (at least our OSX builds with MacPorts): http://code.opencv.org/issues/1925. Avoid upgrading to OpenCV 2.4.x until that is fixed. The last know version to work prope...*Created by: anjos*
The following bug in the OpenCV tracker affects us (at least our OSX builds with MacPorts): http://code.opencv.org/issues/1925. Avoid upgrading to OpenCV 2.4.x until that is fixed. The last know version to work properly is 2.3.1a.
Here is a recipe to revert your Mac Ports installation to OpenCV 2.3.1a in case you need it:
```sh
$ wget --no-check-certificate https://trac.macports.org/export/90303/trunk/dports/graphics/opencv/Portfile https://trac.macports.org/export/90303/trunk/dports/graphics/opencv/files/patch-CMakeLists.txt.diff https://trac.macports.org/export/90303/trunk/dports/graphics/opencv/files/patch-install_name.diff https://trac.macports.org/export/90303/trunk/dports/graphics/opencv/files/patch-pch-CMakeLists.txt.diff
$ mkdir files
$ mv patch-*.diff files
$ sudo port install
```v1.1https://gitlab.idiap.ch/bob/bob/-/issues/33New databases "casia_fasd" and "nuaa" do not work with dbmanage.py2016-08-04T09:27:51ZAndré AnjosNew databases "casia_fasd" and "nuaa" do not work with dbmanage.py*Created by: anjos*
Please integrate those ASAP. Check other implemented drivers like the "iris" database or the "replay" database.*Created by: anjos*
Please integrate those ASAP. Check other implemented drivers like the "iris" database or the "replay" database.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/31Add a new command to check if the data of a database are in place2016-08-04T09:27:47ZAndré AnjosAdd a new command to check if the data of a database are in place*Created by: laurentes*
It seems that such a command would be useful to check that a folder containing a database has the expectated file organization.*Created by: laurentes*
It seems that such a command would be useful to check that a folder containing a database has the expectated file organization.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/97BMP codec implementation has several limitations2016-08-04T09:29:56ZAndré AnjosBMP codec implementation has several limitations*Created by: laurentes*
In order to remove ImageMagick dependency, I had to introduce a BMP codec. Strangely, there are not that many open-source implementations, and I had finally decided to implement my own codec.
As BMP consists in ...*Created by: laurentes*
In order to remove ImageMagick dependency, I had to introduce a BMP codec. Strangely, there are not that many open-source implementations, and I had finally decided to implement my own codec.
As BMP consists in a set of multiple formats/headers, this implementation does not support all types of BMP images. In particular, there are the following limitations:
- Only OS2 v1 (14 bytes DIB header) and Windows v1/4/5 (40/108/124 bytes DIB header) DIB headers are supported
- Only non-compressed BMP images are supported
Looking at the BMP samples here: http://vaxa.wvnet.edu/vmswww/bmp.html, this implies that the following images can not be read:
- "The image below is a 4 bit compressed BMP. "
- "The image below is a 8 bit compressed BMP. "
- "The image below is a 4 bit OS/2 version 2 BMP. "
- ~~"The image below is a 32 bit 888 bitfield version 4 BMP. "~~
- ~~"The image below is a 32 bit version 5 BMP. "~~
- ~~"The image below is a 32 bit transparent version 4 BMP. "~~
The remaining ones should be read with success.https://gitlab.idiap.ch/bob/bob/-/issues/137BIC Tests failing after PCA fixes on #1302016-08-04T09:31:21ZAndré AnjosBIC Tests failing after PCA fixes on #130*Created by: anjos*
Manuel, could you please have a look at the BIC unit tests? They are failing since I patched up things for bug #130. We have took that opportunity to fix the number of PCA components generated by the trainer to be `m...*Created by: anjos*
Manuel, could you please have a look at the BIC unit tests? They are failing since I patched up things for bug #130. We have took that opportunity to fix the number of PCA components generated by the trainer to be `min(#features,#samples)-1`, whereas before, it was wrongly set to `min(#features,#samples)` with the last eigenvalue being always very close to zero. The outcome is that the machines produced by the PCA trainers are now inherently smaller and that is making the tests for BIC fail.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/87KMeansTrainer python overloading is buggy2016-08-04T09:29:38ZAndré AnjosKMeansTrainer python overloading is buggy*Created by: laurentes*
There is a bug when overloading C++ methods of the KMeansTrainer from python. This might also affect the GMMTrainer.
The following program higlights the problem.
```python
#!/usr/bin/env python
import b...*Created by: laurentes*
There is a bug when overloading C++ methods of the KMeansTrainer from python. This might also affect the GMMTrainer.
The following program higlights the problem.
```python
#!/usr/bin/env python
import bob, numpy
import logging
logger = logging.getLogger("bob.c++")
logger.setLevel(logging.DEBUG)
machine = bob.machine.KMeansMachine(2,1)
data = numpy.array([[-3],[-2],[-1],[0.],[1.],[2.],[3.]])
print data.shape
class MyKMeansTrainer(bob.trainer.overload.KMeansTrainer):
"""Simple example of python trainer: """
def __init__(self):
bob.trainer.overload.KMeansTrainer.__init__(self)
def initialization(self, machine, data):
bob.trainer.overload.KMeansTrainer.initialization(self, machine, data)
machine.means = numpy.array([[-0.5], [ 0.5]])
print machine.means
trainer = MyKMeansTrainer()
trainer.convergence_threshold = 0.0005
max_iterations = 1 # Just do one iteration of the E-step and M-step
trainer.max_iterations = max_iterations;
# This does not work as expected
trainer.train(machine, data)
# After the call of initialization() the means are still [0.,0.] (at the C++ level, whereas the values printed from python are correct)
# This means that the E-step is started with two identical means, and leads
# to unexpected NaN values.
print machine.means
# This works as expected
trainer.initialization(machine, data)
print machine.means
trainer.e_step(machine, data)
trainer.m_step(machine, data)
print machine.means
~
```
After some debugging, it seems that in the first case, the addresses of the KMeansMachine's respectively passed as arguments to the initialization() and e_step() methods differ. In contrast, using the second approach, they are the same, which is the expected behavior. I'm wondering if this is not due to the fact that we are passing non-const references of KMeansMachine back and forth from python to C++.
It would be nice to fix this issue for the next release 1.1, or otherwise, to disable this feature.https://gitlab.idiap.ch/bob/bob/-/issues/199"No distribution at all found for bob>1.1.0" for Antispoofing.motion and anti...2016-08-04T09:33:09ZAndré Anjos"No distribution at all found for bob>1.1.0" for Antispoofing.motion and antispoofing.optflow*Created by: devrim108*
Hi,
I installed all dependencies and all bob packages using pip on Ubuntu 14.04.1 LTS 64 bit system. Afterward i wanted to install antispoofing.motion and antispoofing.optflow. I got an error;
Could not fin...*Created by: devrim108*
Hi,
I installed all dependencies and all bob packages using pip on Ubuntu 14.04.1 LTS 64 bit system. Afterward i wanted to install antispoofing.motion and antispoofing.optflow. I got an error;
Could not find any downloads that satisfy the requirement bob>=1.1.0 (from antispoofing.optflow)
Cleaning up...
No distributions at all found for bob>=1.1.0 (from antispoofing.optflow)
Storing debug log for failure in /home/ubuntu/.pip/pip.loghttps://gitlab.idiap.ch/bob/bob/-/issues/171SVD is failing on some matrices because of LAPACK dgesdd2016-08-04T09:32:20ZAndré AnjosSVD is failing on some matrices because of LAPACK dgesdd*Created by: laurentes*
The svd implementation is failing on some matrices, no convergence occuring. The sample matrix is available [here](http://www.idiap.ch/~ichingo/to_download/data_svd_fail.hdf5).
Similarly to NumPy, bob relies o...*Created by: laurentes*
The svd implementation is failing on some matrices, no convergence occuring. The sample matrix is available [here](http://www.idiap.ch/~ichingo/to_download/data_svd_fail.hdf5).
Similarly to NumPy, bob relies on the LAPACK function called dgesdd, as recommended by Netlib maintainers [here](https://groups.google.com/forum/#!topic/julia-dev/mmgO65i6-fA). Using NumPy leads to the exact same issue, whereas matlab implementation seems to work. This is a known problem previously reported [here](http://mail.scipy.org/pipermail/numpy-discussion/2009-February/040212.html). It seems that the slower alternative function from LAPACK called dgesvd is not affected by this problem. One possible solution would be to support both functions.
v2.0https://gitlab.idiap.ch/bob/bob/-/issues/270Problem installing bob with conda2021-10-04T11:50:41ZGreg BurmanProblem installing bob with condaI've tried installing bob using the install instructions provided: https://www.idiap.ch/software/bob/docs/bob/docs/stable/install.html
However, when I run the `conda create` command under step 3) I get the following error:
```
$ conda ...I've tried installing bob using the install instructions provided: https://www.idiap.ch/software/bob/docs/bob/docs/stable/install.html
However, when I run the `conda create` command under step 3) I get the following error:
```
$ conda create --name bob_env1 --override-channels -c https://www.idiap.ch/software/bob/conda -c defaults python=3 bob.io.image bob.bio.face
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: /
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package bob.io.image conflicts for:
bob.bio.face -> bob.io.image[version='>=2.4.1,<3.0a0|>=2.4.2,<3.0a0|>=2.4.3,<3.0a0|>=2.4.4,<3.0a0|>=2.4.5,<3.0a0|>=2.4.6,<3.0a0|>=2.5.0,<3.0a0']
bob.io.image
Package python conflicts for:
python=3
bob.bio.face -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
bob.bio.face -> matplotlib[version='>=3.3.2,<4.0a0'] -> python[version='>=3.5,<3.6.0a0|>=3.9,<3.10.0a0']
Package _libgcc_mutex conflicts for:
python=3 -> libgcc-ng[version='>=7.5.0'] -> _libgcc_mutex[version='*|0.1',build=main]
bob.io.image -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex[version='*|0.1',build=main]The following specifications were found to be incompatible with your system:
- feature:/linux-64::__glibc==2.33=0
- feature:|@/linux-64::__glibc==2.33=0
- python=3 -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
Your installed version is: 2.33
```
It looks like there are several package conflicts for `bob.io.image` and `bob.bio.face`.
I have successfully managed to install bob using the Installation instructions several times before, so this issue seems to be pretty new.Conda-forge migrationhttps://gitlab.idiap.ch/bob/bob/-/issues/167PLDA machine save and load problem2019-04-19T22:41:24ZAndré AnjosPLDA machine save and load problem*Created by: zongyuange*
Hi Laurent,
It is me again. I have found an issue with PLDA machine.
After a bob.machine.PLDAMachine is trained, I saved it with
save_file = bob.io.HDF5File('/home/test.hdf5','w');
plda_machine.save(sa...*Created by: zongyuange*
Hi Laurent,
It is me again. I have found an issue with PLDA machine.
After a bob.machine.PLDAMachine is trained, I saved it with
save_file = bob.io.HDF5File('/home/test.hdf5','w');
plda_machine.save(save_file)
when I am trying to load it again with
file = bob.io.HDF5File('/home/test.hdf5','r');
plda = bob.machine.PLDAMachine();
plda.load(file)
Then I typed the command
'plda.dim_d '
will cause segmentation error.
You can try it with the any example.
Thanks,
Rehards,
ZongYuan
v2.0https://gitlab.idiap.ch/bob/bob/-/issues/22debugging problem2016-08-04T09:27:26ZAndré Anjosdebugging problem*Created by: ivana7c*
Debugging using gdb requires that the PYTHONPATH is set before every call of gdb. Script that will do this automatically should be provided.*Created by: ivana7c*
Debugging using gdb requires that the PYTHONPATH is set before every call of gdb. Script that will do this automatically should be provided.https://gitlab.idiap.ch/bob/bob/-/issues/23ffmpeg 0.8 on Ubuntu 12.04 deprecates some symbols2016-08-04T09:27:28ZAndré Anjosffmpeg 0.8 on Ubuntu 12.04 deprecates some symbols*Created by: anjos*
Our bindings to ffmpeg need a revamp. The VideoReader compilation reports:
```
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::open()’:
/home/andre/work/bob/cxx/io/...*Created by: anjos*
Our bindings to ffmpeg need a revamp. The VideoReader compilation reports:
```
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::open()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:128:7: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:128:38: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:129:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:129:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:147:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:147:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:163:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:163:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:168:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:168:37: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:169:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:169:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:228:3: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:228:34: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::const_iterator::init()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:346:7: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:346:40: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:377:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:377:41: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::const_iterator::reset()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:463:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:463:38: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
```
Where as the VideoWriter.cc reports:
```
/home/andre/work/bob/cxx/io/src/VideoWriter.cc: In member function ‘AVStream* bob::io::VideoWriter::add_video_stream()’:
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:229:8: warning: ‘AVStream* av_new_stream(AVFormatContext*, int)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1604) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:229:38: warning: ‘AVStream* av_new_stream(AVFormatContext*, int)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1604) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc: In member function ‘void bob::io::VideoWriter::open_video()’:
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:300:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:300:28: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
```v1.0https://gitlab.idiap.ch/bob/bob/-/issues/25cblas, clapack and LAPACK2016-08-04T09:27:32ZAndré Anjoscblas, clapack and LAPACK*Created by: laurentes*
In the early years, we've got rid of the usage of C functions from cblas and clapack, calling the Fortran functions from LAPACK directly. This is not reflected in the external/cblasConfig.cmake, which still requi...*Created by: laurentes*
In the early years, we've got rid of the usage of C functions from cblas and clapack, calling the Fortran functions from LAPACK directly. This is not reflected in the external/cblasConfig.cmake, which still requires cblas.h and clapack.h to exist.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/26Bob installation documentation needs to be rewritten2016-08-04T09:27:34ZAndré AnjosBob installation documentation needs to be rewritten*Created by: siebenkopf*
In the "Using bob" section of the "Installation" section of the documentation still the bin/shell.py is called. This should be replaced by the current way to call python, namely bin/python. Also, the mentioned b...*Created by: siebenkopf*
In the "Using bob" section of the "Installation" section of the documentation still the bin/shell.py is called. This should be replaced by the current way to call python, namely bin/python. Also, the mentioned bin/bob_config.py is no longer existent.
Additionally, it might be a good idea to include the BobMaker here (maybe marked to be used only Idiap-internally, if this is the case).v1.0https://gitlab.idiap.ch/bob/bob/-/issues/28Temporary files not being erased2016-08-04T09:27:39ZAndré AnjosTemporary files not being erased*Created by: anjos*
After running bob's test suite, lots of files seem not to be erased from the temporary directory. We should verify this as soon as possible.*Created by: anjos*
After running bob's test suite, lots of files seem not to be erased from the temporary directory. We should verify this as soon as possible.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/29bob.ip.Rotate needs a review2016-08-04T09:27:41ZAndré Anjosbob.ip.Rotate needs a review*Created by: siebenkopf*
The bob.ip.Rotate class needs a mayor revision. First, it expects the rotation angle in degrees (which is rather uncommon), but this is documented nowhere. The resulting rotated image is assumed to be of type fl...*Created by: siebenkopf*
The bob.ip.Rotate class needs a mayor revision. First, it expects the rotation angle in degrees (which is rather uncommon), but this is documented nowhere. The resulting rotated image is assumed to be of type float, even when the input image is uint8. I am not sure if this behavior is intended.
Furthermore, its function bob.ip.Rotate.getOutputShape(image,angle) does not use the angle member variable, but requires the angle to be specified again. There are two solutions for this last problem. Either the class is removed and only the two functions bob.ip.rotate(image,image,angle) and bob.ip.getRotatedShape(image,angle) are preserved, or the getRotatedShape(image) function uses the angle member variable. I vote for the first solution since this would mimic the bob.ip.scale(image,image,scale) function.
v1.0https://gitlab.idiap.ch/bob/bob/-/issues/32Tests failing on Ubuntu 12.04 LTS 32 bits2016-08-04T09:27:49ZAndré AnjosTests failing on Ubuntu 12.04 LTS 32 bits*Created by: laurentes*
The three following tests are failing on Ubuntu 12.04 LTS 32 bits:
- cxx-ip-facenorm
- python-trainer-rprop-main
- python-face_verification-bancasmall-main
In all three cases, this seems to be caused by numer...*Created by: laurentes*
The three following tests are failing on Ubuntu 12.04 LTS 32 bits:
- cxx-ip-facenorm
- python-trainer-rprop-main
- python-face_verification-bancasmall-main
In all three cases, this seems to be caused by numerical issues. In particular, "python-face_verification-bancasmall-main" makes use of facenorm.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/34inconsistent function naming convention2016-08-04T09:27:53ZAndré Anjosinconsistent function naming convention*Created by: siebenkopf*
Currently, there are different ways, python functions are called. One type uses CamelCase, whereas other types use under_score_names. Since the default python ways seems to be under_scores, we should rename the ...*Created by: siebenkopf*
Currently, there are different ways, python functions are called. One type uses CamelCase, whereas other types use under_score_names. Since the default python ways seems to be under_scores, we should rename the camelCase functions in the API.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/36Consecutive uses of HDF5File on the same file can crash your script2016-08-04T09:27:57ZAndré AnjosConsecutive uses of HDF5File on the same file can crash your script*Created by: anjos*
The following piece of code will crash under Ubuntu 10.04.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5', 'w')
for k in range(1000): f...*Created by: anjos*
The following piece of code will crash under Ubuntu 10.04.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5', 'w')
for k in range(1000): f.set('my_float_%d' % k, 3.1416)
#del f #this makes everything work fine
f = bob.io.HDF5File('testfile1.hdf5', 'r') #read only
f.read('my_float_999') # reads float
del f
```v1.0https://gitlab.idiap.ch/bob/bob/-/issues/38VLFeat is not detected despite installation2016-08-04T09:28:03ZAndré AnjosVLFeat is not detected despite installation*Created by: anjos*
From my understanding of the cmake file, we should see a printout when VLFeat is detected on the system:
```
Found VLFeat: /usr/lib/libvlfeat.so
```
But we don't seem to see this line ever. Could you make sur...*Created by: anjos*
From my understanding of the cmake file, we should see a printout when VLFeat is detected on the system:
```
Found VLFeat: /usr/lib/libvlfeat.so
```
But we don't seem to see this line ever. Could you make sure that it is properly detected and reported?v1.0https://gitlab.idiap.ch/bob/bob/-/issues/39FisherLDATrainer does not have a zscore_convert option2016-08-04T09:28:06ZAndré AnjosFisherLDATrainer does not have a zscore_convert option*Created by: ivana7c*
In contrast to SVDPCATrainer, the FisherLDATrainer does not have the zscore_convert option. It would be nice to add this option for consistency.*Created by: ivana7c*
In contrast to SVDPCATrainer, the FisherLDATrainer does not have the zscore_convert option. It would be nice to add this option for consistency.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/40Unit test for SIFT features extraction based on VLFeat fails on Ubuntu 12.04 ...2016-08-04T09:28:08ZAndré AnjosUnit test for SIFT features extraction based on VLFeat fails on Ubuntu 12.04 32bits*Created by: laurentes*
There is currently an issue with the test of the *SIFT* features under *Ubuntu 12.04 32 bits*. For unknown reason, the *SIFT* descriptors computed by *Ubuntu 12.04 32 bits* are different from the reference one ge...*Created by: laurentes*
There is currently an issue with the test of the *SIFT* features under *Ubuntu 12.04 32 bits*. For unknown reason, the *SIFT* descriptors computed by *Ubuntu 12.04 32 bits* are different from the reference one generated with *Ubuntu 10.04 32 bits*. This happens despite the fact that we are using the exact same version of *VLFeat 0.9.14* (last release), and that *VLFeat* has almost no external dependence:
```
$ ldd /usr/lib/libvl.so
linux-gate.so.1 => (0x00b52000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00412000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x0073c000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00174000)
/lib/ld-linux.so.2 (0x00b8b000)
```
Tracking the problem, it likely originates from the keypoint detection, as there is no such an issue with the *Dense SIFT* features, which also relies on *VLFeat*. I guess that some of them are slightly below the threshold to be considered as keypoints on 12.04 but slightly above on 10.04. This is particularly annoying as this then shift the whole keypoints, making the comparison of the descriptors tough.
There are three possible options:
- Remove the test, considering that this is a VLFeat issue
- Add additional references and checking that one of them matches the values generated
- Add a more clever test. which will allow some keypoints more (or less), and able to still match the descriptors in such a situation.
Personally, I will go for the first one.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/41Add an example of a satellite package2016-08-04T09:28:10ZAndré AnjosAdd an example of a satellite package*Created by: laurentes*
There is currently no example of a satellite package for Bob. It would be nice to introduce one. For this purpose, we could recycle the former face_verification submodule of bob, providing simple scripts for feat...*Created by: laurentes*
There is currently no example of a satellite package for Bob. It would be nice to introduce one. For this purpose, we could recycle the former face_verification submodule of bob, providing simple scripts for feature extraction and verification.https://gitlab.idiap.ch/bob/bob/-/issues/42No range check of std::vector in DEBUG mode2016-08-04T09:28:13ZAndré AnjosNo range check of std::vector in DEBUG mode*Created by: siebenkopf*
In the current version of Bob, there is no range check on the std::vector::operator [] and no sanity checks for std::...iterator's. Unfortunately, the proposed method for GnuCC, i.e., adding the compiler flag "-...*Created by: siebenkopf*
In the current version of Bob, there is no range check on the std::vector::operator [] and no sanity checks for std::...iterator's. Unfortunately, the proposed method for GnuCC, i.e., adding the compiler flag "-D_GLIBCXX_DEBUG" interferes with:
+ some functionalities of Boost, like the boost::program_options
+ also Boost.Python seems to be affected
+ the -DBZ_DEBUG flag to enable range checking in blitz::Arrays also seems to affect this (not sure)
by adding C++ linking errors.
The proposed solutions on the internet suggest to compile boost (and blitz) with the -D_GLIBCXX_DEBUG. Unfortunately, this would require to ship the compiled versions of boost (and blitz) with Bob.
A workaround for at least the indexing check would be to used the std:: vector::at(i) function instead, which does the range checking. Unfortunately, the range check is not disabled in release mode. This could be solved by:
#ifndef DEBUG
#define at(x) operator[](x)
#endif
(another solution I found in the net), but this of course would influence ALL at() functions...
Another workaround (which we had in our old software system) is to use our own derived class from the std::vector that actually does the range check (only in debug mode) and calls the operator::[] of the std::vector. Unfortunately, this is very ugly since it requires to re-write (at least) all constructors of the std::vector.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/43Writing external code that depends on Bob2016-08-04T09:28:15ZAndré AnjosWriting external code that depends on Bob*Created by: anjos*
Sometime ago we had the ability to compile external projects against Bob using CMake. Our CMake development environment does export its properties and all those files get installed properly. Remains untested though:
...*Created by: anjos*
Sometime ago we had the ability to compile external projects against Bob using CMake. Our CMake development environment does export its properties and all those files get installed properly. Remains untested though:
1. How to compile C++ extensions using Bob libraries
2. How to compile Python C++ bindings using Bob libraries and extensions to boost.python (e.g. const_ndarray objects)
This bug should remain opened until we get this functionality back.https://gitlab.idiap.ch/bob/bob/-/issues/44Exception Raising with HDF5-related file manipulation ends in segfault2016-08-04T09:28:17ZAndré AnjosException Raising with HDF5-related file manipulation ends in segfault*Created by: anjos*
This example will trigger it:
```python
import bob
f = bob.io.HDF5File('test.hdf5', 't')
f.set('bla', 3)
del f
m = bob.machine.LinearMachine(3,3)
# saving on read-only file, exception is raised and then Pyth...*Created by: anjos*
This example will trigger it:
```python
import bob
f = bob.io.HDF5File('test.hdf5', 't')
f.set('bla', 3)
del f
m = bob.machine.LinearMachine(3,3)
# saving on read-only file, exception is raised and then Python segfaults on exit()
m.save(bob.io.HDF5File('test.hdf5'))
```v1.0https://gitlab.idiap.ch/bob/bob/-/issues/45Some eye labels of the MoBio database are incorrect2016-08-04T09:28:19ZAndré AnjosSome eye labels of the MoBio database are incorrect*Created by: siebenkopf*
By applying a simple sanity check on the eye positions (le.x > re.x) I found a few eye positions that are labeled incorrectly. The complete list of files will follow soon.
Mixing up the eye positions ends up ...*Created by: siebenkopf*
By applying a simple sanity check on the eye positions (le.x > re.x) I found a few eye positions that are labeled incorrectly. The complete list of files will follow soon.
Mixing up the eye positions ends up in getting a face that is upside-down during preprocessing. Hence, the proprocessing generates invalid files.https://gitlab.idiap.ch/bob/bob/-/issues/47ImageMagick 6.7.6 issues on OSX with MacPorts2012-04-07T07:46:49ZAndré AnjosImageMagick 6.7.6 issues on OSX with MacPorts*Created by: anjos*
ImageMagick 6.7.6 is now shipping with MacPorts on OSX. Some of the tests do not pass anymore. The image codec one, in particular, prints out (after some modifications so it is a little more specific on error reporti...*Created by: anjos*
ImageMagick 6.7.6 is now shipping with MacPorts on OSX. Some of the tests do not pass anymore. The image codec one, in particular, prints out (after some modifications so it is a little more specific on error reporting):
Running 7 test cases...
unknown location:0: fatal error in "image_gif": std::runtime_error: file '/var/folders/b3/7l98n3bd7dqc1stjmgxb9mbw0000gn/T/bobtest_core_binformatTOI4GA.gif' is not readable because ImageMagick '6.7.6' reports: Magick:
invalid colormap index `/var/folders/b3/7l98n3bd7dqc1stjmgxb9mbw0000gn/T/bobtest_core_binformatTOI4GA.gif' @ error/image.c/SyncImage/4414
/Users/andre/work/bob/cxx/io/test/image_codec.cc:96: last checkpoint
unknown location:0: fatal error in "image_png": std::runtime_error: file '/var/folders/b3/7l98n3bd7dqc1stjmgxb9mbw0000gn/T/bobtest_core_binformatlaNEuy.png' is not readable because ImageMagick '6.7.6' reports: Magick:
invalid colormap index `/var/folders/b3/7l98n3bd7dqc1stjmgxb9mbw0000gn/T/bobtest_core_binformatlaNEuy.png' @ error/image.c/SyncImage/4414
/Users/andre/work/bob/cxx/io/test/image_codec.cc:96: last checkpoint
*** 2 failures detected in test suite "ImageArrayCodec Tests"https://gitlab.idiap.ch/bob/bob/-/issues/48Bob, RPATH policy and versions on shared objects2016-08-04T09:28:26ZAndré AnjosBob, RPATH policy and versions on shared objects*Created by: anjos*
The current infrastructure does not use the properties VERSION (build) and SOVERSION (api) for marking the C++ libraries. I'm not sure the same should be done for python bindings written with Boost.Python.
Further...*Created by: anjos*
The current infrastructure does not use the properties VERSION (build) and SOVERSION (api) for marking the C++ libraries. I'm not sure the same should be done for python bindings written with Boost.Python.
Furthermore, when installing Bob globally, the RPATH mechanism should be disabled as it is totally useless.https://gitlab.idiap.ch/bob/bob/-/issues/49On any Ubuntu version, bob gets linked to libvl.so2016-08-04T09:28:28ZAndré AnjosOn any Ubuntu version, bob gets linked to libvl.so*Created by: anjos*
The problem is that the pre-compiled Ubuntu versions are now depending on libvl.so instead of depending on libvl.so.0
If you have a 12.04 somewhere, you can test this. Just uninstall libvl0.
Now, install bob from...*Created by: anjos*
The problem is that the pre-compiled Ubuntu versions are now depending on libvl.so instead of depending on libvl.so.0
If you have a 12.04 somewhere, you can test this. Just uninstall libvl0.
Now, install bob from our ppa. Fire-up python and then try to import bob. You will get the error:
```sh
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bob
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/bob/__init__.py", line 16, in <module>
from . import ip
File "/usr/lib/pymodules/python2.6/bob/ip/__init__.py", line 1, in <module>
from ._ip import *
ImportError: libvl.so: cannot open shared object file: No such file or directory
```
This can be (temporarily) fixed with the following commands:
```sh
$ sudo apt-add-repository ppa:biometrics/vlfeat
$ sudo apt-get update
$ sudo apt-get install libvl-dev
```
Besides, our packages do not (yet) depend on the packages libvl0 or libblitz1ldbl. They should.https://gitlab.idiap.ch/bob/bob/-/issues/50Solving/Simplifying the RPATH or INSTALL_DIR2016-08-04T09:28:29ZAndré AnjosSolving/Simplifying the RPATH or INSTALL_DIR*Created by: anjos*
Currently, to build our Ubuntu or OSX packages, we need to disable the setting of these variables as files get moved during installation using `debuild` or `MacPorts`. Here is a strategy to get rid of this annoyance:...*Created by: anjos*
Currently, to build our Ubuntu or OSX packages, we need to disable the setting of these variables as files get moved during installation using `debuild` or `MacPorts`. Here is a strategy to get rid of this annoyance:
1. Move the library `_core_array.so` to the `<prefix>/lib` directory and version it properly
2. Make all other python bindings depend on that instead of a library hidden at python directories
3. Make the python bindings use the RPATH by default (this is disabled when the user passes `-DCMAKE_SKIP_BUILD_RPATH=TRUE` to CMake. Under OSX, have a similar mechanism that will do that for the INSTALL_DIR property.
Notes:
1. The RPATH functionality is only required for the python bindings
2. The python bindings only require that functionality if the libraries they depend on are not installed in a standard location.https://gitlab.idiap.ch/bob/bob/-/issues/51Search Engine Optimisation, and consolidation of links2016-08-04T09:28:32ZAndré AnjosSearch Engine Optimisation, and consolidation of links*Created by: Waldo000000*
Googling for Bob returns poor results. e.g.
* Searching for "bob toolbox" or "bob toolkit" or "bob library" or "bob signal processing" all fail to return a link to http://idiap.github.com/bob/ on the first ...*Created by: Waldo000000*
Googling for Bob returns poor results. e.g.
* Searching for "bob toolbox" or "bob toolkit" or "bob library" or "bob signal processing" all fail to return a link to http://idiap.github.com/bob/ on the first page of results.
* Searching for "bob idiap" returns a link to the github page (https://github.com/idiap/bob), not the home page, as first result.
* Searching for "bob biometrics" returns the correct link but only at 5th position
* Searching for "bob machine learning" has the link in 2nd position
To address this issue, we should follow relevant instructions in Google's Webmaster Tools, for example:
* [Webmaster Guidelines](http://support.google.com/webmasters/bin/answer.py?hl=en&answer=35769)
* [Search Engine Optimization (SEO)](http://support.google.com/webmasters/bin/answer.py?hl=en&answer=35291)
Finally, we need to decide whether the advertised home page of Bob is http://idiap.github.com/bob/ (as was noted in the recent announcement emails) or http://www.idiap.ch/software/bob. There is currently a link at the top of https://github.com/idiap/bob that points to http://www.idiap.ch/software/bob that redirects to http://idiap.github.com/bob/. So anyone who "bookmarks" the Bob homepage right now is bookmarking http://idiap.github.com/bob/. If we are happy with that URL, we should edit the link on https://github.com/idiap/bob accordingly. Making this choice of a single homepage URL may in turn help us to improve search results.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/52IP Block - Get output shape - Two different functions for similar purpose2016-08-04T09:28:34ZAndré AnjosIP Block - Get output shape - Two different functions for similar purpose*Created by: laurentes*
I've just noticed that there are two different functions for similar purpose in the IP block decomposition code. To get the expected number of blocks given an input array and some parameters, both `getBlockShape(...*Created by: laurentes*
I've just noticed that there are two different functions for similar purpose in the IP block decomposition code. To get the expected number of blocks given an input array and some parameters, both `getBlockShape()` and `getNBlocks()` could be used.
For the next release, we should remove one of them and update the bits which rely on these functions accordingly (at the C++ level, `DCTFeatures` and `LBPHSFeatures`).v1.1https://gitlab.idiap.ch/bob/bob/-/issues/53Problem with eigenface.py in bob.example.faceverify2016-08-04T09:28:36ZAndré AnjosProblem with eigenface.py in bob.example.faceverify*Created by: smarcel*
/remote/filer.gx/user.active/marcel/work/development/bob/packages/bob.example.faceverify
beaufix27:bob.example.faceverify> ./linux/eigenface.py
Training PCA machine
Extracting models
Traceback (most recent c...*Created by: smarcel*
/remote/filer.gx/user.active/marcel/work/development/bob/packages/bob.example.faceverify
beaufix27:bob.example.faceverify> ./linux/eigenface.py
Training PCA machine
Extracting models
Traceback (most recent call last):
File "./linux/eigenface.py", line 13, in <module>
faceverify.eigenface.main()
File "/remote/filer.gx/user.active/marcel/work/development/bob/packages/bob.example.faceverify/faceverify/eigenface.py", line 107, in main
model_features[key] = extract_feature(image, pca_machine)
File "/remote/filer.gx/user.active/marcel/work/development/bob/packages/bob.example.faceverify/faceverify/eigenface.py", line 57, in extract_feature
pca_machine(image.flatten(), projected_feature)
TypeError: cannot wrap numpy.ndarray(float64,1) as blitz::Array<float64,2> - dimensions do not match
https://gitlab.idiap.ch/bob/bob/-/issues/54LBPTopOperator is untested and seems to be buggy2016-08-04T09:28:38ZAndré AnjosLBPTopOperator is untested and seems to be buggy*Created by: laurentes*
The current LBPTopOperator implementation is a port of some older torch5spro code. Unfortunately, it suffers from the following problems (non-exhaustive list):
- No unit test!
- Does not seem to work!
- Poor pyth...*Created by: laurentes*
The current LBPTopOperator implementation is a port of some older torch5spro code. Unfortunately, it suffers from the following problems (non-exhaustive list):
- No unit test!
- Does not seem to work!
- Poor python bindings (no helper functions to get information about the expected size of the output)
- Generic C++ core exceptions rather than specialized ones
- Few check on the input/output array size are performed
This requires some serious revision.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/55Inappropriate documentation and inconsistencies in the LFW database2016-08-04T09:28:41ZAndré AnjosInappropriate documentation and inconsistencies in the LFW database*Created by: siebenkopf*
The documentation of the functions inside the In the bob.db.lfw.Database are incomplete/misleading:
- What is the difference between "clients", "clients_ids" and "clients_names"? Is the "clients_names" informat...*Created by: siebenkopf*
The documentation of the functions inside the In the bob.db.lfw.Database are incomplete/misleading:
- What is the difference between "clients", "clients_ids" and "clients_names"? Is the "clients_names" information really important for out purpose?
- The documentation of the "protocol" and "groups" parameters is misleading. If there are no groups and no protocols defined, either remove these keywords or document that these parameters are ignored.
- The documentation of the "files" method is incorrect since the method only returns the file names.
Furthermore, there are inconsistencies with other databases:
- To be consistent with other databases, the "clients" function should return the list of client ids, but it returns a list of tuples (client_id, client_name).
Additionally, I don't find a way to use the "unrestricted" training configuration that might be useful to train our algorithms. Is it possible to retrieve the required data for that?https://gitlab.idiap.ch/bob/bob/-/issues/56subworld 'onethird' of mobio is empty2016-08-04T09:28:44ZAndré Anjossubworld 'onethird' of mobio is empty*Created by: siebenkopf*
Dear Bobbers,
I just found out that the 'onethird' subworld of the mobio database does not seem to work correctly:
>>> files = bob.db.mobio.Database().files(groups='world', subworld='onethird')
>>> print len(f...*Created by: siebenkopf*
Dear Bobbers,
I just found out that the 'onethird' subworld of the mobio database does not seem to work correctly:
>>> files = bob.db.mobio.Database().files(groups='world', subworld='onethird')
>>> print len(files)
0
The 'twothirds' subworld works:
>>> files = bob.db.mobio.Database().files(groups='world', subworld='twothirds')
>>> print len(files)
1224
though it is not really 2/3 of the database:
>>> files = bob.db.mobio.Database().files(groups='world')
>>> print len(files)
9600
I guess that there is something wrong with the protocols...
Cheers
Manuelhttps://gitlab.idiap.ch/bob/bob/-/issues/57Doxygen warnings2016-08-04T09:28:46ZAndré AnjosDoxygen warnings*Created by: siebenkopf*
I just tried to clean up the doxygen documentation of Bob. I managed to decrease the number of doxygen warnings from 173 to 40. Unfortunately, I cannot fix the remaining issues since all of them relate to undocu...*Created by: siebenkopf*
I just tried to clean up the doxygen documentation of Bob. I managed to decrease the number of doxygen warnings from 173 to 40. Unfortunately, I cannot fix the remaining issues since all of them relate to undocumented function parameters, and since I didn't write the functions, I cannot tell what the parameters are.
So, please go through the doxygen warnings, which you might obtain by 'make doxygen', and see if you wrote some of the functions. If so, please add documentation for the parameters. Also re-think if the documentation of the function is correct (or if you have copied it from another function).
Thank you for your contribution.
Manuelhttps://gitlab.idiap.ch/bob/bob/-/issues/60bob.ip.get_angle_to_horizontal is buggy2016-08-04T09:28:52ZAndré Anjosbob.ip.get_angle_to_horizontal is buggy*Created by: siebenkopf*
The C++ implementation of the bob.ip.get_angle_to_horizontal is wrong. To compute the angle between the eyes and the horizontal position, the std::tan function is used instead of the std::atan2. Interestingly, t...*Created by: siebenkopf*
The C++ implementation of the bob.ip.get_angle_to_horizontal is wrong. To compute the angle between the eyes and the horizontal position, the std::tan function is used instead of the std::atan2. Interestingly, the effect is small when the eye positions are roughly horizontal before, but angles above 20 degrees are calculated wrongly.
The current position of the C++ implementation is located in the file cxx/ip/ip/rotate.h, but used in cxx/ip/ip/FaceEyesNorm.h. Maybe we should move the implementation. Also, we could maybe remove the python bindings of this function (I think, no-one is really using it).
Additionally, there is no unit-test for this function. Also, the bob.ip.FaceEyesNorm, which uses the above mentioned function, is not tested (there is some existing old test code, but it is not executed).
Let's hope that fixing that bug does not influence the face verification results much...https://gitlab.idiap.ch/bob/bob/-/issues/62Test python/io/lib/test/file.py overwrites files from distribution2016-08-04T09:28:54ZAndré AnjosTest python/io/lib/test/file.py overwrites files from distribution*Created by: tiagofrepereira2012*
This test seems to be overwriting files in the distribution directories. This should be re-done so that it creates a temporary directory and write files there. If something goes wrong with saving, then ...*Created by: tiagofrepereira2012*
This test seems to be overwriting files in the distribution directories. This should be re-done so that it creates a temporary directory and write files there. If something goes wrong with saving, then this will modify the core files.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/64ImageMagick 6.7.8 write/read issue on OSX2016-08-04T09:28:56ZAndré AnjosImageMagick 6.7.8 write/read issue on OSX*Created by: anjos*
Not sure this is related to OSX or ImageMagick 6.7.8. I just reported the problem to the ImageMagick developers:
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=21362*Created by: anjos*
Not sure this is related to OSX or ImageMagick 6.7.8. I just reported the problem to the ImageMagick developers:
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=21362v1.1https://gitlab.idiap.ch/bob/bob/-/issues/66cxx/ip/test/geomnorm.cc is not working2016-08-04T09:28:58ZAndré Anjoscxx/ip/test/geomnorm.cc is not working*Created by: siebenkopf*
I just detected that the C++ ip::GeomNorm test is disabled by documenting its inclusion in the CMakeLists.txt. I tried to simply enable the test, but it doesn't compile.
It would be nice, if either this test wo...*Created by: siebenkopf*
I just detected that the C++ ip::GeomNorm test is disabled by documenting its inclusion in the CMakeLists.txt. I tried to simply enable the test, but it doesn't compile.
It would be nice, if either this test would be corrected or removed. Since it has Laurent's name in it, I assign it to him :)
Cheers,
Manuelv1.1https://gitlab.idiap.ch/bob/bob/-/issues/67Video support broken with ffmpeg 0.9 and superior2016-08-04T09:29:00ZAndré AnjosVideo support broken with ffmpeg 0.9 and superior*Created by: anjos*
Cannot read AVI files with ffmpeg 0.10 or 0.11. The last frames of long sequences seem all be set to zeros or cannot be read at all. To reproduce this problem, compile Bob against any of the above mentioned versions ...*Created by: anjos*
Cannot read AVI files with ffmpeg 0.10 or 0.11. The last frames of long sequences seem all be set to zeros or cannot be read at all. To reproduce this problem, compile Bob against any of the above mentioned versions and try to read and verify that an AVI file can be read as it is supposed to be.https://gitlab.idiap.ch/bob/bob/-/issues/68FIR database lacks proper documentation2016-08-04T09:29:03ZAndré AnjosFIR database lacks proper documentation*Created by: anjos*
It would be nice to have some more documentation explaining what is the FIR database in the Bob release (I wonder if we did it right to include it in the 1.0 release...) and where to download it if it is available. O...*Created by: anjos*
It would be nice to have some more documentation explaining what is the FIR database in the Bob release (I wonder if we did it right to include it in the 1.0 release...) and where to download it if it is available. Otherwise, some mentioning of Idiap internal use would be nice.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/72Gaussian filter is using Variance/2 instead of Variance2016-08-04T09:29:05ZAndré AnjosGaussian filter is using Variance/2 instead of Variance*Created by: laurentes*
There is an invalid parametrization in the Gaussian filter of the IP module. A factor 1/2 is missing is the argument of the exponential, which means that the variance given as a parameter of the filter correspond...*Created by: laurentes*
There is an invalid parametrization in the Gaussian filter of the IP module. A factor 1/2 is missing is the argument of the exponential, which means that the variance given as a parameter of the filter corresponds to the variance/2.
This can be easily fixed, but the main issue is that this class is used by the TanTriggs preprocessing. This means that if the fix is applied, the user SHOULD divide the provided variance by 2 to keep getting the same results. Therefore, I don't know what would be the most suitable option.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/76PIL package missing2016-08-04T09:29:11ZAndré AnjosPIL package missing*Created by: khoury*
Hi,
I successfully installed Bob on mac. However, while testing the commands in the tutorial, I found out that the "Image" package is missed.
Installing py26-pil using macport fixed the problem.
Thanks,
Elie.*Created by: khoury*
Hi,
I successfully installed Bob on mac. However, while testing the commands in the tutorial, I found out that the "Image" package is missed.
Installing py26-pil using macport fixed the problem.
Thanks,
Elie.https://gitlab.idiap.ch/bob/bob/-/issues/77DocTest on doc/TutorialsPerformance.rst gives a warning2016-08-04T09:29:13ZAndré AnjosDocTest on doc/TutorialsPerformance.rst gives a warning*Created by: siebenkopf*
When I execute the doctest, I get the following warning:
Document: doc/TutorialsPerformance
----------------------------------
/idiap/group/torch5spro/nightlies/externals/v3/ubuntu-10.04-x86_64/lib/python2.6/si...*Created by: siebenkopf*
When I execute the doctest, I get the following warning:
Document: doc/TutorialsPerformance
----------------------------------
/idiap/group/torch5spro/nightlies/externals/v3/ubuntu-10.04-x86_64/lib/python2.6/site-packages/matplotlib/__init__.py:908: UserWarning: This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.
It seems that there is something wrong with the call
matplotlib.use('pdf') #non-interactive avoids exception on display
in line 120 of the .rst file.
@André: Since the file header says that you are the author, I assigned this issue to you. Thanks for fixing that.
Manuelhttps://gitlab.idiap.ch/bob/bob/-/issues/78Ffmpeg on Ubuntu 12.04 generates a memory leak2016-08-04T09:29:16ZAndré AnjosFfmpeg on Ubuntu 12.04 generates a memory leak*Created by: anjos*
Download and/or compile the latest version of Bob on Ubuntu-12.04, with stock dependencies.
Execute the following script to see the leak:
```python
for in in range(100):
v = bob.io.VideoReader('/path/to/a/file.m...*Created by: anjos*
Download and/or compile the latest version of Bob on Ubuntu-12.04, with stock dependencies.
Execute the following script to see the leak:
```python
for in in range(100):
v = bob.io.VideoReader('/path/to/a/file.mov')
for frame in v:
x = bob.ip.rgb_to_gray(frame) #just use frame
```
The leak consumes the available memory pretty fast.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/79cmake complains about BLAS library not found even after installing BLAS and L...2016-08-04T09:29:18ZAndré Anjoscmake complains about BLAS library not found even after installing BLAS and LAPACK libraries (Fedora 14)*Created by: thelinuxmaniac*
In Fedora Core 14, cmake complains about BLAS library not found even after installing BLAS and LAPACK libraries.
$ cmake -DCMAKE_BUILD_TYPE=Release ../git/bob/
.....
CMake Error at src/math/cxx/CMakeLists.tx...*Created by: thelinuxmaniac*
In Fedora Core 14, cmake complains about BLAS library not found even after installing BLAS and LAPACK libraries.
$ cmake -DCMAKE_BUILD_TYPE=Release ../git/bob/
.....
CMake Error at src/math/cxx/CMakeLists.txt:18 (message):
BLAS library not found!
The BLAS and LAPACK libraries were installed using
$ yum install blas-devel.x86_64 blas.x86_64 lapack-devel.x86_64 lapack.x86_64
https://gitlab.idiap.ch/bob/bob/-/issues/80Logging system configuration in Python does not work as expected2016-08-04T09:29:20ZAndré AnjosLogging system configuration in Python does not work as expected*Created by: anjos*
If you use, from a C++ piece of code:
```C++
bob::core::info << "test" << std::endl;
```
This message is still logged after:
```python
import bob
```
Something is not quite right with the logging system settings.*Created by: anjos*
If you use, from a C++ piece of code:
```C++
bob::core::info << "test" << std::endl;
```
This message is still logged after:
```python
import bob
```
Something is not quite right with the logging system settings.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/83bob.daq.test.test_all.DaqTest with synchronization problems?2016-08-04T09:29:29ZAndré Anjosbob.daq.test.test_all.DaqTest with synchronization problems?*Created by: anjos*
The test unit "test_VideoReaderCamera" will fail with a segmentation fault if the following conditions are met:
1. Compile in *Debug* mode
2. Change `lib/python2.6/site-packages/bob/core/__init__.py` so that:
``...*Created by: anjos*
The test unit "test_VideoReaderCamera" will fail with a segmentation fault if the following conditions are met:
1. Compile in *Debug* mode
2. Change `lib/python2.6/site-packages/bob/core/__init__.py` so that:
```python
#cxx_logger.setLevel(logging.WARNING)
```
Is commented out as indicated. Notice this is a temporary change. If you run `make` again, it will be gone. If you wish to have a less temporary modification, change `<src>/python/bob/core/__init__.py` instead and re-run cmake. In this case, *remember to not commit* this modification.
3. Run the specific test that triggers the segmentation fault:
```sh
$ ./bin/nosetests -v bob.daq
This bug is not 100% reproducible. Sometimes the program may work. Specially if the messaging service is not used (or if you set the logging level to a different value that is less verbose than `logging.INFO`). I could reproduce this problem in different platforms, so I think it is platform independent.
You should see something like:
```
test_VideoReaderCamera (bob.daq.test.test_all.DaqTest) ... bob.c++@2012-09-18 11:02:51,518|INFO: Frame 0 received (0 sec) not recording
bob.c++@2012-09-18 11:02:51,579|INFO: Frame 1 received (0.04 sec) not recording
bob.c++@2012-09-18 11:02:51,613|INFO: Frame 2 received (0.08 sec) not recording
bob.c++@2012-09-18 11:02:51,646|INFO: Frame 3 received (0.12 sec) not recording
bob.c++@2012-09-18 11:02:51,679|INFO: Frame 4 received (0.16 sec) not recording
bob.c++@2012-09-18 11:02:51,713|INFO: Frame 5 received (0.2 sec) not recording
bob.c++@2012-09-18 11:02:51,746|INFO: Frame 6 received (0.24 sec) not recording
bob.c++@2012-09-18 11:02:51,779|INFO: Frame 7 received (0.28 sec) not recording
bob.c++@2012-09-18 11:02:51,812|INFO: Frame 8 received (0.32 sec) not recording
bob.c++@2012-09-18 11:02:51,825|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:51,884|INFO: Frame 9 received (0.36 sec) not recording
bob.c++@2012-09-18 11:02:51,918|INFO: Frame 10 received (0.4 sec) not recording
bob.c++@2012-09-18 11:02:51,952|INFO: Frame 11 received (0.44 sec) not recording
bob.c++@2012-09-18 11:02:51,986|INFO: Frame 12 received (0.48 sec) not recording
bob.c++@2012-09-18 11:02:52,020|INFO: Frame 13 received (0.52 sec) not recording
bob.c++@2012-09-18 11:02:52,062|INFO: Frame 14 received (0.56 sec) not recording
bob.c++@2012-09-18 11:02:52,097|INFO: Frame 15 received (0.6 sec) not recording
bob.c++@2012-09-18 11:02:52,131|INFO: Frame 16 received (0.64 sec) not recording
bob.c++@2012-09-18 11:02:52,134|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:52,194|INFO: Frame 17 received (0.68 sec) not recording
bob.c++@2012-09-18 11:02:52,229|INFO: Frame 18 received (0.72 sec) not recording
bob.c++@2012-09-18 11:02:52,263|INFO: Frame 19 received (0.76 sec) not recording
bob.c++@2012-09-18 11:02:52,297|INFO: Frame 20 received (0.8 sec) not recording
bob.c++@2012-09-18 11:02:52,332|INFO: Frame 21 received (0.84 sec) not recording
bob.c++@2012-09-18 11:02:52,367|INFO: Frame 22 received (0.88 sec) not recording
bob.c++@2012-09-18 11:02:52,401|INFO: Frame 23 received (0.92 sec) not recording
bob.c++@2012-09-18 11:02:52,435|INFO: Frame 24 received (0.96 sec) not recording
bob.c++@2012-09-18 11:02:52,447|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:52,508|INFO: Frame 25 received (1 sec) not recording
bob.c++@2012-09-18 11:02:52,567|INFO: Frame 26 received (1.04 sec) recording
bob.c++@2012-09-18 11:02:52,628|INFO: Frame 27 received (1.08 sec) recording
bob.c++@2012-09-18 11:02:52,689|INFO: Frame 28 received (1.12 sec) recording
bob.c++@2012-09-18 11:02:52,749|INFO: Frame 29 received (1.16 sec) recording
bob.c++@2012-09-18 11:02:52,757|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:52,816|INFO: Frame 30 received (1.2 sec) recording
bob.c++@2012-09-18 11:02:52,877|INFO: Frame 31 received (1.24 sec) recording
bob.c++@2012-09-18 11:02:52,938|INFO: Frame 32 received (1.28 sec) recording
bob.c++@2012-09-18 11:02:52,997|INFO: Frame 33 received (1.32 sec) recording
bob.c++@2012-09-18 11:02:53,059|INFO: Frame 34 received (1.36 sec) recording
bob.c++@2012-09-18 11:02:53,069|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:53,129|INFO: Frame 35 received (1.4 sec) recording
bob.c++@2012-09-18 11:02:53,190|INFO: Frame 36 received (1.44 sec) recording
bob.c++@2012-09-18 11:02:53,251|INFO: Frame 37 received (1.48 sec) recording
bob.c++@2012-09-18 11:02:53,310|INFO: Frame 38 received (1.52 sec) recording
bob.c++@2012-09-18 11:02:53,371|INFO: Frame 39 received (1.56 sec) recording
bob.c++@2012-09-18 11:02:53,374|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:53,436|INFO: Frame 40 received (1.6 sec) recording
bob.c++@2012-09-18 11:02:53,497|INFO: Frame 41 received (1.64 sec) recording
bob.c++@2012-09-18 11:02:53,558|INFO: Frame 42 received (1.68 sec) recording
bob.c++@2012-09-18 11:02:53,619|INFO: Frame 43 received (1.72 sec) recording
bob.c++@2012-09-18 11:02:53,679|INFO: Frame 44 received (1.76 sec) recording
bob.c++@2012-09-18 11:02:53,694|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:53,755|INFO: Frame 45 received (1.8 sec) recording
bob.c++@2012-09-18 11:02:53,815|INFO: Frame 46 received (1.84 sec) recording
bob.c++@2012-09-18 11:02:53,875|INFO: Frame 47 received (1.88 sec) recording
bob.c++@2012-09-18 11:02:53,936|INFO: Frame 48 received (1.92 sec) recording
bob.c++@2012-09-18 11:02:53,997|INFO: Frame 49 received (1.96 sec) recording
bob.c++@2012-09-18 11:02:54,002|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:54,062|INFO: Frame 50 received (2 sec) recording
bob.c++@2012-09-18 11:02:54,122|INFO: Frame 51 received (2.04 sec) recording
bob.c++@2012-09-18 11:02:54,183|INFO: Frame 52 received (2.08 sec) recording
bob.c++@2012-09-18 11:02:54,242|INFO: Frame 53 received (2.12 sec) recording
bob.c++@2012-09-18 11:02:54,303|INFO: Frame 54 received (2.16 sec) recording
bob.c++@2012-09-18 11:02:54,308|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:54,369|INFO: Frame 55 received (2.2 sec) recording
bob.c++@2012-09-18 11:02:54,429|INFO: Frame 56 received (2.24 sec) recording
bob.c++@2012-09-18 11:02:54,489|INFO: Frame 57 received (2.28 sec) recording
bob.c++@2012-09-18 11:02:54,550|INFO: Frame 58 received (2.32 sec) recording
bob.c++@2012-09-18 11:02:54,608|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:54,611|INFO: Frame 59 received (2.36 sec) recording
bob.c++@2012-09-18 11:02:54,670|INFO: Frame 60 received (2.4 sec) recording
bob.c++@2012-09-18 11:02:54,731|INFO: Frame 61 received (2.44 sec) recording
bob.c++@2012-09-18 11:02:54,790|INFO: Frame 62 received (2.48 sec) recording
bob.c++@2012-09-18 11:02:54,851|INFO: Frame 63 received (2.52 sec) recording
bob.c++@2012-09-18 11:02:54,902|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:54,963|INFO: Frame 64 received (2.56 sec) recording
bob.c++@2012-09-18 11:02:55,022|INFO: Frame 65 received (2.6 sec) recording
bob.c++@2012-09-18 11:02:55,083|INFO: Frame 66 received (2.64 sec) recording
bob.c++@2012-09-18 11:02:55,145|INFO: Frame 67 received (2.68 sec) recording
bob.c++@2012-09-18 11:02:55,194|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:55,255|INFO: Frame 68 received (2.72 sec) recording
bob.c++@2012-09-18 11:02:55,315|INFO: Frame 69 received (2.76 sec) recording
bob.c++@2012-09-18 11:02:55,377|INFO: Frame 70 received (2.8 sec) recording
bob.c++@2012-09-18 11:02:55,437|INFO: Frame 71 received (2.84 sec) recording
bob.c++@2012-09-18 11:02:55,492|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:55,553|INFO: Frame 72 received (2.88 sec) recording
bob.c++@2012-09-18 11:02:55,613|INFO: Frame 73 received (2.92 sec) recording
bob.c++@2012-09-18 11:02:55,673|INFO: Frame 74 received (2.96 sec) recording
bob.c++@2012-09-18 11:02:55,731|INFO: Frame 75 received (3 sec) recording
bob.c++@2012-09-18 11:02:55,788|INFO: Face detect result: detected
bob.c++@2012-09-18 11:02:55,791|INFO: Frame 76 received (3.04 sec) recording
bob.c++@2012-09-18 11:02:55,850|INFO: Frame 77 received (3.08 sec) recording
bob.c++@2012-09-18 11:02:55,910|INFO: Frame 78 received (3.12 sec) recording
bob.c++@2012-09-18 11:02:55,970|INFO: Frame 79 received (3.16 sec) recording
bob.c++@2012-09-18 11:02:56,028|INFO: Frame 80 received (3.2 sec) recording
bob.c++@2012-09-18 11:02:56,093|INFO: Frame 81 received (3.24 sec) recording
Segmentation fault (core dumped)
```https://gitlab.idiap.ch/bob/bob/-/issues/84GradientMaps orientation is wrong (This affects HOG descriptors)2012-09-18T10:17:13ZAndré AnjosGradientMaps orientation is wrong (This affects HOG descriptors)*Created by: laurentes*
There is a bug when computing the orientation maps using the bob::ip::GradientMaps class.
This currently affects the computation of HOG descriptors.
This was originally caused by a mistake in the blitz++ docume...*Created by: laurentes*
There is a bug when computing the orientation maps using the bob::ip::GradientMaps class.
This currently affects the computation of HOG descriptors.
This was originally caused by a mistake in the blitz++ documentation available at late www.oonumerics.org. A copy of this documentation can be found here, with the mistake: http://www-cecpv.u-strasbg.fr/Documentations/blitz/blitz_3.html#SEC89. The signature of the blitz::atan2 reduction is indeed wrong. The correct version is blitz::atan2(y,x) instead of the blitz::atan2(x,y). The fixed version is consistent with the signature of the standard function atan2(y,x) (http://www.cplusplus.com/reference/std/valarray/atan2/).v1.1https://gitlab.idiap.ch/bob/bob/-/issues/85Information messages during time-requiring training procedures2016-08-04T09:29:32ZAndré AnjosInformation messages during time-requiring training procedures*Created by: laurentes*
The stream bob::core::info was previously used to display information messages during iterative time-requiring training procedures, such as in the EMTrainer. Since recent changes occur in the way bob deals with I...*Created by: laurentes*
The stream bob::core::info was previously used to display information messages during iterative time-requiring training procedures, such as in the EMTrainer. Since recent changes occur in the way bob deals with I/O streams, these messages are not displayed anymore (at least through the python interpreter).
It would be nice to design guidelines for these kinds of procedures, explaining the way we should print such messages or at least providing the user an option to display them. We clearly lack of consistency accross the training submodule.https://gitlab.idiap.ch/bob/bob/-/issues/86Arrayset new features and improvements2016-08-04T09:29:36ZAndré AnjosArrayset new features and improvements*Created by: laurentes*
There are two new features that would be nice for the bob.io.Arrayset class.
1. There is currently no way to clear the content of an arrayset. The two options are a. to iterate over and delete the elements one b...*Created by: laurentes*
There are two new features that would be nice for the bob.io.Arrayset class.
1. There is currently no way to clear the content of an arrayset. The two options are a. to iterate over and delete the elements one by one or b. to delete the python object. It would be nice to introduce a clear() method.
2. There are only two possible states for an Arrayset:
* ``external`` where the content is in a file
* ``inlined`` where the content is stored in a set of bob.io.Arrays (as many as the number of samples in the Arrayset).
The ``inlined`` version might introduce a significant overhead when the Arraysets consists of many small Arrays, as in this case, there are as many Array headers as samples.
One solution would be to have a third state which stores the sample in a single Array, and where samples are obtained by slicing this Array over the third dimension.
Below is an example to highlight the problem:
Firstly, we allocate 50 samples of dimensions 1024*1024 double's, that is 400MBytes overall.
```python
import numpy, bob
A=bob.io.Arrayset(numpy.random.rand(50,1024*1024))
```
The memory usage reported (using command line tool "top") is roughly 400MB.
Secondly, we allocate 1024*1024 samples of dimensions 50 double's, that is 400MBytes overall as well.
```python
import numpy, bob
A=bob.io.Arrayset(numpy.random.rand(1024*1024,50))
```
The memory usage reported is about 800MB, which means an overhead of 100%. In particular, this occurs in common UBM/GMM experiments. Furthermore, it would be nice to find a fix.
Any suggestion is welcome.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/88Bob opportunistically links against Qt42016-08-04T09:29:40ZAndré AnjosBob opportunistically links against Qt4*Created by: anjos*
The current way the build is structured, there is no flag that allows us switching off ~~OpenCV and~~ Qt4 dependences. If they are available on the target system, they are compiled and linked into the final binaries....*Created by: anjos*
The current way the build is structured, there is no flag that allows us switching off ~~OpenCV and~~ Qt4 dependences. If they are available on the target system, they are compiled and linked into the final binaries.
This behavior is incompatible with packaging tools in which you can describe to which packages another package may depend on. If Bob opportunistically links against what is available, the packaging system will not detect real dependences and avoid, for example, OpenCV to be removed without Bob being removed first.
For the time being, a solution would be to make the build systems always install all dependencies.
This bug was triggered by a bug reported to us on MacPorts: https://trac.macports.org/ticket/36491v1.2https://gitlab.idiap.ch/bob/bob/-/issues/90Version of Bob at configuration time is not trasmitted to setup.py2012-10-09T20:56:56ZAndré AnjosVersion of Bob at configuration time is not trasmitted to setup.py*Created by: anjos*
If I start Idiap's Bob:
```python
>>> import pkg_resources
>>> pkg_resources.require('bob')[0]
bob 1.1.0a0 (/usr/lib/pymodules/python2.6)
```
This needs fixing before release 1.1.1.*Created by: anjos*
If I start Idiap's Bob:
```python
>>> import pkg_resources
>>> pkg_resources.require('bob')[0]
bob 1.1.0a0 (/usr/lib/pymodules/python2.6)
```
This needs fixing before release 1.1.1.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/91ImageMagick and PNM image support2016-08-04T09:29:44ZAndré AnjosImageMagick and PNM image support*Created by: laurentes*
We are constantly facing problems across [ImageMagick](http://www.imagemagick.org/) versions shipped with various Ubuntu distributions. In particular, we were not able to find a good way to deal with the portable...*Created by: laurentes*
We are constantly facing problems across [ImageMagick](http://www.imagemagick.org/) versions shipped with various Ubuntu distributions. In particular, we were not able to find a good way to deal with the portable anymap format (PNM) image formats (pbm, pgm and ppm), because [ImageMagick](http://www.imagemagick.org/) behaviour is version dependent.
Furthermore, we are planning to rely on the (hopefully) more stable library [libnetpbm](http://netpbm.sourceforge.net/) to deal with these image formats.
As we have recently noticed behavior changes with the jpeg codec, we are also considering to get rid of the Imagemagick dependency for the IO codecs, in favor of more specific image libraries (such as libpng and libjpeg).https://gitlab.idiap.ch/bob/bob/-/issues/93ImageMagick shipped with Ubuntu 12.10 Quantal (alpha) causes crashes2016-08-04T09:29:47ZAndré AnjosImageMagick shipped with Ubuntu 12.10 Quantal (alpha) causes crashes*Created by: laurentes*
Running the testsuite on the upcoming Ubuntu distribution, we have noticed two problems with the following tests:
```sh
user@ubuntu64--12-04:~/bob/builddebug$ ./bin/nosetests -x bob.io.test.test_examples -v
...*Created by: laurentes*
Running the testsuite on the upcoming Ubuntu distribution, we have noticed two problems with the following tests:
```sh
user@ubuntu64--12-04:~/bob/builddebug$ ./bin/nosetests -x bob.io.test.test_examples -v
test01_video2frame (bob.io.test.test_examples.ExampleTest) ... python2.7: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
Aborted (core dumped)
```
```sh
user@ubuntu64--12-04:~/bob/builddebug$ ./bin/nosetests -x bob.visioner.test.test_scripts -v
test01_face_detect (bob.visioner.test.test_scripts.VisionerScriptTest) ... ok
test02_face_detect (bob.visioner.test.test_scripts.VisionerScriptTest) ... python2.7: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
Aborted (core dumped)
```
This seems to be related to an ImageMagick [bug](http://www.imagemagick.org/discourse-server/viewtopic.php?f=23&t=21741) on version 6.7.7.*, which is (unfortunately) the version (6.7.7.10-2) that will be shipped with Ubuntu Quantal. However this has been fixed in [commit](http://trac.imagemagick.org/changeset?reponame=&new=8762%40ImageMagick%2Ftrunk%2FMagickCore%2Fcache-view.c&old=8759%40ImageMagick%2Ftrunk%2FMagickCore%2Fcache-view.c) and integrated in current releaases of ImageMagick.
This is related to multithreading. We need to investigate further and see if we can find a workaround.https://gitlab.idiap.ch/bob/bob/-/issues/95problem with visualizing .pgm files written by bob2016-08-04T09:29:52ZAndré Anjosproblem with visualizing .pgm files written by bob*Created by: ivana7c*
The format of the .pgm files written by bob are not supported by some applications like GNOME image viewer or Gimp etc. However, it is possible to correctly read them back using bob. The difference between an .pgm ...*Created by: ivana7c*
The format of the .pgm files written by bob are not supported by some applications like GNOME image viewer or Gimp etc. However, it is possible to correctly read them back using bob. The difference between an .pgm image written with bob and other .pgm image is in the header (P7 for bob, P5 for other image).
Here is how to reproduce the error:
import bob
import numpy
img=numpy.random.randint(0,255,size=(100,100)).astype(numpy.uint8)
bob.io.save(img, 'test.pgm')
https://gitlab.idiap.ch/bob/bob/-/issues/98Syntax error in VideoWriter2.cc2016-08-04T09:29:58ZAndré AnjosSyntax error in VideoWriter2.cc*Created by: ozancaglayan*
In src/io/cxx/VideoWriter2.cc, line 127 lacks a terminating comma(,):
```
float framerate, float bitrate, size_t gop
```
should be
```
float framerate, float bitrate, size_t gop,
```*Created by: ozancaglayan*
In src/io/cxx/VideoWriter2.cc, line 127 lacks a terminating comma(,):
```
float framerate, float bitrate, size_t gop
```
should be
```
float framerate, float bitrate, size_t gop,
```https://gitlab.idiap.ch/bob/bob/-/issues/99blitz include error on multilib installations2016-08-04T09:30:02ZAndré Anjosblitz include error on multilib installations*Created by: ozancaglayan*
Fedora installs architecture dependent blitz/gnu/bzconfig.h header into /usr/lib64/blitz/include. This path should be included when building the project. This is already indicated in the pkgconfig file of blit...*Created by: ozancaglayan*
Fedora installs architecture dependent blitz/gnu/bzconfig.h header into /usr/lib64/blitz/include. This path should be included when building the project. This is already indicated in the pkgconfig file of blitz package in Cflags:
```
Name: blitz
Description: blitz Library
Version: 0.9
Requires:
Libs: -L${libdir} -lblitz
Cflags: -I${includedir} -I${libdir}/blitz/include
```
but CMake is not aware of that. I've adjusted src/blitz.cmake and added the following line to fix this:
```
include_directories(/usr/lib64/blitz/include)
```
This can probably be done in a more elegant way but I don't know how.
Thanks.https://gitlab.idiap.ch/bob/bob/-/issues/100Honor multilib distributions when installing libraries2016-08-04T09:30:08ZAndré AnjosHonor multilib distributions when installing libraries*Created by: ozancaglayan*
Hi,
Current build system installs shared libraries and pkgconfig files under /usr/lib but python site-package under /usr/lib64 on a multilib x86_64 distro like F17.
The correct directory is /usr/lib64 for bo...*Created by: ozancaglayan*
Hi,
Current build system installs shared libraries and pkgconfig files under /usr/lib but python site-package under /usr/lib64 on a multilib x86_64 distro like F17.
The correct directory is /usr/lib64 for both. I've created a patch for taking care of the library suffix using CMake. This also fixed nosetests and sphinx-doctest targets which were failing on the current tree on my system.
The patch is at:
https://gist.github.com/4246783
Thanks!https://gitlab.idiap.ch/bob/bob/-/issues/102Cleaning the builds on MacOSX fails2016-08-04T09:30:14ZAndré AnjosCleaning the builds on MacOSX fails*Created by: siebenkopf*
The clean-up on *MacOSX* in the buildbot seems not to work. Apparently, the directories where it is executed:
/idiap/group/torch5spro/scratch/buildbot-slave/ekhoury-x86_64/idiap-10.04-x86_64-incremental+stable/...*Created by: siebenkopf*
The clean-up on *MacOSX* in the buildbot seems not to work. Apparently, the directories where it is executed:
/idiap/group/torch5spro/scratch/buildbot-slave/ekhoury-x86_64/idiap-10.04-x86_64-incremental+stable/build
and
/idiap/group/torch5spro/scratch/buildbot-slave/ekhoury-x86_64/idiap-10.04-x86_64-incremental+stable/extras/tools
are wrong in the clean scripts.
@André: Could you fix that?
Cheers
Manuelhttps://gitlab.idiap.ch/bob/bob/-/issues/106Blitz++ misdetection does not stop the build2013-03-07T11:10:47ZAndré AnjosBlitz++ misdetection does not stop the build*Created by: anjos*
Testing this unexpected feature of our build system on Arch Linux's buggy Blitz++ installation (no pkg-config for Blitz++ was available), made me realize that, at no times, we have a provision for a failed Bltiz++ de...*Created by: anjos*
Testing this unexpected feature of our build system on Arch Linux's buggy Blitz++ installation (no pkg-config for Blitz++ was available), made me realize that, at no times, we have a provision for a failed Bltiz++ detection or that it is not working adequately. A fix must be inserted before the next release.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/107Warnings in bash scripts caused by CYGWIN check2016-08-04T09:30:24ZAndré AnjosWarnings in bash scripts caused by CYGWIN check*Created by: laurentes*
Recently, we introduced a specific test to set the PATH properly for CYGWIN in the following bash scripts:
- python/bin/gdbpy.in
- python/bin/ipython.in
- python/bin/python.in
This generates the following k...*Created by: laurentes*
Recently, we introduced a specific test to set the PATH properly for CYGWIN in the following bash scripts:
- python/bin/gdbpy.in
- python/bin/ipython.in
- python/bin/python.in
This generates the following kind of warnings under Ubuntu
```sh
./bin/python: 5: [: unexpected operator
```v1.2https://gitlab.idiap.ch/bob/bob/-/issues/108Libavutil PixelFormat C-style macro conflicts with bob daq PixelFormat enum2016-08-04T09:30:26ZAndré AnjosLibavutil PixelFormat C-style macro conflicts with bob daq PixelFormat enum*Created by: laurentes*
This bug was initially reported on [macports](https://trac.macports.org/ticket/37833).
The problem has occured after a libavutil update on macports, which now defines a C macro PixelFormat in /opt/local/include/...*Created by: laurentes*
This bug was initially reported on [macports](https://trac.macports.org/ticket/37833).
The problem has occured after a libavutil update on macports, which now defines a C macro PixelFormat in /opt/local/include/libavutil/pixfmt.h:307:21
```C
#define PixelFormat AVPixelFormat
```
As the macro seems to be used in src/io/cxx/VideoUtilities.cc, we can't undefine it just after the inclusion of the libavutil header. One solution would be to undefine it in the fundamental headers of the DAQ submodule, include/bob/daq/Camera.h and include/bob/daq/Controller.hhttps://gitlab.idiap.ch/bob/bob/-/issues/110IP bug for rgb_to_hsl: returns NaNs2016-08-04T09:30:30ZAndré AnjosIP bug for rgb_to_hsl: returns NaNs*Created by: csmccool*
The floating point implementations of "rgb_to_hsl" return NaNs if you pass an RGB array of ones (1.,1.,1.), however, the integer based methods don't seem to have this issue. Below are some examples of the problem ...*Created by: csmccool*
The floating point implementations of "rgb_to_hsl" return NaNs if you pass an RGB array of ones (1.,1.,1.), however, the integer based methods don't seem to have this issue. Below are some examples of the problem using the python interface:
```python
import bob;
import scipy;
bob.ip.rgb_to_hsl(scipy.array([[[1.]],[[1.]],[[1.]]])) # Using a scipy array or numpy array
```
RETURNS
```python
array([[[ nan]],
[[ nan]],
[[ 1.]]])
```
While
```python
bob.ip.rgb_to_hsl_f(1.,1.,1.)
```
RETURNS
```python
(nan, nan, 1.0)
```
The integer based methods seem to be ok as can be seen below:
```python
bob.ip.rgb_to_hsl_u8(255,255,255)
RETURNS
(0, 0, 255)
bob.ip.rgb_to_hsl_u16(65535,65535,65535)
RETURNS
(0, 0, 65535)
```
Cheers,
Chris.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/112Iterator over the VideoReader objects does not work2016-08-04T09:30:35ZAndré AnjosIterator over the VideoReader objects does not work*Created by: ivana7c*
Since the recent video codec update (in the current master branch), it seems that it's not possible to iterate over the VideoReader. Although the video is correctly read.
```python
video = bob.io.VideoReader('...*Created by: ivana7c*
Since the recent video codec update (in the current master branch), it seems that it's not possible to iterate over the VideoReader. Although the video is correctly read.
```python
video = bob.io.VideoReader('/idiap/group/biometric/competitions/ICB_2013_REPLAY/anonymized_test_set/videos/test_sequence_001.mov')
for frame_index, frame in enumerate(video):
print frame_index
print frame
```https://gitlab.idiap.ch/bob/bob/-/issues/114Publication for BOB hidden :-(2013-04-05T11:05:11ZAndré AnjosPublication for BOB hidden :-(*Created by: smarcel*
Hi guys
I suggest to copy the reference for BOB which is currently here:
https://github.com/idiap/bob/wiki/Publications
upfront on the website.
Either on the main page http://idiap.github.com/bob/
and/o...*Created by: smarcel*
Hi guys
I suggest to copy the reference for BOB which is currently here:
https://github.com/idiap/bob/wiki/Publications
upfront on the website.
Either on the main page http://idiap.github.com/bob/
and/or the most visited pages:
https://github.com/idiap/bob/wiki/Releases
http://www.idiap.ch/software/bob/docs/releases/last/sphinx/html/
v1.2https://gitlab.idiap.ch/bob/bob/-/issues/115Logistic Regression does not implement regularization2016-08-04T09:30:38ZAndré AnjosLogistic Regression does not implement regularization*Created by: anjos*
This is a must when you start using LLR seriously, so I'd +1 this feature request.
More info and implementation details on Sebastien's lectures: http://www.idiap.ch/~marcel/lectures/lectures/epfl2013/FSPR_lecture4...*Created by: anjos*
This is a must when you start using LLR seriously, so I'd +1 this feature request.
More info and implementation details on Sebastien's lectures: http://www.idiap.ch/~marcel/lectures/lectures/epfl2013/FSPR_lecture4.pdfv1.2https://gitlab.idiap.ch/bob/bob/-/issues/118Proper definition of the abstract Machine template class2016-08-04T09:30:45ZAndré AnjosProper definition of the abstract Machine template class*Created by: laurentes*
For the major release 1.2.0, I would be in favour of clearly:
1. Defining what a machine is: To my mind, it is something that can be trained (like the term 'machine' in 'machine learning'), and that ouputs somet...*Created by: laurentes*
For the major release 1.2.0, I would be in favour of clearly:
1. Defining what a machine is: To my mind, it is something that can be trained (like the term 'machine' in 'machine learning'), and that ouputs something given some input.
2. Updating the current abstract class API. To my mind, a machine should have:
- forward's methods
- load/save methods
- copy constructor, assignment operator, and comparison operators (==, != and is_similar_to)
Once done, we should update the 'machine' module accordingly. In addition, for each template, the generic Machine can be bound into python, which will help us to have a more consistent API.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/119Proper definition and usage of the abstract Trainer template class2016-08-04T09:30:47ZAndré AnjosProper definition and usage of the abstract Trainer template class*Created by: laurentes*
For the major release 1.2.0, I would be in favour of consolidating the abstract Trainer class. There are trainer class that do not inherit from it. In this case, inheritance might help us to uniformise the API.*Created by: laurentes*
For the major release 1.2.0, I would be in favour of consolidating the abstract Trainer class. There are trainer class that do not inherit from it. In this case, inheritance might help us to uniformise the API.v1.2https://gitlab.idiap.ch/bob/bob/-/issues/1202D PCA implementation is incomplete (and untested)2013-05-02T12:29:31ZAndré Anjos2D PCA implementation is incomplete (and untested)*Created by: laurentes*
Ages ago, I've started to implement the 2D PCA algorithm described in the following paper:
[Two-Dimensional PCA: A New Approach to Appearance-Based Face Representation and Recognition, Yang et. al, TPAMI 2004](h...*Created by: laurentes*
Ages ago, I've started to implement the 2D PCA algorithm described in the following paper:
[Two-Dimensional PCA: A New Approach to Appearance-Based Face Representation and Recognition, Yang et. al, TPAMI 2004](http://repository.lib.polyu.edu.hk/jspui/bitstream/10397/190/1/137.pdf).
This should be finalized or removed before the next major release.
More recent work on the Generalized PCA (e.g. Vidal, and co. http://cis.jhu.edu/~rvidal/) might be considered.v1.2