https://github.com/d-kleine/computer-vision
Udacity - Computer vision Nanodegree program
https://github.com/d-kleine/computer-vision
computer-vision
Last synced: 6 months ago
JSON representation
Udacity - Computer vision Nanodegree program
- Host: GitHub
- URL: https://github.com/d-kleine/computer-vision
- Owner: d-kleine
- License: mit
- Created: 2022-02-13T21:50:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-25T20:16:04.000Z (about 3 years ago)
- Last Synced: 2025-01-23T20:17:27.184Z (over 1 year ago)
- Topics: computer-vision
- Language: HTML
- Homepage:
- Size: 11.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Computer Vision Nanodegree Program, Exercises
This repository contains code exercises and materials for Udacity's [Computer Vision Nanodegree](https://www.udacity.com/course/computer-vision-nanodegree--nd891) program. It consists of tutorial notebooks that demonstrate, or challenge you to complete, various computer vision applications and techniques. These notebooks depend on a number of software packages to run, and so, we suggest that you create a local environment with these dependencies by following the instructions below.
**Computer vision capabilities for various applications such as image and video processing, autonomous vehicle navigation, medical diagnostics, and smartphone apps, etc.**
*Project 1: Facial Keypoint Detection*
Basics of Computer Vision and image processing:
* Extract important features from image data
* Apply deep learning techniques to classification tasks
[Project](https://github.com/d-kleine/Computer-Vision/tree/main/Project1_Facial-Keypoints)
*Project 2: Automatic Image Captioning*
Combine CNN and RNN networks to create an auto caption application:
* Split complex deep learning models into two components: a CNN that converts an input image into a set of features, and an RNN that converts those features into a rich, descriptive language
[Project](https://github.com/d-kleine/Computer-Vision/tree/main/Project2_Image-Captioning)
*Project 3: Landmark Detection & Tracking*
Locate objects and track them over time:
* Feature detection and keypoint descriptors to create a map of the environment using SLAM (simultaneous localization and mapping)
* Implement robust methods for tracking an object over time using elements of probability, motion models, and linear algebra
[Project](https://github.com/d-kleine/Computer-Vision/tree/main/Project3_Landmark%20Detection)
# Configure and Manage Your Environment with Anaconda
Per the Anaconda [docs](http://conda.pydata.org/docs):
> Conda is an open source package management system and environment management system
for installing multiple versions of software packages and their dependencies and
switching easily between them. It works on Linux, OS X and Windows, and was created
for Python programs but can package and distribute any software.
## Overview
Using Anaconda consists of the following:
1. Install [`miniconda`](http://conda.pydata.org/miniconda.html) on your computer, by selecting the latest Python version for your operating system. If you already have `conda` or `miniconda` installed, you should be able to skip this step and move on to step 2.
2. Create and activate * a new `conda` [environment](http://conda.pydata.org/docs/using/envs.html).
\* Each time you wish to work on any exercises, activate your `conda` environment!
---
## 1. Installation
**Download** the latest version of `miniconda` that matches your system.
**NOTE**: There have been reports of issues creating an environment using miniconda `v4.3.13`. If it gives you issues try versions `4.3.11` or `4.2.12` from [here](https://repo.continuum.io/miniconda/).
| | Linux | Mac | Windows |
|--------|-------|-----|---------|
| 64-bit | [64-bit (bash installer)][lin64] | [64-bit (bash installer)][mac64] | [64-bit (exe installer)][win64]
| 32-bit | [32-bit (bash installer)][lin32] | | [32-bit (exe installer)][win32]
[win64]: https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe
[win32]: https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86.exe
[mac64]: https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
[lin64]: https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
[lin32]: https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86.sh
**Install** [miniconda](http://conda.pydata.org/miniconda.html) on your machine. Detailed instructions:
- **Linux:** http://conda.pydata.org/docs/install/quick.html#linux-miniconda-install
- **Mac:** http://conda.pydata.org/docs/install/quick.html#os-x-miniconda-install
- **Windows:** http://conda.pydata.org/docs/install/quick.html#windows-miniconda-install
## 2. Create and Activate the Environment
For Windows users, these following commands need to be executed from the **Anaconda prompt** as opposed to a Windows terminal window. For Mac, a normal terminal window will work.
#### Git and version control
These instructions also assume you have `git` installed for working with Github from a terminal window, but if you do not, you can download that first with the command:
```
conda install git
```
If you'd like to learn more about version control and using `git` from the command line, take a look at our [free course: Version Control with Git](https://www.udacity.com/course/version-control-with-git--ud123).
**Now, we're ready to create our local environment!**
1. Clone the repository, and navigate to the downloaded folder. This may take a minute or two to clone due to the included image data.
```
git clone https://github.com/udacity/CVND_Exercises.git
cd CVND_Exercises
```
2. Create (and activate) a new environment, named `cv-nd` with Python 3.6. If prompted to proceed with the install `(Proceed [y]/n)` type y.
- __Linux__ or __Mac__:
```
conda create -n cv-nd python=3.6
source activate cv-nd
```
- __Windows__:
```
conda create --name cv-nd python=3.6
activate cv-nd
```
At this point your command line should look something like: `(cv-nd) :CVND_Exercises $`. The `(cv-nd)` indicates that your environment has been activated, and you can proceed with further package installations.
3. Install PyTorch and torchvision; this should install the latest version of PyTorch.
- __Linux__ or __Mac__:
```
conda install pytorch torchvision -c pytorch
```
- __Windows__:
```
conda install pytorch-cpu -c pytorch
pip install torchvision
```
6. Install a few required pip packages, which are specified in the requirements text file (including OpenCV).
```
pip install -r requirements.txt
```
7. That's it!
Now all of the `cv-nd` libraries are available to you. Assuming you're environment is still activated, you can navigate to the Exercises repo and start looking at the notebooks:
```
cd
cd CVND_Exercises
jupyter notebook
```
To exit the environment when you have completed your work session, simply close the terminal window.
### Notes on environment creation and deletion
**Verify** that the `cv-nd` environment was created in your environments:
```
conda info --envs
```
**Cleanup** downloaded libraries (remove tarballs, zip files, etc):
```
conda clean -tp
```
**Uninstall** the environment (if you want); you can remove it by name:
```
conda env remove -n cv-nd
```