AI product development based on machine vision. Intermediate retrospective: thoughts, pain, suffering

Hello readers. I tried to write this article several times already, but each time I put it off, because, at the thought of the need to conduct deep reflection on the accumulated experience, I was covered with despondency and sadness. However, I have strengthened my intention to do so in order to share my experience with those of you planning to do something similar in the AI ​​field. All of the following applies to a very specific area of ​​activity: AI in terms of computer vision.



Disclaimer : I'm not an expert in neural networks, but I play the role of the owner of a product in which neural network models of computer vision play a key role. This article is for those who are forced to do the same work, as well as for those ML specialists who want to understand how people view their activities from the business side.



So, we are making a product based on computer vision, which includes detection, tracking, identification, re-identification of people, determination of their gender and age.



We have been doing various projects for a long time, including those with ML elements, but this is the first time we have done a project where this part is central. During this time, as a product owner, I learned a lot of new, strange things and formulated some principles that are important for achieving success in creating such products.



Risk in AI products



The risk is enormous. Actually, the creation of an AI product actually ends when all risk is removed. If, in the case of creating products on classical algorithms, you spend 5 to 20% of your time working with risk, then, in the case of AI products, the process of creating a product itself is a fight against risk. I estimate the amount of time spent on risk management up to 90-95% of the time from creating an AI product. Important conclusions follow from this observation.



For grocery companies



The delivery schedule, and therefore the cost, with a high degree of probability, will be repeatedly failed, which is what we faced.



The risk is so great that it doesn't make sense to do something about the product before the AI ​​part is completed, tested and delivered.



For contractors



AI- SMB / . "" Tinkoff, , . β€” .



, . , " , ".





AI Scrum , .



, , AI, Agile , , , "3 , 2 " .





. , , , .



:



: YOLOv4 – real-time Microsoft COCO



: Yolo4 Yolo3;

TL: , .

, Y3 Y4, .



.





ML, . : / , , , , .



. , . , , , , whatever. ML- , , , . .



, , , , . , , .



( ), ML . -, . , .





, β€” . .



, , , . , .



, Precision, Recall, F1, etc. .



, , 99.99% , , , , .



-



, . , β€” . , single shot .



. , realtime Yolo4. β€” 60 FPS Tesla T4. 416x416 , , FPS.



, Yolo4 , (FYI: ~ 15% ( 110 px 720p). , , . , . , .



: β€” . single shot ML β€” , .



- .



, :



  • ;
  • Yolo4 320x320, 416x416;
  • .


" , , , , 320x320, 416x416"?



, , :



  • ;
  • , ;
  • ;
  • , , ;
  • .


, , single shot -.





IT 15 , , . , ML, , : " , ".



, , , , .



, BigData Backend ML, .



, " " , . … - , , .



β€” .



, , , ML , , , .



β€” Terra Incognita



, Nvidia β€” Nvidia DeepStream . , DeepStream . Nvidia Inception, , - DeepStream, , .



" PyTorch" " DeepStream" , - C, Gstreamer, , , , TensorRT.



DeepStream β€” , Segmentation Fault, Python c NumPy, β€” - Gstreamer.



, Nvidia β€” . , β€” Nvidia, ML, .





ML- . , , -, etc. .



, , .





, WBS ML… ML- . , Trello -, ML- -.



:







, , WBS.





ML . β€” , . . " , ".



, :





, . , , .



ML- β€” , , , , , , , .




ML , , , , -, 23 , 14 16 , .



, . AI β€” , , - .




All Articles