Mech-Eye SDK 2.1.0 更新説明¶
Mech-Eye SDK 2.1.0 バージョンの新機能と最適化、問題修復について説明します。重要な更新は以下のようです:
点群の品質の向上:点群後処理のパラメータを全面的に最適化しました。外れ値とノイズを除去するとともに対象物のエッジのディテールを保持することができ、点群の品質の向上が実現します。
インターフェイスの機能の拡張:
GenlCam インターフェイスと Mech-Eye API にアイハンドキャリブレーションに関するパラメータを追加し、かつ関連サンプルプログラムも提供するので簡単にアイハンドキャリブレーションを実行することができます。
GenlCam インターフェイスに multi-part payload type の取得に関するパラメータを追加し、かつ関連サンプルプログラムも提供するので簡単にテスクチャ点群と Z 値深度画像を取得することができます。
ファームウェアアップグレードツールを追加し、Mech-Eye Viewer を使用せずにカメラファームウェアをアップグレードすることが可能です。
撮影の速度の向上:メモリの使用を最適化し、かつカメラの撮影速度を改善するために解像度選択機能を追加するので、現場のタクトタイムを短くすることが可能です。
新機能¶
GenICam¶
アイハンドキャリブレーションのパラメータとサンプルプログラムの追加
GenICam インターフェイスにアイハンドキャリブレーションに必要なパラメータを追加し、かつ HALCON サンプルプログラム を提供します。このサンプルプログラムを使用することでアイハンドキャリブレーションを行い、外部パラメータを取得することができるほか、カメラから出力される点群の座標系を切り替えることも可能です。
multi-part payload type 関連パラメータとサンプルプログラムの追加
GenICam パラメータを追加し、AreaScan3D モードで multi-part payload type データを取得することを可能にしました。Range と Intensity をサポートしています。
以上のパラメータを使用する HALCON サンプルプログラムを提供:
obtain_textured_point_cloud サンプルプログラム:Range・Intensity データによって テクスチャ点群を取得 します。
obtain_depth_map サンプルプログラム:Range から Z 方向の値だけを取得 し、HALCON の送信速度を改善します。
カメラ IP 設定関連パラメータとサンプルプログラムの追加
GenICam インターフェイスにカメラの IP 設定関連のパラメータを追加し、カメラの IP 設定を取得・変更する HALCON サンプルプログラム を提供し、GenICam 対応のソフトウェアでカメラの IP 設定を取得・変更することができます。この HALCON サンプルプログラムを使用することでカメラの IP アドレスとサブネットマスク、ゲートウェイを読み取り、変更することができます。
カメラ内部パラメータと温度のパラメータ(変更できない)を追加
GenICam 対応のソフトウェアで読み取れるカメラ内部パラメータを追加しました。
Scan3dFocalLengthX
Scan3dFocalLengthY
Scan3dPrincipalPointU
Scan3dPrincipalPointV
温度パラメータを追加し、GenICam 対応のソフトウェアでカメラの CPU とプロジェクターの温度を読み取れます。
DeviceTemperatureSelector:温度を読み取るデバイス(MainBoard (CPU)と Sensor (プロジェクター))を選択します。
DeviceTemperature:選択したデバイスの温度を表示します。
Mech-Eye API¶
アイハンドキャリブレーション方法とサンプルプログラム(C++)の追加
アイハンドキャリブレーションを実行するための方法(C++)とサンプルプログラムを提供します。このサンプルプログラムを使用することでアイハンドキャリブレーションを行い、外部パラメータを取得することができます。
ファームウェアアップグレードツールの追加
ファームウェアアップグレードツール を追加しました。Ubuntu オペレーティングシステムでもカメラファームウェアをアップグレードすることができます。
温度の読み取り
C++:
ErrorStatus MechEyeDevice::getDeviceTemperature(DeviceTemperature &)
C#:
ErrorStatus MechEyeDevice.GetDeviceTemperature(ref mmind.apiSharp.DeviceTemperature temperature)
Python:
Device.get_device_temperature(self)
Mech-Eye Viewer¶
LSR (V4) と DEEP (V4) カメラの 2 種類 2D 画像表示機能
LSR (V4) と DEEP (V4) カメラを Mech-Eye Viewer に接続すると、カメラビューア画面に 2D 画像(テクスチャ) と 2D 画像(深度ソース) を選択できます。2D 画像(テクスチャ)は点群にテクスチャを追加するために使用し、2D 画像(深度ソース)はアイハンドキャリブレーションや内部パラメータのチェック、ROI 設定のために使用されます。
また、関連する 2D パラメータ 名は以下のように改名されました:
過去のバージョンのパラメータ名
新バージョンのパラメータ名
カラーカメラ露出モード
2D 画像(テクスチャ)露出モード
モノクロカメラ露出モード
2D 画像(深度ソース)露出モード
モノクロカメラ露出時間
2D 画像(深度ソース)露出時間
MTU 調整機能
カメラネットワークの設定 ウィンドウに MTU 調整機能(管理者 モードに切り替える必要がある)を追加しました。また、カメラファームウェアを 2.1.0 バージョンにアップグレードすると、カメラのデフォルト MTU 値は 1500 になります。
注釈
Mech-Eye Viewer の MTU 値を IPC の ジャンボフレーム の値と一致するようにしてください。
DEEP (V4) カメラの深度画像の解像度選択機能
DEEP (V4) カメラの深度画像の解像度を選択できます(2048 × 1536 あるいは 1024 × 768)。低解像を選択するとカメラの撮影速度を改善(約 35% アップ)し、現場のタクトタイムを短縮することが可能となります。
管理者 モードに切り替え、
をクリックして 深度画像 の値を選択します。出荷時の内部パラメータにリセットする機能
内部パラメータツール に 出荷時の内部パラメータにリセット ボタンを追加しました。管理者 モードに切り替えてから使用できます。
機能の最適化¶
点群後処理パラメータの最適化¶
パラメータを 4つに増やし、点群平滑化と不要な点群除去の効果を改善します。
過去のバージョンの 点群平滑化 を 表面平滑化 に更新しました。さらに、アルゴリズムを最適化して平滑の効果を改善します。
過去のバージョンの ノイズ除去 を 外れ値除去 と ノイズ除去 に更新しました。不要な点群を「外れ値」と「ノイズ」に分けて処理し、アルゴリズムを最適化することで除去の効果を改善します。
エッジ保護 機能を追加しました。対象物の種類によって強度を選択できるので対象物のエッジのディテールを保持できます。
新バージョンでは以下のようにパラメータを調整してください:
過去のバージョンで 点群平滑化 を Normal に設定した場合、新バージョンで 表面平滑化 を Weak に設定してください。
過去のバージョンで ノイズ除去 を Normal に設定した場合、新バージョンで 外れ値除去 を Weak に設定してください。
カメラの撮影速度の向上¶
カメラのハードウェアを 2.1.0 バージョンにアップグレードするとカメラの撮影速度が向上します。
Mech-Eye API C++ を使用して深度画像を収集するとき、カメラの撮影速度は最小で約 2% 向上し、最大で 20% 以上向上します。
Mech-Vision を使用して深度画像を収集するとき、カメラの撮影速度は最小で約 5% 向上し、最大で 20% 以上向上します。
注釈
V4 レーザーカメラにカラー画像の歪み補正機能を追加するため、カラー画像収集の速度が遅くなります。
Mech-Eye Viewer¶
深度画像を保存する時のデフォルト形式の変更
ユーザビリティを向上させるために、深度画像を保存するとき、デフォルト形式を .tiff から .png に変更しました。
内部パラメータツールの最適化
内部パラメータツール の画面を最適化しました。指示情報を補充してユーザビリティを向上させました。
「高精度モード」を追加しました。このモードではカメラの内部パラメータの精度が向上するので高い精度が求められるプロジェクトに適しています。管理者 モードに切り替えてから使用できます。
パラメータパレットの表示の最適化
パラメータ名が完全に見られるように、パラメータ説明パレットを閉じると他のパラメータを選択しても説明が表示されません。
メニューバーの「ビュー」の パラメータ説明 をチェックするとパラメータ説明が表示されます。
視野計算機の最適化
視野計算機 ツールのウィンドウを最適化しました。
カメラ型番選択のドロップダウンリストを最適化し、カメラの検索を容易にしました。
カメラ型番 LSR S (V4) を追加しました。
LSR L (V4) カラーカメラのダウンサンプリング機能を カメラコントローラー に移動し、「カラー画像解像度設定」と改名しました。
DEEP (V4) カメラの カメラのゲイン の初期値を 0 から 5 に変更しました。
レーザーカメラの レーザーパワー の調整範囲を 20~100% から 50~100% に変更しました。
Mech-Eye API¶
点群後処理のパラメータを最適化し、4つに増やしました。対応する Mech-Eye API メソッドを以下のように更新しました:
C++:
表面平滑化:
ErrorStatus MechEyeDevice::setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing) ErrorStatus MechEyeDevice::getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &)
ノイズ除去:
ErrorStatus MechEyeDevice::setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval) ErrorStatus MechEyeDevice::getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &)
外れ値除去:
ErrorStatus MechEyeDevice::setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval) ErrorStatus MechEyeDevice::getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &)
エッジ保護:
ErrorStatus MechEyeDevice::setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation) ErrorStatus MechEyeDevice::getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &)
C#:
表面平滑化:
ErrorStatus MechEyeDevice.SetCloudSurfaceSmoothingMode(mmind.apiSharp.PointCloudSurfaceSmoothing mode) ErrorStatus MechEyeDevice.GetCloudSurfaceSmoothingMode(ref mmind.apiSharp.PointCloudSurfaceSmoothing mode)
ノイズ除去:
ErrorStatus MechEyeDevice.SetCloudNoiseRemovalMode(mmind.apiSharp.PointCloudNoiseRemoval mode) ErrorStatus MechEyeDevice.GetCloudNoiseRemovalMode(ref mmind.apiSharp.PointCloudNoiseRemoval mode)
外れ値除去:
ErrorStatus MechEyeDevice.SetCloudOutlierRemovalMode(mmind.apiSharp.PointCloudOutlierRemoval mode) ErrorStatus MechEyeDevice.GetCloudOutlierRemovalMode(ref mmind.apiSharp.PointCloudOutlierRemoval mode)
エッジ保護:
ErrorStatus MechEyeDevice.SetCloudEdgePreservationMode(mmind.apiSharp.PointCloudEdgePreservation mode) ErrorStatus MechEyeDevice.GetCloudEdgePreservationMode(ref mmind.apiSharp.PointCloudEdgePreservation mode)
Python:
表面平滑化:
Device.set_cloud_surface_smoothing_mode(self, info) Device.get_cloud_surface_smoothing_mode(self)
ノイズ除去:
Device.set_cloud_noise_removal_mode(self, info) Device.get_cloud_noise_removal_mode(self)
外れ値除去:
Device.set_cloud_outlier_removal_mode(self, info) Device.get_cloud_outlier_removal_mode(self)
エッジ保護:
Device.set_cloud_edge_preservation_mode(self, info) Device.get_cloud_edge_preservation_mode(self)
問題の修復¶
Mech-Eye Viewer 2.1.0 では、以下の問題を修復しました。
レーザーカメラを 3 回露出させ、かつ レーザー投影のパーティション数 を 3 または 4 に設定した場合にカメラメモリー不足で接続が切れる問題を修復しました。
Laser L (V3) と Laser L Enhanced (V3) カメラに レーザー投影のパーティション数 を設定し、かつ露出時間を 20ms 以下に調整した時データに異常が発生した問題を修復しました。
パラメータグループを切り替えた時 ROI が設定できなくなる問題を修復しました。
LSR (V4) と DEEP (V4) カメラの 露出モード を Auto または HDR に設定し場合に モノクロカメラの露出モード の Flash オプションが機能しない問題を修復しました。
ルーター経由でカメラを接続した場合、カメラの MTU 値が大きいために正常に稼働できなくなる問題を修復しました。
カメラのメモリー不足でドロップフレームが発生する問題を修復しました。
PRO (V4)、LSR (V4) 、 DEEP (V4) カメラはデフォルトでは低電力モードを使用するためドロップフレームが発生する問題を修復しました。
複数のカメラに同じ IP アドレスを使用するとき、1つのカメラの IP アドレスを変更すると残りのカメラの IP アドレスも変更される問題を修復しました。
単眼カメラの 2D 画像の歪み補正機能により撮影速度が遅くなる問題を修復しました。