Bird detection and recognition system based on deep learning (including UI interface, Python code)

Automated bird recognition can help people more conveniently understand the number and activities of specific birds in a geographical area. At present, there are few applications of bird detection and identification on the Internet, and there are not many examples that can be referred to. Almost no one has developed it into a complete software that can be displayed. It is not convenient to choose pictures, video files and real-time detection. In this regard, the blogger uses the California Institute of Technology Bird Dataset (The Caltech-UCSD Birds-200–2011 Dataset) to train the YOLOv5 model, and gives a self-designed UI interface to keep the simple style of the same style. The function can also meet the recognition and detection of pictures, videos and cameras, switch models, save results, etc. I hope you can like it. The initial interface is as follows:

Designed video selection function. Click the video button to select the video to be detected, the system will automatically parse the video to identify birds frame by frame, and mark the result on the screen.

In real scenes, we often use the device camera to obtain real-time pictures, and we need to identify the birds in the picture, so this article takes this function into account. As shown in the figure below, after clicking the camera button, the system enters the ready state, the system displays the real-time picture and starts to detect the birds in the picture.

The bird identification dataset we use is the Caltech-UCSD Birds-200–2011 Dataset, the CUB dataset has a total of 200 categories, a total of 11788 images, each image in addition to including the category label, there is also a labeled object border (Bounding Box), key points and some other attributes, belonging to the bird image dataset with higher fine grain.

Since the format of the annotation file in the CUB dataset is inconsistent with that of YOLO, here we select the category in the CUB dataset and convert it to YOLO format.

Share