NyARToolkitのライセンス変更のお知らせ

NyARToolkitのライセンス変更のお知らせ

ARToolKitのLGPL化に伴い、NyARToolkitパッケージのライセンスをLGPLv3に変更します。

NyARToolkitCS, NyARToolkit for Unity, NyARToolkit for ActionScript3, NyARToolkit for Processing

今後はNyARToolkitをライブラリとして使用する場合にソースコードの開示義務がなくなります。

FLARToolKit、NyARToolkit for Androidについても変更を予定しています。もうしばらくお待ちください。

ライセンス変更に伴い、リポジトリをSourceforgeからGitHubへ移行しました。各パッケージのリポジトリは以下のURLからアクセスできます。

NyARToolkit

外部ライブラリ

English

The license of NyARToolkit will be change to LGPLv3.

Following packages licence is changed.

NyARToolkit, NyARToolkitCS, NyARToolkit for Unity, NyARToolkit for ActionScript3, NyARToolkit for Processing.

If you want to use the NyARToolkit as a library, there is no duty to disclose the source code.

Along with the license change, Repository is moved from Sourceforge to GitHub. Each package can be accessed from the following URL.

NyARToolkit

Related libraries

NyARToolkit/4.1.1(Java/C#/Unity) & NyAR4psg 1.3.2 Released

NyARToolkit/4.1.1(Java/C#/Unity) と NyAR4psg/1.3.2をリリースします。

更新内容

NyARToolkit/4.1.1

  • 4.1.0の致命的な不具合 #30297 のバグフィクスです。

NyAR4psg/1.3.2

  • NyARToolkitを4.1.1へ更新しました。
  • Processing2.0Betaへ対応しました。(1.5系と2.0系は別のライブラリ・サンプルを用意しました。) 既知の問題点として、2.0Beta版は、文字列表示処理が完全に動作しません。

 

English

NyARToolkit/4.1.1(Java/C#/Unity)  and NyAR4psg/1.3.2 are released.

Update details

NyARToolkit/4.1.1

NyAR4psg/1.3.2

  • Updated NyARToolkit library to 4.1.1.
  • Supported Processing2.0Beta (1.5 and 2.0 libraries and samples are separated.)
    A known issue is text-rendering does not work correctly.

NyARToolkit 4.1.0

NyARToolkit 4.1.0(Java/C#/Unity3D)をリリースします。
http://sourceforge.jp/projects/nyartoolkit/releases/

更新内容は以下の通りです。

新機能

共通

  • ARToolkit Professional Version4のカメラパラメータが使用できるようになります
  • OpenCVスタイルのカメラパラメータを使用できるようになります。
  • MarkerSystemでARプレイカードを使用できるようになります。

Java

  • スケッチシステムに、J2se版を追加しました。
  • NyARBufferedImageIoにNyARRgbRasterをラップするcreateWrappedBufferedImage関数を追加しました。

Unity

  • WebPlayerに対応しました。また、サンプルを追加しました。
  • サンプルの設定ファイルをResourceから読み込むように修正

バグ修正

共通

  • MarkerSystemで複数のARマーカ取り扱い時に検出ミスが発生する不具合の修正しました。(#29287)
  • NyARPointerStack#removeが正常に動作しない不具合を修正しました。(#29917)
  • MarkerSystemが10個以上のマーカを同時に認識できない問題を修正しました。(#30173)
  • その他の不具合修正( #29763 , #28851)

変更

共通

  • NyARParamのコンストラクタを変更しました。初期値設定やファイルから値をロードするときは、static関数をコールします。
  • NyARCodeのコンストラクタを変更しました。初期値設定やファイルから値をロードするときは、static関数をコールします。
  • NyARParam#changeSizeが、x,y独立してスケールするようになりました。
  • NyARTransMatの仕様を変更しました。NyARTransmatResultを廃止し、NyARTransmatResultParamとNyARDoubleMatrix44へ返却するようになりました。
  • NyARMath/NyARDoubleMatrix44/NyARDoubleMatrix33に関数を追加しました。
  • サンプルを変更にあわせて修正しました。

Java

  • GlSketchの起動方法を変更しました。new Sketch().run();のようにコールする必要があります。

C#

  • D3dSketchの起動方法を変更しました。new Sketch().run();のようにコールする必要があります。

 

English

NyARToolkit version 4.1.0 (Java/C#/Unity) released.
http://sourceforge.jp/projects/nyartoolkit/releases/

New function

All

  • NyARParam supports ARToolkit Professional Version4 format.
  • NyARParam supports OpenCV style Matrix.
  • NyARMarkerSystem supports PS AR play card format.

Java

  • Added the J2se version to a sketch system.
  • Added the createWrappedBufferedImage function which wraps NyARRgbRaster to NyARBufferedImageIo.

Unity

  • Supported WebPlayer. And added it’s sample.
  • The configuration files loader was changed. Files are loaded from Resource.

BugFix

  • #29287,#29917,#30173,#29763, #28851

Changes

All

  • The constructor of NyARParam was changed. Call a new static function for loading.
  • The constructor of NyARCode was changed. Call a new static function for loading.
  • NyARParam#changeSize function parameter is changed. it can set scales independently x and y.
  • The specification of NyARTransMat function is changed. it became to  return 2 parameters – NyARTransmatResultParam and NyARDoubleMatrix44.  NyARTransmatResult is removed.
  • The function is added to NyARMath/NyARDoubleMatrix44/NyARDoubleMatrix33.
  • All samples are changed to follow changes.

Java

  • The starting method of GlSketch is changed.  It is necessary to call like “new Sketch().run();” .

C#

  • The starting method of D3dSketch is changed. It is necessary to call like “new Sketch().run();”.

MarkerSystemで敷居値探索アルゴリズムを変える方法

映像にマーカは映っているのに、何故か認識しないことがありますね。
そんなときに、敷居値探索アルゴリズムを変えると、うまく認識する場合があります。

MarkerSystemを使う場合には、敷居値探索アルゴリズムを簡単に切り替えることができます。

変更方法

アルゴリズムの変更には2つの実装が必要です。

  1. 敷居値決定アルゴリズムを導入したMarkerSystemConfigを定義する。
  2. 新しく定義したMarkerSystemConfigをMarkerSystemへセットする。

次の例では、敷居値探索アルゴリズムを判別法に切り替えています。

MyMarkerSystemConfigの定義

  class MyNyARMarkerSystemConfig extends NyARMarkerSystemConfig
  {
    public MyNyARMarkerSystemConfig(InputStream i_ar_param_stream,int i_width,int i_height) throws NyARException
    {
      super(i_ar_param_stream,i_width,i_height);
    }
    public MyNyARMarkerSystemConfig(int i_width,int i_height) throws NyARException
    {
      super(i_width,i_height);
    }
    public INyARHistogramAnalyzer_Threshold createAutoThresholdArgorism()
    {
      return new NyARHistogramAnalyzer_DiscriminantThreshold();
    }

  }

MarkerSystemへセット

  NyARMarkerSystemConfig config = new MyNyARMarkerSystemConfig(320,240);
  NyARMarkerSystem s=new NyARMarkerSystem(config);

実装済のアルゴリズム

NyARToolKitには3種類の敷居値探索アルゴリズムが実装済みです。これらは、ヒストグラムから敷居値を探索します。

  1. 判別法 NyARHistogramAnalyzer_DiscriminantThreshold
  2. Kittler法 NyARHistogramAnalyzer_KittlerThreshold
  3. Spタイル法 NyARHistogramAnalyzer_SlidePTile

判別法、Kitter法は、良く知られたものです。Spタイル法は、NyARToolKit固有のものです。
NyARToolkitは、標準ではSpタイル法を使っています。

Spタイル法

Spタイル法は、白黒マーカの検出の為に考案した敷居値検出方式です。明点、暗点の両側から、一定割合の画素を除外して、その中心点を敷居値とします。


この方式は、入力画像の暗/明点付近にマーカの構成要素(白/黒)が集中している場合に、良好な結果が得られます。そうでない場合、あまり良い結果が得られません。
例えば、自然画の中にある浅い色のマーカが認識できないようなことが起こります。

独自の敷居値探索アルゴリズムの実装方法

INyARHistogramAnalyzer_Thresholdインタフェイスを実装したクラスを定義し、MarkerSystemConfigにセットすることで、ヒストグラムベースの敷居値探索アルゴリズムを使うことが出来ます。
例えば、次のコードは固定敷居値を返します。

public class MyHistogramAnalyzer implements INyARHistogramAnalyzer_Threshold
{
  public int getThreshold(NyARHistogram i_histogram)
  {
     return 128;
  }
}

敷居値探索オブジェクトは、MarkerSystem起動時に1度だけ作られます。検出してその値を返す以外に、フレーム間で敷居値の平均を取る処理等を追加することも出来ると思います。