• Guest
HabraHabr
  • Main
  • Users

  • Development
    • Programming
    • Information Security
    • Website development
    • JavaScript
    • Game development
    • Open source
    • Developed for Android
    • Machine learning
    • Abnormal programming
    • Java
    • Python
    • Development of mobile applications
    • Analysis and design of systems
    • .NET
    • Mathematics
    • Algorithms
    • C#
    • System Programming
    • C++
    • C
    • Go
    • PHP
    • Reverse engineering
    • Assembler
    • Development under Linux
    • Big Data
    • Rust
    • Cryptography
    • Entertaining problems
    • Testing of IT systems
    • Testing Web Services
    • HTML
    • Programming microcontrollers
    • API
    • High performance
    • Developed for iOS
    • CSS
    • Industrial Programming
    • Development under Windows
    • Image processing
    • Compilers
    • FPGA
    • Professional literature
    • OpenStreetMap
    • Google Chrome
    • Data Mining
    • PostgreSQL
    • Development of robotics
    • Visualization of data
    • Angular
    • ReactJS
    • Search technologies
    • Debugging
    • Test mobile applications
    • Browsers
    • Designing and refactoring
    • IT Standards
    • Solidity
    • Node.JS
    • Git
    • LaTeX
    • SQL
    • Haskell
    • Unreal Engine
    • Unity3D
    • Development for the Internet of things
    • Functional Programming
    • Amazon Web Services
    • Google Cloud Platform
    • Development under AR and VR
    • Assembly systems
    • Version control systems
    • Kotlin
    • R
    • CAD/CAM
    • Customer Optimization
    • Development of communication systems
    • Microsoft Azure
    • Perfect code
    • Atlassian
    • Visual Studio
    • NoSQL
    • Yii
    • Mono и Moonlight
    • Parallel Programming
    • Asterisk
    • Yandex API
    • WordPress
    • Sports programming
    • Lua
    • Microsoft SQL Server
    • Payment systems
    • TypeScript
    • Scala
    • Google API
    • Development of data transmission systems
    • XML
    • Regular expressions
    • Development under Tizen
    • Swift
    • MySQL
    • Geoinformation services
    • Global Positioning Systems
    • Qt
    • Dart
    • Django
    • Development for Office 365
    • Erlang/OTP
    • GPGPU
    • Eclipse
    • Maps API
    • Testing games
    • Browser Extensions
    • 1C-Bitrix
    • Development under e-commerce
    • Xamarin
    • Xcode
    • Development under Windows Phone
    • Semantics
    • CMS
    • VueJS
    • GitHub
    • Open data
    • Sphinx
    • Ruby on Rails
    • Ruby
    • Symfony
    • Drupal
    • Messaging Systems
    • CTF
    • SaaS / S+S
    • SharePoint
    • jQuery
    • Puppet
    • Firefox
    • Elm
    • MODX
    • Billing systems
    • Graphical shells
    • Kodobred
    • MongoDB
    • SCADA
    • Hadoop
    • Gradle
    • Clojure
    • F#
    • CoffeeScript
    • Matlab
    • Phalcon
    • Development under Sailfish OS
    • Magento
    • Elixir/Phoenix
    • Microsoft Edge
    • Layout of letters
    • Development for OS X
    • Forth
    • Smalltalk
    • Julia
    • Laravel
    • WebGL
    • Meteor.JS
    • Firebird/Interbase
    • SQLite
    • D
    • Mesh-networks
    • I2P
    • Derby.js
    • Emacs
    • Development under Bada
    • Mercurial
    • UML Design
    • Objective C
    • Fortran
    • Cocoa
    • Cobol
    • Apache Flex
    • Action Script
    • Joomla
    • IIS
    • Twitter API
    • Vkontakte API
    • Facebook API
    • Microsoft Access
    • PDF
    • Prolog
    • GTK+
    • LabVIEW
    • Brainfuck
    • Cubrid
    • Canvas
    • Doctrine ORM
    • Google App Engine
    • Twisted
    • XSLT
    • TDD
    • Small Basic
    • Kohana
    • Development for Java ME
    • LiveStreet
    • MooTools
    • Adobe Flash
    • GreaseMonkey
    • INFOLUST
    • Groovy & Grails
    • Lisp
    • Delphi
    • Zend Framework
    • ExtJS / Sencha Library
    • Internet Explorer
    • CodeIgniter
    • Silverlight
    • Google Web Toolkit
    • CakePHP
    • Safari
    • Opera
    • Microformats
    • Ajax
    • VIM
  • Administration
    • System administration
    • IT Infrastructure
    • *nix
    • Network technologies
    • DevOps
    • Server Administration
    • Cloud computing
    • Configuring Linux
    • Wireless technologies
    • Virtualization
    • Hosting
    • Data storage
    • Decentralized networks
    • Database Administration
    • Data Warehousing
    • Communication standards
    • PowerShell
    • Backup
    • Cisco
    • Nginx
    • Antivirus protection
    • DNS
    • Server Optimization
    • Data recovery
    • Apache
    • Spam and antispam
    • Data Compression
    • SAN
    • IPv6
    • Fidonet
    • IPTV
    • Shells
    • Administering domain names
  • Design
    • Interfaces
    • Web design
    • Working with sound
    • Usability
    • Graphic design
    • Design Games
    • Mobile App Design
    • Working with 3D-graphics
    • Typography
    • Working with video
    • Work with vector graphics
    • Accessibility
    • Prototyping
    • CGI (graphics)
    • Computer Animation
    • Working with icons
  • Control
    • Careers in the IT industry
    • Project management
    • Development Management
    • Personnel Management
    • Product Management
    • Start-up development
    • Managing the community
    • Service Desk
    • GTD
    • IT Terminology
    • Agile
    • Business Models
    • Legislation and IT-business
    • Sales management
    • CRM-systems
    • Product localization
    • ECM / EDS
    • Freelance
    • Venture investments
    • ERP-systems
    • Help Desk Software
    • Media management
    • Patenting
    • E-commerce management
    • Creative Commons
  • Marketing
    • Conferences
    • Promotion of games
    • Internet Marketing
    • Search Engine Optimization
    • Web Analytics
    • Monetize Web services
    • Content marketing
    • Monetization of IT systems
    • Monetize mobile apps
    • Mobile App Analytics
    • Growth Hacking
    • Branding
    • Monetize Games
    • Display ads
    • Contextual advertising
    • Increase Conversion Rate
  • Sundry
    • Reading room
    • Educational process in IT
    • Research and forecasts in IT
    • Finance in IT
    • Hakatonas
    • IT emigration
    • Education abroad
    • Lumber room
    • I'm on my way

Recognition of eco-labels using Azure Custom Vision from the mobile application

In this article, I want to talk about using the Custom Vision service to recognize eco-label photos from a mobile application.
 
The CustomVision service is part of the cloud-based Cognitive Services on the Azure platform.
 
About what technologies had to be studied, how to work with CustomVision, what it is and what it allows to achieve - further.
 
Recognition of eco-labels using Azure Custom Vision from the mobile application here ) For all classes at once, and separately.
 

 
This is how the project looks with the images already downloaded and transmitted through training.
 

 
On the portal, you can start recognizing images from disk or by URL using Quick Test and test recognition by one image.
 
On the Predictions tab, you can see the results of all the latest recognitions - the percentages of belonging to the tags are displayed directly on the picture.
 

 
The ability to see all the results of recognition and add them to the training sample is literally a couple of mouse clicks, it can be done by anyone, without any knowledge of AI or programming.
 
Using the API
 
Custom Vision Service has a very simple and intuitive REST API for learning and recognizing.
 
In our application, only the recognition API is used and I will talk about its use of
 
Url for recognizing this kind of:
 
https://southcentralus.api.cognitive.microsoft.com/customvision/v2.0/Prediction/{Your project GUID} /image
 
where
 
southcentralus **
- The name Azure region where the service is located. While the service is available only in the South Central US region. This does not mean that only there you can use it! It's just that he lives there - you can use it anywhere, wherever the Internet is.
 
{Your project GUID} **
- The identifier of your project. You can see it on the portal customvision.ai
 
For recognition, you need to send the image via POST. You can also send publicly available url images and the service downloads it yourself.
 
In addition, it is necessary to add the header "Prediction-Key" to Headers in which to transfer one of the Access Key that will be issued during registration - they are available both on the portal customvision.ai and on the Azure portal
.
 
The result contains the following field:
 
"Predictions":[
{"TagId":"35ac2ad0-e3ef-4e60-b81f-052a1057a1ca","Tag":"dog","Probability":0.102716163},
{"TagId":"28e1a872-3776-434c-8cf0-b612dd1a953c","Tag":"cat","Probability":0.02037274}
]

 

Where Probability indicates the probability that the image belongs to the specified tag (class).


 

In C #, it looks like this


 
    var client = new HttpClient ();
client.DefaultRequestHeaders.Add ("Prediction-Key", "{Acess key}");
string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v2.0/Prediction/{Your project GUID} /image";
HttpResponseMessage response;
List recognitions = new List ();
using (var content = new ByteArrayContent (imageBytes))
{
content.Headers.ContentType = new MediaTypeHeaderValue
("application /octet-stream");
response = await client.PostAsync (url, content);
if (response.IsSuccessStatusCode)
{
string strRes = await response.Content.ReadAsStringAsync ();
dynamic res = (dynamic) JsonConvert.DeserializeObject (strRes);
foreach (var pr in res.predictions)
{
recognitions.Add (
new RecognitionResult ()
{Tag = pr.tagName, RecognPercent = pr.probability});
}
}
else
{
Debug.WriteLine (
"Non successful response." + Response.ToString ());
}
}

 
As you can see - absolutely nothing complicated. All magic takes place on the side of the service.
 
Application and some selected parameters.
 
The application is fairly simple and consists of a list of Eco-labels, information about what eco-labels are, how they are subdivided and the scanner itself.
 
The main part is written in Xamarin.Forms, but the scanner window works with the camera and it had to be done as renders and implement
for each platform separately.
 
The level when the application decides that the eco-label is recognized exactly> = 90% while almost all images are recognized if they are more or less of acceptable quality and there are no other characters in the picture.
 
This number was derived empirically - we started at 8? but realized that 90 reduces false positive positives. And they happen quite a lot - many markings are similar and contain similar elements and the color scale is shifted to green.
 
For example, this is not the most qualitative image is recognized correctly with an accuracy of 91%
 

 
B while this class was trained in 45 images.
 
I hope the article was useful and will allow interested readers to look at the new AI and ML tools.

It may be interesting

  • Comments
  • About article
  • Similar news
This publication has no comments.

weber

Author

26-09-2018, 09:27

Publication Date

Development of mobile applications / Xamarin / Microsoft Azure

Category
  • Comments: 0
  • Views: 396
Azure Day Conference in Moscow
How to understand Tensorflow and not
Google announces a competition of
Beautiful structure of components in
How I created a lucrative Android
Machine vision for retail. How to read
Write a comment
Name:*
E-Mail:


Comments
Visit Our website If You Need Custom thanksgiving couple shirts, Shirts For Your Company, Family Or Friends & We’ll Cook Something Special for you!
Yesterday, 21:10

raymond weber

Inursing test bank was very pleased  to find this site.I wanted to thank you for this great read!! I definitely  enjoying every little bit of it and I have you bookmarked to check out new  stuff you post.  
Yesterday, 18:20

taxiseo2

You completed certain  reliable points there. I did a search on the subject and found nearly all  persons will agree with your blog.  
nursing test bank
Yesterday, 18:04

taxiseo2

Great post i must say  and thanks for the information. Education is definitely a sticky subject.  However, is still among the leading topics of our time. I appreciate your  post and look forward to more.
nursing test bank
Yesterday, 17:29

taxiseo2

So good! This web post provides knowledge, knowledge, good news, and is very useful. Thank you for everything Taxi Driver Jacket
Yesterday, 15:35

MalenaMorgan

Adv
Website for web developers. New scripts, best ideas, programming tips. How to write a script for you here, we have a lot of information about various programming languages. You are a webmaster or a beginner programmer, it does not matter, useful articles will help to make your favorite business faster.

Login

Registration Forgot password