The Computer Vision Process: Fireside
Key Takeaways
The video discusses the computer vision process, covering key steps such as defining the problem, collecting images, labeling data, pre-processing, training a model, and deploying it, with a focus on the importance of data quality and representation, and introduces tools like Roboflow and Rebelflow for streamlining the process.
Full Transcript
hey everyone thanks for joining us again today we're here to talk about the computer vision pipeline and some of the steps that are included to take uh a batch of images and result in a trained model um so joseph go ahead and start us off like what what the first step might be yeah i mean so when we talk about the computer vision pipeline uh you got to think about each of the component parts um you have to think about first and foremost what problem you want to solve which is pretty easy to skip that step and just think about oh i have a bunch of images or a bunch of videos but what problem specifically is it you want to solve do you want to monitor the presence of something do you want to look for package theft do you want to count the presence of something like counting the number of cells that ran an experiment or identifying weeds from like aerial imagery so you can more targeted deploy herbicides and things like this um but think very specifically not necessarily narrowly but really specifically in defining your problem and then from there i mean the steps that you follow are pretty common collecting your images getting them identifying which ones should be sent for labeling um labeling your data uh pre-processing your images so standard things that you need to do like resizing or maybe increasing contrast augmenting your data does it increase your data size representation and improve your model's ability to generalize train a model which also involves a little bit of model selection and then check out the inference and see how it does in a given test set deploy that model and then continue to monitor its its performance over time and especially key at that step is continuing to collect image or video data from your inference conditions so that you can continue the process all over again yeah that that seems like a pretty good summary i i definitely think it's you know each one of those steps is uh kind of complex and there's there's a lot involved so maybe um now that we've kind of summarized the whole pipeline maybe we can dive in a little bit into each component part um which do you think is the hardest like if you you're like you're going about building your model which step do you think causes the biggest hurdle yeah so so that's actually a good question and um i i think you know anyone who goes through this process is going to feel like one of those steps is harder for them than you know this is just my unique point of view but i would say the hardest part for me is actually the deployment of a model so that's the step after after you've determined you know through tests and through through different metrics that the model is actually going to be good enough to do what you want it to do but then you actually need to bring it onto a device or onto a server to be able to make those inferences continuously so that's the hardest part from my point of view but what do you think i know but that necessarily that it's the hardest but i think like the most overlooked or at least like the biggest area for improvement and growth in vision and probably machine learning more generally is that computer vision is you know it's only so much about actually the code that you write or only so much about the model that you select and it's all about the data that you use and it's kind of remarkable right when you're debugging model performance understanding why you're getting the inferences you are or the quality performance that you are is entirely about the data that you're training on and so it's amazing that we have such little emphasis on i think even today in our tooling and our understanding of what data are we collecting what data are we sending for labeling do we have balanced classes do we have augmentations that represent the inference conditions uh and basically making this be an ongoing iterative improved process so one of my biggest tips as a result of that is you know you're never going to have a perfect model that's you know it's a trope at this point but people don't internalize that that means that like usually the highest leverage thing you can do is get an initial model to production that solves one part of the problem doesn't have to be perfect but identifies one class that you ultimately want to do many many more classes and then make it really easy to collect additional data and create safeguards in failsafes i should say for when the model doesn't produce an inference that you want if you do those things get a model quickly to production and put in fail-safes for if the model is incorrect and collect additional data your performance is going to cascade and improve on a much faster iterative basis than thinking that you need to have every class or perfect model or a thousand inferences a second or something like this definitely the scoping in the very beginning is extremely important to be able to actually get these things to work and actually deploy them uh all the way through to production so i definitely i definitely agree with that yeah what have been some of the like i don't know maybe unintuitive or tips and tricks or hacks that you've picked up along the way as you've taken a problem and then broken it down into these steps like what are things to watch out for what's like a quick tip that your fifth time self would have told your first time self or your 100th self would tell your first time self well i mean certainly the thing you've already been talking about um with uh narrowing the scope to something that is definitely going to be achievable but i think uh another just sort of general fact about the whole pipeline that i think often ends up being the case is people will spend a lot of time gathering a data set that they believe is entirely representative of the problem that they're going to tackle they do a lot of work to improve their model on this data set choosing models making data augmentations and going through that part of the pipeline um that you were that you were discussing to to get to a really good model but then they take it out and put it into reality and realize that uh the reality of the deployment situation wasn't exactly what they had um when they initially gathered the data set so being very careful and very real with the end state that you wanted to be in i think is very important because otherwise you'll spend a lot of work optimizing something that isn't exactly uh what you wanted in the beginning um so you can use other data sets to kind of get quick uh you know like some quick progress and start to make a model out of things but um there's no no sacrifice for directly collecting images from the exact state um that you want to be ending up in yeah makes a lot of sense makes a lot of sense um why robofall why does roboflow make this process easier or wow that tool yeah i mean so i think one of the i mean so we've we've kind of been talking about these different pieces of this pipeline in uh abstraction you know but at the end of the day each one of these pieces has a variety of different implementations and there's a variety of different uh services that are out there to be able to handle each one of these things for you um the best part about rebelflow is that it kind of sits there in the middle and you're able to actually integrate all these pieces together so you can move quickly throughout the process and experiment with different pieces without having to go back and rebuild everything and so that's that's primarily through data integration um but then beyond that you can kind of use roboflow as a source of record as you're moving through the process to know that okay once i got from here to here i was at this state and here's what my data set looked like and as joseph was elaborating on it's really all about the data set and to use that as kind of a central locus as you're you're working through the process yeah yeah i mean one thing we really care a lot about is interoperability and allowing the best tool to be used at each component part of the process so collect your images from any given security camera raspberry pi video camera whatever it is label them wherever you would want to label them reviews outsource labeling bring them in inspect understand try out a bunch of different image and model formats convert to various places um but yeah we think a lot about how do we accelerate people's workflows and really be the tool to empower a whole generation of applications and developers that are going to build and are building our future of understanding the real world around us um and so when it comes to computer vision pipelines and machine learning pipelines more generally i think the the key takeaways are really get something working make it easy to improve and continue to focus on your data um you follow those those key quick tips and you can pretty quickly start have industry leading applications it's a wide open field well that was a lot in one one fireside chat would you say yeah yeah thank you thank you all for joining don't forget to like this video subscribe for additional verbal full content and as always happy model building good luck see you in the comments
Original Description
Refining the machine learning pipeline to create computer vision models is paramount to iterating on your computer vision model.
We discuss the computer vision process fireside in this video and how to make it through each piece of the process, and then to return to the loop, improving your model.
✅ Subscribe: https://bit.ly/rf-yt-sub
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Roboflow · Roboflow · 53 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
▶
54
55
56
57
58
59
60
YOLOv3 PyTorch Notebook Tutorial
Roboflow
How to Train YOLOv4 on a Custom Dataset (PyTorch)
Roboflow
How to Train YOLOv5 on a Custom Dataset
Roboflow
How to Use the Roboflow Dataset Health Check
Roboflow
What is Mean Average Precision (mAP)?
Roboflow
How to Use the Roboflow Model Library
Roboflow
How to Train EfficientDet in TensorFlow 2 Object Detection
Roboflow
How to Train YOLO v4 Tiny (Darknet) on a Custom Dataset
Roboflow
Ask the Roboflow Team Anything - Episode 1
Roboflow
Exploring The COCO Dataset
Roboflow
Community Spotlight: Improving Uno with Computer Vision
Roboflow
Mosaic Data Augmentation - Deep Dive
Roboflow
Hands on with the OAK-1
Roboflow
Glenn Jocher: What is New in YOLO v5?
Roboflow
How to Use Amazon Rekognition Custom Labels and Roboflow to Build an Object Detection Model
Roboflow
An Interview with Brandon Gilles, Luxonis Founder and OAK Chief Architect
Roboflow
How to Train a Custom Mobile Object Detection Model (with YOLOv4 Tiny and TensorFlow Lite)
Roboflow
Tackling the Small Object Problem in Object Detection
Roboflow
Fast.ai v2 Released - What's New?
Roboflow
Teaser: Roboflow Train (1-Click Computer Vision AutoML)
Roboflow
How to Train a Custom Resnet34 Image Classification Model
Roboflow
How to Label Images for Object Detection with CVAT
Roboflow
Deploy YOLOv5 to Jetson Xavier NX at 30 FPS
Roboflow
Elisha Odemakinde Hosts Roboflow ML Engineer, Jacob Solawetz
Roboflow
Getting Started with VoTT - Computer Vision Annotation
Roboflow
How to Manage Classes in Object Detection (Rename, Combine, Balance)
Roboflow
How to Train YOLOv4 on a Custom Dataset in Darknet
Roboflow
Is Grayscale a Preprocessing or Augmentation Step in Computer Vision?
Roboflow
Getting Started with Image Data Augmentation
Roboflow
Glenn Jocher: Image Augmentation in YOLO v5 and Beyond
Roboflow
GA Hosts Roboflow - Healthcare and AI
Roboflow
How do self driving cars know when to stop?
Roboflow
What is PASCAL VOC XML?
Roboflow
AutoML Showdown: Google vs Amazon vs Microsoft
Roboflow
How is computer vision changing manufacturing?
Roboflow
The Alphabet in American Sign Language
Roboflow
Luxonis OAK-D: Computer Vision on Device
Roboflow
How to Train a Custom Faster R-CNN Model with Facebook AI's Detectron2 | Use Your Own Dataset
Roboflow
TensorFlow vs PyTorch: Fireside
Roboflow
Occlusion Techniques in Computer Vision
Roboflow
A Customizable Web Application for Your Computer Vision Model
Roboflow
Model Tradeoffs and the Future of Computer Vision
Roboflow
Designing an Augmented Reality Board Game App
Roboflow
YOLOv4 - Advanced Tactics
Roboflow
How to Use CreateML and Build a Computer Vision iPhone App | AR Object Detection
Roboflow
Fireside Chat: Computer Vision in Agriculture
Roboflow
Scaled-YOLOv4 Tops EfficientDet: Research Rundown
Roboflow
What is Image Preprocessing?
Roboflow
Building a Community of Creators with BlkArthouse and Von Deon
Roboflow
How to Train Scaled-YOLOv4 to Detect Custom Objects
Roboflow
Intro to Computer Vision: Fireside
Roboflow
The Best Way to Annotate Images for Object Detection
Roboflow
The Computer Vision Process: Fireside
Roboflow
How to Annotate Images with Your Team Using Roboflow
Roboflow
Introducing the Roboflow Object Count Histogram
Roboflow
How Fast is the M1 at Machine Learning? Benchmarking Apple's M1 and Intel's Chips
Roboflow
CLIP: OpenAI's amazing new zero-shot image classifier
Roboflow
How I hacked my Nest camera to run custom models
Roboflow
Getting Started with the Roboflow Inference API
Roboflow
Transfer Learning in Computer Vision | What, How, Why
Roboflow
More on: ML Pipelines
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
How to Learn a Hard Technical Skill Without Burning Out
Dev.to · Anas Kalthoum | FreeBrain
After interviewing over 100 ML Candidates. Last Week Someone Walked In and Made Me Take Notes.
Medium · Machine Learning
How AI Learns with Less Labeled Data
Medium · Machine Learning
Mastering TypeScript — Understanding the TypeScript Compiler (tsc) from Scratch — Lesson 2
Medium · JavaScript
🎓
Tutor Explanation
DeepCamp AI