All Projects → CommunityToolkit → Labs-IntelligentAPIs

CommunityToolkit / Labs-IntelligentAPIs

Licence: other
Intelligent APIs aim to make machine learning (ML) tasks easier for UWP developers to leverage in their applications without needing ML expertise or creating a new model.

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to Labs-IntelligentAPIs

WeakEventListener
The WeakEventListener allows the owner to be garbage collected if its only remaining link is an event handler.
Stars: ✭ 25 (+56.25%)
Mutual labels:  uwp
pac-man-emulator
🕹 An emulator for the Pac-Man arcade machine (Zilog Z80 CPU) for Win/Mac/*nix and Xbox One.
Stars: ✭ 20 (+25%)
Mutual labels:  uwp
wildflower-finder
Image classification of wildflowers using deep residual learning and convolutional neural nets
Stars: ✭ 25 (+56.25%)
Mutual labels:  image-classification
pipeline templates
Templates for use in build and release pipelines
Stars: ✭ 42 (+162.5%)
Mutual labels:  uwp
Rx.Book
High level asynchronous programming with Reactive Extensions
Stars: ✭ 67 (+318.75%)
Mutual labels:  uwp
Microcharts
Create cross-platform (Xamarin, Windows, ...) simple charts.
Stars: ✭ 1,742 (+10787.5%)
Mutual labels:  uwp
OneDrive-Cloud-Player
OneDrive Cloud Player is a media player dedicated for streaming files directly from OneDrive.
Stars: ✭ 28 (+75%)
Mutual labels:  uwp
AIDeveloper
GUI-based software for training, evaluating and applying deep neural nets for image classification
Stars: ✭ 51 (+218.75%)
Mutual labels:  image-classification
UWP-IEXCloud-Sample
A WinUI reference app in UWP accessing IEXCloud data
Stars: ✭ 19 (+18.75%)
Mutual labels:  uwp
FontAwesome5
WPF controls for the iconic SVG, font, and CSS toolkit Font Awesome 5.
Stars: ✭ 93 (+481.25%)
Mutual labels:  uwp
fastai-visual-guide
Notebooks for Fastai Viusal Guide
Stars: ✭ 25 (+56.25%)
Mutual labels:  image-classification
neural network papers
记录一些读过的论文,给出个人对论文的评分情况并简述论文insight
Stars: ✭ 152 (+850%)
Mutual labels:  image-classification
whatfood
Food classification using deep learning
Stars: ✭ 15 (-6.25%)
Mutual labels:  image-classification
WindowsCommunityToolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10 and Windows 11. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,934 (+30737.5%)
Mutual labels:  uwp
SciColorMaps
Custom .NET color maps (user-defined or imported from matplotlib) for scientific visualization
Stars: ✭ 26 (+62.5%)
Mutual labels:  uwp
nsfw api
Python REST API to detect images with adult content
Stars: ✭ 71 (+343.75%)
Mutual labels:  image-classification
SceneClassification
This project is to use deep learning to auto classify the scene images with limited amount of training images.
Stars: ✭ 17 (+6.25%)
Mutual labels:  image-classification
DevOpsExamples
A repo to show you how to use a private NuGet feed, such as Telerik, to restore packages in Azure DevOps, GitHub Actions, GitLab CI and AppCenter.
Stars: ✭ 16 (+0%)
Mutual labels:  uwp
Image-Classifier
Final Project of the Udacity AI Programming with Python Nanodegree
Stars: ✭ 63 (+293.75%)
Mutual labels:  image-classification
robotics-level-4
This repo contains projects created using TensorFlow-Lite on Raspberry Pi and Teachable Machine. AI and ML capabilities have been integrated with Robot's software.
Stars: ✭ 34 (+112.5%)
Mutual labels:  image-classification

Intelligent APIs

What are Intelligent APIs?

Intelligent APIs aim to make machine learning tasks easier for developers to leverage in their applications without needing ML expertise or creating a new model. By just importing a nuget package and calling a function, we want developers to be able to build intelligent app experiences without needing to deal with the complexities of inferencing machine learning models on Windows.

Each of these APIs employs WinML (Windows Machine Learning) to use the models on Windows. WinML helps abstract a lot of the model-specific code away and performs hardware optimizations to improve performance significantly on Windows. Learn more about WinML here.

Pre-requisites

Visual Studio 2017 Version 15.7.4 or Newer

Windows 10 - Build 17763 (RS5) or Newer

Windows SDK - Build 17763 (RS5) or Newer

Getting started with the nuget packages

We have 2 nuget packages ready for you to test and play around with. These nuget packages enable you to perform classic machine learning tasks like image classification and object detection in 1-2 lines of code.

Steps to import the nuget package into your project:

  1. Add a new nuget source with the feed URL as https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json. If you have not done this before, follow the steps listed here to add a new nuget package source. Name the source as "WCT Labs" and set the URL as https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json.
  2. Open a blank UWP app or an existing app and add one or both packages from the newly created source. Follow step 3 here to do so.
  3. There should be two nuget packages listed, CommunityToolkit.Labs.Intelligent.ImageClassification and CommunityToolkit.Labs.Intelligent.ObjectDetection.

Using the packages

Image Classification

To perform image classification, import the CommunityToolkit.Labs.Intelligent.ImageClassification nuget package. To classify an image, you will need to pass a StorageFile object which is the image file itself, and the number of top results that you want (optional). In the following example, we pass an image of a Rottweiler and we want the top 3 results.

   using CommunityToolkit.Labs.Intelligent.ImageClassification;  
   ...
   List<ClassificationResult> imageClasses = await SqueezeNetImageClassifier.ClassifyImage(selectedStorageFile, 3);
drawing

This nuget package performs SqueezeNet model inferencing using WinML. SqueezeNet can detect 1000 different classes.

Object Detection

(Note: This currently only works with Windows 11. We are looking into this issue)

To perform object detection on your images/video, import the CommunityToolkit.Labs.Intelligent.ObjectDetection nuget package. To detect objects in the image, you can either pass an image file as a StorageFile object, VideoFrame or SoftwareBitmap.

   using CommunityToolkit.Labs.Intelligent.ObjectDetection;
   ...
   List<DetectionResult> listOfObjects = await YOLOObjectDetector.DetectObjects(selectedStorageFile);    

This nuget package performs object detection using YOLOv4 model inference on WinML and also return the co-ordinates of the bounding boxes around the detected objects. YOLOv4 can detect objects of 80 different classes.

drawing

NEW!!! Emotion Recognition

To perform emotion recognition, import the CommunityToolkit.Labs.Intelligent.EmotionRecognition nuget package. To detect emotion in an image, you can either pass a StorageFile object or a SoftwareBitmap of the image.

   using CommunityToolkit.Labs.Intelligent.EmotionRecognition;
   ...
   DetectedEmotion detectedEmotion = await EmotionRecognizer.DetectEmotion(selectedStorageFile);    
image

🧪 This project is under Community Toolkit Labs. What does that mean?

Community Toolkit Labs is a place for rapidly prototyping ideas and gathering community feedback. It is an incubation space where the developer community can come together to work on new ideas before thinking about final quality gates and ship cycles. Developers can focus on the scenarios and usage of their features before finalizing docs, samples, and tests required to ship a complete idea within the Toolkit.

Steps to clone the repo

  1. git clone the repo
  2. Open the .sln file in VS 2017 or newer
  3. Set IntelligentLabsTest as the startup project.
  4. Build the project and run!

Note: If you have the Windows machine learning code generator or mlgen extension on VS, please disable it for this project since all the code is already generated for you.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].