# OAK Examples

## Overview

[OAK Examples](https://github.com/luxonis/oak-examples/tree/main/neural-networks) is a collection of inference examples that can
be used as a starting point or source of inspiration for applications of your own. The examples utilize the concepts introduced in
the [Inference](https://docs.luxonis.com/software-v3/ai-inference/inference.md) section, and run real-time AI inference on the OAK
devices. We suggest to first explore the Generic example and continue with numerous Custom examples we have prepared for various
ML tasks.

## Generic Example

The [Generic Example](https://github.com/luxonis/oak-examples/tree/main/neural-networks/generic-example) runs a simple inference
pipeline of a single-head model predicting on a single-image input. For example, you can run YOLOv6 object detection on your
camera input as:

```python
python3 main.py --model luxonis/yolov6-nano:r2-coco-512x288
```

## Custom Examples

We also offer a diverse collection of [custom examples](https://github.com/luxonis/oak-examples/tree/main/neural-networks). that
demonstrate the use of pipelines with multiple models (which may have multiple heads) and/or custom output processing. These
examples span a wide range of ML tasks, including:

 * [Classification](https://github.com/luxonis/oak-examples/tree/main/neural-networks#classification): Assigns labels, such as
   identifying objects in images (e.g., cat vs. dog);
 * [Object Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks#object-detection): Identifies and locates
   multiple objects within an image;
 * [Face Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks#face-detection): Analyzes face features,
   expressions, and behaviors;
 * [3D Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks/3D-detection): Extends object detection into
   3D space, estimating the object position, size, and orientation;
 * [Keypoint Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks/keypoint-detection): Detects specific
   points of interest within an object (e.g. face landmarks);
 * [Pose Estimation](https://github.com/luxonis/oak-examples/tree/main/neural-networks#pose-estimation): Analyzes human or animal
   bodies, predicting joint positions and posture;
 * [Segmentation](https://github.com/luxonis/oak-examples/tree/main/neural-networks/segmentation): Labels each pixel according to
   its category (e.g., objects vs. background);
 * [Object Tracking](https://github.com/luxonis/oak-examples/tree/main/neural-networks#object-tracking): Tracks movement of
   individual objects across a sequence of images in the same scene;
 * [Counting](https://github.com/luxonis/oak-examples/tree/main/neural-networks#counting): Counts the number of objects within an
   image (e.g., people in a crowd);
 * [Optical Character Recognition](https://github.com/luxonis/oak-examples/tree/main/neural-networks#ocr): Extracts text from
   images, converting it into machine-readable text;
 * [Reidentification](https://github.com/luxonis/oak-examples/tree/main/neural-networks#reidentification): Matches and recognizes
   individual objects across images of different scenes;
 * [Depth Estimation](https://github.com/luxonis/oak-examples/tree/main/neural-networks#depth-estimation): Predicts the distance
   of objects from the camera, creating a depth map of a scene;
 * [Line Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks#line-detection): Identifies lines or edges
   in images (e.g., lane detection in autonomous driving);
 * [Image-to-Image Translation](https://github.com/luxonis/oak-examples/tree/main/neural-networks#image-to-image-translation):
   Transforms images from one format to another (e.g., enhancing resolution);
 * [Feature Detection](https://github.com/luxonis/oak-examples/tree/main/neural-networks#image-to-image-translation): Identifies
   key features or points in an image, used for tasks like image matching;
 * [Speech Recognition](https://github.com/luxonis/oak-examples/tree/main/neural-networks#speech-recognition): Converts spoken
   language into text by analyzing audio signals.

We showcase some of the examples below but make sure to check the full collection on
[GitHub](https://github.com/luxonis/oak-examples/tree/main/neural-networks).

[https://github.com/luxonis/oak-examples/tree/main/neural-networks/3D-detection/objectron](https://github.com/luxonis/oak-examples/tree/main/neural-networks/3D-detection/objectron)[https://github.com/luxonis/oak-examples/tree/main/neural-networks/ocr/license-plate-recognition](https://github.com/luxonis/oak-examples/tree/main/neural-networks/ocr/license-plate-recognition)[https://github.com/luxonis/oak-examples/tree/main/neural-networks/pose-estimation/animal-pose](https://github.com/luxonis/oak-examples/tree/main/neural-networks/pose-estimation/animal-pose)[https://github.com/luxonis/oak-examples/tree/main/neural-networks/face-detection/emotion-recognition](https://github.com/luxonis/oak-examples/tree/main/neural-networks/face-detection/emotion-recognition)[https://github.com/luxonis/oak-examples/tree/main/neural-networks/generic-example](https://github.com/luxonis/oak-examples/tree/main/neural-networks/generic-example)[https://github.com/luxonis/oak-examples/tree/main/neural-networks/counting/crowdcounting](https://github.com/luxonis/oak-examples/tree/main/neural-networks/counting/crowdcounting)
