POM: Occupancy map estimation for people detection

POM: Probabilistic Occupancy Map

The Probabilistic Occupancy Map is a procedure which estimates the marginal probabilities of presence of individuals at every location in an area of interest under a simple appearance model, given binary images corresponding to the result of a background-subtraction from different viewpoints.

The appearance model is parametrized by a family of rectangles which approximate the silhouettes of individuals standing at every location of interest, from every point of view.

Installation and test

This program should compile by typing make on any standard GNU/Linux system, as long as the libpng is installed with its header files.

To run a simple test on the images provided in the archive just type

./pom test.pom

It will generate several result files in the /tmp directory. If the program is not provided with a filename, it will process the standard input, but will not make any output.

Configuration file

The configuration file contains the following keywords

ROOM <view width> <view height> <number of cameras> <number of locations>
Defines the input image size, the number of cameras and the number of locations in the area of interest.
RECTANGLE <camera number> <location number> notvisible|<xmin> <ymin> <xmax> <ymax>
Defines the parameters of a certain rectangle, standing for an individual at a certain location viewed from a certain camera. All non-specified rectangles are “not visible” by default.
INPUT_VIEW_FORMAT <input image filename format>
Specifies the filenames of the input images produced by the background subtraction. The immobile parts should be black (0, 0, 0) and the moving ones white (255, 255, 255). See FILENAME FORMAT below.
RESULT_VIEW_FORMAT <result image filename format>
Specifies the filenames of the result probability files, which contains one marginal probability per line, hence as many lines as there are locations of interest. See FILENAME FORMAT below.
RESULT_FORMAT <result filename format>
Specifies the filenames of the result probability files. See FILENAME FORMAT below.
CONVERGENCE_VIEW_FORMAT <convergence file name format>
Specifies the filenames of the images for individual iteration during the convergence of the algorithm. Use with care, since tens of images will be produced for every single frame. See FILENAME FORMAT below.
PRIOR
Sets the prior probability of presence (common to all locations). Default is 0.01.
SIGMA_IMAGE_DENSITY
Sets the variance of the distance between the image produced by the background subtraction and the ideal synthetic image. Default is 0.01.
MAX_NB_SOLVER_ITERATIONS
Sets a bound on the number of iterations. Default is 100.
PROBA_IGNORED
Sets the probability of absence ignored by the solver to speed up the convergence (use with care, it can produce false positive). Default is 1.0.

The file test.pom provided in the archive gives an example. Lines starting with “#” are ignored.

Filename format

Every filename format in the configuration file is a string with the following three “conversion specifications”:

  • %c camera number
  • %f frame number
  • %i iteration number

Some of these fields may be meaningless, depending with the context. For instance the iteration number is defined only for CONVERGENCE_VIEW_FORMAT.

Data sets

Some of the multi-camera video sequences, that we acquired to test our people detection and tracking algorithms are available for download.

References

For more information about the POM algorithm, please check the section V and appendix A of:

Il contributo delle company towns per l’identità produttiva dell’Italia di Mezzo

A. K. De Almeida Santos 

La Città Lago. Prossimità e trasizione ecologica in un territorio dell’Italia di Mezzo. Laboratorio di Urbanistica 2, Milan, Italy, 2024-03-22.

Field Guide to Northern Tree-related Microhabitats: Descriptions and size limits for their inventory in boreal and hemiboreal forests of Europe and North America

R. Bütler Sauvain; L. Larrieu; L. F. Lunde; M. Maxence; B. Nordén et al. 

Swiss Federal Institute for Forest, Snow and Landscape Research WSL, Switzerland, 2024.

Data Champions Lunch Talks – Green Bytes: Data-Driven Approaches to EPFL Sustainability

M. S. P. Cubero-Castan; M. Peon Quiros; C. Gabella; F. Varrato; Loïc Lannelongue 

Data Champions Lunch Talks – Green Bytes: Data-Driven Approaches to EPFL Sustainability, EPFL, CM 1 221, April 18, 2024.

Comparison of Three Viral Nucleic Acid Preamplification Pipelines for Sewage Viral Metagenomics

X. Fernandez Cassi; T. Kohn 

Food and Environmental Virology. 2024. DOI : 10.1007/s12560-024-09594-3.

How to Support Students to Develop Skills that Promote Sustainability

S. R. Isaac; J. de Lima 

Teaching Transversal Skills for Engineering Studens: A Practical Handbook of Activities with Tangibles; EPFL, 2024.

How to Support Students Giving Each Other Constructive Feedback, Especially When It Is Difficult to Hear

S. R. Isaac; J. de Lima 

Teaching Transversal Skills for Engineering Studens: A Practical Handbook of Activities with Tangibles; EPFL, 2024.

How teachers can use the 3T PLAY trident framework to design an activity that develops transversal skills

S. R. Isaac; J. de Lima 

Teaching Transversal Skills for Engineering Studens: A Practical Handbook of Activities with Tangibles; EPFL, 2024.

The conceptual foundations of innate immunity: Taking stock 30 years later

Pradeu Thomas; Thomma Bart T.P.H.; Girarding Stephen; B. Lemaitre 

Immunity. 2024-04-09. Vol. 57, num. 4, p. 613-631. DOI : 10.1016/j.immuni.2024.03.007.

Radio-Activities: Architecture and Broadcasting in Cold War Berlin

A. Thiermann 

Cambridge, MA; London: MIT Press, 2024.

No Last One

A. Thiermann 

Revue Matières. 2024. num. 18.

This distributed version of the software is slightly slower than the one described in the article, for which many values such as the image size were hard-coded in the source to let the compiler optimize the code.

License

This source code is available under the terms of the version 3 of the GNU General Public License as published by the Free Software Foundation. In short: If you distribute a software that uses POM, you have to distribute it under GPL version 3, hence with the source code. Another option is to contact us to purchase a commercial license.

Contact

Please mail [email protected] for bug reports, comments and questions.

Download

Unix archive: pom_1.1.tar.gz

Python version: pypom.tar.gz