Boat AI: Theft Prevention
Features:
- Use camera’s located on aerial drones, floating buoys, or SeaPods to build a database of boats (sailboats, boats, ships, kayaks, and possibly even SUP’s) using live and/or recorded video and/or still photo’s
- We should have a learning mode where we feed in video footage of boats in an area we want to scan and then have a normal mode where cameras are on standby identifying boats in the area as they approach or pass by
- It would be ideal if the camera position/angle could be at different heights above the water so we could easily accept image inputs from various devices with different heights.
- Be able to identify a vessel even from angles that have not been specifically captured on video or photo before
- It would be ideal to be able to manually fly a drone around an area to build a catalogue of all vessels in an area which would be processed in the software to identify all the local boats.
- Share data to a central database so our recognition software can identify a known boat in different locations. For example if we have 10 SeaPod’s spread out over a 100 kilometer area and one boat travels into camera range of each SeaPod we should be able to identity them at each location they go to be cause they are already in our central database. I don’t know the best way to accomplish this… would we need to upload high resolution video so it could be matched on an AI system in the cloud?
- We should define a set of matching criteria (mast, color of hull, color of deck, size, shape, barbeque, wind generator, and other prominent features) and have percentage match for each item and set the criteria for how much of a match we need to have to consider that we know the identity of the vessel
- We should be able to bring the data into our backend service that can monitor vessels and even give custom labels and tags to each vessel (known/unknown, friendly/hostile/known thief, <company name> boat, and any other tags we want to assign to them (BACKEND)
- It would be nice to have a camera mounted on a seapod or buoy that is very high resolution which is basically scanning a wide area continuously and when they see a vessel a new vessel come into view it zooms in to try to identify them and if it is not a known vessel we should add it to our database.
- If there is a visible vessel name we should save that data
- We should be able to tag a boat by the make/brand/model if it is known
- The backend software should send an alert if a known thief is getting too close to a SeaPod (BACKEND)
- Speed and direction of a vessel would be nice to know so if they are heading straight for us we can estimate the time until it arrives
- Where would the processing for all of this be done? In some cases we could connect multiple cameras from multiple SeaPods and a combination of SeaPods, buoys, drones or other camera inputs with known locations so we can determine the trajectory of a vessel
Possible Equipment
AI camera: https://store.opencv.ai/collections/frontpage/products/oak-1 or https://www.mouser.com/ProductDetail/Luxonis/OAK-1?qs=%2Fha2pyFaduhFBpt8h%252Bork1LvGTDcd88Sc%252BpmKgBYCR0%3D suggested by Wesley
Project video link:
https://www.dropbox.com/s/8huwd4y2b3ue3wk/BoatAI.mp4?dl=0
This project is being developed as an open-source project with the following licensing:
- Software: GPL-3.0 - https://www.gnu.org/licenses/gpl-3.0.en.html
- Hardware, Design & other Intellectual Property: CC-BY-SA-4.0 - https://creativecommons.org/licenses/by-sa/4.0/