画像処理ライブラリについて

プログラミング

1.画像処理とは

画像処理(Image Processing)とは、カメラ等で取り込んだデジタル画像から有益な情報を抽出する事、です。
ここに詳しく説明されてますので、参考にしてください。

2.画像処理ライブラリとは

英語では、Computer Vision Libraryもしくは、Machine Vision Libraryと呼ばれるようですが、ここでは「画像処理ライブラリ」と呼称します。

プログラミングをしたことがある人であればわかるとは思いますが、例えば、”二値化”とか”エッジ検出”とか”ラベリング”などの画像処理をいちいちコーディングしてられないので、二値化であれば、thresholdというオペレーターを呼び出すだけで実行できるようになっています。このようなオペレーター群をパッケージにしたものがライブラリです(例えば、HALCONであれば、2,000程度のオペレーターがあるそうです)。

商用の画像処理ライブラリとしては、MVtec社のHALCON、 Cognex社のVisionPro、 Matrox Imaging社のMIL(Matrox Imaging Library)などがあり、無償ではOpenCV(Open Source Computer Vision Library)が有名かと思います。

MVtecやCognexなどの各社とも、各オペレーターの処理速度や精度、Deep Learningなどの新しい処理の実装などを競っており、半年に1回~年1回程度、バージョンアップが繰り返されています。

2.ライセンスの種類

MVtec社のHALCONを例に説明しますが、画像処理ライブラリには、ライセンスというものがあります。

これは画像処理ライブラリを勝手に不正利用されないようにするためのもので、画像処理ライブラリをインストールしていても、ライセンスキー(もしくは認証)がなければ使うことができません。

ところで、ライセンスには、「開発ライセンス」と「ランタイムライセンス」と呼ばれる2種類が存在します。

開発ライセンスは、フル機能を使えるライセンスで、おおよそ100万円程度と高額です。フル機能というのは何かというと、統合開発環境IDE(HALCONではHDevelopと呼ばれる統合開発環境があります)なども利用可能で、そのあたりの費用も含まれてます。

一方のランタイムライセンスは、画像処理ライブラリのみ使用する場合のライセンスであり、30万円程度と開発ライセンスに比べると安く抑えられてはいます。ただし、統合開発環境IDEは利用できないので、C++やC#などに組み込みながら使用します。

画像処理ライブラリ1本で、最低でも30万円かかると言われると意外と高額に感じるのではないでしょうか。(欠点検査機として利用するためには、画像処理ライブラリ以外にも、カメラ・レンズ・パソコン・ケーブルなどが必要となり、費用も高額になることがわかると思います。)

 

3.有償ライブラリか無償ライブラリか

OpenCVは無償のオープンソースライブラリとして有名です。欠点検査機を自社開発する際、オープンソースライブラリを欠点検査機に活用する事は出来るでしょうか。

画像処理の技術的には十分可能だと思います。ただし、使い方がわからない場合や、不具合が発生した場合などのサポートが限られているため、基本的に全て自分で解決する必要があります。

その点、有償ライブラリの場合、サポートが比較的しっかりしている点は大きなメリットだと考えられます。

欠点検査機を導入する際には、初期費用とサポートの要否などを総合的に判断する必要があります。

ちなみに、検査機メーカーの場合、安定性や高速性を担保するために、独自の画像処理ライブラリを保有している場合があります。(市販の画像処理ライブラリの場合、その処理の中身は競合他社に真似されないようにブラックボックスになっているため、どのようなアルゴリズムになっているか詳細を見ることができません。そのため、安定性や高速性を担保しにくいと考えるのかもしれません)

コメント

タイトルとURLをコピーしました