计算机视觉学习 3
What are the pros and cons of using computer vision APIs to solve real world problems?
Pros:
1. Using APIs helps reduce the programmer's cognitive load (the number of things a person must remember at once), thus increasing productivity. [1] For example, if we make an API for launching a rocket into space, a programmer can use this API and in the blink of an eye, the engine will ignite and the rocket will shoot straight up into the sky. Since the implementation details are abstracted out (hidden behind the API), our programmer does not need to know the rocket science to send the rocket into space.
2. Using cloud APIs, a large amount of visual content can be sorted and tagged in a short time, thus saving time and resources. [2] For example, Pacific Magazine is using computer vision to organize their magazine photo archive. Using Clarifai, they have tagged and organized over 10 million images to date, saving countless hours. Through the API, the company is able to accurately and comprehensively categorize these images and can now use their rich archive to analyze their image database to understand cultural trends over the years. This information can then be used to potentially predict future information.
3. At the company level, cloud APIs not only allow companies to use a vendor's computer vision services, but also allow them to access the world's leading cloud storage facilities. By storing visual data on the vendor's remote servers, there is no need to worry about the activities associated with maintaining the hosting facility, including data protection, so companies can focus on the tasks that actually generate revenue.
Cons:
1. We will have a hard time understanding the real model. If we don't understand the real model, we can't write the code ourselves. Then when we encounter the same problem again, we will have to use the same api to solve the problem.
2. Too much use of APIs makes it easy for a programmer to be an API caller (an interesting word I saw when looking up information). Again, in the example of launching a rocket above, launching a rocket is a very complex process that requires the use of an api, but relying too much on an api makes you a person who can't write code and only moves code. If you compare API to bricks, then calling API is to take bricks to build a wall, and there is a difference between good and bad bricks.
3. Enter the environment favored by suppliers and reduce your choices. In API terms, a protocol is a set of rules that define how components interact with each other. Both parties must understand and adhere to the same communication protocols to be successful. The format will specify how to encode the data to be sent to the other party. [3] So if I rely on an api provider's api, I can only code and use it according to that provider's protocol and format, which makes it difficult for me to have much room for learning and is not conducive to diversity.
Reference:
[1]https://zhuanlan.zhihu.com/p/31294362