Accord.NET Framework:C#で使える機械学習ライブラリ

機械学習系のライブラリを調べてたら、C#で使えるライブラリを見つけた。
http://cabbalog.blogspot.jp/2015/12/machine-learning-with-cs.html

Accord.NET Frameworkは名前の通り、.NET環境で使える機械学習ライブラリ。
音響処理+画像処理+機械学習のライブラリとなっており、Hidden Markov Model(隠れマルコフモデル)やDeep Neural Networkもできるらしいぞ。(良く解ってない)

Accord.NET Framework

Accord.NET Framework

Accord.NET Frameworkは、C#製のオーディオ・画像処理ライブラリも組み合わさった.NET機械学習フレームワークです。コンピュータビジョン、コンピュータオーディション、信号処理、統計のアプリケーション製品を構築するための完全なフレームワークであり、商用利用も可能です。
広範囲にわたるサンプルアプリケーション群をすぐに試すことができます。豊富なドキュメントとwikiも役立つでしょう。

Accord.NETは.NETでの科学計算のフレームワークです。このフレームワークは、統計的データ処理、機械学習、パターン認識、コンピュータビジョン、コンピュータオーディション等、幅広い科学計算アプリケーションを含む複数のライブラリから構成されています。
このフレームワークは、多くの確率分布、仮説検定、カーネル関数をサポートし、最も一般的なパフォーマンス測定技術をサポートします。

ライセンスは GNU Lesser Public License v2.1
ソースコードがGitHub上で公開されている。
https://github.com/accord-net/framework



YouTubeにサンプルアプリの動作デモ動画がいくつかある。



モジュールの一覧を見ると、名前空間Accord.MachineLearningというのが見つかるね。
http://accord-framework.net/docs/html/R_Project_Accord_NET.htm

ライブラリの使い方チュートリアルも充実してるっぽい。
https://github.com/accord-net/framework/wiki/How-to-use

UnityでAccord.NET Frameworkを使う

で、気になるのはUnityでも使えるのか、という点ですよね。
少し調べたら、Unity5.5でAccord.NETを動作させるチュートリアルがあった。↓
http://1darray.com/blog/2016/11/04/using-accord-net-with-unity/

このチュートリアルでは機械学習要素は使わずに、単純に画像処理ライブラリとして利用しているだけだけど、ライブラリの中にある.NET2.0用のdll群をUnityの“Assets/Plugins/”ディレクトリに突っ込めばいけるようですね。
単純にUnityで使える画像処理・音響処理ライブラリと捉えても便利そう。


関連記事

iPadをハンディ3Dスキャナにするガジェット『iSense 3D Scanner』

LuxCoreRender:オープンソースの物理ベースレンダラ

OpenCVで平均顔を作るチュートリアル

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

Google App Engineのデプロイ失敗

書籍『ゼロから作るDeep Learning』で自分なりに学ぶ

SegNet:ディープラーニングによるSemantic Segmentation手法

写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』

フォトンの放射から格納までを可視化した動画

マルコフ連鎖モンテカルロ法

Raspberry Pi 2のGPIOピン配置

OpenAR:OpenCVベースのマーカーARライブラリ

UnityからROSを利用できる『ROS#』

Unityの各コンポーネント間でのやり取り

畳み込みニューラルネットワーク (CNN: Convolutional Neural Network...

動的なメモリの扱い

ManuelBastioniLAB:人体モデリングできるBlenderアドオン

OpenVDB:3Dボリュームデータ処理ライブラリ

TensorFlowでCGを微分できる『TensorFlow Graphics』

DensePose:画像中の人物表面のUV座標を推定する

スクレイピング

クラスの基本

OpenCVの超解像(SuperResolution)モジュールを試す

Google Chromecast

オープンソースの顔認識フレームワーク『OpenBR』

Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』

UnityでARKit2.0

PGGAN:段階的に解像度を上げて学習を進めるGAN

AndroidもopenGLも初心者さ (でもJavaは知ってるよ)

UnityでShaderの入力パラメータとして行列を渡す

UnityのAR FoundationでARKit 3

PyDataTokyo主催のDeep Learning勉強会

UnityのTransformクラスについて調べてみた

Raspberry PiでIoTごっこ

SSII2014 チュートリアル講演会の資料

法線マップを用意してCanvas上でShadingするサンプル

Human Generator:Blenderの人体生成アドオン

OpenCV 3.1から追加されたSfMモジュール

OpenCVの顔検出過程を可視化した動画

ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る

BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール

PeopleSansPeople:機械学習用の人物データをUnityで生成する

コメント