theme | background | class | highlighter | lineNumbers | persist | defaults | transition | title | mdc | ||
---|---|---|---|---|---|---|---|---|---|---|---|
seriph |
./images/background.jpg |
text-center |
shiki |
false |
false |
|
slide-left |
Introduction to Artificial Intelligence and Computer Vision |
true |
Workshop
Notices & Disclaimers
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
Intel does not control or audit third-party data. You should consult other sources to evaluate accuracy.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.
- Introduction to AI and CV
- AI and CV Basics
- Intel SW and HW
- Hands-on with OpenVINO
- Questions
- AI involves teaching computers to process data in a way that mimics the human brain
- Computer Vision is a field of AI that focuses on enabling computers to interpret visual data
- AI and CV are important in our lives for several reasons:
- Automation
- Medicine
- Safety
- Customer experience
- Self-driving Cars
- Commercial vehicles
- Delivery robots
- Surveillance robots
- Drones
<iframe width="450" height="250" src="https://www.youtube.com/embed/kN0MLclnWa0?si=w1yJBFJ_IS81y-eo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
- Grocery stores:
- Automated Self Checkout
- Inventory Magagement
- Retail stores:
- Customer Experience
<iframe width="350" height="200" src="https://www.youtube.com/embed/lEWFmKI5RYY?si=bsUWXxiUOfh4KId3" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<iframe width="350" height="200" src="https://www.youtube.com/embed/3B8369neIHI?si=dpDsaq8x1yyDsv41" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<iframe width="350" height="200" src="https://www.youtube.com/embed/3B8369neIHI?si=dpDsaq8x1yyDsv41" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
- Facial Authentication
- Buildings
- Phones
- Person of interest detection
- Airports
- Stores
<iframe width="450" height="250" src="https://www.youtube.com/embed/SnH5qe8_rps?si=ym6M0GQGbs73GCzK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<style> h1 { color: white !important; @apply !text-shadow-lg; @apply !text-center; } </style>
```mermaid {theme: 'default',scale: 1, alt: 'A simple sequence diagram'} flowchart LR data["Data Collection"] model["Model Creation"] inference["Inferencing Application"] data --> Annotation --> Training --> model --> inference --> data ``` --- transition: slide-left --- # Type of CV Models
- Collect-Create hundreds or thousands of images for the desire output.
- Manually indentify desired object on each image. (object detection)
- Manually name each image (classification)
- Tensorflow
- Pytorch
- Use your model with your application
<style> h1 { color: white !important; @apply !text-shadow-lg; @apply !text-center; } </style>
- Train models for classification, object detection, segmentation or anomaly detection
- Annotation tools
- Optimized models for Intel architecture (CPU,GPUS)
- Opensource toolkit that accelerates AI inference.
- Used for AI development and integration of deep learning in domains like computer vision, LLM and genAI.
- A scalable inference server for models opmitized with OpenVINO.
- Streaming media analytics framework, based on Gstreamer.
- Enables developers to create deep learning pipelines across Intel architecture.
- Pytorch
- TensorFlow
- openCV
- Python
- Scikit-learn
--- transition: side-left layout: cover background: ./images/background.jpg --- <style> h1 { color: white !important; @apply !text-shadow-lg; @apply !text-center; } </style>
Prerequisites:
Install Docker on Windows
docker run -it --rm --network=host --entrypoint /bin/bash --name dlstreamer_test --privileged --user root openvino/ubuntu18_data_dev
cd /opt/intel/openvino/data_processing/dl_streamer/samples
./download_models.sh
gst-launch-1.0 urisourcebin buffer-size=4096 uri=https://github.com/intel-iot-devkit/sample-videos/raw/master/head-pose-face-detection-female-and-male.mp4 !
decodebin ! videoconvert ! video/x-raw,format=BGRx ! gvadetect model=/root/intel/dl_streamer/models/intel/face-detection-adas-0001/FP32/face-detection-adas-0001.xml
device=CPU ! queue ! gvaclassify model=/root/intel/dl_streamer/models/intel/age-gender-recognition-retail-0013/FP32/age-gender-recognition-retail-0013.xml model-proc=/opt/intel/openvino/data_processing/dl_streamer/samples/gst_launch/face_detection_and_classification/model_proc/age-gender-recognition-retail-0013.json
device=CPU ! queue ! gvaclassify model=/root/intel/dl_streamer/models/intel/emotions-recognition-retail-0003/FP32/emotions-recognition-retail-0003.xml model-proc=/opt/intel/openvino/data_processing/dl_streamer/samples/gst_launch/face_detection_and_classification/model_proc/emotions-recognition-retail-0003.json
device=CPU ! queue ! gvaclassify model=/root/intel/dl_streamer/models/intel/landmarks-regression-retail-0009/FP32/landmarks-regression-retail-0009.xml model-proc=/opt/intel/openvino/data_processing/dl_streamer/samples/gst_launch/face_detection_and_classification/model_proc/landmarks-regression-retail-0009.json
device=CPU ! queue ! gvawatermark ! videoconvert ! fpsdisplaysink video-sink=ximagesink sync=false
pip install -q "openvino>=2023.1.0"
import openvino as ov
core = ov.Core()
classification_model_xml = "model/classification.xml"
model = core.read_model(model=classification_model_xml)
compiled_model = core.compile_model(model=model, device_name="CPU") # Compile model to a specific device
model.inputs # [<Output: names[input, input:0] shape[1,3,224,224] type: f32>]
- model expects one input and input data with the batch size of 1 (N), 3 channels ( C) , and images with a height (H) and width (W) equal to 224.
model.outputs # [<Output: names[MobilenetV3/Predictions/Softmax] shape[1,1001] type: f32>]
- shape of [1, 1001] where 1001 is the number of classes
image = cv2.cvtColor(cv2.imread(filename=str("image.jpg")), code=cv2.COLOR_BGR2RGB) # RBG Format
input_image = cv2.resize(src=image, dsize=(224, 224)) # Resize image
input_image = np.expand_dims(input_image, 0) # Reshape image
input_image.shape # (1, 3, 224, 224)
output_layer = compiled_model.output(0)
result_infer = compiled_model([input_image])[output_layer]
result_index = np.argmax(result_infer)
imagenet_classes[result_index] # n02099267 flat-coated retriever
::right::
https://github.com/openvinotoolkit/openvino_notebooks
- Text to Video/Image generation
- Large Language Models (LLM)
- Natural Language procesing (NLP)
- Sound generators
::right::
Darth Vader is surfing on waves |
---|
a beautiful pink unicorn |
---|
- Install an IDE (vscode)
- Install python or c++, OpenVINO and Docker
- Demos from OpenVINO model zoo repo
- Retail use cases using OpenVINO model server gRPC or cAPI and docker containers (link)
<style> h1 { color: white !important; @apply !text-shadow-lg; @apply !text-center; } </style>