天天看點

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

調整深度相機以獲得最佳性能

文章目錄

  • 調整深度相機以獲得最佳性能
    • 從相機的最佳深度分辨率開始操作
    • 確定圖像正确曝光
    • 定期在平坦的牆壁或目标上驗證性能
    • 使用深度設定
    • 盡可能靠近一點
    • 使用多個深度攝影機
    • 使用後處理TODO: 比較效果以及處理時間
    • 更改深度步長
    • 使用外部投影儀
    • 使用左側彩色相機
    • 選擇最适合這項工作的相機
    • 更改背景
    • 更換紅外線濾鏡或背景照明
    • 避免重複結構(eg.鐵絲網)
    • 使用陽光,但避免眩光

從相機的最佳深度分辨率開始操作

  • Intel RealSense D435: 848x480

可以使用較低的分辨率,但會降低深度精度。 立體深度傳感器的深度測距性能來自于比對左圖像和右圖像中對象位置的能力。 輸入分辨率越高,輸入圖像越好,深度精度越高。

如果出于計算原因應用程式需要較低的分辨率,我們建議使用後處理算法在接收到資料後立即對較高分辨率的深度圖和彩色圖像進行子采樣(抽取)。 将D4xx錄影機設定為較低分辨率模式的唯一令人信服的原因是:

  • 減小最小工作範圍,這将随x-y分辨率而變化
  • 減少USB3.0總線上的帶寬,例如,如果已達到帶寬限制,則允許更多錄影機同時運作。

確定圖像正确曝光

檢查自動曝光效果是否良好,或切換到手動曝光以確定彩色或黑白左右圖像良好。 接觸不良是造成不良性能的主要原因之一。

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能
調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

通常,我們建議先調整曝光以擷取最佳效果,同時保持GAIN = 16(最低設定)。 增益的增加趨向于引入電子噪聲,并且盡管彩色圖像可能看起來更好,但是深度品質将下降。 曝光機關是微秒,是以33000是33ms。 請注意,過度曝光的圖像可能與曝光不足的圖像一樣糟糕,是以請小心找到正确的曝光。

這是使用自動曝光功能時要考慮的兩個其他選項。 啟用“自動曝光”後,它将對預定義的興趣區域(ROI)内所有像素的強度求平均,并将嘗試将此值保持在預定義的設定點。 ROI和設定點均可在軟體中設定。 在英特爾實感檢視器中,可以在進階控件/ AE控件下找到設定值。

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

ROI也可以在Intel RealSense Viewer中設定,但是隻有在流媒體打開後才會顯示。 (確定右上開關處于打開狀态)。 然後,您将能夠在圖像上拖動ROI。 當然,在英特爾實感SDK 2.0中也存在相應的軟體控件調用。

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

注意:RGB ROI需要單獨設定,如下所示。 雖然這不會影響深度品質,但會影響彩色圖像品質。

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

定期在平坦的牆壁或目标上驗證性能

1.在白牆上測試:打開投影儀(紅外)并調節雷射功率。 我們建議使用标稱值150mW,但請向上或向下調整以獲得更好的效果。 例如,如果看到局部雷射點飽和,請降低雷射功率; 如果深度稀疏,請嘗試增加雷射功率。

2.在帶紋理的牆壁上測試:這是驗證性能的最佳方法。 使用英特爾推薦的目标,如下所示。 這些可以在這裡下載下傳。 該圖案可以投影到牆上或印刷并附着在平坦的剛性表面上。 關閉投影機。 指向牆壁并測量平面拟合的RMS誤差。 英特爾實感深度品質工具将提供包括RMS誤差在内的名額。 生成此特定圖案以顯示許多不同比例的紋理,是以應在相當大的距離範圍内工作。 校準良好的相機應産生小于0.1的亞像素RMS誤差。

3.重新校準如果平闆目标測試顯示性能下降,則可能需要重新校準相機。 例如,如果RMS誤差超過中心ROI的〜0.2像素,則可能需要重新校準,尤其是在性能的其他方面(例如填充率或準确性)也下降的情況下。 可以從以下位置下載下傳動态校準工具 https://dev.intelrealsense.com/docs/calibration,或者您可以使用Intel RealSense Viewer運作片上自我校準(更多詳細資訊,請通路https://www.intelrealsense.com/self-calibration-for-depth-cameras).

4.閱讀深度品質白皮書:我們還建立了單獨的白皮書,可在此處找到 https://dev.intelrealsense.com/docs/camera-depth-testing-methodology .

5.了解理論極限.使用以下公式了解RMS深度誤差的理論限制。 請注意,通常您應該在紋理良好的目标上看到它。 RMS誤差表示适合深度值的局部平面的深度噪聲:

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-y2EDFNrH-1617853478233)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925132052551.png)]

對于質地良好的目标,可以預期子像素<0.1,甚至接近0.05。 通常,在關閉雷射的情況下,您應該會看到約30%的子像素變小。

深度噪波往往表現為平面上的凹凸,看起來有點像雞蛋盒。 這是意料之中的。

使用以下曲線可獲得:

  • D415 with HFOV=65deg, Xres=1280, and baseline=55mm,
  • D435 with HFOV=90deg, Xres=848, and baseline=50mm.

    Both are for subpixel=0.08.

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

可以看出距離越遠深度值誤差就會大的多。

使用深度設定

  1. D4 VPU中的深度計算受到40多個不同參數的影響(在“進階模式”API中暴露)。 我們有5種以上不同的“深度預設”或配置,我們推薦嘗試一下。 D4 VPU中的預設設定适用于一般用途,但“高密度”将為您提供更好的填充因子,即較少的孔洞。 這對于像深度增強攝影這樣的用途是很好的,但對于大多數一般用途也是很好的。
  2. “高精度”預設将施加更嚴格的标準,并且将隻提供那些以非常高的置信度生成的深度值。 這通常會給出一個不那麼密集的深度圖,但對于那些深度錯誤的自主機器人來說是非常好的,也就是說。 幻覺,比沒有深度要糟糕得多。 為了說明這一點,假設您正在制作一個需要穿過熔岩的機器人。 機器人需要100%準确地知道它是踩在突出的堅硬岩石上,否則後果将是災難性的。 當然最極端的情況是,我們在深度上過于保守,機器人看不到前方真正的障礙物,但推薦的設定應該不錯。也就是說,開啟了高精度模式,那麼有資訊的深度值就會減少,但置信度會很高也會很精确
  3. 有關深度預設以及每個預設的圖檔的更多資訊,請參閱以下内容:https://github.com/IntelRealSense/librealsense/wiki/D400-Series-Visual-Presets 我們要強調的是,D4 VPU深度算法由許多不同的參數控制。 英特爾提供了一組名為“深度預設”的參數選項,可供使用。 本着開源精神,我們确實允許直接通路這些參數。 然而,考慮到所有參數之間存在複雜的互相作用,我們目前使用機器學習來針對不同的用法進行全局優化。 出于這個原因,我們不打算在将來提供任何關于“每個參數做什麼”的描述。

盡可能靠近一點

  1. 英特爾實感D400深度攝像頭可為附近物體提供最精确的深度測距資料。 深度誤差與距離的平方成比例。 是以,在任何可能的情況下,都應嘗試盡可能靠近物體,但不要離物體太近以至最小操作距離MinZ。
調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

觀察傾斜的平面:“MinZ Noise ”可以減少.使用深度設定。左=“高密度”,右=“高精度”預設 (目前用不上)

如果Minz成為一個問題(意味着您需要比Minz更接近),您可以通過降低深度成像器的分辨率來降低此問題。 Minz将随深度傳感器的X分辨率線性縮放。 請注意,對于1280x720的D415,Minz約為43.8 cm,而對于848x480的D435,Minz約為16.8 cm。 公式是:

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-f1tcz5hB-1617853478241)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925142836737.png)]

減小minZ的另一種方法是在進階模式api中使用“視差移位”參數。 通常,将深度傳感器設定為生成距離minZ到無窮遠的對象的深度。 例如,通過将視差移位從0增加到128,您将能夠将該範圍移位到NewMinZ到NewMaxZ。 通常,我們僅建議在已知沒有比MaxZ更遠的物體時執行此操作,例如将深度攝像頭安裝在桌子上方并指向桌子表面。 注意,由于視差與深度之間的反比關系,随着視差偏移的增加,MaxZ的下降速度将比minZ快得多。 是以,建議不要使用比必要的視差偏移更大的視差。 例如,如果使用視差平移128,則newMaxZ大約等于原始MinZ,而newMinZ大約等于原始MinZ的一半。 請注意,以這種方式減小MinZ的權衡之處在于,看不到距離MaxZ更遠的對象。也就是說,調節視差位移可以優化min_z

調整realsense相機以獲得最佳性能調整深度相機以獲得最佳性能

使用多個深度攝影機

  1. 如果錄影機的視野(FOV)成為同時捕獲整個場景的深度的問題,那麼可以考慮使用多個深度錄影機來提供更大的覆寫範圍。
  2. Intel RealSense D4xx攝像頭互不幹擾。API提供時間戳和幀計數器,但如果您需要在幾微秒(即子幀時間)内進行硬體同步,則也可以通過外部同步電纜将攝像頭連接配接在一起,并告訴其中一個是主攝像頭,另一個是從攝像頭。(請參見單獨的白皮書)See separate white paper on this。
  3. 使用多個深度攝影機的最佳方法是使用各自的捕獲和處理線程獨立處理每個深度攝影機,然後在計算其點雲後将它們組合起來。

使用後處理TODO: 比較效果以及處理時間

預設情況下,我們不會對深度進行任何後處理,而是将其留給更進階别的應用程式。 我們在英特爾RealSense SDK 2.0中添加了一些簡單的後處理選項,但這些選項并不是詳盡的。 通常,我們建議應用以下一些後處理步驟:

  1. 子采樣:進行智能子采樣。 我們通常建議對像素及其鄰居進行非零均值處理。 所有立體聲算法确實涉及一些卷積運算,是以降低捕獲後的(X,Y)分辨率通常對于減少進階應用程式所需的計算量非常有益。 分辨率降低2倍将使後續處理速度提高4倍,比例因子4将使計算量降低16倍。 此外,子采樣可用于使用非零均值或非零中值函數進行一些基本的空洞填充和資料平滑。 最後,子采樣實際上也往往有助于點雲的可視化。
  2. Temporal filtering:盡可能使用平均時間量來改善深度,并確定不要考慮“空洞”(深度= 0)。 深度資料中存在時間噪聲。 我們建議使用IIR濾波器。 在某些情況下,使用“持久性”也可能是有益的,其中無限期或在特定時間範圍内保留最後一個有效值。,,
  3. Edge-preserving filtering : 這将平滑深度噪波,保留邊緣,同時使表面更平整。 但是,應再次注意使用不會過度積極地删除特征的參數。 我們建議您在視差域(即,深度比例為1 /距離)中進行此處理,并嘗試通過逐漸增加步長門檻值進行實驗,直到最适合預期用途為止。 另一種成功的後處理技術是使用由RGB圖像引導的域變換濾鏡或雙線性濾鏡。 例如,這可以幫助銳化邊緣.在視差域進行處理
  4. Hole-filling :一些應用不能容忍深度的孔。 例如,對于深度增強攝影,重要的是每個像素都有深度值,即使隻是猜測。 為此,有必要根據相鄰值或RGB圖像以最佳猜測填充空洞。這個比較有用>

更改深度步長

  1. 可能需要在進階模式api中更改“深度機關”。 預設情況下,D4 VPU提供16位深度,深度機關為1000um(1mm)。 這意味着最大射程為〜65m。 但是,例如,通過将其更改為5000um,可以将深度報告為最大值5x65 = 325m
  2. 另外,當在非常近距離下操作時,英特爾實感D4xx錄影機可以固有地提供遠低于1mm的深度分辨率。 為了避免量化影響,有必要将深度機關減小為100um,最大範圍為6.5m。  TODO:如果允許的話,可以調節範圍,擷取更高的精度

盡管可以通過使用視差平移降低X分辨率并減小深度機關來獲得真正接近的物體的深度,但是還有其他因素最終會限制近距離性能。 英特爾實感D4xx攝像頭目前聚焦在50厘米至無限遠處,是以将在20厘米以下開始失焦。 同樣,對于不平坦的物體(例如牆壁),在非常近的範圍内,左右錄影機的視野可能會有所不同,是以不會給出任何深度範圍。 要了解這一點,請考慮将食指移近眼睛。 在某些時候,您的左眼和右眼實際上會看到手指的另一側,是以根本無法進行立體聲比對。

使用外部投影儀

TODO: 在黑夜的環境下可以增加一個外部紅外投影

  1. 雖然内置投影機非常好(如下所示),但實際上功率很低,并且不能照亮非常大的房間。 是以,有時增加一台或多台額外的外部投影儀是有益的。 D4xx錄影機将從投影到沒有固有紋理(例如平坦的白牆)的場景上的任何其他紋理中受益。 通常,使用任何外部投影機時,隻要D4 VPU連續打開或以> 50KHz的頻率閃爍,就無需在D4 VPU中進行調整,以免幹擾傳感器的滾動快門或自動曝光性能。

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-hwCpldsj-1617853478245)(https://files.readme.io/5ab2b4e-b11.png)]

  1. 外部投影儀在固定安裝中非常有用,因為固定安裝中低功耗并不重要,例如靜态盒子測量裝置。 通過增加靠近對象的照明,它也可以照亮遠處的對象。
  2. 關于特定的投影圖案,我們建議使用5000至300,000個半随機點。 我們通常建議比例不變的模式。 這意味着,如果投影儀和深度傳感器之間的間距發生變化,則深度傳感器仍會在很大的距離範圍内看到紋理。
  3. 可以使用可見光或近紅外光(範圍為~400-1000 nm),盡管我們通常推薦850 nm是一種很好的折衷方案,既能讓人眼看不見,又能讓紅外傳感器看到,靈敏度降低約15-40%,具體取決于使用的傳感器。
  4. 使用基于雷射的投影儀時,采取一切必要措施以減少雷射散斑非常重要,否則會嚴重影響深度。 非相幹光源将在深度噪聲方面帶來最佳效果,但通常無法在遠距離産生高對比度的圖案。 即使采用所有減少斑點的方法,看到被動目标或LED投影儀的深度也要比基于雷射的投影儀好30%以上。
  5. 投影儀不需要與深度傳感器放在同一位置。 如果需要,也可以移動或搖動投影儀,但不需要這樣做。
  6. 確定投影儀是人眼安全的。

使用左側彩色相機

  1. 雖然D415和D435相機都具有内置的第三色相機,該相機通過ISP處理以提供與深度無關的良好色彩,但是有很多原因代替(或另外)使用立體聲對的左相機。
  2. “左IR”相機的優點是始終1.與深度圖完全對齊、校準和重疊,2.完全時間同步,3.不需要額外的計算開銷來對齊顔色到深度,以及4.不提供額外的遮擋瑕疵,因為它是完全共同對齊的。 主要的缺點是,如果打開投影儀,它通常會顯示投影儀圖案。
  3. D415使用顔色傳感器進行深度測量,而D435使用單色傳感器。 D415的一項非常出色的專利功能是,深度D4 VPU能夠基本删除IR投影圖案,而無需額外的CPU或功耗。 僅适用于1280x720分辨率的D415。 它基于将進階模式API中的顔色校正矩陣更改為以下12個值。 請注意,雷射尚未關閉,是以深度完全不會受到影響。 但是,綠色會減少。

選擇最适合這項工作的相機

D415和D435之間的主要差別在于D415的水準視場(HFOV)約為64度,而D435的水準視場約為86度。 後者也使用全局快門成像器,而不是前者中的滾動快門成像器。 另一個差別是,D415在一個加勁肋上都具有左+右成像器,發射器和RGB傳感器,進而使第3色成像器的校準強度提高了一個數量級。 D435錄影機基于D430子產品,并使用連接配接到單獨的加強闆的單獨的RGB錄影機。 該選擇基于前幾代相機和子產品的回報,其中一些客戶希望靈活地選擇所需的RGB相機。 另一個差別是D415使用2x 2百萬像素成像儀(OV2740),基線為55mm。 D435是2x 1百萬像素(OV9282),基線為50mm。

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-nHbTG5iy-1617853478246)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925153959831.png)]

與D415相比,由于FOV更寬,基線更小,傳感器分辨率更小,是以D435在任何給定範圍内的深度噪聲(> 2x)都更大。 但是,D435确實受益于在相同分辨率下具有更小的最小工作距離(minZ)。 這意味着您可以靠近物體。 例如,在848x480下,D415的minZ約為31cm,而D435的minZ約為19.5cm。

更改背景

盡管許多應用程式不允許更改環境,但某些用法卻可以。 例如,如果目的是檢查放在桌子上的包裹,則如果桌面上有無光澤的紋理圖案(如上圖3b中所示),将對測量有很大幫助。 這優于白色光澤的背景,例如白色的桌面。也就是說白色對相機有比較大的影響

更換紅外線濾鏡或背景照明

  1. 英特爾實感D415和D435都能看到可見光和紅外光。 原因是英特爾實感視覺處理器D4 VPU可以很好地從純被動場景中提取深度,而無需使用任何投影儀,并且實際上受益于使用紅色,綠色,藍色圖像。 但是,如果目的是要在室内長距離看到白牆,則可能有必要提高投影雷射圖案的SNR。 當然,這可以通過增加雷射功率來實作,但是也可以通過在左+右成像器的前面放置一個紅外帶通濾波器來實作。 要确定這是否會改善性能,您可以嘗試在關閉投影機電源的同時關閉所有燈光,因為這将有效地模拟您在打開IR濾鏡時所看到的性能。 這樣,“白牆”範圍可以從〜3m增加到10m。
  2. 在英特爾RealSense D4xx錄影機前面放置任何光學視窗或濾鏡時,務必確定投影儀發出的雷射不會反射回成像儀,因為這會對深度産生不利影響。 我們建議對左右兩個成像器使用不同的視窗。

避免重複結構(eg.鐵絲網)

立體深度計算取決于确定左右圖像之間的比對。 如果場景中有重複的結構,例如栅欄或鐵絲網,則此确定可能會變得模棱兩可。 我們用于确定置信度的工具之一是進階API設定“ DSSecondPeakThreshold”。 英特爾實感D4 VPU确定最佳比對和次最佳比對的比對分數-如果最佳比對的品質與次最佳比對的品質相似,則很可能由于重複結構導緻的混疊而發生-差異如何 這兩個比對需要由“ DSSecondPeakThreshold”參數确定。 通過增加其值,更多的深度結果将顯示為黑色或零,進而減少了因混疊而導緻的比對次數。

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-5GrXE1bW-1617853478248)(https://files.readme.io/44d8b18-b17.jpg)]

  1. 可能有幫助的另一種緩解政策是使相機相對于水準方向傾斜幾度(例如20至30度)。

使用陽光,但避免眩光

  1. 大多數深度相機在陽光下會急劇退化。 相比之下,英特爾實感D415和D435都傾向于在強光下表現更好。 了解這一點的方法是,英特爾實感D4xx中的深度品質與輸入圖像的品質直接相關。 衆所周知,小型手機錄影機(以及英特爾實感D4xx系列中使用的錄影機)在弱光條件下的圖像品質較差,但在明亮的陽光下卻能提供出色的圖像。 陽光減少了傳感器的噪音,并傾向于“帶出”物體的紋理。 此外,可以将曝光減少到接近1ms,這也減少了運動僞像。 是以,結果是Intel RealSense D4xx錄影機在陽光下實際上表現非常出色。
  2. 一個需要注意的問題是指着太陽或靠近太陽時的鏡頭眩光。 建議使用擋闆遮擋鏡片,以降低鏡片眩光的風險。
  3. 在室外操作英特爾實感D4xx錄影機時,在自動曝光方面要特别小心,尤其是在圖像中可見太陽或太陽反射的情況下,這一點很重要。 預設情況下,自動曝光算法會嘗試将整個圖像的平均強度保持在一定範圍内。 如果太陽在該圖像中,其他所有物體都會突然變黑。 對于許多應用程式,例如自動駕駛機器人或汽車,它有助于将自動曝光算法的關注區域更改為較小的尺寸,或者特别是更改為圖像的下半部分。