Better Brain,
Better Chain.

scroll

ABOUT ailia SDK

ailia SDK’s features

Object detection, image classification, features extraction.
Use trained models for your embedded applications!
Get high speed deep learning inference!

ailia is a deep learning middleware specialized in inference in the edge. Easily integrated in your application, it computes inference while making the best use of the GPU when available. We provide integral support to our product from the nice and consistent API to the optimized low layers, all developped in-house as fully proprietary solution.

POINT01

Use trained models for your embedded applications.

  • obstacle detection
  • image classification
  • features extraction

Using over 80 trained models, you can implement AI functions in your application.
You don’t have to write anymore the pre- and post-processing, it is now provided by ailia in a utility class.
Furthermore, you can use validated models publicly available on internet or provided by your business partners.

Catalogue of trained models

POINT02

Unity plugin included.

A plugin for Unity is included. As webcam input is easily accessible inside Unity, you can take advantage of ailia’s C# API for your image recognition applications.

POINT03

Supports weights compression.

Includes a proprietary weights compression method. As the weights are compressed before being sent to the edge side, there is a gain of up to 1/3 of transmission time and storage.

POINT04

Multiplatform high-speed GPU inference.

Perform fast inference using the GPU from various platforms.
High speed inference using Vulkan and Metal made possible while not depending on some particular hardware maker.
We also provide high speed inference using NEON and AVX for CPU.

DEMO

Demo movie

Obstacles detection with YOLO

Using YOLO v1 - v4 trained model, you can detect persons and cars positions.
You can also load your own weights for example learned through Darknet and keras-yolo3.

Estimation of face characteristics with Gender/Age/EmotionNet.

After processing by YOLO Face, check for gender, age or emotion using each of these networks.

Feature extraction with VGG16 or ArcFace

With VGG16 or ArcFace, you can extract features from your images.
Using their distance in features space, you can compute the resemblance between images,
and thus easily build a search-by-image engine.

Pose estimation with Acculus Pose

Corresponds to the pose estimation model provided by Acculus Inc.
Achieve fast pose estimation with an algorithm different from OpenPose.

CUSTOMIZE

Customizable recognition.

You can use the ailia SDK by converting various learning frameworks to ONNX format.
ONNX supports opsets 10 and 11 with over 100 layers.

<Pytorch>

import torch
from torchvision import models
vgg16 = models.vgg16(pretrained=True)
x = Variable(torch.randn(1, 3, 224, 224))
torch.onnx.export(vgg16, x, 'vgg16_pytorch.onnx', verbose=True, opset_version=10)

<Chainer>

import chainercv.links as C
import onnx_chainer
model = C.VGG16(pretrained_model='imagenet')
x = np.zeros((1, 3, 224, 224), dtype=np.float32)
onnx_chainer.export(model, x, filename='vgg16_chainer.onnx', opset_version=10)

<Keras>

import keras2onnx
onnx_model = keras2onnx.convert_keras(model, model.name, target_opset=10)
temp_model_file = 'vgg16_keras.onnx'
onnx.save_model(onnx_model, temp_model_file)

<TensorFlow>

import tf2onnx
frozen_graph_def = tf.graph_util.convert_variables_to_constants(sess,sess.graph.as_graph_def(),["vgg16/predictions/Softmax"])
graph1 = tf.Graph()
with graph1.as_default():
    tf.import_graph_def(frozen_graph_def)
    onnx_graph = tf2onnx.tfonnx.process_tf_graph(graph1, input_names=["import/block1_conv1/kernel:0"], output_names=["import/vgg16/predictions/Softmax:0"],opset=10)
    model_proto = onnx_graph.make_model("vgg16_tensorflow")
    with open("vgg16_tensorflow.onnx", "wb") as f:
        f.write(model_proto.SerializeToString())

CASE STUDY

Usage examples

Interactive signage using Unity.

By capturing position and pose of the person in front of a digital signage, a 3D character can act correspondingly, creating an enjoyable interaction.

Person detection for a reception system.

Detecting an incoming visitor by image recognition, it is possible to display informations about his visit destination, etc.

People counter for a physical store customers analytics.

Based on image recognition, estimate the number, gender, and age of visting customers, and use these data for your marketing analysis.

SPEC

Specifications and included items

Items Specifications
Input format ONNX (opset=10, 11), CaffeModel
Supported OS Windows, Mac, iOS, Android, Linux, Jetson, RaspberryPi, Embedded Systems(Option)
Library format Static, Dynamic
API C++, C#, Python, JNI, Unity
BLAS IntelMKL, Accelerate.framework
GPGPU Metal, Vulkan, RenderScript, C++AMP, OpenCL, cuDNN
SIMD instruction set SSE2, AVX, NEON

TRIAL

You can download a free evaluation version that allows you to evaluate the ailia SDK for 30 days.

CONTACT

"Unity" is a trademark or registered trademark of Unity Technologies in Japan and other countries.
Windows is a registered trademark of Microsoft Corporation in the United States and other countries.
Android is a trademark of Google Inc.
Mac is a trademark of Apple Inc.
Other listed products and services are trademarks of each company.