DOI: 10.6084/m9.figshare.1446147.v1
title: Information-Driven Active Audio-Visual Source Localization

description: The raw data recorded during the experiments is available in the folder "data", which includes the subfolders 'robotData-IG','robotData-Random', 'simulationData-IG' and 'simulationData-Random' for the data of the simulation and the robot experiments, respectively. In each step, all data needed for performance evaluations (that is, the action u selected by the system and the corresponding information gain, the sensory measurements z, the state of the system, the state estimate and the particle set itself) were serialized by Python's cPickle-module. Furthermore, the subfolder 'data\extracted_data_csv' contains all the data we used in our Figures in a condensed form, saved to csv-files: all relevant data (and only relevant data) were extracted from the raw data, so that it is not necessary anymore to load and process the binary data recorded during the experiments and you have all the information you need in a human-readable text-based file. The Python module "InformationDriven_AV_SourceTracking_EVALUATION.py" shows how to access the data and includes all the code necessary to read and evaluate the data recorded during the experiments. How to build and run:<br>In addition to a standard Python 2.7 distribution, some Python libraries are necessary to run the code:<br>- numpy (http://www.numpy.org/)<br>- matplotlib(http://matplotlib.org/)<br>- config (https://pypi.python.org/pypi/config/0.3.7)<br>optional (see below):<br>- evaluation/csvData/error<br>- open cv(2) for python [OPTIONAL: If you want to analyze the raw data (not the data saved in the CSV-files) you have to build a few custom modules manually:<br>As some of the modules used in our implementation were written in Cython (http://www.cython.org/) in order to speed up computations, it is necessary to compile these for your system by<br>&gt;&gt; cd src/particleFiltering<br>&gt;&gt; python setup.py build_ext --inplace<br>The next step is to manually uncomment the line "# from particleFiltering.belief_Cy import Belief" at the beginning of the file "InformationDriven_AV_SourceTracking_EVALUATION.py' in order to use the functions working on raw data.<br>\OPTIONAL] After installing the necessary libraries (and optionally compiling the Cython-modules), you can start the evaluation script by:<br>&gt;&gt; cd src<br>&gt;&gt; python InformationDriven_AV_SourceTracking_EVALUATION.py ,<br>in order to generate all figures shown in the "results"-section of the manuscript and save them to the "src"-directory. By default, they are saved to a pdf-file, but you can change the file-format by changing the variable 'plotFileType' at the beginning of the evaluation script to '.jpg', '.png', '.tiff' or any other file formats supported by matplotlib. If you want to analyze the data yourself, all steps needed to access and evaluate the recorded data are exemplified in the module "InformationDriven_AV_SourceTracking_EVALUATION.py" and should be fairly self-explanatory. While the figures in our manuscript were generated using the extracted data in the CSV-files (see function 'generatePlots' in "InformationDriven_AV_SourceTracking_EVALUATION.py"), we also included functions which work with the raw data (functions 'evaluateSimulationExperiments_IG_error_raw', 'evaluateSimulationExperiments_random_error_raw',<br>'evaluateSimulationExperiments_IG_entropy_raw', 'evaluateSimulationExperiments_random_entropy_raw',<br>'evaluateRobotExperiments_IG_error_raw', 'evaluateRobotExperiments_IG_entropy_raw',<br>'evaluateRobotExperiments_random_error_raw' and 'evaluateRobotExperiments_random_entropy_raw').<br>These show how to access the raw data and how to generate the same curves as the ones shown in the results section, so that it is transparent how the data stored in the CSV-files can be extracted from the raw data recorded in the experiments.