This seems like an attempt to cash in and steal the branding behind the library, OpenCV. (I realise now it's the actual authors of the libary.. I've become too jaded here).
>>Did you really name your company OpenCV? As in.. Open Computer Vision, which you know is an incredibly well-known brand for a 20-year old library, likely fundamental to most the libraries you're now trying to commission for in your market?
This looks deliberate because the Chief Scientist & President, Gary Bradski[1], created the OpenCV library that you refer to.[2]
And then once you have the weights you have to figure out what to do with them. Data science (training a good model) and engineering (deploying it as a service to be consumed by end users) are pretty distinct tasks.
Weird, the account registration wouldn't work on my normal IP, claiming 'too many requests'
Worked fine on a VPN however (sorry, I know you probably don't like this).
After the account registration though, I did quite like trying out a couple models out on a couple frames of footage to see if the models would "work".
Cool idea. I keep looking for a search/filter/facet function to leverage the tagging and classification they've done with the models, but I can't find one.
We also expored ways of presenting hundreds [1] of AI models in a better way. Recently we updated the model zoo so that it is arranged according to benchmark datasets [2] and papers [3]. Do you think it satisfies the needs?
If this becomes something like huggingface for Computer Vision - awesome.
For now, it's a shame model descriptions seem to often be lifted straight from README.
Having a more standardized description, something like model cards [1] (CV example [2]) would be hugely beneficial IMO.
Surely I could take a model, refine it slightly to get distinct weights (ie. not a flat clone) and unload it as my own novel variant?
...and I mean, is the problem not utterly fundamental?
When is a model “yours” or sell?
When you trained it? When you’re not using transfer learning? When you wrote the paper? When you own the training data? When you can recreate it from scratch?
The value of these could be in private datasets. Model architectures are not really patentable and ownership of a trained model has always been very muddy water.
That being said, if I am selling a bird classifier chances are that to train it I had to combine multiple datasets and someone can't easily finetune it to get better results.
The "attack" that you are describing could probably be mitigated by doing activation analysis. Given random initialization even with fine-tuning the activation distribution will be similar. Same method should be used to weed out people just repackaging the ImageNet pretrained model from torchvision.
That being said you can still distill a network into another with a teacher-student approach and that would be undetectable.
You are limited in expanding your dataset and making your model better, if you only have the model. And I would rather see how clean/balanced the dataset my model was built from was.
I don't think this will be a successful business model. Niche AI models cost a lot of money to gather the right dataset and train, but they would probably only sell to <100 companies/individuals. So pricing a model at $50-100 isn't profitable. If you're selling general CV models, you have to compete with the plethora of open source ones, including ones that Google and Facebook release for free, which are trained on huge datasets and using a lot of compute resources.
I agree, it seems like fine-tuning the massive open source models is better than buying small niche models. Curating the dataset is also a non-trivial amount of work that has to be customised per client. However with further adoption of AI into new markets new clients may emerge.
Are they selling models or making introductions? As you say, niche models have small audiences which makes it all the more likely the models will require modifications. Discussing those modifications provides an opening to adjust the pricing.
I can see value in being able to casually integrate vision models into different applications.
I would urge everyone involved (OpenCV and people using the models) to not use this in any safety related application. The example given on the site is person detection for construction site safety. If you're going to use ML for something like this, hire someone with experience using it for such applications, that can understand the operating condition and failure modes. Your worksite is not safe if you just plugged in an online person detection model to a video feed.
Interesting concept. Would be great to have more technical details about how a model performs. Having a sense of the size, accuracy, platforms supported, and other simple benchmarks would be really helpful to evaluate a model before making a purchase.
38 comments
[ 2.5 ms ] story [ 79.9 ms ] threadThis looks deliberate because the Chief Scientist & President, Gary Bradski[1], created the OpenCV library that you refer to.[2]
[1] https://www.oreilly.com/pub/au/3270
[2] https://www.opencv.ai/#About-us
Tensorflow as an equivalent tool but I can't remember the name.
Worked fine on a VPN however (sorry, I know you probably don't like this).
After the account registration though, I did quite like trying out a couple models out on a couple frames of footage to see if the models would "work".
[1] https://mmpose.readthedocs.io/en/latest/modelzoo.html [2] https://mmpose.readthedocs.io/en/latest/topics/body(2d,kpt,i... [3] https://mmpose.readthedocs.io/en/latest/papers/algorithms.ht...
Having a more standardized description, something like model cards [1] (CV example [2]) would be hugely beneficial IMO.
[1] https://arxiv.org/pdf/1810.03993.pdf
[2] https://drive.google.com/file/d/1f39lSzU5Oq-j_OXgS67KfN5wNso...
I wonder how feasible it would be to develop some formal ontology to describe the capabilities of models and attach them to model cards.
That could open up some interesting applications:
* automated search for a set of models to accomplish some task
* a human usable search engine for finding specific models
EDIT: to complete a sentence
Surely I could take a model, refine it slightly to get distinct weights (ie. not a flat clone) and unload it as my own novel variant?
...and I mean, is the problem not utterly fundamental?
When is a model “yours” or sell?
When you trained it? When you’re not using transfer learning? When you wrote the paper? When you own the training data? When you can recreate it from scratch?
I see this being problematic to look after...
That being said, if I am selling a bird classifier chances are that to train it I had to combine multiple datasets and someone can't easily finetune it to get better results.
The "attack" that you are describing could probably be mitigated by doing activation analysis. Given random initialization even with fine-tuning the activation distribution will be similar. Same method should be used to weed out people just repackaging the ImageNet pretrained model from torchvision.
That being said you can still distill a network into another with a teacher-student approach and that would be undetectable.
What authors could do is train the model on a dataset, but add a specific image that it flags as a key.
That way, if you keep the image private, you can check if a model is a clone of yours if recognises that specific image.
I would urge everyone involved (OpenCV and people using the models) to not use this in any safety related application. The example given on the site is person detection for construction site safety. If you're going to use ML for something like this, hire someone with experience using it for such applications, that can understand the operating condition and failure modes. Your worksite is not safe if you just plugged in an online person detection model to a video feed.