depthai
depthai copied to clipboard
[Feature-Request] Device CV nodes; thresholding, blob/circle finder, filtering
Start with the why:
Since object detections are limited to about 30FPS on MX, tracking high-speed objects isn't (easily) possible on the device. This means OAK cams might not be best suited for applications like:
- Industrial monitoring - number of items going through a conveyor belt
- Sport analysis - speed of a puck/ball/baseball
- Agriculture - counting eg. potatoes on a conveyor belt from the tractor-trailer
- Bio research - fruit fly trajectories (I remember someone wanted to do something like this in a lab), etc.
- Depth "blob" tracking - using thresholding + blob finder would be a great combo for eg. depth people tracking/counting
Move to the what:
Add support for basic CV function on the device, functionalities like cv2.threshold(), cv2.findCountours(), filtering, finding blobs/lines/circles/rectangles, etc. This will be much easier to do on the upcoming KeemBay with integrated quadcore ARM, but it might be worth investigating the effort of getting something like this running on MX as well.
Current workaround for this would be to develop a custom CV NN for thresholding/circle finder/filtering, but the development is quite slow for that.
Move to the how:
Find & port algo-based CV operations (eg. Hough transform for lines/circles) to the MX, improve with parallel computing on SHAVEs.
Will CV functions be available on the upcoming OAK Series 3?
Hi @jtlockwo , since OAK Series 3 will have quadcore ARM with linux, you will be able to use OpenCV on the camera itself, so this will be trivial to implement:)