|
| 1 | +============================================================================== |
| 2 | +libpabod: Library for PArt-Based Object Detection in C++ |
| 3 | +============================================================================== |
| 4 | +Daniel Rodriguez Molina and Manuel J. Marin-Jimenez |
| 5 | + |
| 6 | +This software implements the object detection system described in Felzenszwalb et al. [1]. |
| 7 | +-------------------------------------------------------------------------------- |
| 8 | + |
| 9 | + Source-Code: https://github.com/mjmarin/libpabod |
| 10 | + |
| 11 | +-------------------------------------------------------------------------------- |
| 12 | +Contents of the package: |
| 13 | +-------------------------------------------------------------------------------- |
| 14 | +- bin - the executable file will be created here |
| 15 | +- data: |
| 16 | + - models - contains all the object model files |
| 17 | + - testimages - a set of images to test the software |
| 18 | +- doc - folder where the documentation will be generated |
| 19 | +- include - contains all the software header files |
| 20 | +- libs - folder where the library will be generated |
| 21 | +- obj - folder where the object files will be generated during the compilation |
| 22 | +- src - contains all the software source files |
| 23 | +- tests - contains some programs to test the library |
| 24 | +- makefile - used to compile the library, the documentation and the test program |
| 25 | + |
| 26 | +-------------------------------------------------------------------------------- |
| 27 | +Requirements: |
| 28 | +-------------------------------------------------------------------------------- |
| 29 | +This software has been tested on Ubuntu 10.10 (Maverick Meerkat) with the following libraries: |
| 30 | + - libmatio-dev - v1.3.4-2 (required) |
| 31 | + - libcv-dev - v2.1.0-2 (required) |
| 32 | + - libhighgui-dev - v2.1.0-2 (required) |
| 33 | + - doxygen - v1.7.1-1 (optional; used to generate the documentation) |
| 34 | + - graphviz - v2.26.3-4 (optional; used to generate figures for the documentation) |
| 35 | + |
| 36 | +-------------------------------------------------------------------------------- |
| 37 | +Quick start: |
| 38 | +-------------------------------------------------------------------------------- |
| 39 | + |
| 40 | +A) Classic installation (obsolete --> CMake is highly recommended): |
| 41 | + 1. Unpack in <libpabod_directory> |
| 42 | + 2. cd <libpabod_directory> |
| 43 | + 3.1. Generating the library |
| 44 | + > make |
| 45 | + 3.2. Creating the test programs |
| 46 | + > make alltests |
| 47 | + 3.3. Generating the documentation |
| 48 | + > make docum |
| 49 | + 3.4. Recompiling all |
| 50 | + > make cleanobj |
| 51 | + > make |
| 52 | + |
| 53 | +Tip: use 'make all' to generate both the library and the test programs. |
| 54 | + |
| 55 | +B) Installing with CMake: |
| 56 | + Please, follow the steps described in the file named INSTALL. |
| 57 | + |
| 58 | +C) Testing the library: |
| 59 | + (assuming test program has been already generated) |
| 60 | + 1. cd <libpabod_directory> |
| 61 | + 2. ./bin/detectobj -m <model_path> -i <image_path> [-t <threshold>] [-o <detections_path>] [-d <0/1>] |
| 62 | + Example: |
| 63 | + > ./bin/detectobj -m data/models/person_v6.mat -i data/testimages/2008_007537.jpg -t -0.3 -o detections.txt |
| 64 | + |
| 65 | +If the program has finished correctly, you will find a text file named 'detections.txt' with the following structure: |
| 66 | + <number_of_detected_objects> |
| 67 | + <x1_i> <y1_i> <x2_i> <y2_i> <score_i> |
| 68 | +where <x1_i> <y1_i> <x2_i> <y2_i> are the pairs of coordinates of the i-th bounding box and <score_i> is its corresponding detection score. |
| 69 | + |
| 70 | +Tip: object detection can be performed directly on video frames (e.g. avi file) with the test program named 'detectvid'. |
| 71 | + |
| 72 | +-------------------------------------------------------------------------------- |
| 73 | +Citation: |
| 74 | +-------------------------------------------------------------------------------- |
| 75 | +If you use this library for your publications, please cite it as: |
| 76 | +@misc{libpabod, |
| 77 | + author = {Rodriguez-Molina, Daniel and Marin-Jimenez, Manuel J.}, |
| 78 | + title = {{LibPaBOD}: A Library for Part-Based Object Detection in {C++}}, |
| 79 | + year = {2011}, |
| 80 | + note = {Software available at \url{http://www.uco.es/~in1majim/}} |
| 81 | +} |
| 82 | + |
| 83 | +-------------------------------------------------------------------------------- |
| 84 | +Contact the authors: |
| 85 | +-------------------------------------------------------------------------------- |
| 86 | +Daniel Rodriguez Molina (developer) - i72romod@uco.es / daniel.rodriguez.molina@gmail.com |
| 87 | +Manuel J. Marin-Jimenez (advisor) - mjmarin@uco.es |
| 88 | + |
| 89 | +-------------------------------------------------------------------------------- |
| 90 | +References: |
| 91 | +-------------------------------------------------------------------------------- |
| 92 | +[1] P. Felzenszwalb, R. Girshick, D. McAllester, D. Ramanan. "Object Detection with Discriminatively Trained Part Based Models." IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 32, No. 9, September 2010. |
| 93 | +URL: http://people.cs.uchicago.edu/~pff/latent/ |
| 94 | + |
| 95 | +-------------------------------------------------------------------------------- |
| 96 | +Version history: |
| 97 | +-------------------------------------------------------------------------------- |
| 98 | + - v0.2.10: new option '-k' added to 'detectobj2' to show only K top detections |
| 99 | + - v0.2.9: moving CvMat to cv::Mat |
| 100 | + - v0.2.8: new class Detection |
| 101 | + - v0.2.7: memory leaks found by github/yokox solved. Thanks! |
| 102 | + - v0.2.6: new file 'export.h' for properly exporting functions to dll's. |
| 103 | + - v0.2.5: updated CMake files and other minor improvements for Windows compatibility. |
| 104 | + - v0.2.4: CMake and code updated to properly manage libmatio on Windows (thanks to Eric Sommerlade for his invaluable contributions). See new file 'INSTALL.windows'. libmatio 1.5.x is supported. |
| 105 | + - v0.2.2: detector component is now included in detections matrix. Other minor improvements. |
| 106 | + - v0.2.1: OpenMP is now optional via CMake. Selection of OpenMP overrides pthread's choice. |
| 107 | + - v0.2: new class Pabod. It encapsulates the class model and detection process. New demo file 'detectobj2.cpp' uses Pabod class. pthread is now optional via CMake. New 'quickstart.pdf' in directory 'doc'. |
| 108 | + - v0.1.7: fixed bugs (i.e. memory leaks) reported by <anonymous>. |
| 109 | + - v0.1.6: fixed documentation option for CMake (thanks to eichnerm). Use 'cmake .. -DINSTALL_DOC=ON" to generate the library documentation. |
| 110 | + - v0.1.5: CMake is supported (thanks to rmsalinas@uco.es). By default, the library is built in shared mode (non-static). |
| 111 | + - v0.1.4: added an alternative 'makeDetection' function. Updated makefile. Now 'make all' builds both the library and the test programs. |
| 112 | + - v0.1.3: added 'detectvid' program. It performs detection on video sequences (e.g. avi). Use 'make test3' to generate it. Use 'make alltests' to generate all test programs. |
| 113 | + - v0.1.2: small fixes in code. |
| 114 | + - v0.1.1: added 'detectobj' program. It can save detections to disk. Use 'make test2' to generate it. |
| 115 | + - v0.1: first release. |
| 116 | + |
0 commit comments