12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenVXって実装がされてきているんだ(画像認識のAPIへの標準化)

Last updated at Posted at 2016-10-27

他の方が書かれている記事の方が最新の状況を書かれていますので、ぜひそちらを参照ください。

OpenVX SDKの調査


 OpenVXの仕様が発表されたとき、画像認識技術のライブラリが標準化されていくんだと期待を持った。仕様のドキュメントを読んだときに、実際にこの実装を作るのは簡単じゃないだろうと感じた。仕様が発表されてから、OpenVXの実装がでるのはまだかなと思いつつ、年は流れた。

 最近Jetsonを調べている中で、OpenVXに対する実装のライブラリが提供されていることを知った。

今日、ほとんどのニューラルネットワークツールキットと推論エンジンは、訓練されたネットワークパラメータを記述するために独自のフォーマットを使用しているため、熟練したネットワークを複数の推論エンジンで実行できるようにするために多くの入力器と出力器を構築する必要があります。 Khronos Neural Network Exchange Format(NNEF)は、ツールを使用してネットワークを作成し、その訓練されたネットワークを他のツールキットまたは推論エンジンで実行するプロセスを簡素化するように設計されています。これにより、展開の摩擦を減らし、クロスプラットフォームの深い学習ツール、エンジン、アプリケーションの豊富な組み合わせを促進することができます。

クロノスグループが、コンピュータビジョンアクセラレーション向けOpenVX 1.0仕様を 完成させリリース

2017年5月1日 オープンソースのコンピュータービジョンライブラリ「OpenVX 1.2」リリース

ソシオネクスト OpenVX対応のHWアクセラレーターを搭載
ソシオネクスト pdf [世界初、OpenVX 対応ハードウェア・アクセラレーター搭載

「OpenVX」対応 画像認識の機械学習アルゴリズムを容易に組み込める、ザイリンクスが新開発環境 (1/2)

OpenVXなどのイニシアチブにおいて「主要なコントリビューター」であるItseezの買収の記事
ちなみに、IntelとItseezとは次のようにOpenCVでも縁がある。

OpenCV(オープンシーヴィ、英語: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ[1]。2009年にWillow Garage(ウィロー・ガレージ)に開発が移管された後、2015年現在はItseezがメンテナンスを行なっている[2]。なお、2016年5月26日にインテルがItseezを買収することが発表された。


OpenVXの設計に関心を持っている理由

  • OpenVXの個別の実装が利用できればそれに越したことはない。
  • OpenVXの定式化は、画像認識技術の定式化になっている。

追記 2020.06.25

HOG, LBP という特徴量は、最近出番が少なくなっていることを感じる。
深層学習重視の時代には、HOGやLBPという特徴量を使いたいかと問われたときに、
深層学習さえ使えれば十分という自分自身を発見している。
HoughLinesP のように直線の検出など、深層学習の時代にも残っているアルゴリズムはある。
深層学習の時代に、OpenVXはどうなっていくのだろう。

追記 2024.07.02

OpenVX 1.3.1 (The OpenVX 1.3.1 specification was released on February 2, 2022)

New in OpenVX 1.3
Now that the OpenVX API has grown to an extensive set of functions, there is interest in creating implementations that target a set of features rather than covering the entire OpenVX API. In order to offer this option while still managing the API to prevent excessive fragmentation regarding which implementations offer which features, the OpenVX 1.3 specification defines a collection of feature sets that form coherent and useful subsets of the OpenVX API. These feature sets include the following:

Base feature set (Basic graph infrastructure)
Vision (OpenVX 1.1 equivalent vision functions)
Enhanced Vision (Vision functions introduced in OpenVX 1.2)
Neural Network (OpenVX 1.2 equivalent neural-network functions, plus the neural network extension and the tensor objects)
NNEF (Kernel import plus the tensor objects)
Binary Image support (U1)
Deployment feature set (for safety critical usage)

https://github.com/KhronosGroup/OpenVX-sample-impl

OpenVX sample implementation

https://github.com/KhronosGroup/openvx-samples

OpenVX Samples to use with any conformant implementation of OpenVX

私見:

  • APIの仕様の標準化はとても難しい。
  • 技術自体が発展途上だと、適切なAPIの設計が難しい。
  • ほんとにいいのが分かるまでは標準化できない。
  • ほんとにいい実装がで始めたときに、それぞれの実装をする人がAPIを共通化する動機がない。
  • よく使われる実装が普及した時に、そのAPIを変更することは利点が少ない。
  • そのうちに、その実装自体が意味を持たなくなる。
  • 画像認識のAPIの標準化はそれらの理由があって難しい。
  • OpenVX については、それぞれのサイトでの更新頻度などを参考に考えることだ。
12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?