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

NegativeMind
4 min readJan 6, 2017

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

Accord.NET Frameworkは名前の通り、.NET環境で使える機械学習ライブラリ。
音響処理+画像処理+機械学習のライブラリとなっており、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にサンプルアプリの動作デモ動画がいくつかある。

https://www.youtube.com/watch?v=m7dA86oyJvU&list=PLb8yJtCIm8PQRC0t8re7b5mOCP8s6iBk9

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

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

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

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

Originally published at NegativeMindException.

--

--