Ivideon Competition. Continuation
Yesterday we talked about the fact that we are announcing a competition to create a demo application based on OpenCV for tracking several objects, where the prize will be a trip with our team to Sri Lanka, as well as a job offer in our company.
It is great that the competition was received positively and they began to write actively to us in all different ways to clarify certain issues. Many of them were fairly similar, so we would like to answer them in the form of a separate small topic.
1. To detect and track objects, it is very important to know what they are. What are the intended tracking objects?
Ivideon is primarily a video surveillance system. Therefore, in most cases, the role of objects will be people, cars, possibly animals. In the process of tracking, an object can change quite strongly (in terms of transformations). But from frame to frame, these changes will be such that it will be possible to identify the object. All objects are part of the real world and we assume that they cannot suddenly disappear or teleport. Of course there will be tracking errors. The main thing is that there are few of them. For the competition, we believe that the camera is installed statically and does not change its position during operation.
2. Where can I get video samples that will be used for detection? You must first configure the classifiers.
We intentionally do not upload video sequences, because for them it will be possible to develop a stable operation of the algorithm that will stop working correctly, you just have to turn the camera a little. I really would not want such a result.
We have one of the most demanding users - massive. For example, some install our software on Pentium 3 and write a negative review in GooglePlay that it does not work for us and the video goes jerky, sincerely not realizing that more modern processors are required for video encoding. Although it is correct. The user is not required to know about it. This is our flaw that we don’t talk about it during installation. Why am I writing this? It’s just that we ourselves cannot know what the user wants to follow and what the user wants to consider. It is possible that tomorrow someone will make cockroach broadcasts based on Ivideon with automatic determination of the winner.
3. Can I use the Tracking-Learning-Detection (aka Predator) algorithm?
Certainly possible. But only the idea itself, which, by the way, is not new. Since, firstly, it was originally created to track one object and is not a complete solution. And secondly, its source code is distributed under the GPL, which, unfortunately, we still can not use. In the future, after reaching the specified indicators, we will certainly make a substantial part of our source texts open. In the meantime, running code is one of our competitive advantages, which we do not want to lose now.
4. Why only C / C ++? You can do much better, for example, in C #
. At the moment, all the main applicationswe have written in C ++. The same code is used not only on Windows, but also on Linux and Mac OS X. Therefore, I do not want to breed technology zoo, as well as think about how to run C # on Mac and Linux. Hope for understanding.
5. If I collect a ready-made example from OpenCV, can I send it to the competition?
Of course, you can send. But for us it is very important that a person understands how this example works. Computer vision is a fairly vast field of knowledge, which over the years has accumulated a decent mathematical apparatus, as well as the practical implementation of certain algorithms. You need to have an idea about them, understand how they work and when they need to be used, and when not. Represent their complexity and how much they will occupy computing resources. Without good practical experience, together with specialized education, this is difficult to do.
6. The competition presents 3 tasks. They need to be done separately.
It seems to me that this is wrong in terms of the resources expended. Because when solving sequentially, we get complete information about the objects in the first stage (tracking), which can be used to calculate intersections in the next stage and to detect the appearance / disappearance.
7. Is it possible to do without OpenCV?
If the same tasks are solved, then it is possible without OpenCV. It's just that OpenCV implements the basic primitives for image analysis and you can concentrate on solving, rather than creating your own primitives. In fact, for the most part, the main developments from the above tasks are available as examples of the library itself in one form or another.
8. Unfortunately, I am not a specialist in computer vision. But I have competencies in other matters. Can I participate in the competition?
Tasks for the competition have already been formed. But if you can really help us expand the capabilities of our product, then we will be happy to hear your suggestions! If we like them, then it will be possible to discuss options for your reward for the implementation of these proposals!
9. I do not have an account on Habré. How can I contact you?
We apologize for not taking this into account. All questions can be sent to contest (dog) ivideon.ru. We will try to answer as quickly as possible. In addition, if you have a desire, you can talk about the solution you propose in our blog, for this just send us the text. If in general we like it, we will publish it and, if possible, will give you an invite!