4 ms·
> Whether you need to load your dataset from your hard drive, draw detections on an image or video, or count how many detections are in a zone. You can count on
by eloisius 3y ago
> Whether you need to load your dataset from your hard drive, draw detections on an image or video, or count how many detections are in a zone. You can count on us!
I'm wondering of how useful pre-assembled programs like "draw detections on an image or video" are. There might be more here, but that's not a very compelling slogan. In my experience, these kinds of tasks only come up when you are demoing something like an object detector, or maybe for diagnostics, but in that case your diagnostics are highly specific to your task at hand. Dataset loaders are useful if you are creating a demo on public datasets, but in product work there is no pre-existing dataset. You're usually extracting the data yourself.
The API for creating polygon zones to filter detections looks nice, but that's a rather limited capability to warrant adopting a whole library. This looks like a toolkit for making computer vision demos, but not something I could see using to build a product. Usually, things like drawing bounding boxes on an image frame, or testing rectangle intersections are the easy stuff.
I do think there's a lot of room for reusable parts in CV, though. Of course the heavyweight in that space is OpenCV, but I wouldn't mind seeing a competitor that doesn't feel like a thinly wrapped C++ library in Python. The multi-view geometry space has few reliable tools in Python, and you spend a lot of time re-implementing classical formulas in NumPy, which I believe could be abstracted away with a 3D geometry toolkit. The kicker is that high-level, readable geometric abstractions (like lens distortion) always end up being a hot path in the code, and at some point they have to get replaced by specialized JIT-ed code.
- SkalskiP 3y agoHi @eloisus! I'm the creator of Supervision. Over the years, I've noticed that there are certain code snippets I find myself rewriting for each of my computer vision projects. My friends in the field have expressed similar frustrations. While OpenCV is fantastic, it can be verbose, and its API is often inconsistent and hard to remember. Regarding "drawing detections on an image or video," we aim for maximum flexibility. We offer 18 different annotators for detection and segmentation models, available at https://supervision.roboflow.com/latest/annotators https://supervision.roboflow.com/latest/annotators. Each annotator is customizable and can be combined with others. Moreover, we strive to simplify the integration of these annotators with the most popular computer vision libraries. Edit: I just check your LinkedIn. I think we met on CVPR last year.
- eloisius 3y agoTotally agree on OpenCV's Python API being hard to use. If your goals are to build something as foundational as OpenCV, but with a Python-native interface I'd be excited about that. I hope I don't come off as critical, I appreciate the work you're doing. I'd really like to see this take off. My only point is that tasks like annotating a video with tracking are things I've only seen in demos. If I could custom-order the reusable parts I want, it would include geometry, camera transforms, lens distortion, etc. Your polygon zone filtering looks imminently useful. Maybe I should shut up and just contribute something. I remember meeting you! Maybe I'll see you in Seattle this year.
- SkalskiP 3y agoOh my, if you'd like to contribute lens distortion removal... That would make me super happy! I'm 95% sure I'll be in Seattle this year.
- saynay 3y ago> I'm wondering of how useful pre-assembled programs like "draw detections on an image or video" are As someone who works in the video-security space, you would be surprised on the number of customers who love exactly this. All they want is something to draw the attention of the bored security guard watching the cameras.
- DonHopkins 3y agoWell if it's entertainment you want, you should go full CyberPunk 2077! https://www.youtube.com/watch?v=ZqYwwYQZ-Ks https://www.youtube.com/watch?v=ZqYwwYQZ-Ks