ホームページ >テクノロジー周辺機器 >AI >LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

WBOY
WBOY転載
2023-05-18 15:47:381525ブラウズ

01 カメラの機能 - 露出と読み出し

カメラは、露出と読み出しの 2 段階で画像フレームを取得します。カメラで使用されるセンサーに応じて、カメラの露光時間と読み出し時間の重複関係も異なり、重複露光と非重複露光に分けることができます。

非オーバーラップ露光と比較して、オーバーラップ露光は描画時間に対する露光時間の影響を軽減できます。

書き直された文: 現在のフレームの露光と読み出しが完了した後、次のフレームの露光と読み出しが行われるノンオーバーラップ露光です。重複しない露光フレーム期間は、露光時間とフレーム読み出し時間の合計よりも長くなります。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

#インナートリガーモードノンオーバーラップ露光

オーバーラップ露光とは、現在のフレームの露光が前のフレームの読み出しプロセスと部分的に重なること、つまり、前のフレームの読み出しがまだ進行中に次のフレームの露光が開始されることを意味します。重複する露光フレーム期間は、露光時間とフレーム読み出し時間の合計以下になります。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

#内部トリガー モード オーバーラップ露光はい!前の段落の目的は、次の説明で現在のフレームの露光時間が前のフレームの読み出し時間と重なっていても驚かないでください、ということです。

02 画像取得:トリガーモード(外部入力)

カメラのトリガーモードは、内部トリガーモードと外部トリガーモードの2種類に分かれます。

内部トリガー モード: カメラはデバイス内で与えられる信号を通じて画像を収集します。

外部トリガー モード: カメラは外部信号を通じて画像を収集します。外部信号の主な形式は、ソフト トリガーとハードウェア トリガーの 2 つで、外部信号はソフトウェア信号またはハードウェア信号のいずれかになります。外部トリガ モードは次の図に示すとおりです。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

#外部トリガ モード

ソフト トリガー: トリガー信号はソフトウェアによって送信されます (ソフト トリガーにはカメラ SDK が提供する API インターフェイスを使用することもできます)。

ハードウェア トリガーを使用する場合、カメラは I/O インターフェイスを介して外部デバイスに接続し、外部デバイスからトリガー パルス信号を受信して​​画像を収集します。実際、カメラの内部レジスタを直接読み書きします。下の写真は、Hikvision カメラの電源 IO の 6 ピン ケーブルです:

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

##Haikang カメラの電源と IO インターフェイス (6 ピンのヒロセ)

その中で、Hikvision カメラには 1 つのフォトカプラ絶縁入力 Line0 と 1 つの構成可能な入出力 Line2 があり、そのうちの 1 つを入力信号として選択できます。 03 トリガー出力

カメラのトリガー出力信号はスイッチ信号であり、警報灯、光源、PLC などの外部デバイスの制御に使用できます。 。トリガ出力信号はストローブ信号を通じて実現できます。

カメラが露出すると、すぐに高有効レベルのストロボ信号が生成されます。以下では、主にこの信号を使用して、LiDAR などの他のセンサーでハード トリガーを実行します。ストロボプリ出力という概念があります。ストロボ信号は露光よりも早く有効になります。その動作原理は、露光を遅らせて最初にストロボ出力を実行することです。この機能は、応答が遅い外部デバイスに適用できます。ストロボプリ出力タイミングを図に示します。 (遅延露光が必要な理由については後ほど説明します)。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

##ストローブ信号プリ出力タイミング

さて、本題に戻りますが、これからが本当に早く進みます。

カメラと LIDAR のタイムスタンプを同期するには、ハード トリガー、ソフト トリガー、ソフト トリガーとハード トリガーの 3 つの主な方法があります。以下に手書きの模式図で一つ一つ紹介していきます。

まずハードトリガーについて話しましょう。 MCU は、3 つのセンサー デバイスをハード トリガーするためのパルス信号を生成します。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

#ソフト トリガーとハード トリガーの場合、最初にカメラ SDK の API を使用してカメラをソフト トリガーし、次に外部カメラのトリガー信号 ストロボは、レーダーやカメラなどの他のセンサーに対してハード トリガーを実行します。

LIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事

#ここで注意する必要がある問題があります。ソフトトリガーされた最初のカメラが同時にストロボ信号を発した場合結局のところ、それは一歩遅すぎるため、完全に同期することはできません。そこで、先に提案した遅延露光前にストロボ出力を行うプリ出力ストロボの概念を導入する。

このモードを設定するときは、次の 4 つの点に注意してください:

  1. 立ち上がりエッジまたは立ち下がりエッジのトリガー方法;
  2. 有効レベル幅、レベル振幅、必要なLidar をトリガーできる最低振幅を知る;
  3. ストロボの事前出力;
  4. 両側のレベル信号が同じかどうか、3V または 5V を昇圧する必要があるかどうか;

最後に、推奨されないソフトトリガーについて話しましょう。

API オペレーションへの最初の呼び出しは、ハード トリガー (センサーの内部レジスタに対する直接読み取りおよび書き込みオペレーション) よりも明らかに遅いです。API(1) は、2 番目のコマンド API(2) を実行するまでにすでに時間がかかっています。 )。 時間。

<code>//读取lidar和image数据的线程1while(1){API(1); //软触发第一个sensorAPI(2); //软触发第二个sensor//假设脉冲周期为0.5s}//处理数据线程2for(i=0;i<nimage gettickcount t1 gettickfrequency></nimage></code>

データの 1 フレームの処理に必要な時間が 0.5 秒を超えると、スレッド 1 が次のデータ フレームを読み取り、スレッド 2 のデータが混乱します。スレッド 2 は 0.5 秒以内に単一フレームの処理を完了する必要があり、各フレームの後に待機する必要があります (1/fps - 現在のフレーム処理時間)。

以上がLIDAR とカメラのキャリブレーションのタイムスタンプ同期の問題について説明した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。