Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/goliaro/player_detection
https://github.com/goliaro/player_detection
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/goliaro/player_detection
- Owner: goliaro
- Created: 2018-06-11T08:58:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-02T11:04:54.000Z (over 6 years ago)
- Last Synced: 2024-10-16T14:12:31.164Z (3 months ago)
- Language: Python
- Homepage:
- Size: 8.53 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# player_detection
This code aims to associate observations of moving entities around a robot to either players and/or objects in the surrounding space.
- A first approach was to use Overlapping Mixtures of Gaussian Process Experts (OMGP), as in the 2011 [paper](//arxiv.org/abs/1108.3372) by Lázaro-Gredilla et al.
- A second approach consists in re-using the code and ideas from Ewerton Lopes' repository [lda-player-model](//github.com/ewerlopes/lda-player-model) and identifying the players from the detections of moving objects through an analysis of Gramian Angular Field Images.
- The robot is powered by the Robotics Operating System (ROS) and needs to be able to interact with the player and play a dynamic game. It uses lasers and a Microsoft Kinect ® camera to perform SLAM and to locate the player(s)The OMGP code is not too fast yet (because of the slowless of the np.linalg.solve function, see [cProfile results](//github.com/gabrieleoliaro/player_detection/blob/master/snakeviz%20cProfile.pdf)), and needs to be optimized.
**Files:**
* `covariance.py` -- Contains all the functions to generate the covariance matrices, test set covariances, and derivative matrices.
* `minimize.py` -- Allows you to minimize a differentiable multivariate function using conjugate gradients.
* `omgp.py` -- The main function setting up the initial hyperparameters and calling omgpEinc and omgp_bound in turns to solve the problem and make probabilistic predictions.
* `omgp_load.py` -- Used to generate random input or parse it from file.
* `omgpbound.py` -- Allows you to computes the negative of the Marginalized Variational Bound (F) and its derivatives wrt loghyper (dF).
* `omgpEinc.py` -- Performs the E-step.
* `parser.py` -- Draft of CSV parser for ROS log file coming from [Ewerton Lopes](//github.com/ewerlopes)'s player_tracker code. Eventually it will probably be included into the omgp_load file.
* `quality.py` -- Computes NMSE and NLPD measures for test data.
* `sq_dist.py` -- a function to compute a matrix of all pairwise squared distances
between two sets of vectors, stored in the columns of the two matrices, a
(of size D by n) and b (of size D by m). If only a single argument is given
or the second matrix is empty, the missing matrix is taken to be identical
to the first..
* `test_omgp.py` -- The main module used to run the OMGP program.
* `test.py` -- Module to read and print matrixes from and to xlsx files through pandas.
* `lda_launcher.py` -- The main module used to run the lda-player-model program .**Parameters in test_omgp:**
* `n` -- The number of points to generate for each GP.
* `D` -- The number of dimensions for the regression. To load a log file generated by the ROS code in [player-tracker](//github.com/ewerlopes/leg_tracker/tree/player_tracker) you have to set D = 2
* `M` -- The number of GPs/trajectories for the regression.
* `omgp_mode` -- Set this to OMGP_LOAD to load data from a log file or to OMGP_GENERATE to do a demo regression on randomly generated values.Dependencies
============
* Matplotlib
* Numpy
* CSVAcknowledgement
-------------------
The code performing the OMGP regression is a translation of the version in Matlab written by Lázaro Gredilla et al. for the paper in the reference belowReference
-------------------
Lázaro-Gredilla, Van Vaerenbergh, & Lawrence. (2011). Overlapping Mixtures of Gaussian Processes for the data association problem. Pattern Recognition, 45(4), 1386-1395.