OPTASY: Drupal Web Development Agency Toronto
(416) 243-2431Drupal SupportRequest A QuoteQuote

Main navigation

  • Home
  • Services
    • Digital Strategy
    • Design
    • Web Development
      • Drupal
      • WordPress
      • Magento
      • Laravel
      • Shopify
      • Sharepoint
      • Contentful
      • Gatsby
      • Next.js
      • Node.js
      • React
      • AngularJS
    • Mobile & App
      • IOS
      • Android
      • Augmented Reality
      • Artificial Intelligence
      • Virtual Reality
    • Maintenance & Support
      • Drupal Maintenance
      • Wordpress Maintenance
    • Staff Augmentation
  • Portfolio
    • Web
    • Mobile
    • Ar
  • About
    • Who we are
    • Values
    • Events
    • Awards
    • News
    • Careers
    • Partners
      • Acquia
      • Google
      • Pantheon
      • Shopify
      • Wordpress
  • Blog
    • Drupal
    • Drupal 8
    • HTML
    • CSS
    • Javascript
    • PHP
    • Microsoft
    • Web Design
    • Design
    • Tips
    • News
  • Contact
(416) 243-2431 Drupal Support Request A QuoteQuote

In light of the recent COVID-19 pandemic - OPTASY would like to offer DRUPAL website support for any Healthcare, Government, Education and Non-Profit Organization(s) with critical crisis communication websites or organizations directly providing relief. Stay Safe and Stay Well.

How to Build a Machine Learning App: Choosing the Best Image Recognition API
Tips

How to Build a Machine Learning App: Choosing the Best Image Recognition API

by RADU SIMILEANU on Nov 16 2018

You're ready to turn your idea of a machine learning app using image recognition into “the next best thing”! It's going to revolutionize mobile advertising, the education sector, the automobile industry, the world of finance... you name it.

But then, reality strikes you:

"How do I implement image recognition functionality into my application the... easy way?"

And the “easy-to-use” factor becomes particularly important if you have no machine learning background.

How do you incorporate such a service/API into your app? An app that should analyze, organize, alter different images?

Now, here's what you need to keep in mind when you build a machine learning-powered app, plus a selection of the best image recognition APIs.

So you can compare and experiment with in order to select the one that perfectly suits your goals and your machine learning background...

1. 4 Things to Keep in Mind When Building a Machine Learning App

Before you jump into enabling machine learning capabilities into your web or mobile app, make sure:

 

  • that you've gained in-depth knowledge of that specific market that you're targeting 
  • that you've properly prepared your data: make sure you've selected the best data sources and data collecting techniques
  • you've chosen the best algorithm for your app (run it, tune it, test it)
  • you're using the right method: for on-device machine learning you'll need to pay attention to your model's size (make sure it's not oversized; otherwise, you'll need to rely on cloud services for machine learning)

     

Note: organize your dataset ensuring that your images are of different lengths, that they feature plenty of particularities, thus helping your custom model to identify the target objects/emotions/scenes more accurately.

 

2. Implement Image Recognition to Your App: Choosing the Best API

“What are the best image recognition APIs in the market?” you must be asking yourself right now.

“What's the best solution for me to incorporate image recognition into my machine learning app if:

  • I have little to no machine learning background
  • I'm looking for an image analysis software that's straightforward to implement, easy to use, yet powerful
  • … one that should enable me to quickly train a custom model"

     

2.1. Mobile Vision API

A Google-powered framework equipped with the capability to detect objects in images and videos.

For this, it uses 3 types of detectors:

 

  • a face detector
  • a text detector
  • a barcode detector

     

How to Build a Machine Learning App- Mobile Vision API

Image source: Google Developers.

The “face detector” is “loaded” with some great features such as:

  • providing information about the state of the human faces in the analyzed images/videos: eyes open/closed, smiling, crying etc.
  • identifying parts of a face: mouth, nose, eyes
  • analyzing multiple faces on a single image
  • identifying human faces on recorded videos, on mobile camera and still images

Note: do keep in mind that this API does not provide face recognition capabilities; it cannot tell whether 2 images, presenting human faces, are identical or not.

 

2.2. Google Vision API

Looking for something a bit more complex, more... refined that an "object detection” service?

For an image recognition software that does more than just:

 

  • provide similar images
  • “detect” faces and visual objects

     

… and detects “details” about the uploaded images instead? One that identifies whether:

 

  • the being in the picture is a human or a dog
  • the characters are sad or happy (sentiment analysis)
  • they're racy or engaged activities marked as “not OK” in the Google Safe Search

     

… and labels the given images (“weather”, “autumn”, “dog walking”, “male”)?

Then, the Google Vision API (or “Cloud Vision API”) is what you're looking for.

Unlike other leading image recognition solutions available, it “spoils” you with:

 

  • a simple REST API
  • landmark detection functionality

     

How does it do it? The API connects the code of your machine learning app to Google's image recognition capabilities.

Now, here's how you set it up:

How to Build a Machine Learning App- Set Up Google Vision API

 

 

  1. Sign Up for a Google Compute Engine Account
  2. Select a Project (if you're a newly registered user, then the “My First Project” is selected by default)
  3. “Grab” an API key from the menu on the left side of the screen (save it to a text file) and run it in your project (just enable the API at this URL)
  4. Select your app project 
  5. You're now ready to roll with your new image recognition API integrated to your app project; just save the text in a google_vision.json file:

It's this JSON request that will point out to Google Vision API the specific image to parse and the detection capabilities to trigger.

Note: remember that you should use this API in personal applications only! 

 

2.3. Clarifai 

 

Here's a custom image recognition software in our list to start experimenting with if:

 

  • you're looking for a visual search tool with a video-analysis functionality added to, as well
  • you need an easy to implement and to use API for tagging images; for recognizing and understanding the content features in your images/videos
  • you're looking for an API with a strong concept modeling
  • you're planning to incorporate an image recognition functionality that enables you to create and to train your own custom models to test against

     

“But how do I use Clarifai's Custom Training API to set up my own model?”

It's pretty straightforward:

 

  • for declaring a positive you use: clarifai.positive('https://goo.gl/1Q8W8S 'dog', callback);
  • for predicting an image you use: clarifai.predict('https://goo.gl/xNNRJg 'dog', callback);
  • for declaring a negative you use: clarifai.predict('https://goo.gl/xNNRJg 'lion', callback);

     

2.4. Einstein Vision

Looking to get in on a little AI action?

To build an image recognition app leveraging AI and deep learning models trained to recognize images at scale? 

Consider Einstein Vision then! Integrate it into your machine learning app and start to explore its two APIs:

 

  • Einstein Object Detection: empowers you to train models that should recognize several distinct objects in an image (providing information such as the location and the size of each item)
  • Einstein Image Classification: enables you to create and to train models to detect and classify images at scale

     

“Where would I use such an AI-enabled app?”

Here's one of its most common image-recognition use cases:

You can use all those contextual clues stored in your images (your customers' preferences, your products/services' level of quality, your inventory levels etc.) to empower your marketing, sales and/or service teams. This way, they'll gain more accurate insights about your customers.

 

2.5. Amazon Rekognition

What if you're not looking for the best tool for sentiment analysis, object and scene detection, but for one that rocks at facial recognition instead? 

Then you go with Amazon Rekognition.

It's designed to:

 

  • provide detailed information (e.g. beard recognition)
  • run facial comparisons and assess the likelihood that 2 faces are of the very same person

     

2.6. Google Tensorflow Object Detection API

A non-complicated way to integrate image recognition functionality into your machine learning app.

Tensorflow Object Detection API is an open source framework designed around the idea that:

Building, training and deploying of object detection models should be quick and easy.

In this respect, the available guide supports the whole idea.

How to Build a Machine Learning App: Google Tensorflow Object Detection API

Image source: Github

Here's how to use the API:

 

  1. Download the frozen model (.pb — protobuf) and run it into memory
  2. Load categories, labels, visualization tools and so on using the built-in helper code
  3. Launch a new session and run the resulting model on one of your images 

     

2 tips for incorporating and using this API in your machine learning app:

 

  • figure out how you can speed up the API so you can use it for real-time object detection on mobile devices
  • experiment with the more accurate models to see the difference

     

The END! 

Have I managed to (at least partially) answer your questions:

 

 

  • “What do I need to know for building a machine learning app?”
  • “How do I build custom image recognition functionality into my web/mobile app?”
  • “What are the best image recognition APIs in the market right now?”

Photo by Antoine Beauvillain on Unsplash. 

Share the article

Development

We do Web development

Go to our Web development page!

Visit page!

Do you want a website

or app developed?

 

Get a Free Quote

and let's make it work!

Get a Quote

Recommended Stories

DrupalTips
How to Migrate Your Drupal Website to Another Host in 5 Steps

How to Migrate Your Drupal Website to Another Host in 5 Steps

  Website owners may need to migrate their web host at some point during their business journey due to the emergence of more lucrative hosting options, such as VPS, shared, or dedicated hosting. This is why many website managers choose to perform host migration. This article offers guidance on managing hosting server migration, one of the most widely-used DevOps services. It does so by breaking down five crucial steps that can lead to a successful migration. What are the factors to consider when moving a Drupal website to a new hosting server? Deciding to change web hosts can be a challenging decision. However, there are several indications that your website may need hosting updates, which can be identified if you know where to look. Although it may be difficult to admit, taking this step will improve your website's performance. Here's a guide on how to identify these indicators on your Drupal website. There is a recurring problem with downtime. Website downtime can harm your reputation as a service provider. The quality of your hosting equipment and security features can impact your site's availability and protection against cyber-attacks. Your host is hard to reach. Efficient communication between a website owner and their web host is crucial. In the event of a server crash or error, prompt contact with the host is necessary for troubleshooting and restoring the site's functionality. Having an unreliable host can negatively impact website functionality and customer retention. Therefore, having a dependable customer service team available is essential for providing optimal user experiences and promoting business success. Your current hosting fees are high. Running a website can require a significant investment in web hosting. It's a recurring expense that you should choose carefully. The most expensive option may not be necessary. Consider the features and server space that your host provides and compare them to your site's needs. Don't overspend on hosting that doesn't fit your requirements. You can always upgrade to a more expensive plan later. The level of security provided may not meet your requirements. Investing in a secure web host can be advantageous for your website as it prioritizes security measures. Investing in a secure hosting server can prevent data loss, compromised user data, and damage to your credibility with your audience. Consider specific features and plugins, such as Secure Sockets Layer certificates, malware scanning, and server firewalls, when selecting a web host. Instructions for migrating to a different hosting provider The process of migrating a Drupal site to a new host involves contacting the current host, backing up the database, connecting to a new server, and uploading files. It is common for issues to arise during this process, such as corrupted backups. To avoid potential issues, consider hiring a professional agency like Optasy to complete the migration process for you. This may help save resources and ensure a smooth transition. Before migrating to a new web hosting server, it's important to follow essential steps. Let's examine some of them. 1. Turn Drupal caching off. To prevent possible disruptions, the initial action is to access the Drupal admin dashboard and follow these steps. To disable caching, navigate to Configuration, Performance, and Caching, then select "No Caching." To disable "Aggregate CSS files" and "Aggregate JavaScript files" in "bandwidth optimization" and ensure all caches are cleared, click "Clear all caches." 2. It is recommended to create a backup of your Drupal files. To connect to your remote server, enter the connection details and select "QuickConnect" to establish a connection with the server hosting your website. To back up your Drupal files, simply download the content from your main site's folder onto your local device. 3. Export your Drupal database. Access the phpMyAdmin tool located in the Database section of your server's control panel. To export your Drupal site database, select "Check all" and then choose the "Export method" and "SQL" options. 4. Transfer the Drupal database to the new hosting provider. To create a new MySQL database on the target server, click on "Import" located at the top of the database. Afterward, select "Choose File" and click "Go." This will successfully restore your site on the new hosting from the backup. 5. Turn on Drupal caching. Go to Configuration - Performance - Enable Drupal caching. And that's it! Your host migration process is completed. Conclusion Building and managing a Drupal website involves various complexities, with hosting being a particularly challenging aspect. A wide range of hosting options are available, which can make it a daunting task to determine the most suitable one for your website requirements. Optasy's team of Drupal experts can provide assistance and guidance on server migration and hosting server management.   Photo credit: Unsplash.... Read more
Raluca Olariu / Mar 23'2023
DrupalTips
How SEO Helps Your Website Grow

How SEO Helps Your Website Grow

  Search engine optimization (SEO) is a powerful tool for helping your website grow and reach its full potential. SEO involves optimizing your website to make it easier for search engines like Google to find and rank it in their search results. By using SEO techniques such as keyword research, content optimization, link building, and more, you can increase the visibility of your website and attract more visitors. With the right SEO strategy in place, you can drive more traffic to your site and generate more leads and sales. In this article, we'll discuss how SEO can help your website grow and become successful. What is SEO? SEO stands for Search Engine Optimization, and it is the process of optimizing a website to make it easier for search engines like Google to find and rank it in their search results. SEO involves a variety of techniques, such as keyword research, content optimization, link building, and more. By using these techniques, you can increase your website’s visibility and attract more visitors. SEO helps your website become more visible in the search engine results pages (SERPs), which can lead to more traffic, leads, and sales. Benefits of SEO for Website Growth Let's have a look at some of the top benefits of SEO for website growth: Increased visibility: SEO helps your website become more visible in the search query, which can lead to more traffic and leads. Improved user experience: SEO also helps enhance the user experience of your website by making it easier to navigate and providing relevant content. Increased brand awareness: SEO can help boost brand awareness by making your website more visible in the SERPs, which can lead to more people recognizing your brand. Higher conversion rates: SEO can also help increase your website's conversion rate by making it easier for visitors to find what they are looking for and take the desired action. More organic traffic: SEO can help you drive more organic traffic to your website, which is free and highly targeted. Keyword Research for SEO Keyword research is an important part of SEO, and it involves finding the right keywords to target for your website. Keyword research helps you identify the words and phrases that people are searching for when looking for products or services related to your business. By targeting these keywords, you can increase your website’s visibility in the SERPs and attract more organic traffic. When doing keyword research, you can use specialized software to make the job easier. Content Optimization for SEO Content optimization involves optimizing your website’s content to make it more relevant to search engines. Content optimization includes optimizing titles, meta descriptions, headings, images, and other elements of your website’s content. Many companies rely on a solid blog approach to boost their content optimization strategy and highlight their SEO efforts. Link-Building Strategies for SEO Link-building is another top SEO strategy, and it involves creating backlinks to your website from other websites. Backlinks are links from other websites that point to your website, and they can help improve your website’s visibility in the SERPs. There are a variety of link-building strategies you can use to build backlinks for your website. These include guest blogging, directory submissions, social media marketing, and more. Conclusion SEO is an important part of website growth, and it can help you increase your website’s visibility in the SERPs, attract more organic traffic, and boost your conversion rates.  In the competitive digital world, brands that harness the power of SEO are on top of the game.  If you, too, want to integrate SEO into your web development project and are looking for professional advice, don't hesitate to contact Optasy. Optasy is a web development company that provides complete web development and maintenance services that support business growth.  Photo credit: Unsplash.  ... Read more
Raluca Olariu / Feb 14'2023
Tips
Website Security Best Practices

Website Security Best Practices

  Website security is an important consideration for any business or organization with an online presence. With the ever-increasing threats posed by cybercriminals, it is essential to ensure that your website is secure and protected from malicious attacks. Implementing best practices in website security can help protect your website from hackers, malware, and other malicious activities and security issues. This article will discuss some of the best practices for website security and how you can stay away from cybercriminals and improve your security posture.    "Cybersecurity is a shared responsibility, and it boils down to this: in cybersecurity, the more systems we secure, the more secure we all are." - Jeh Johnson Overview of Cybersecurity in 2023 The cybersecurity landscape heads towards a privacy-first approach to information security in 2023. Also, aligning regulations globally will allow businesses to gain more security and data protection.  There are growing voices that give their positive vote to passwordless authentication, which will presumably eliminate the risk of password breaches and amplify organizational security.  However, the rise of the Internet of Things (IoT) devices will likely increase security risks for organizations and expose more security vulnerabilities.  So how can websites cope and become more agile and accessible in this uncertain cyber landscape?   Best Website Security Practices in 2023 At the moment, the best website security practices involve a combination of proactive measures and reactive responses. Proactive measures include implementing strong authentication methods, encrypting data, and regularly patching software. Reactive responses include monitoring suspicious activity and responding quickly to identified security threats or security breaches. Strong Authentication Multi-factor authentication is one of the most important best practices for website security. It involves using two or more factors to verify a user’s identity, such as strong login credentials, and a biometric factor like a fingerprint or facial recognition. This ensures that only authorized users can access the website and its data, protecting it from unauthorized access. Additionally, strong authentication can help protect against phishing attacks, which are attempts to gain access to sensitive information by posing as a legitimate website. Encryption Encrypting data is another significant best practice for website security. Encryption scrambles data so that it can only be read by the intended recipient, making it more difficult for hackers to access sensitive information. It also helps protect against man-in-the-middle attacks, which occur when a hacker intercepts data as it is being transmitted between two parties. Software Patching Software updates are another important best practice for website security. Regularly patching software helps protect against vulnerabilities that can be exploited by hackers. It also ensures that the latest security features are in place, making it more difficult for attackers to access sensitive information. Monitoring and Response Reactive responses like monitoring suspicious activities or responding quickly to identified threats are two valuable tools for website security. Monitoring for suspicious activity can help identify potential threats before they become a problem. Responding quickly to identified threats can help minimize the damage caused by malicious code. Conclusion Keeping websites secure in 2023 involves a combination of proactive measures and reactive responses. These best practices are just some measures you can take to protect your digital assets. If you want to go more in-depth and opt for complex ways to secure your website, don't hesitate to contact Optasy.    Photo credit: Pixabay.... Read more
Raluca Olariu / Jan 25'2023

Browse cities

×

Toronto

WordPress Development Services in Toronto
iOS App Development Services in Toronto
Drupal Development Services in Toronto
Magento Development Services in Toronto
Laravel Development Services in Toronto

Montreal

WordPress Development Services in Montreal
iOS App Development Services in Montreal
Laravel Development Services in Montreal
Drupal Development Services in Montreal
Magento Development Services in Montreal

Vancouver

Magento Development Services in Vancouver
iOS App Development Services in Vancouver
Drupal Development Services in Vancouver
WordPress Development Services in Vancouver
Laravel Development Services in Vancouver

New York

WordPress Development Services in New York
Laravel Development Services in New York
iOS App Development Services in New York
Drupal Development Services in New York
Magento Development Services in New York

Need a new Project?

Dare us to shape and boost your idea(s)!

Start a Project

(416) 243-2431

Contact

(416) 243-2431

contact@optasy.com

Toronto Downtown

First Canadian Place,
100 King St. W. Suite 5700, Toronto

Toronto West

2275 Upper Middle
Rd. E, Suite 101
Toronto

New York

1177 Avenue of the
Americas, 5th Floor,
New York

Newsletter

Get the latest OPTASY news, tips and how-to’s on the go, right in your inbox!
OPTASY
clutch
Pantheon Premier Partner
  • Drupal 8
  • Services
  • Contact Us
  • Partners

  • Drupal
  • Google
  • Magento
  • Shopify
  • Wordpress
Facebook
Twitter
LinkedIn
Drupal
  • Cities
  • Support

© 2023 All Rights Reserved. Built with Drupal