Projet de spécialité - Embedded Rainforest Protection System Project

De Ensiwiki
Aller à : navigation, rechercher

Projet de spécialité 2018-2019 suivi par Maraninchi Florence


Enseignante Ensimag pour mise en contact : Maraninchi Florence

Contact sur le sujet : Carolynn Bernier [1] 04 38 78 24 91


Rainforest Connection ([2]) is a startup founded in 2013 and based in San Francisco that develops solutions to fight illegal logging and animal poaching in tropical forests.

RFCx has developed a bio-acoustic rainforest monitoring and alert system by combining cloud-based artificial intelligence (AI) and wireless communications. About RFCx: [3]

Voir aussi la description Média:2A_RFCxProject.pdf.


The aim of the project is to embed the AI decision engine, a convolutional neural network, directly on the wireless guardian. This way, only alerts are transmitted to the cloud and to the nearby forest wardens. With low power, long range IoT communications system, alerts can be sent more reliably and over greater distances.

RFCx’s existing technology streams audio data to the cloud using cellular connectivity. Suspicious sounds (chain saws, motor vehicles, ...) are identified – and alerts are generated – thanks to an AI learning and decision (inference) algorithm, based on a convolutional neural network (CNN), that is executed in the cloud. The objective of this project is to study the feasibility of embedding the signal processing and inference parts of this algorithm directly on an RFCx guardian.

Topic 1: Mobile alert-detection software for legacy Guardians (3-4 students)

RFCx currently builds its guardians using Orange Pi 3G-IOT-A open-source platforms (running Android 4.4) which embed both a CPU (dual core ARM CORTEX A7) and an ARM Mali-400MP1 GPU, as well as the 3G cellular connectivity circuits. The objective of this team will be to develop a mobile version of RFCx’s alert- detection software, including audio signal processing and CNN inference algorithm, for this platform in order to offer a backup solution for situations where wireless connectivity is of insufficient quality to stream audio samples. Development will be done directly on an Orange Pi 3G-IOT-A platform. Since this is a very ambitious project, the team will attempt to successfully complete the tasks below:

  1. The first task is to become familiar with the Orange Pi 3G-IOT-A platform: architecture and power-up.
  2. Next, the boot code will be recovered from RFCx’s github site, and boot procedure will be followed.
  3. Next, the Guardian application code will be recovered from RFCx’s github site and students will familiarize themselves with this code, to understand the structure of the different components of the existing application : audio sample streaming and processing, and feeding of this stream onto the 3G wireless link. The objective here is that the students understand how their new software will fit within the existing Guardian software architecture.
  1. The next task will be to download the TensorFlow software (versions exist for MAC, Windows and Linux) and, using the tutorials, to generate a simple neural net model. The aim here is that students understand the structure of an AI model as well as the format in which it is exported, before attempting to integrate the complex chainsaw detection model from RFCx. Students will then learn how to call this simple model from a simple application program (the Python language will be used here).
  1. Next the uTensor package ( ) will be used to compile and run the simple AI model on the Orange Pi platform. The complexity of this model will be evaluated using the embedded system’s MPU (Monitoring Performance Unit). A useful library for this is PAPI (
  1. Next, RFCx’s signal processing and AI model for chainsaw detection will be recovered from RFCx’s github site and students will familiarize themselves with this code (Python), to understand the structure of the different components of the existing application : FFT-based signal spectrogram generation, CNN AI model.
  1. Step 5 will be repeated with RFCx’s chainsaw detection software. The focus here is on the performance analysis with regards to the audio-stream that is captured by the Guardian.
  1. To improve performance, it will most probably be necessary to reduce the chainsaw detection algorithm’s precision. For example, transform signal types from 64 floating point numbers to 32-bit integers for both the signal path and CNN coefficients. The classification accuracy of this mobile version will be evaluated over a reference dataset provided by RFCx.

Topic 2: Advanced embedded AI model (3-4 students)

To anticipate the development of a new generation of low power guardian hardware, a second team will study how the loss in performance due to the reduction of model precision can be compensated by retraining a reduced-precision CNN model using the labelled dataset provided by RFCx. The reduction of precision will specifically focus on targeting even smaller platforms than that addressed by Team 1, ideally those typically found on LPWA-IoT development boards. For example, it may be necessary to develop lower precision fixed point versions of the algorithms. Therefore, the aim of this research project is to study the interaction between classification accuracy and algorithm complexity to find if an acceptable compromise can be found. Part of the work will consist in choosing the appropriate software tools and methodology.

  1. Steps 4-6 from above will be followed.
  2. Students will learn how to evaluate the accuracy of the existing CNN model.
  3. Students will conduct a literature review of papers ( that address similar problems.
  4. If applicable, the TensorFlow or Matlab (or other) software will be used to implement the solutions found and evaluate impact on accuracy.