Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reviewed general punctuation and fixed some broken links #251

Merged
merged 58 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
227e279
Punctuation updated and broken image link restored
sergiopaniego Apr 12, 2024
87a9456
Review punctuation and fixed some broken links
sergiopaniego Apr 15, 2024
a7bb7db
Merge remote-tracking branch 'upstream/main' into main
sergiopaniego Apr 23, 2024
aee83e5
Restored HTTP image link
sergiopaniego Apr 23, 2024
5b0b687
Merge branch 'main' of https://github.com/johko/computer-vision-cours…
sergiopaniego Apr 24, 2024
fdc9f2f
Merge remote-tracking branch 'upstream/main'
sergiopaniego Apr 26, 2024
7efc70c
Update chapters/en/unit5/generative-models/gans-vaes/stylegan.mdx
sergiopaniego Apr 26, 2024
e84231b
Update chapters/en/unit5/generative-models/gans-vaes/stylegan.mdx
sergiopaniego Apr 26, 2024
5a071d4
Updated suggestions and broken link
sergiopaniego Apr 26, 2024
63c5921
Merge remote-tracking branch 'upstream/main'
sergiopaniego Apr 26, 2024
9f775d5
Merge remote-tracking branch 'remote_repo/main' into main
sergiopaniego May 15, 2024
018cef9
Update chapters/en/unit0/welcome/welcome.mdx
sergiopaniego May 15, 2024
2e33328
Update chapters/en/unit0/welcome/welcome.mdx
sergiopaniego May 15, 2024
7516792
Update chapters/en/unit0/welcome/welcome.mdx
sergiopaniego May 15, 2024
b6be1d8
Update chapters/en/unit0/welcome/welcome.mdx
sergiopaniego May 15, 2024
3953ca7
Update chapters/en/unit0/welcome/welcome.mdx
sergiopaniego May 15, 2024
efd687e
Updated punctuation
sergiopaniego May 15, 2024
17f63fe
Update chapters/en/unit10/blenderProc.mdx
sergiopaniego May 15, 2024
90d441e
Update chapters/en/unit10/blenderProc.mdx
sergiopaniego May 15, 2024
50a4fec
Update chapters/en/unit10/blenderProc.mdx
sergiopaniego May 15, 2024
3857b6b
Update chapters/en/unit10/point_clouds.mdx
sergiopaniego May 15, 2024
7082512
Update chapters/en/unit10/synthetic_datasets.mdx
sergiopaniego May 15, 2024
63f11a9
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
b531fd3
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
9e34648
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
5ba57b4
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
6a17a60
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
d987aeb
Update chapters/en/unit2/cnns/convnext.mdx
sergiopaniego May 15, 2024
93cc5dc
Update chapters/en/unit3/vision-transformers/detr.mdx
sergiopaniego May 15, 2024
ccbd8ca
Update chapters/en/unit3/vision-transformers/vision-transformer-for-o…
sergiopaniego May 15, 2024
16c7f5e
Update chapters/en/unit4/multimodal-models/clip-and-relatives/clip.mdx
sergiopaniego May 15, 2024
011d714
Update chapters/en/unit4/multimodal-models/clip-and-relatives/clip.mdx
sergiopaniego May 15, 2024
fb6a7c6
Update chapters/en/unit5/generative-models/diffusion-models/introduct…
sergiopaniego May 15, 2024
da41433
Update chapters/en/unit5/generative-models/diffusion-models/introduct…
sergiopaniego May 15, 2024
a23ecc0
Update chapters/en/unit5/generative-models/diffusion-models/introduct…
sergiopaniego May 15, 2024
56ad356
Update chapters/en/unit5/generative-models/diffusion-models/introduct…
sergiopaniego May 15, 2024
c8e9a55
Update chapters/en/unit5/generative-models/diffusion-models/stable-di…
sergiopaniego May 15, 2024
279c808
Update chapters/en/unit5/generative-models/diffusion-models/stable-di…
sergiopaniego May 15, 2024
9e4eb7b
Update chapters/en/unit5/generative-models/introduction/introduction.mdx
sergiopaniego May 15, 2024
034d3fb
Update chapters/en/unit5/generative-models/introduction/introduction.mdx
sergiopaniego May 15, 2024
2937fbc
Update chapters/en/unit5/generative-models/introduction/introduction.mdx
sergiopaniego May 15, 2024
df87c30
Update chapters/en/unit5/generative-models/practical-applications/eth…
sergiopaniego May 15, 2024
c134cb8
Update chapters/en/unit5/generative-models/practical-applications/eth…
sergiopaniego May 15, 2024
8d927af
Update chapters/en/unit5/generative-models/practical-applications/eth…
sergiopaniego May 15, 2024
16a17a0
Update chapters/en/unit8/3d_measurements_stereo_vision.mdx
sergiopaniego May 15, 2024
f74dce2
Update chapters/en/unit8/3d_measurements_stereo_vision.mdx
sergiopaniego May 15, 2024
99450b6
Update chapters/en/unit8/3d_measurements_stereo_vision.mdx
sergiopaniego May 15, 2024
1c55514
Update chapters/en/unit8/introduction/brief_history.mdx
sergiopaniego May 15, 2024
39299fa
Update chapters/en/unit8/introduction/brief_history.mdx
sergiopaniego May 15, 2024
7e8bbc0
Modified pip install spacing
sergiopaniego May 15, 2024
c122f3e
Merge branch 'main' of https://github.com/sergiopaniego/computer-visi…
sergiopaniego May 15, 2024
71233b6
Extended spacing update of pip install instructions across units
sergiopaniego May 15, 2024
6107b34
Removed punctuations in table following standards
sergiopaniego May 15, 2024
c652dfb
Removed unneeded new lines
sergiopaniego May 15, 2024
1c20a24
Updated some broken links pointing to the course
sergiopaniego May 15, 2024
a39c49d
Added new line to separate sentences
sergiopaniego May 16, 2024
3f73731
Removed unneeded puntuaction
sergiopaniego May 16, 2024
1c69233
Removed unneeded punctuation
sergiopaniego May 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions chapters/en/Unit 0 - Welcome/welcome.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,29 @@ On this page, you can find how to join the learners community, make a submission

To obtain your certification for completing the course, complete the following assignments:

1. Training/fine-tuning a Model
2. Building an application and hosting it on Hugging Face Spaces
1. Training/fine-tuning a Model.
2. Building an application and hosting it on Hugging Face Spaces.

### Training/fine-tuning a Model

There are notebooks under the Notebooks/Vision Transformers section. As of now, we have notebooks for object detection, image segmentation, and image classification. You can either train a model on a dataset that exists on 🤗 Hub or upload a dataset to a dataset repository and train a model on that.

The model repository needs to have the following:

1. A properly filled Model Card [you can check out here for more information](https://huggingface.co/docs/hub/en/model-cards)
1. A properly filled Model Card: [you can check out here for more information](https://huggingface.co/docs/hub/en/model-cards).
2. If you trained a model with transformers and pushed it to Hub, the model card will be generated. In that case, edit the card and fill in more details.
3. Add the dataset’s ID to the model card to link the model repository to the dataset repository.

### Creating a Space

In this assignment section, you'll be building a Gradio-based application for your computer vision model and sharing it on 🤗 Spaces. Learn more about these tasks using the following resources:

- [Getting started with Gradio](https://huggingface.co/learn/nlp-course/chapter9/1?fw=pt#introduction-to-gradio)
- [How to share your application on 🤗 Spaces](https://huggingface.co/learn/nlp-course/chapter9/4?fw=pt)
- [Getting started with Gradio](https://huggingface.co/learn/nlp-course/chapter9/1?fw=pt#introduction-to-gradio).
- [How to share your application on 🤗 Spaces](https://huggingface.co/learn/nlp-course/chapter9/4?fw=pt).

## Certification 🥇

Once you've finished the assignments — Training/fine-tuning a Model and Creating a Space — please complete the [form](https://forms.gle/JaSYEf1pEZ4HtNKGA) with your name, email, and links to your model and Space repositories to receive your certificate
Once you've finished the assignments — Training/fine-tuning a Model and Creating a Space — please complete the [form](https://forms.gle/JaSYEf1pEZ4HtNKGA) with your name, email, and links to your model and Space repositories to receive your certificate.

## Join the community!

Expand All @@ -52,7 +52,7 @@ As a computer vision course learner, you may find the following set of channels

- `#computer-vision`: a catch-all channel for everything related to computer vision.
- `#cv-study-group`: a place to exchange ideas, ask questions about specific posts and start discussions.
- `#3d`: a channel to discuss aspects of computer vision specific to 3D computer vision
- `#3d`: a channel to discuss aspects of computer vision specific to 3D computer vision.

If you are interested in generative AI, we also invite you to join all channels related to the Diffusion Models: #core-announcements, #discussions, #dev-discussions, and #diff-i-made-this.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Imagine you have a giant box of puzzle pieces, and you're trying to find a speci

Now that we have an intuitive idea of how brute-force matches are found, let's dive into the algorithms. We are going to use the descriptors that we learned about in the previous chapter to find the matching features in two images.

First install and load libraries
First install and load libraries.

```bash
!pip install opencv-python
Expand Down Expand Up @@ -137,13 +137,13 @@ We also create a dictionary to specify the maximum leafs to visit as follows.
search_params = dict(checks=50)
```

Initiate SIFT detector
Initiate SIFT detector.

```python
sift = cv.SIFT_create()
```

Find the keypoints and descriptors with SIFT
Find the keypoints and descriptors with SIFT.

```python
kp1, des1 = sift.detectAndCompute(img1, None)
Expand Down Expand Up @@ -259,7 +259,7 @@ Fm, inliers = cv2.findFundamentalMat(mkpts0, mkpts1, cv2.USAC_MAGSAC, 0.5, 0.999
inliers = inliers > 0
```

Finally, we can visualize the matches
Finally, we can visualize the matches.

```python
draw_LAF_matches(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Now that we have seen what are images, how they are acquired, and their impact,
## Operations in Digital Image Processing
In digital image processing, operations on images are diverse and can be categorized into:

- Logical
- Statistical
- Geometrical
- Mathematical
- Logical.
- Statistical.
- Geometrical.
- Mathematical.
- Transform operations.

Each category encompasses different techniques, such as morphological operations under logical operations or fourier transforms and principal component analysis (PCA) under transforms. In this context, we refer to morphology as the group of operations tha use structuring elements to generate images of the same size by looking into the values of the pixel neighborhood. Understanding the distinction between element-wise and matrix operations is important in image manipulation. Element-wise operations, such as raising an image to a power or dividing it by another image, involve processing each pixel individually. This pixel-based approach contrasts with matrix operations, which utilize matrix theory for image manipulation. Having said that, you can do whatever you want with images, as they are matrices containing numbers!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The core of digital image formation is the function \\(f(x,y)\\), which is deter
</div>

In transmission-based imaging, such as X-rays, transmissivity takes the place of reflectivity. The digital representation of an image is essentially a matrix or array of numerical values, each corresponding to a pixel. The process of transforming continuous image data into a digital format is twofold:
- Sampling, which digitizes the coordinate values
- Sampling, which digitizes the coordinate values.
- Quantization, which converts amplitude values into discrete quantities.

The resolution and quality of a digital image significantly depend on the following:
Expand Down
32 changes: 18 additions & 14 deletions chapters/en/Unit 10 - Synthetic Data Creation/blenderProc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -103,24 +103,28 @@ You can install BlenderProc via pip:

Alternately, you can clone the official [BlenderProc repository](https://github.com/DLR-RM/BlenderProc) from GitHub using Git:

`git clone https://github.com/DLR-RM/BlenderProc`
```bash
git clone https://github.com/DLR-RM/BlenderProc
```

BlenderProc must be run inside the blender python environment (bpy), as this is the only way to access the Blender API.

`blenderproc run <your_python_script>`
```bash
blenderproc run <your_python_script>
```

You can check out this notebook to try BlenderProc in Google Colab, demos the basic examples provided [here](https://github.com/DLR-RM/BlenderProc/tree/main/examples/basics).
Here are some images rendered with the basic example:

![colors](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/colors.png)
![normals](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/normals.png)
![depth](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/depth.png)
![colors](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/colors.png).
![normals](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/normals.png).
![depth](https://huggingface.co/datasets/hf-vision/course-assets/resolve/main/synthetic-data-creation-PBR/depth.png).

## Blender Resources

- [User Manual](https://docs.blender.org/manual/en/latest/0)
- [Awesome-blender -- Extensive list of resources](https://awesome-blender.netlify.app)
- [Blender Youtube Channel](https://www.youtube.com/@BlenderOfficial)
- [User Manual](https://docs.blender.org/manual/en/latest/0).
- [Awesome-blender -- Extensive list of resources](https://awesome-blender.netlify.app).
- [Blender Youtube Channel](https://www.youtube.com/@BlenderOfficial).

### The following video explains how to render a 3D syntehtic dataset in Blender:

Expand All @@ -132,15 +136,15 @@ Here are some images rendered with the basic example:

## Papers / Blogs

- [Developing digital twins of multi-camera metrology systems in Blender](https://iopscience.iop.org/article/10.1088/1361-6501/acc59e/pdf_)
- [Generate Depth and Normal Maps with Blender](https://www.saifkhichi.com/blog/blender-depth-map-surface-normals)
- [Object detection with synthetic training data](https://medium.com/rowden/object-detection-with-synthetic-training-data-f6735a5a34bc)
- [Developing digital twins of multi-camera metrology systems in Blender](https://iopscience.iop.org/article/10.1088/1361-6501/acc59e/pdf_).
- [Generate Depth and Normal Maps with Blender](https://www.saifkhichi.com/blog/blender-depth-map-surface-normals).
- [Object detection with synthetic training data](https://medium.com/rowden/object-detection-with-synthetic-training-data-f6735a5a34bc).

## BlenderProc Resources

- [BlenderProc Github Repo](https://github.com/DLR-RM/BlenderProc)
- [BlenderProc: Reducing the Reality Gap with Photorealistic Rendering](https://elib.dlr.de/139317/1/denninger.pdf)
- [Documentation](https://dlr-rm.github.io/BlenderProc/)
- [BlenderProc Github Repo](https://github.com/DLR-RM/BlenderProc).
- [BlenderProc: Reducing the Reality Gap with Photorealistic Rendering](https://elib.dlr.de/139317/1/denninger.pdf).
- [Documentation](https://dlr-rm.github.io/BlenderProc/).

### The following video provides an overview of the BlenderProc pipeline:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ This means we have many tools under our belt to generate synthetic data!

## Approaches to Synthetic Data Generation

There are generally three cases for needing synthetic data,
There are generally three cases for needing synthetic data:

**Extending an existing dataset:**

Expand Down
16 changes: 8 additions & 8 deletions chapters/en/Unit 10 - Synthetic Data Creation/point_clouds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ The 3D Point Data is mainly used in self-driving capabilities, but now other AI

## Generation and Data Representation

We will be using the python library [point-cloud-utils](https://github.com/fwilliams/point-cloud-utils), and [open-3d](https://github.com/isl-org/Open3D), which can be installed by
We will be using the python library [point-cloud-utils](https://github.com/fwilliams/point-cloud-utils), and [open-3d](https://github.com/isl-org/Open3D), which can be installed by:

```bash
pip install point-cloud-utils
```

We will be also using the python library open-3d, which can be installed by
We will be also using the python library open-3d, which can be installed by:

```bash
pip install open3d
```

OR a Smaller CPU only version
OR a Smaller CPU only version:

```bash
pip install open3d-cpu
Expand All @@ -45,21 +45,21 @@ Now, first we need to understand the formats in which these point clouds are sto
**Why?**

- `point-cloud-utils` supports reading common mesh formats (PLY, STL, OFF, OBJ, 3DS, VRML 2.0, X3D, COLLADA).
- If it can be imported into [MeshLab](https://github.com/cnr-isti-vclab/meshlab), we can read it! (from their readme)
- If it can be imported into [MeshLab](https://github.com/cnr-isti-vclab/meshlab), we can read it! (from their readme).

The type of file is inferred from its file extension. Some of the extensions supported are:

** PLY (Polygon File Format) **

- A simple PLY object consists of a collection of elements for representation of the object. It consists of a list of (x,y,z) triplets of a vertex and a list of faces that are actually indices into the list of vertices.
- Vertices and faces are two examples of elements and the majority of the PLY file consists of these two elements.
- New properties can also be created and attached to the elements of an object, but these should be added in such a way that old programs do not break when these new properties are encountered
- New properties can also be created and attached to the elements of an object, but these should be added in such a way that old programs do not break when these new properties are encountered.

** STL (Standard Tessellation Language) **

- This format approximates the surfaces of a solid model with triangles.
- These triangles are also known as facets, where each facet is described by a perpendicular direction and three points representing the vertices of the triangle.
- However, these files have no description of Color and Texture
- However, these files have no description of Color and Texture.

** OFF (Object File Format) **

Expand All @@ -77,11 +77,11 @@ The type of file is inferred from its file extension. Some of the extensions sup

- X3D is an XML based 3D graphics file format for presentation of 3D information. It is a modular standard and is defined through several ISO specifications.
- The format supports vector and raster graphics, transparency, lighting effects, and animation settings including rotations, fades, and swings.
- X3D has the advantage of encoding color information (unlike STL) that is used during printing the model on a color 3D printer
- X3D has the advantage of encoding color information (unlike STL) that is used during printing the model on a color 3D printer.

** DAE (Digital Asset Exchange) **

- This is an XML schema which is an open standard XML schema, from which DAE files are built.
- This file format is based on the COLLADA (COLLAborative Design Activity) XML schema which is an open standard XML schema for the exchange of digital assets among graphics software applications
- This file format is based on the COLLADA (COLLAborative Design Activity) XML schema which is an open standard XML schema for the exchange of digital assets among graphics software applications.
- The format's biggest selling point is its compatibility across multiple platforms.
- COLLADA files aren't restricted to one program or manufacturer. Instead, they offer a standard way to store 3D assets.
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@ The generator has the following model architecture:

- The input is a vector a 100 random numbers and the output is a image of size 128*128*3.
- The model has 4 convolutional layers:
- Conv2D layer
- Batch Normalization layer
- ReLU activation
- Conv2D layer with Tanh activation
- Conv2D layer.
- Batch Normalization layer.
- ReLU activation.
- Conv2D layer with Tanh activation.

The discriminator has the following model architecture:

- The input is an image and the output is a probability indicating whether the image is fake or real.
- The model has one convolutional layer:
- Conv2D layer
- Leaky ReLU activation
- Conv2D layer.
- Leaky ReLU activation.
- Three convolutional layers with:
- Conv2D layer
- Batch Normalization layer
- Leaky ReLU activation
- Conv2D layer with Sigmoid
- Conv2D layer.
- Batch Normalization layer.
- Leaky ReLU activation.
- Conv2D layer with Sigmoid.

**Data Collection**

Expand Down
Loading
Loading