Better Brain,
Better Chain.

scroll

NEWS

ABOUT ailia SDK

ailia SDKの特徴

物体検出・画像分類・特徴抽出。
学習済みモデルを簡単にアプリに組み込み。
高速なディープラーニングがあなたの手に。

エッジ(端末)側での推論に特化した
ディープラーニングミドルウェア
簡単にアプリに組み込むことができ、
GPUを最大限活用した高速な推論を実現
完全自社開発で一貫したAPIと低レイヤーをカバーする
高度なサポートを提供

POINT01

学習済みモデルを
簡単にアプリに組み込み

  • 物体検出
  • 画像分類
  • 特徴抽出
  • 骨格検出

80種類を超える学習済みモデルを使用して、簡単にアプリにAI機能を実装することができます。
従来、必要であった前処理と後処理のコードをailia SDKのユーティリティクラスが提供します。
また、パートナーが提供するモデルを使用することもできます。

学習済みモデル一覧(GitHub)

POINT02

Unity Pluginを提供

Unity Pluginを提供。Unityを使⽤することで簡単にWebカメラの映像を取り込むことができ、ailia SDKのC# APIを使⽤して画像認識を実装することができます。

POINT03

重み係数の圧縮に対応

独⾃の重み係数圧縮を搭載しています。学習済みの重み係数をエッジ側のデバイスに圧縮して転送することで、通信時間やストレージを1/3まで節約することができます。

POINT04

クロスプラットフォームで⾼速なGPU推論

クロスプラットフォームでGPUを使⽤した⾼速な推論が可能です。VulkanとMetalを使用することで特定のメーカーに依存しない⾼速推論を実現します。もちろん、CPU向けにもNEONやAVXを使用した最適化を提供します。

DEMO

デモムービー

YOLOによる物体検出

YOLOv1〜v4の学習済みモデルを使用して人や車などの位置を検出することができます。
DarknetやKeras-Yolo3を使用して独自に学習を行った係数を読み込ませることも可能です。

Gender/Age/EmotionNetによる性別、年齢、感情推定

YOLO Faceを使用して顔を検出した後、顔画像に対して各種ネットワークを適用することで、
性別や年齢、感情を推定することができます。

VGG16やArcFaceによる特徴抽出

VGG16やArcFaceを使用することで画像から特徴量を抽出することができます。
特徴量同士の距離を計算することで、画像の類似度を計算することができ、
画像検索エンジンなどを簡単に実装することができます。

ailia Multi-Person PoseEstimatorによる骨格検出

株式会社Acculusが提供する骨格検出モデルに対応。
OpenPoseとは異なるアルゴリズムで高速な骨格検出を実現します。

CUSTOMIZE

カスタマイズした認識が可能

各種の学習フレームワークからONNX形式に変換することでailia SDKを使用した推論を行うことができます。
ONNXはopset 10と11に対応しており、100種類を超えるレイヤーをサポートします。

<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

利用例

Unityを使用したインタラクティブサイネージ

デジタルサイネージの前にいる人の位置や姿勢を検出して、
3Dキャラクターが適切なアクションをすることで、
インタラクションが楽しめるサイネージを実装することができます。

受付システムにおける人物検出

画像認識によって来場者を検出することで、
来訪先のアノテーションなどを提示することができます。

実店舗Analyticsにおける 人数カウント

画像認識によって実店舗の来客数や性別・年齢を計測することで、
マーケティングデータとして活用することができます。

SPEC

仕様および提供物

項目 仕様
入力形式 ONNX (opset=10, 11), CaffeModel
対応OS Windows, Mac, iOS, Android, Linux, Jetson, RaspberryPi, 組み込み機器(オプション対応)
ライブラリ形式 Static, Dynamic
API C++, C#, Python, JNI, Unity
BLAS IntelMKL, Accelerate.framework
GPGPU Metal, Vulkan, RenderScript, C++AMP, OpenCL, cuDNN
SIMD命令セット SSE2, AVX, NEON

TRIAL

ailia SDKを30日間評価できる無料の評価版をダウンロードすることができます。

CONTACT

・「Unity」は、Unity Technologiesが日本およびその他の国において保有する商標または登録商標です。
・Windowsは、米国Microsoft Corporationの米国及びその他の国における登録商標です。
・Androidは、Google Inc.の商標です。
・Macは、Apple Inc.の商標です。
・その他記載されている商品・サービスは各社の商標です。