Skip to content

Commit 8cceaef

Browse files
committed
feat: ch1
1 parent a47cbb9 commit 8cceaef

29 files changed

+601
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# About This Workshop
2+
3+
Estimated Time: 5 minutes
4+
5+
## Introduction
6+
7+
I've always been curious about using Vision ML in some projects of mine. I dreamt of knowing how a Tesla autopilot worked on the inside, and whether I could make my own AI system at some point in my life. I was tired of dreaming, so I decided to learn by example (hands-on).
8+
9+
I set my focus on re-learning everything I knew about Vision ML (which is what I call image/video processing concerning Machine Learning in one way or another).
10+
11+
There are some topics, like Computer Vision, that are considered "too hard". Through this workshop, I aim to show you that it's not that hard to do this yourself (and not expensive either!).
12+
13+
Computer Vision has been a growing industry since its conception, and vision ML is one of the many components of Computer Vision. If you're interested in content like this, make sure to follow me, and stay tuned for part 2 (more info at the end).
14+
15+
Today, we're going to create a *computer vision model*, which will detect different mask-wearing states. So, it will be able to tell you if you, or anyone else that you want, is properly wearing a COVID-19 mask or not. The three different states we will consider are:
16+
- A person with a mask, which we will label as `mask`.
17+
- A person with a mask, but *incorrectly* worn (see examples below), which we will label as `incorrect`.
18+
- A person with no mask at all, which we will label as `no mask`.
19+
20+
![validation batch - girl](./images/val_batch0_labels.jpg)
21+
22+
> **Note**: as you can see, the little girl on the second row, third column is wearing the mask with their nose showing, which is *incorrect*. We want our custom model to detect cases like these, which are also the hardest to represent, as there are a lot of pictures of people with and without masks, but there aren't as many of people wearing masks incorrectly on the Internet; which causes our dataset to be imbalanced.
23+
24+
## Final Result
25+
26+
This is a YouTube video illustrating what you will be able to achieve after completing this workshop.
27+
28+
[Watch the video](youtube:LPRrbPiZ2X8)
29+
30+
## Objectives
31+
32+
In this lab, you will complete the following steps:
33+
34+
✓ Using RoboFlow to find good data
35+
36+
✓ Manipulating data and creating an optimal dataset
37+
38+
✓ Preparing OCI compute instances for training Computer Vision Models
39+
40+
## OCI Elements
41+
42+
This solution is designed to work mainly with OCI Compute. We will use an OCI Compute Instance to save costs (compared to other Cloud providers) and training our Computer Vision model.
43+
44+
You can read more about the services used in the lab here:
45+
- [OCI Compute](https://www.oracle.com/cloud/compute/)
46+
47+
## Useful Resources
48+
49+
Here are three articles to get you from beginner to Computer Vision *hero*. This workshop is partly based on the content in these Medium articles.
50+
51+
- [Creating a CMask Detection Model on OCI with YOLOv5: Data Labeling with RoboFlow](https://medium.com/oracledevs/creating-a-cmask-detection-model-on-oci-with-yolov5-data-labeling-with-roboflow-5cff89cf9b0b)
52+
53+
- [Creating a Mask Model on OCI with YOLOv5: Training and Real-Time Inference](https://medium.com/oracledevs/creating-a-mask-model-on-oci-with-yolov5-training-and-real-time-inference-3534c7f9eb21)
54+
55+
- [YOLOv5 and OCI: Implementing Custom PyTorch Code From Scratch](https://medium.com/oracledevs/yolov5-and-oci-implementing-custom-pytorch-code-from-scratch-7c6b82b0b6b1)
56+
57+
58+
You may now [proceed to the next lab](#next).
59+
60+
## Acknowledgements
61+
62+
* **Author** - Nacho Martinez, Data Science Advocate @ DevRel
63+
* **Last Updated By/Date** - February 27th, 2023
142 KB
Loading
357 KB
Loading
77.1 KB
Loading
76.2 KB
Loading
58.1 KB
Loading
27.2 KB
Loading
145 KB
Loading
121 KB
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="Electron" modified="2022-07-28T12:09:47.889Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="v74zlGc7QtykxyTbfYdW" version="19.0.3" type="device"><diagram id="qL3nHyq4S5P4svGpnRKC" name="Page-1">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</diagram></mxfile>

0 commit comments

Comments
 (0)