Technology
ISC ソフトウエアライブラリ

当社 Intelligent Stereo Camera (以下 ISC カメラ) から出力されるデータをPC上で処理する各種ライブラリが用意されています。以下に説明する7 種類のモジュールと5 種類のアプリケーションソフトです。これらは 全てソースコードをGitHub からダウンロードする事ができ、詳細な技術解説も合わせて記載されています。
<モジュールソフト>
 ■ソフトウエアステレオマッチング・モジュール
 ■ノイズ除去フィルター・モジュール
 ■平面補完フィルター・モジュール
 ■エッジ補完フィルター・モジュール
 ■距離計算・モジュール
 ■ソフトウエアキャリブレーション・モジュール
 ■フレームデコード・モジュール
<アプリケーションソフト>
 ■カメラコントロール・アプリケーション
 ■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