My objectives for my review of the SeeedStudio Grove Vision AI Module V2 are:
1. Review the SeeedStudio Grove Vision AI Module V2:
- Analyze the capabilities of the Vision AI Module V2.
2. Create a Unique AI Vision-Guided Application:
- Design an AI vision-based application to showcase the module's capabilities.
3. Utilize Camera Inputs and Control Output:
- Integrate the camera with the Vision module to capture inputs and control outputs.
4. Determine an MCU to Attach:
- Evaluate and select an MCU (e.g., Seed Wio Terminal, Seeed Studio XIAO ESP32S3, or Pi4+ Grove Base Shield) compatible with the Grove connector.
5. Learn Seeed Sensecraft WEB Model Assistant Tool:
- Understand the features and functionalities of the Seeed Sensecraft WEB-based tool for deploying models from datasets, importing models for testing, and deploying models to the Vision AI module.
6. Determine and Learn Tools for Performance Testing:
- Identify and learn appropriate tools (TensorFlow or PyTorch) to evaluate the performance of the AI vision-guided application.
I intend to address the problem of squirrels invading my bird feeders.The problem of squirrels invading bird feeders is a common one, and it can be a real nuisance. Squirrels are not only messy, but they can also consume a significant amount of the bird seed, which can be expensive. Additionally, they monopolize the bird feeder, preventing an equitable distribution of feeding time among the birds. To address this problem, I plan to build a surveillance system using the SeeedStudio Grove Vision AI Module V2. This module includes a powerful processor, camera, and a variety of sensors that can be attached to that can be used to detect and scare away squirrels.
The camera will be placed in a strategic location near the bird feeders. The processor will use the camera's input to detect the presence of squirrels. When a squirrel is detected, the processor will trigger an output that will scare the squirrel away. This could be a loud noise, a Hawk sound, a bright light, or a jet of water.
The system will be designed to be humane and will not harm the squirrels. It will also be adjustable, so that the sensitivity of the detection system can be fine-tuned to avoid false alarms. I believe that this system will be an effective way to keep squirrels away from my bird feeders. It will allow the birds to eat in peace and will save me money on bird seed.
DESIGNFunctional specificationDescribe an abstract view of my idea.
Functionality
The surveillance system will be placed in a strategic location near the bird feeders. The processor will use the camera's input to detect the presence of squirrels. When a squirrel is detected, the processor will trigger an output that will scare the squirrel away. This could be a loud noise, a Hawk sound, a bright light, or a jet of water.
AI Recognition
- Detect Squirrels
- Detect other birds that arrive at the feeder
Control Outputs
- Make a sound to scare of the Squirrels
Describe the physical view of my Idea
Build Diagram
Technical considerations
- Power
- Placement and Weatherproofing
Development Environment
- Arduino IDE
- Tools and Libraries used
- Barebones
- AI models
- SenseCraft AI
- Electronic Components used
OV5647-62 FOV Camera Module for Raspberry Pi
Research
Resources and documentation used to gain knowledge of Tools Libraries and Hardware used
- Grove Vision AI Module v2 + compatible OV5647-62 FOV Camera Module
- I followed the wiki to get started and learn more about the Grove Vision AI Module V2
It instructed How to:
1. Connect the 2 components AI module to the camera. There is a video
2. Connect a USB Type C to your computer. Boot/Reset
3. Getting Started with SenseCraft AI
Connect the 2 components AI module to the camera
- The only thing you need to be aware of when connecting the cable, is to make sure that you DON’T PLUG THEM IN BACKWARDS.To Assure that this is not backwards, have the BLUE strip at each end of the cable, Facing UP. The video does indicate this.
Connect a USB Type C to your computer
- My computer connected with a valid Com port assigned. The guide mentions how to Reboot/Reset the AI Module if something goes wrong and you need to reset.
Getting Started with SenseCraft AI
I used this link to start using the SenseCraft AI Model Assistant
- SenseCraft AI Model Assistant to quickly deploy and observe results, with no code and no other development boards:. SenseCraft AI empowers users to effortlessly deploy a vast library of publicly available AI models onto the Vision AI module and others.
Next I went to the SenseCraft AI page
- I was able to run the models available. Pretty amazing. Models like Gender recognition, Object detection., etc. all without coding!! Simply save the Model directly to the Vision AL Module.
NEXT I need to figure out how to get a custom model on Squirrel's. I can then use it in my surveillance system to detect when they are near the bird feeders. The next section describes how I accomplished this.
Deploying Models - FROM your Existing Datasets TO the Grove Vision AI ModuleFollow this comprehensive tutorial Deploying Models from Datasets to Grove Vision AI V2, that allows you to transform your dataset into a fully functional model ready for deployment on the Grove Vision AI V2.Deploying Models - FROM your Existing Datasets TO the Grove Vision AI Module
These are the three steps covered in the tutorial:
- Step1.Labeled Datasets
This Section focuses on how to obtain datasets that can be trained into models. There are two main ways to do this. The first is to use the labeled datasets provided by the Roboflow community, and the other is to use your own scenario-specific images as datasets, but you need to manually go through the labeling yourself.
This Section focuses on how to train to get a model that can be deployed to Grove Vision AI V2 based on the dataset obtained in the first step, by using the Google Colab platform.
This Section describes how to use the exported model file to upload the model to Grove Vision AI V2 using the SenseCraft Model Assistant. If you make it this far, congratulations, you have been able to successfully TRAIN and DEPLOY a model of your own.
The tutorial page ends with a few helpful sections that will aid in furthering you deployment of your Model.
Common protocols and applications of the model this section contains 2 links. SenseCraft AI's unified data communication format and Arduino application examples.
Troubleshooting If your model's recognition accuracy is unsatisfactory, you could diagnose and improve it by considering some of these suggestions in this section.
Tech Support & Product Discussionoffers several communication channels to cater to different preferences and needs.The tutorial page ends with a few helpful sections that will aid in furthering you deployment of your Model.
The following Hardware is required for the tutorial:
- Seeed Studio XIAO ESP32S3
I don't have an XIAO ESP32S3, the tutorial states “you can use any other UART-enabled Arduino-enabled development board”. A Seeed WIO Terminal maybe? See if it works as a replacement to the ESP32
- Grove Vision AI V2
- OV5647-62 FOV Camera Module
Here are my notes that I followed and where I ran into problems. I was unable to complete step2 and 3, but will continue with the Build of the hardware and the development environment.
Step 1. Labeled Datasets
- I created an account on Roboflow with my Google at https://app.roboflow.com
- The first time I logged in I was prompted to create my 1st workspace. I named it “SEEED Vision AI module” and I chose the Public Plan for FREE not the Starter Plan 14 day Free trial and $248/mo to continue. Too much even though no Credit card is required for the Free 14 day trial.
- I did not chose to collaborate
- Once logged in for the ist time, I was never asked to login. Must it be cookies?
- Now you need Choose how you get your dataset. There are 2 tabs to select from in the tutorial. As stated
- “ There are two main ways to obtain datasets. The first is to use the labeled datasets provided by the Roboflow community, and the other is to use your own scenario-specific images as datasets, but you need to manually go through the labeling yourself.”
- I chose the first “Download Labeled datasets using Roboflow”, this uses dataset from the Roboflow Community “the Universe”
- The other “Use your own images as a dataset” I might circle around and try this, it requires to use your own scenario-specific images as datasets, but you need to manually go through the labeling yourself
- Now I need to search for images of SQUIRRELS.
- Go to the “Universe” on the top menu
- And in the Search bar, type squirrel (I also filtered by Metadata and “has a model”) and I receive a lot of projects wow.
- There was a particularly interesting one called “bird-feeder-detection” which caught my attention. I wonder if this would be the one for my project It has 6 images
- I Selected 3 projects and downloaded them saving the RAW URL for later.
Step 2 Training Dataset Exported Model
This chapter focuses on how to train to get a model that can be deployed to Grove Vision AI V2 based on the dataset obtained in the first step, by using the Google Colab platform.
Step 2 1. Access the Colab Notebook
- You can find different kinds of model Google Colab code files on the SenseCraft Model Assistant's Wiki.
- If you don't know which code you should choose, you can choose any one of them, depending on the class of your model (object detection or image classification).
- On this page:
- I chose this one Gesture_Detection_Swift-YOLO_192
- I clicked the button “open in Colab
- If you are not already signed into your Google account, please sign in to access the full functionalities of Google Collab.I WAS ALREADY SIGNED IN on my browser being used.
- I Clicked on "Connect" to allocate resources for your Colab session.
Step 2.2. Add your Roboflow Dataset
- To use the dataset we prepared, we need to modify the code's content before executing it step-by-step. Specifically, we have to provide a URL that allows the code to download the dataset directly into the Colab filesystem.
- Please find the Download the dataset section in the code.
- Follow the instructions in the section to get the dataset you picked from Roboflow.
- The colab notebook failed and I was unable Train a dataset to use for my project
- Details on the RoboFlow datasets that I tried:
Fairfield_Wildlife_Detector_Image_Dataset
https://universe.roboflow.com/ds/4w3TlCNQxD?key=ftJ28Kq9P9
YOLOv8
This failed on the command in the notebook?
sscma.train config.py --cfg-options data_root=./datasets/test_dataset epochs=10
Squirrel_Image_Dataset
https://universe.roboflow.com/ds/oQfYLjSiyq?key=PMxuQPv0NV
I did not choose a model for this one
Squirrel_Computer_Vision_Project
https://universe.roboflow.com/ds/oQfYLjSiyq?key=PMxuQPv0NV
I did not choose a model for this one
Errors were generated in the train command for 2 of the above datasets.
command that failed:
sscma.train config.py --cfg-options data_root=./datasets/test_dataset epochs=10
Future EnhancementsI will be moving on and come back to getting a custom model on Squirrel's for my surveillance system. The following enhancements are
1. Try to get through step 2.2 and complete steps 2.3 through 2.6
- Step 2.3. Adjustment of model parameters
- Step 2.4. Run the Google Colab code
- Step 2.5. Evaluate the model
- Step 2.6. Download the exported model file
- I should try the other way, which is to requires to use your own scenario-specific images as datasets, but you need to manually go through the labeling yourself.
2. I will Design, Build and Implementing an AI vision-based application to showcase the Grove Vision AI Module V2 capabilities.
ConclusionsThis concludes my review of the Seeed Grove Vision AI Module and Camera. Here are the benefits I found when using the Grove AI Vision Module:
Ease of use: I found the module easy to use, particularly with the SenseCraft AI Model Assistant, which allowed for no-code model deployment and immediate visualization of results.
Versatility: The module is compatible with Arduino IDE and supports TensorFlow and PyTorch frameworks, offering flexibility in development approaches.
Powerful hardware: The module's dual-core Arm Cortex-M55 processor and integrated Arm Ethos-U55 neural network component provide robust computational capabilities for AI vision tasks.
Comprehensive tutorial: The provided tutorial on deploying a model was excellent, offering clear guidance on transforming datasets into functional models ready for deployment on the Grove Vision AI V2.
Potential for customization: The module allows for the development and deployment of custom models, enabling tailored solutions for specific AI vision applications.
Integration with other platforms: The module can be integrated with popular development boards like Raspberry Pi or ESP32, and platforms like Home Assistant, expanding its potential use cases.
Here are the negative points I discovered when using the Grove AI Vision Module:
Tutorial Incompletion: I was unable to complete the provided tutorial due to issues encountered, particularly in steps 2 and 3.
Roboflow Confusion: The Roboflow dataset creation was somewhat confusing, with unclear instructions and errors.
Colab Notebook Failure: The Colab notebook failed to execute correctly, preventing me from training a dataset for my project.
Hardware Substitution: I had to substitute the recommended XIAO ESP32S3 with a WIO Terminal, which may have impacted the tutorial's intended workflow.
Future EnhancementsI will be coming back to getting a custom model on Squirrel's for my surveillance system. I will be learning more about the Vision AI module in the future and listed are a few steps that I plan to take:
1. Try to get through step 2.2 and complete steps 2.3 through 2.6
- Step 2.3. Adjustment of model parameters
- Step 2.4. Run the Google Colab code
- Step 2.5. Evaluate the model
- Step 2.6. Download the exported model file
- I should try the other way, which is for me to use my own scenario-specific images as datasets, but I need to manually go through the labeling myself.
2. I will Design, Build and Implementing an AI vision-based application to showcase the Grove Vision AI Module V2 capabilities.
3. I plan to use the ESP32 sense included in another challenge that I’m working on Build2Geather.2.0 challenge here on Hackster
ResourcesGrove Vision AI Module V2 | Seeed Studio Wiki
SenseCraft AI Model Assistant Overview | Seeed Studio Wiki
Deploying Models from Datasets to Grove Vision AI V2 | Seeed Studio Wiki
Edible Algae Growing Cycle Monitor
This was a project that I entered into the challenge IoT Into the Wild Contest for Sustainable Planet 2022. I was awarded a prize for implementing a a system that will help grow Spirulina Algae in a self contained space.
Comments