Search results
Nov 12, 2024 · Here’s a step-by-step overview of how the identification process works: Upload a Photo: Snap a photo of the bird you’re trying to identify, even if the bird in the photo is blurry, far away or partially obscured. AI Analysis: The Birda AI goes beyond basic pattern recognition by using the sighting location to increase the accuracy of results.
- Overview
- Introduction
- Usage
- Dependencies
A Deep Learning based Bird Image Identification System, using Keras, TensorFlow, OpenCV, and Flask.
The 'Bird Watch' project, created by an amateur photographer and a machine learning enthusiast, is a solution to a simple problem faced by fellow wildlife photographers: a way to identify birds in photographs. The application is developed using Keras and TensorFlow, with Flask for the web application. InceptionV3 was used as the base model and was trained using transfer learning and fine-tuning techniques.
The live application can be found at https://www.birdwatch.photo/
Setup
The libraries required to run the Flask app can be installed via the following commands. Using PIP: Using Conda: Note: You can install tensorflow-gpu (instead of tensorflow) if you have a CUDA capable GPU.
Running the App
First, head over to the Releases page and grab the latest final_model_*.h5 and class_indices_*.npy files, and place them in the models directory. You can then start the Flask app can be run by running, The app would by default run on http://127.0.0.1:5000/
Training with your own data
In order to train with you own images, create a data/train directory and place your images within sub-directories for each class within the train directory (as required by the flow_from_directory function of Keras: https://keras.io/preprocessing/image/ ). Create a data/models directory for the bottleneck features and the trained models to be saved. You can also create a data/eval directory and place few sample images there to evaluate the model after training. Once you have the data ready, you can run, This will run the combined training and fine-tuning script which will generate the final model files. Note: The training may take 10+ hours to run, even on a GPU such as a RTX 2070. Once the training is over, you will have final_model_*.h5 and class_indices_*.npy in your data/models directory. Copy them over to your top level models directory and you'll be good to go.
Runtime
The main requirements to run the Flask application are: •TensorFlow •Keras •Flask The full set of runtime dependencies are in the requirements.txt
Training
In order to re-train the model, the following additional libs are needed: •OpenCV •Matplotlib •Pillow
System Overview. As shown in the diagram below, the Raspberry Pi sends pictures from my bird feeder to an S3 bucket at AWS. When a new image arrives in S3, this invokes a Python Lambda function that sends the photo to AWS Rekognition, which uses its ML-based image recognition capabilities to determine what's in the photo.
Bird Watch is a Deep Learning Computer Vision application, developed using Keras and TensorFlow, with Flask for the web application. Check out our The AI Behind BirdWatch page for more details on the technical and AI aspects of the Bird Watch App.
Jun 4, 2015 · In a breakthrough for computer vision and for bird watching, researchers and bird enthusiasts have enabled computers to achieve a task that stumps most humans—identifying hundreds of bird species pictured in photos. The bird photo identifier, developed by the Visipedia research project in collaboration with the Cornell Lab of Ornithology, is ...
Jun 7, 2015 · It’s a new website that can help you identify the species of the bird in your photograph. The site was created as a collaboration between Cornell and the Visipedia project, and is currently...
May 31, 2021 · We connect a USB web camera (or Raspberry Pi official Camera) and a PIR sensor to Raspberry Pi for image capture and bird detection. Once a bird gets close to PIR sensor, it will send a signal to Raspberry Pi indicating that some kind of animal is approaching.