Technology
ISC ソフトウエアライブラリ
当社 Intelligent Stereo Camera (以下 ISC カメラ) から出力されるデータをPC上で処理する各種ライブラリが用意されています。以下に説明する7 種類のモジュールと5 種類のアプリケーションソフトです。これらは 全てソースコードをGitHub からダウンロードする事ができ、詳細な技術解説も合わせて記載されています。
<モジュールソフト>
■ソフトウエアステレオマッチング・モジュール
■ノイズ除去フィルター・モジュール
■平面補完フィルター・モジュール
■エッジ補完フィルター・モジュール
■距離計算・モジュール
■ソフトウエアキャリブレーション・モジュール
■フレームデコード・モジュール
<アプリケーションソフト>
■カメラコントロール・アプリケーション
■3D 表示・アプリケーション
■OpenCV 用サンプル・アプリケーション
■Yolo 用サンプル・アプリケーション
■Python 用サンプル・アプリケーション
<モジュールソフト>
■ソフトウエアステレオマッチング・モジュール
■ノイズ除去フィルター・モジュール
■平面補完フィルター・モジュール
■エッジ補完フィルター・モジュール
■距離計算・モジュール
■ソフトウエアキャリブレーション・モジュール
■フレームデコード・モジュール
<アプリケーションソフト>
■カメラコントロール・アプリケーション
■3D 表示・アプリケーション
■OpenCV 用サンプル・アプリケーション
■Yolo 用サンプル・アプリケーション
■Python 用サンプル・アプリケーション
モジュールソフト
1. ソフトウエアステレオマッチング・モジュール
当社ISC カメラから出力される左右カメラの補正画像を使ってPC上でステレオマッチング処理を実行します。ステレオマッチングのアルゴリズム自体は、ISC カメラのFPGA に実装されているものとは異なります。
2. ノイズ除去フィルター・モジュール
当社ISC カメラから出力される視差データ、或いはISC ライブラリのソフトウエアステレオマッチング・モジュールから出力される視差データに対してノイズ除去の処理を実行します。
主に空間的に離散している視差データを周囲の平均的な視差データで置換する処理です。
3. 平面補完フィルター・モジュール
当社ISC カメラから出力される視差データ、或いはISC ライブラリのソフトウエアステレオマッチング・モジュールから出力される視差データに対し、”視差なし” (視差値ゼロ) となった領域を周辺の視差を使って埋める処理です。
補完すべき視差データを周辺の視差データからの線形近似によって求め、補完する領域を平面とします。
4. エッジ補完フィルター・モジュール
当社ISC カメラから出力される視差データ、或いはISC ライブラリのソフトウエアステレオマッチング・モジュールから出力される視差データに対し、画像上のエッジ部分の誤った視差データを置換・補完します。
物体の輪郭であっても、背景のパターンなど影響によって 正しい視差を検出できない場合がある為、直線に見えるエッジを同一物体の輪郭と見なして 視差データの置換・補完をします。
5. 距離計算・モジュール
当社ISC カメラから出力される視差データ、或いはISC ライブラリのソフトウエアステレオマッチング・モジュールから出力される視差データに対し、四角形で指定された領域の距離を計算します。
領域内の視差データのヒストグラム上で出現頻度の高い固まりの中央値を計算し、その値を使って指定領域までの距離計算します。
6. ソフトウエアキャリブレーション・モジュール
当社ISC カメラから出力される左右カメラの補正画像を使い、PC 上で自動キャリブレーションを実行する処理です。
キャリブレーションのアルゴリズム自体は、ISC カメラのFPGA に実装されているものとは異なります。
7. フレームデコード・モジュール
当社ISC カメラから出力されるデータをISC ライブラリのノイズ除去フィルター、平面補完フィルター、エッジ補完フィルターの3モジュールに入力する際に必要な前処理を実行します。
ノイズ除去フィルター、平面補完フィルター、エッジ補完フィルターの3 モジュールを利用する際には必ず本モジュールとセットで使用して下さい。
アプリケーションソフト
1. カメラコントロール・アプリケーション
当社ISC カメラを接続したPC 上で本アプリケーションを実行すると、下図の様な画面が表示され、ISC ライブラリーのソフトウエアステレオマッチング・モジュール、ノイズ除去フィルター・モジュール、
平面補完フィルター・モジュール、エッジ補完フィルター・モジュール、距離計算・モジ
ュール、ソフトウエアキャリブレーション・モジュールの6 モジュールの機能と性能を確認する事ができます。
更に視差データの録画・再生や各種カメラパラメータの設定などができます。
2. 3D 表示・アプリケーション
Point Cloud Library を利用して視差データの3D 表示を実行するアプリケーションです。
本アプリケーションのサンプルソースコードは以下の別リポジトリからダウンロードして下さい。
https://github.com/ITDLab/isc-dpl-visualizer
3. OpenCV 用サンプル・アプリケーション
当社ISC カメラから出力されるデータをOpenCV で利用するアプリケーションのサンプルです。
4. Yolo 用サンプル・アプリケーション
当社ISC カメラのデータを使ってYolo を利用するアプリケーションのサンプルです。
5. Python 用サンプル・アプリケーション
Python から当社ISC カメラを制御するアプリケーションのサンプルです。
その他
■動作環境 対応OS: Windows 10(x64)/11
■開発環境: Visual Studio 2022 (require MFC)
■対応ステレオカメラ: ISC100VM: FPGA(0x75), ISC100XC: FPGA(0x22)
■ISC Stereo Camera SDK: ISC100VM: 2.3.2以降, ISC100XC: 2.2.2以降
■外部ライブラリ(共通)
OpenCV 4.8.0
これ以外のバージョンも動作可能ですが、その場合はライブラリのbuild の設定を調整して下さい。
■外部ライブラリ(isc-dpl-visuallizer)
Dear ImGui (*Included in project*)
Point Cloud Library
GLFW
GLEW
■データ処理ライブラリ及びサンプルコードは、Githubよりダウンロードできます。
■データ処理ライブラリ及びサンプルコードは以下のライセンスで公開されています。
Apache License, Version 2.0
■開発環境: Visual Studio 2022 (require MFC)
■対応ステレオカメラ: ISC100VM: FPGA(0x75), ISC100XC: FPGA(0x22)
■ISC Stereo Camera SDK: ISC100VM: 2.3.2以降, ISC100XC: 2.2.2以降
■外部ライブラリ(共通)
OpenCV 4.8.0
これ以外のバージョンも動作可能ですが、その場合はライブラリのbuild の設定を調整して下さい。
■外部ライブラリ(isc-dpl-visuallizer)
Dear ImGui (*Included in project*)
Point Cloud Library
GLFW
GLEW
■データ処理ライブラリ及びサンプルコードは、Githubよりダウンロードできます。
■データ処理ライブラリ及びサンプルコードは以下のライセンスで公開されています。
Apache License, Version 2.0