Animal Observation Using Motion and Object Detection
Truong, Nguyen Khang; Le, Giang Vinh Hung (2020)
Truong, Nguyen Khang
Le, Giang Vinh Hung
2020
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020112424093
https://urn.fi/URN:NBN:fi:amk-2020112424093
Tiivistelmä
This thesis project was commissioned by Tentrio Oy. In the project, hours-long videos that were taken by a fixed camera, often overlooking a room, were processed. The goal was to make a program that would take these video files and based on certain criteria, would output edited videos that were essentially relevant sections of the input videos. More specifically, the primary goal of this project was to make a program that could detect the presence of motion in video frames. Additionally, as a secondary objective, the program was to also look for the presence of cats or dogs. Any segment of the video featuring these elements was to be combined into a single output video. The timestamps of wherein the relevant video segment took place in the video were also to be recorded.
To achieve this, Python 3.6 was used as the main programming language along with several libraries. Motion detection was implemented using OpenCV and FFmpeg. On the other hand, the part of the program that handled animal detection was done using TensorFlow, an open source machine learning library. The program needed to be set up as an online service running from a server that would process any video file uploaded by an authenticated user. The server would also allow the user to download the output videos and timestamps. The hardware in which the server ran on was a remote machine provided by the commissioning party. The server was written in Python with Django as the web framework.
In the end, a motion detection program running on a remote server was created. On the other hand, object detection was not implemented due to time constraints. Properly integrating object detection into the program would likely take too much time. Moreover, the commissioning party was satisfied with the results which was why object detection was left out in the final product.
To achieve this, Python 3.6 was used as the main programming language along with several libraries. Motion detection was implemented using OpenCV and FFmpeg. On the other hand, the part of the program that handled animal detection was done using TensorFlow, an open source machine learning library. The program needed to be set up as an online service running from a server that would process any video file uploaded by an authenticated user. The server would also allow the user to download the output videos and timestamps. The hardware in which the server ran on was a remote machine provided by the commissioning party. The server was written in Python with Django as the web framework.
In the end, a motion detection program running on a remote server was created. On the other hand, object detection was not implemented due to time constraints. Properly integrating object detection into the program would likely take too much time. Moreover, the commissioning party was satisfied with the results which was why object detection was left out in the final product.
