What happens under the hood, lets go …

Let me start by saying, Python is a dynamically typed language and everything in Python is an object. What we get in return are the references to such objects.

With an example:

x = 10
print (“x type is : ”, type(x))
----
x type is : <class 'int'>

Here, x is a reference variable to an integer object 10.

Another reference variable y is being created, which again points to integer object 10.

y = x

Check their memory addresses using function id().

print(“Integer object 10 referenced by variable x”, hex(id(x)))
print(“Integer object 10 referenced by variable y”…


This article is published during COVID-19 outbreak times

Image for post
Image for post

Do you create tons of invoices/bills/statements for your business? Do you need to capture your IoT (Internet Of Things) sensors data into a spreadsheet? Do you want to automate data capture and collaborate with teams? Do you want to scrap WIKIPEDIA or similar web content in a document? etc …

If such thoughts come to your mind related for your project or businesses? Its time to automate and focus on core competency of your business. Check Google G-suite developers APIs. …


Understanding it, a bit more …

Image for post
Image for post

If you have not read my earlier stories about FaceNet Architecture and converting .pb to .tflite, i would suggest going through part-1 and part-2.

Let us take it forward from where we left in part-2. We converted Facenet checkpoint to Facenet frozen model .pb having just inference branch in it and striping out phase_train from the model. To verify this fact please use Tensorflow graph_transforms tool, as shown in the image below:


Image for post
Image for post

This tutorial is about setting up your local Tensorflow and OpenCV standalone build for C++ implementation. This tutorial is tested with following versions, but should work for all version, except there are some drastic changes in the libraries. Please let me know your findings, if so happens.

  1. Ubuntu 16.4 LTS
  2. Tensorflow : v1.8.0
  3. OpenCV : 3.4.1
  4. Bazel : 0.10.0

Github Repo for, Tensorflow Lite Standalone C++ build for Linux and MacOS here.

1. Install Dependencies

sudo apt-get -y update && apt-get -y upgrade

Next, install some base dependencies and tools we’ll need.

For Bazel:

There are few options given on the bazel build page but, i prefer from the binary. Make sure you install the tensorflow compatible version, else it won’t build. …


Part 1: Architecture and running a basic example on Google Colab

Image for post
Image for post

The comprehension in this article comes from FaceNet and GoogleNet papers. This is a two part series, in the first part we will cover FaceNet architecture along with the example running on Google Colab and later part will cover mobile version.

FaceNet is a start-of-art face recognition, verification and clustering neural network. It is 22-layers deep neural network that directly trains its output to be a 128-dimensional embedding. The loss function used at the last layer is called triplet loss.


Converting Facenet (.pb) to Facenet (.tflite)

Image for post
Image for post

If you have not read my story about FaceNet Architecture, i would recommend going through part-1. In the next part-3, i will compare .pb and .tflite models.

When state-of-art accuracy is required for face recognition / authentication, Facenet is obvious choice for both Android and IOS platforms. But running Facenet on mobile devices needs some special treatment, this article addresses problem and the potential solution.

On Android, every application has limited memory usage forced by Dalvik VM. Android NDK is not restricted with this limitation but that does not mean native code can consume as much memory as they want. …


Image for post
Image for post
Subset of OpenCV on Android

This article is also published on LearnOpenCV

My OpenCV Android SDK = small size library

If you choose OpenCV for production, your primary goal is to bring down the size of the library and also make it performance packed. OpenCV is an awesome library with tons of algorithms but you must be using a very small subset of these algorithm in your application, hence it makes perfect sense to include what is required and leave out the rest.

Library can be compiled statically along with your application code or can be dynamically linked at runtime and this is completely application development decision. Here we will create shared object (.so) …


Fuel for Neural Network, Make GIF, do what you like to …

You need to have a video that you want to break up into images. Later these images can be used for various purposes.

  1. Install VLC player (I tested this on Mac, but this should work on all the platforms.)
  2. Go to ‘preferences’ and click ‘show all’, down below:
Image for post
Image for post

3. Go to ‘video’‘filters’‘scene filter’

4. You will see something like following:


In the earlier part-1 we got hold of few keywords, in this part we will get intuition of neural network and its building blocks.

In software programming, a typical function looks something like this:

          #include <stdio.h>          void functionName() <<------|
{ |
. . . . . . . . . . |
. . . . . . . . . . |
|
|-------- } |
| |
| int main() |
| { |
| . . . . . . . . . . |
| . . . . . . . . . . |
| |
| functionName(); --------|
|
|------->> . . . . . . . . . .
. . . . . . . . . . …


To be honest, it took me some good amount of time to understood ‘Deep learning’ concepts but as they say differential learning rate, good amount of clean data and sufficient EPOCS will results in better accuracy. I would say now my accuracy is approaching close to `y-hat` and still lot more learning is still required. But journey so far has been truly amazing!

Lets us start with few key definitions so that we get to some basic understanding before taking up neural networks head-on and later understand the bigger concepts. …

About

Milind Deore

Co-founder Logits Systems https://logits.systems. Biometric on the edge. https://tomdeore.wixsite.com/epoch

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store