To facilitate installation, I provide here a description how to compile the FIRE server on Ubuntu 10.4 from scratch.
The description applies to FIRE V 2.3 (SVN checkout of July 26, 2010).
Compiling FIRE
- default Ubuntu 10.4 installation (in May 2010 in virtualbox)
- upgrade to recent state (sudo apt-get update; sudo apt-get dist-upgrade) on July 26, 2010
- sudo apt-get install subversion g++ libmagick++-dev
- svn checkout http://fire-cbir.googlecode.com/svn/trunk/ fire-cbir
- cd fire-cbir
- make
After that the bin-Directory contain a total of 47 binaries and the FIRE server is ready to use.
Integration with Apache
- sudo apt-get install apache2
- cd ~/fire-cbir/
- sudo cp Python/firesocket.py /usr/lib/cgi-bin
- cd WebInterface
- sudo cp fire.py feature.py img.py config.py fire-template.html /usr/lib/cgi-bin
- sudo mkdir /usr/lib/cgi-bin/images
- sudo cp neutral.png positive.png negative.png fire-logo.png i6.png /usr/lib/cgi-bin/images
Now all the files should be in place for the FIRE webinterface to work
Setting up a dataset
- create a directory mkdir ~/fire-img
- put a set of medium sized images (e.g. 500x500 pixels) into this directory. For a start use about 100 images.
- convert all images into jpg (not necessary but often avoids problems)
- cd ~/fire-img
- mogrify -format jpg *
- extract color histograms
- ~/fire-cbir/bin/extractcolorhistograms --color --images ~/fire-img/*.jpg
- create a filelist for this dataset
- cd ~/fire-img/
- echo FIRE_filelist > filelist
- echo suffix color.histo.gz >> filelist
- echo path this >> filelist
- ls *.jpg | sed 's/^/file /' >> filelist
Now you have a dataset where every image is represented using a color histogram. Other features can be added by extracting them and adding the corresponding suffix lines to the filelist.
Starting the FIRE server and accessing it through the webinterface
- cd ~/fire-cbir
- ./bin/fire -f ~/fire-img/filelist -r 10
- Access the fire webinterface throught http://localhost/cgi-bin/fire.py
- There you should be able to click an image and get similar images (according to color histograms)
Hi Thomas,
Thanks for this doc. It is clear. With it I have succeed in installing FIRE. But there are some bugs in the 'fire.py'. After access the webinterface through http://localhost/cgi-bin/fire.py, I click the upload form, then I get the message error in the page as follow:
Traceback (most recent call last): File "/usr/lib/cgi-bin/fire.py", line 862, in message+=newFile(form) File "/usr/lib/cgi-bin/fire.py", line 359, in newFile temporaryFiles=config.tempdir # standard: "/tmp" AttributeError?: 'module' object has no attribute 'tempdir'
Do you have some ideas about this ?
Best Kai
I have the same problem with the above person.If you have same idea about it and have free time,please tell me. thank you!
hi guys, in 'config.py',u should delete '#' in front of 'tempdir="/tmp"' in line 12; also, u may add a line 'featureurl="feature.py"' to keep the system running, but still not sovling the problem, seems something else to be done to run the uploading function.
i am new to this system. some questions: the page can not display some of the PNG pics, 'negative.png, positive.png,...', but logo.png is ok...i dont know why. can anybody help,plz.
and it can not display the histogram image, a PNG file again, i guess....
regards
I click the upload form, then I get the message error in the page as follow:
Traceback (most recent call last): File "/usr/lib/cgi-bin/fire.py", line 862, in message+=newFile(form) File "/usr/lib/cgi-bin/fire.py", line 359, in newFile temporaryFiles=config.tempdir # standard: "/tmp" AttributeError??: 'module' object has no attribute 'tempdir' plz help me because this important for me
If your pictures are not displayed at the localhost webinterface, make sure that your webserver has the proper rights to access your pictures.
Another hint, to make sure that FIRE really finds similar pictures, the proper command for launching the server should be: ./bin/fire -f ~/fire-img/filelist -D -r 10
Regards
The negative.png is spelled wrong. it is negativ.png, but i still cannot access the localhost webinterface. The terminal ends with: ... (10) Retriever/server.cpp:366:parseConfig? result=10 (10) Retriever/server.cpp:972:start? No proxy (2) Retriever/server.cpp:997:start? Waiting for connections on port 12960
so I changed the localhost to that port via localhost:12960/cgi-bin/fire.py but not getting anything
I have exactly the same problem, have you found where the problem is?
Thank!
Best
Has anyone solved this problem?
Thanks!
Regards
How to make sure my webserver has the proper rights to access the pictures?
Thanks!
Regards
hi I got an Assertion failure when executing the following cmd: ~/fire-cbir/bin/extractcolorhistograms --color --images ~/fire-img/.jpg
The Error msg is: (10) [FeatureExtractors/extractcolorhistogram.cpp:93:main] Processing '/home/zxj/fire-img/001.jpg' (1/101). extractcolorhistogram: magick/semaphore.c:525: LockSemaphoreInfo?: Assertion `semaphore_info != (SemaphoreInfo? ) ((void )0)' failed. Aborted
It seems something wrong with the ImageMagcik?. Anyone know how to fix this issue?
hi,guys,I come across a problem when I compile FIRE using the cmd "make":
/usr/bin/ld: lib//libRetriever.a(retriever.o): undefined reference to symbol 'omp_get_num_threads@@OMP_1.0' /usr/bin/ld: note: 'omp_get_num_threads@@OMP_1.0' is defined in DSO /usr/lib/libgomp.so.1 so try adding it to the linker command line /usr/lib/libgomp.so.1: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status make: [bin//fire] Error 1
my os is ARCH 32bit.Google says that because my os is 32bit while the program should be compiled on 64bit os.I don't know if it is true.Anyone who have compiled it can help me?