All Projects → microsoft → Aivisualprovision

microsoft / Aivisualprovision

Licence: mit
Connect(); 2018 - AI Visual Provision Sample App

Projects that are alternatives of or similar to Aivisualprovision

Azure For Developers Workshop
The Azure cloud is huge and the vast service catalog may appear daunting at first, but it doesn’t have to be!
Stars: ✭ 38 (-67.24%)
Mutual labels:  cognitive-services, azure, xamarin, xamarin-forms
Xxamarin
Repositório com ✨ 141 Exemplos de Implementações e 📦 13 Pacotes de Xamarin
Stars: ✭ 68 (-41.38%)
Mutual labels:  azure, xamarin, xamarin-forms
Denunciado
This project born from the need from people to have a way of communication between municipalities and communities. Some municipalities, have their platforms, but they are complex to validate the veracity of complaints. Denounced, it was born with the purpose of offering a free platform to these municipalities. Denounced consists of three main modules developed with Microsoft technologies, using the .Net Framework and Xamarin for its development: 1. Back End Web Project: Module of administration of the complaints, by the employees of the town councils. In this tool, the employees of the city council receive, validate, report and close the complaints, after being served. 2. Web Portal Client: It consists of a web project, so that the community make their complaints, in the same, the users of the service create a profile, must specify when making their complaint, evidence to support this. Through the portal, they can see the complaints of other community members, follow it, give their opinion or provide possible solutions or more evidence. 3. Mobile Project: It has the same functionalities as the web portal, with the addition, that the automatic location can be sent, from the cell phone.
Stars: ✭ 183 (+57.76%)
Mutual labels:  azure, xamarin, xamarin-forms
Cognitive-Face-Xamarin
A client library that makes it easy to work with the Microsoft Cognitive Services Face API on Xamarin.iOS, Xamarin.Android, and Xamarin.Forms and/or Portable Class Libraries.
Stars: ✭ 18 (-84.48%)
Mutual labels:  xamarin, xamarin-forms, cognitive-services
Faceoff
An iOS, Android and UWP app created in Xamarin.Forms that uses Microsoft's Cognitive Emotion API Services to compare facial expressions
Stars: ✭ 79 (-31.9%)
Mutual labels:  xamarin, xamarin-forms
Customnavigationbarsample
Navigation Bar Customization in Xamarin Forms
Stars: ✭ 104 (-10.34%)
Mutual labels:  xamarin, xamarin-forms
Barcodescanner.xf
Barcode Scanner using GoogleVision API for Xamarin Form
Stars: ✭ 82 (-29.31%)
Mutual labels:  xamarin, xamarin-forms
Bottomtabbedpage Xamarin Forms
A page control for Xamarin.Forms to place tabs at the bottom.
Stars: ✭ 90 (-22.41%)
Mutual labels:  xamarin, xamarin-forms
Googleanalyticsforxamarinforms
Google Analytics Plugin for Xamarin Forms
Stars: ✭ 65 (-43.97%)
Mutual labels:  xamarin, xamarin-forms
Trainingdays
Azure Developer College's application development training days content.
Stars: ✭ 86 (-25.86%)
Mutual labels:  cognitive-services, azure
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-1.72%)
Mutual labels:  xamarin, xamarin-forms
Dayvsnight
DayVsNight - A Xamarin.Forms UI Challenge
Stars: ✭ 112 (-3.45%)
Mutual labels:  xamarin, xamarin-forms
Xamarin.plugins
Cross-platform Native API Access from Shared Code!
Stars: ✭ 1,176 (+913.79%)
Mutual labels:  xamarin, xamarin-forms
Xamuidemo
Xamarin Forms Login Page UI Kit
Stars: ✭ 82 (-29.31%)
Mutual labels:  xamarin, xamarin-forms
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (-18.97%)
Mutual labels:  xamarin, xamarin-forms
Ffimageloading
Image loading, caching & transforming library for Xamarin and Windows
Stars: ✭ 1,288 (+1010.34%)
Mutual labels:  xamarin, xamarin-forms
Mytripcountdown
Xamarin.Forms goodlooking UI sample
Stars: ✭ 94 (-18.97%)
Mutual labels:  xamarin, xamarin-forms
Aiforms.layouts
AiForms.Layouts (WrapLayout) for Xamarin.Forms
Stars: ✭ 94 (-18.97%)
Mutual labels:  xamarin, xamarin-forms
Xamarin Plugins
Cross-platform Plugins for Xamarin, Xamarin.Forms and Windows
Stars: ✭ 97 (-16.38%)
Mutual labels:  xamarin, xamarin-forms
Enhancedentry
Extended Xamarin Forms Entry with custom behaviours.
Stars: ✭ 64 (-44.83%)
Mutual labels:  xamarin, xamarin-forms

AI Visual Provision

Introduction

As part of Connect(); 2018 we released the AI Vision Provision. This sample app leverages the power of Azure Cognitive Services (Computer Vision and Custom Vision) to analyze Azure Service logos and handwriting in order to identify potential services and then deploy them to Azure all from the comfort of your phone.

Scott Hanselman's Keynote

You can also download the mobile apps following these links:

The following services are currently supported:

  • Azure Functions
  • Azure Key Vault (handwriting only)
  • Azure SQL
  • Azure Storage Account
  • Azure Web Apps

Demo Script and Blog Posts

Check out the demo script Developing Intelligent Apps with Azure and a blog post Tutorial: Recognize Azure service logos in camera pictures about this sample mobile application.

Screens

credentials subscription capture services deployment progress

Requirements

You don't have to use the Azure Magnets for running this demo but in case you want to download the magnets are available in here.

Getting Started

The mobile application uses Cognitive Services to detect Azure services using the phone camera. In order to use the application, you will need a pre-existing Azure subscription, a Custom Vision project for the Azure logo identification and a Computer Vision service for the optical character recognition.

Service principal creation

The [Azure Fluent SDK] requires an Azure Service Principal account to authentication against a subscription in order to deploy services from the app.
Therefore, you need to create a Service principal in order to work with this demo. You can do this either using Azure Cloud Shell or by using the Azure CLI directly:

Fist you need to log in and select the right subscription to work with

az login
az account list
az account set --subscription "<subscription name or subscription id>"

Create your Service Principal (note that it may take some time to complete):

az ad sp create-for-rbac --name <servicePrincipalName> --password <yourSPStrongPassword>

Upon successful completion, you should be presented with the following JSON output that contains the necessary credentials including the clientId and TenantId:

{
  "clientId": "(...)",
  "clientSecret": "(...)",
  "subscriptionId": "(...)",
  "tenantId": "(...)",
  ...
}

Take a note ofthe following details:

  • clientId
  • tenantId
  • clientSecret i.e. your password.

Computer Vision API Key

You need a Computer Vision service in order to use the handwriting recognition features of the app. To create your own Computer Vision instance you can find instructions in the Azure docs. Once you've provisioned the service, you can retrieve the your service endpoint URI and endpoint key as per the images below:

Computer Vision settings

Computer Vision API keys

Finally, open the MagnetsMobileClient\VisualProvision\AppSettings.cs file and populate the ComputerVisionEndpoint and ComputerVisionKey variables with the right values settings.

Azure Custom Vision - training the model

The in-app logo recognition is accomplished by using Azure Custom Vision. In order to use the service in the app, you need to create a new Custom Vision project and train it with the images provided in the repo under the documents/training_dataset folder. If you've never used the Custom Vision service before, then you can follow this tutorial here and there's a great Channel9 video that shows you how to do it end-to-end.

If you have the Azure magnet sheets then this is the best and fastest way to train your Custom Vision project. If you don't have the magnets handy, we've included 2 PDFs (sheet1, sheet2) with all our magnet logos in the documents section of this repo.

Note that the Custom Vision project creation and model training are a one-off requirement and you wont need to do this work again unless you want to add a new logo. New images can be added to improve the models accuracy and this is the only case where retraining will be required.

IMPORTANT! To further increase the prediction accuracy you may want to train the model using the same or as similar as possible conditions as your expected working environment.

When training the model, you should use following set of tags, as they are the expected tags in the application. Tags are located at MagnetsMobileClient\VisualProvision\Services\Recognition\RecognitionService.cs file.

private const string TAG_ACTIVE_DIRECTORY = "ACTIVE_DIRECTORY";
private const string TAG_APP_SERVICE = "APP_SERVICE";
private const string TAG_NOTIFICATION_HUBS = "NOTIFICATION_HUBS";
private const string TAG_MOBILE_APPS = "MOBILE_APPS";
private const string TAG_AZURE_SEARCH = "AZURE_SEARCH";
private const string TAG_AZURE_CDN = "CDN";
private const string TAG_AZURE_MACHINE_LEARNING = "MACHINE_LEARNING";
private const string TAG_AZURE_STORAGE = "STORAGE";
private const string TAG_IOT_EDGE = "IOT_EDGE";
private const string TAG_COSMOS_DB = "COSMOS_DB";
private const string TAG_COGNITIVE_SERVICES = "COGNITIVE_SERVICES";
private const string TAG_SQL_DATABASE = "SQL_DATABASE";
private const string TAG_MYSQL_CLEARDB_DATABASE = "MYSQL_CLEARDB_DATABASE";
private const string TAG_REDIS_CACHE = "REDIS_CACHE";
private const string TAG_APP_INSIGHTS = "APPLICATION_INSIGHTS";
private const string TAG_AZURE_FUNCTIONS = "AZURE_FUNCTIONS";

Once you've trained your model, you need to retrieve the API keys. The image below shows you how:

Use the settings highlighted in the image to populate the CustomVisionPredictionUrl and CustomVisionPredictionKey variables in the MagnetsMobileClient\VisualProvision\AppSettings.cs file.

Xamarin.Forms App (AI Visual Provision)

Xamarin.Forms enables you to build native UIs for iOS, Android, macOS, Linux, and Windows from a single, shared codebase. You can dive into app development with Xamarin.Forms by following our free self-guided learning from Xamarin University. This project exercises the following patterns and features:

  • Xamarin.Forms
  • XAML UI
  • Converters
  • Custom Controls
  • Custom Renderers
  • Data Binding
  • Effects
  • IoC
  • MVVM
  • Plugins for Xamarin
  • Styles
  • .NET Standard

App Center

You can optionally add use App Center to build, test and distribute the sample app to your phone. In App Center get keys for Android and iOS to enable telemetry and deployment statistics. Add each key in MagnetsMobileClient\VisualProvision\AppSettings.cs file for AppCenterAndroid and AppCenterIos settings.

To learn more about App Center follow this link.

Licenses

This project makes use of some third-party assets with a license that requires attribution:

MIT License

Other free licenses

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

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].