個人情報保護方針 お支払いについて お問い合わせ

イベントベースカメラと開発環境


センチュリーアークス社ではフランスProphesee社およびSONY製のセンサーを用いて、これまでのフレームベースのカメラとは異なり、輝度の変化のみを送付することで、画像の変化を高速に捉えることができるカメラを販売しています。(イベントベースカメラに関する詳細は、センチュリーアークス社またはProphesee社のページを参照ください)

イベントベースカメラ用のソフトウェアはMetavisionSDKが提供されていて無償のサンプルプログラムで動作確認ができます。また、ライセンス費用が不要なopenEBも用意されていて、ここからソフトウェアも構築できるようになっています。動作プラットフォームとしてはUbuntu(Linux)やWindows10でも動作するのですが、プログラミングは基本的にLinuxベースの開発環境となっています。

しかし、国内の多くの利用者はWindowsの操作環境になれており、ソフトウェアを開発する側もまたマイクロソフトから無償提供されているVisualStudioによって比較的容易にGUIプログラミングができる環境に慣れていると思われます。VisualStudioを使用してイベントベースカメラ用のソフトウェアをもっと効率的に開発したいという要求に答え、Windows用API(DLL)を開発しました。

このAPIがあれば、WPFや.NET framework等を用いて、Windows GUIアプリケーション開発が可能になります。MetavisonSDKはいくつかのルールに従ってコーディングをする必要がありますが、本APIはカメラからRAWデータを入力するところまでなので、あとはユーザーが自由に処理できます。

VisualStudioを用いたサンプルアプリケーション

まずは、簡単にカメラから画像を入力して表示、EVT3.0RAW形式のファイルとして保存することができるEB Viwerを作成しました。EVT2.0/2.1/3.0 RAW形式のファイルの再生もできます。





SetupEBViewer_240318.zip 表示するイベント極性を選べるようにしました。
SetupEBViewer_240315.zip 一時停止できるようにしました。
SetupEBViewer_240314.zip スロー再生ができるようになりました。
SetupEBViewer_240302.zip 初版 右クリックして保存


また、このRAW形式のファイルを読み込んで、任意の時間から任意の時間までを表示できるEB RAW file Editorも作成しました。RAW形式のファイルフォーマットはProphesee社のページで公開されています。
現在のところEditorと言ってもまだ編集をすることができませんが、本ソフトウェアではビデオ編集ソフトのように保存されたRAWファイル中の任意の時刻、任意の時間間隔の間にどのぐらいのイベントがあるのか、また選択範囲の中にはどのぐらいのイベントがあるのかを見ることができます。
イベントベースカメラを導入するかどうかを決める際にまず、このカメラで見たいものが見えているかどうかを確認したいと思います。次に知りたいのはどんなイベントが来ているかの詳細です。
それがわからないと、目的の画像処理の為にどのようなアルゴリズムが必要か考えることができないとおもいます。本ソフトを使用すると、膨大なイベントデータの中から見たいものがどのぐらいの時間、どのぐらいはっきりイベントとして輝度変化として捉えられているかを確認することができます。上部のスライダーでだいたいの時間を選んで、下のスライダーで表示する(時刻)範囲を狭めたりできます。さらには、マウスで画像を選択することで、選択範囲に含まれるイベントの数も表示できます。このようなソフトは当然提供されていてもよいとおもうのですが、残念ながらMetavisionSDKには含まれていないようです。



SetupEBEditor_240320.zip メインタイムバークリックでその時刻の内容を表示できるようにしました
SetupEBEditor_240315.zip csvファイルによる選択で、表示順を並べ替えられるようにしました
SetupEBEditor_240311.zip EVT3.0以外にEVT2.0/2.1フォーマットに対応しました。
SetupEBEditor_240309.zip 表示レンジで1秒まで選べるようにしました。
SetupEBEditor_240308.zip イベントをcsv出力できるようにしました。
SetupEBEditor_240306.zip 表示するイベントの極性を選べるようにしました
SetupEBEditor_240302.zip 初版 右クリックして保存


SDKを元に画像処理を追加していけば、さまざまな解析ができます。SDKの応用例として80balls.rawのような移動する物体の軌跡を解析するサンプルソフトを作成してみました。画面上の物体を検知、時間と共に動いているのを確認し、その軌跡を記録します。軌跡の記録から、速度、進行方向などが計算できます。




SetupEBTrajectory_240323.zip 初版 右クリックして保存


別な画像処理の応用例としてmonitoring_40_50hz.rawのような振動する物体の振動周波数を解析するサンプルソフトを作成してみました。画面上の画像の変化を捉えて変化量の増減から振動周波数を計算します。画像の変化の増減をみているので、振動周波数の2倍が検知されます。途中で周波数が変わっているのが確認できます。




SetupEBVibration_240328.zip 初版 右クリックして保存


イベントベースカメラ用 API

EBViewerに含まれるAPIはDLLという形で提供されます。イベントベースカメラ用WindowsAPI、およびEBViewer/EBEditorの著作権はGroveDesignServiceが保持しています。ただし、以下の条件で無償で使用することができます。現時点でサポートされているのはセンチュリーアークス製 SlikyEVCam(VGA)のみです。

ソフトウェア使用許諾

グルーヴデザインサービスでは、このAPIを用いて画像処理プログラムを開発しています。(お客様との守秘義務契約により個別の開発内容に関してはお答えすることができません。)MetavisionSDKと全く同じことはできませんが、お客様が解析したい内容、処理したい画像、検出したいものに合わせて、個別に開発することができると思います。お困りの際には、ぜひご相談ください。

無償版イベントベースカメラ用VisualStudio SDK

本APIを用いて、VisualStudioでアプリケーション開発を行うためのサンプルプロジェクト及びAPIのマニュアルを公開します。無償で使用できるVisualStudioを用いてWPF(C#)やWindownForm等を用いてGUIソフトウェアを作成するだけでなく、VisualStudioで用意されているパフォーマンスプロファイラー、コード分析、そのほか多彩な開発支援ツールを使用することが可能です。本SDKは基本的に無償でご利用いただけますが、本SDKを利用して作成した2次生成物の販売には制限があります。ソフトウェア使用許諾をよくお読みの上ダウンロードください。
VisualStudioのソリューションには、カメラ画像の再生とRAWデータの保存が行える簡易版"EB Viewer"、および、RAWデータの再生を行う"EB Player"の2つの基本的なプロジェクトが含まれています。
EVT2.0/2.1/3.0 RAWフォーマットのデコードが可能なデコーダが含まれていて、Prophesee社のウェブサイトからダウンロード可能な サンプルRAWデータをイベントデータに展開できます。展開したデータはListに保存されるので、このListを取得して画像処理を行うコードを追加することができます。
また、展開時にプレビュー画面表示用のデータも生成します。MetavisionSDKとは異なり、イベントの生成と画面表示は同期しなくてもよい構造になっていて、イベント処理により多くの時間を割きたい場合には、プレビュー画面の表示頻度は自由に減らすことができます。長時間のリアルタイム処理を行うことを想定した設計になっています。

VisualStudioSDK_240314.zip


有償版イベントベースカメラ用VisualStudio SDK

将来的に、複数のイベントベースカメラをサポートとしたAPIと保守とサポートを行う有償版SDKも企画中です。いまのところ内容は未定です。