DEV Community

Miguel Ángel Cabrera Miñagorri
Miguel Ángel Cabrera Miñagorri

Posted on

Why I built Pipeless: A computer vision framework

Pipeless is an open source computer vision framework that allows developers to quickly create and deploy applications that analyze and manipulate video in real time, often in just a few minutes

Pipeless was born out of my frustration creating computer vision applications. Like many others, I often ended up creating my own custom multimedia pipelines and felt that I was reinventing the wheel and dealing with “plumbing” instead of working on my app.
Even though computer vision is not a new technology, it is ongoing rapid change and you could argue it is still in the early stages of adoption by the wider industry. The same goes for the systems where these applications are deployed. Sending and analyzing video has been quite a resource-intensive task, though recently we are starting to have affordable hardware for it as well as widespread faster internet connections.

This evolution has parallels to how the web evolved. When it appeared in the 1990s, it was primarily used by researchers. Over the years, the addition of CSS, Javascript and other technologies allowed the creation of more dynamic, interactive sites. Later on, the rise of single page applications and frameworks such as Angular and React made it really simple to build powerful web applications to rival its desktop counterparts. We are now in an era of serverless platforms like Vercel and frameworks like Next.js, that make it trivial to build and deploy efficient web applications.
The computer vision field was also started by researchers. Later on, open source models as well as libraries like TensorFlow, PyTorch or OpenCV made it easier to develop applications, and it started to be used in the real world such as in self-driving cars, medical analysis, facial recognition, etc. However, it was still relatively hard to build and create these applications.
Now, as the number and sophistication of these apps grows, our goal with Pipeless is to simplify the process of creating and deploying them, significantly lowering the barrier to adoption.

In other words, Pipeless aims to deliver for computer vision what React, Next.js and Vercel brought to the web landscape. They made it simple to get started, build from scratch and deploy an application in just minutes. You don’t need to worry about maintaining servers, you simply implement some functions that get invoked on requests.
Pipeless follows a very similar approach. With Pipeless you just implement some hooks (functions) that get invoked when there is a new video stream. You don’t need to worry about servers, you don’t need to worry about video formats or multimedia pipelines, and, in some cases, you don’t even need to worry about bringing your computer vision models, you simply implement some functions and deploy your application, while the rest is automatically handled by Pipeless.

We firmly believe Pipeless will boost the development of new vision applications by a large number of developers for whom the current barrier of entry is too high. This is a step further towards the goal of making computer vision as mainstream as having computers interact with the world
via a keyboard or mouse. Our early adopters consistently remark how easy it was to get started and quickly get impressive proof of concepts up and running with just a few lines of Python. Check it out by yourself!

If you like the work we are doing, you can help us by starring the GitHub repository or sharing your constructive feedback!

Top comments (0)