Inspiration

The insect population around the world is in rapid decline. Butterflies, bees, moth, and beetles are some of the most affected [1]. This may be due, but not exclusively to habitat loss [2]. In order to understand more in depth and study the matter, I thought about building Biota. Modern technologies such as CNN may be used to identify insects[4].

Biota is a robot that uses convolutional neural networks to study biodiversity in protected areas where human presence is limited.

Biota should be light weight, a walking and/or flying robot that uses rechargeable batteries. The number of legs should be 4 and self-foldable. An a high definition infrared camera should be used.

[1] Worldwide decline of the entomofauna: A review of its drivers, FranciscoSánchez-BayoaKris A.G.Wyckhuysbcd, Journal of Biological Conservation

[2] Declines in insect abundance and diversity: We know enough to act now, Matthew L. Forister Emma M. Pelton Scott H. Black

[3] Nature crisis: 'Insect apocalypse' more complicated than thought, By Matt McGrath

[4] Species‐level image classification with convolutional neural network enables insect identification from habitus images, Oskar L. P. Hansen Jens‐Christian Svenning Kent Olsen Steen Dupont Beulah H. Garner Alexandros Iosifidis Benjamin W. Price Toke T. Høye

What Biota does

Biota streams videos and analyses each frame in real time, when motion is detected, if the object on the frame is an insect, a CNN will identify it. The frame is saved in the database, a pre-trained image classification model is ran on the image. if the frame contains an insect the image is stored with a label else the frame is discarded [or archived in another collection for later analysis to make sure no insect went undetected].

A camera with high resolution and with a wide-angle infrared lens is necessary. For proof of concept I used a RasperryPi Camera Module V1.3.

How is Biota built

During this hackathon I decided to build an hexapod robot using RaspberryPi 3 model B+ and adeept open source hardware, I did not have another kit available.

The components used are the following:

  • RaspberryPi 3 Model B+
  • 15 x Servo Motors
  • 64 Gb SD Card
  • Adeept Robot Hat
  • Camera Ribbon
  • Battery at High Rate Discharge

The videos are streamed using Flask Video Streaming, if a frame is believe to contain an insect, it is saved in a mongo database. The convolutional neural networks are written in python3. The dataset to train and test the model for insect identification was found on kaggle here

Challenges

The initial team I was in dissolved so I came up with this solo project. Because this was my first challenge where I have been working solo, the workload was noticeably higher than when working in a team. I did not have a quadruped kit available therefore the robot has six legs instead of four, this meant there were more challenges. The robot is very noisy when moving, ideally it should be very quiet when in motion. Because the camera can be controlled remotely, it can be used to track the motion of objects. The robot frame is made of acrylic if the screws are tighten firmly the material might break, in this case one of the legs snapped and luckily I had a replacement. The Raspberry Pi camera was initially not working, part of the camera module failed. Luckily I had a replacement also for this.

Accomplishments to be proud of

Installing the camera and RaspberryPi correctly, setting up wireless connectivity for the respberryPi. Allocate the right GPU memory so that the camera could be used.

What was learned

How to setup RaspberryPi hotspot and wireless connection

What's next for Biota

  • Complete the ML model for Biota, training and evaluating it with the dataset
  • Embedding LoRaWaN with the circuit so that long range communication may be possible as well as sending discrete packages of data. Designing and building the robot frame with respect of the requirements that I have in mind. This may be achieved by re-using some of the components already used or by using a laser cutter or 3d printer

Built With

Share this project:

Updates