Adjusting Filters
Introduction
Getting the Right Exposure for Good Point Clouds 에 설명된 대로 노출 값과 프레임을 찾았으면 필터를 조정해야 합니다. 필터에 대한 자세한 내용은 Filters 에서 확인할 수 있습니다.
Cluster filter
클러스터 필터는 포인트 클라우드에서 floating 포인트와 작은 포인트들의 클러스터를 제거합니다.
팁
이 필터는 개체를 픽하는 동안 충돌 방지를 사용하는 경우에 특히 유용합니다. 개체 위에 점의 클러스터가 있지만 해당 클러스터가 현실에 존재하지 않는다고 가정해 보겠습니다. 로봇은 이러한 떠다니는 클러스터를 물리적으로 충돌할 수 있는 것이 아니라 실제 장애물로 해석할 수 있습니다. 이로 인해 개체의 바람직하지 않은 픽 포즈가 발생하거나 개체를 픽킹하지 못할 수도 있습니다.
How to control the Cluster Filter
Enabled
필터 켜기/끄기
MaxNeighborDistance
여전히 동일한 클러스터에 속하는 것으로 분류되는 인접 지점 간의 최대 정규화 거리입니다. 필터는 이웃 지점이 MaxNeighborDistance보다 멀리 떨어져 있는 클러스터(이 임계값보다 밀도가 낮은 클러스터)를 제거합니다. 값이 낮을수록 더 공격적으로 필터링됩니다.
MinArea
클러스터의 면적(단위: 제곱 밀리미터)을 의미합니다. 필터는 이 임계값 미만의 면적을 가지는 클러스터를 제거합니다. 이 매개변수를 늘리면 더 큰 클러스터가 제거됩니다.
포인트들을 제거하려면 MaxNeighborDistance
및 MinArea
요구 사항을 충족하는 클러스터에 속해야 합니다.
Parameter |
Value |
Condition |
---|---|---|
|
|
floating 포인트, 작은 클러스터가 없거나 추가 처리 시간을 감당할 수 없는 경우 |
|
floating 포인트, 작은 클러스터를 제거하려는 경우 |
|
|
|
작은 클러스터, 대부분의 장면에 적합합니다. |
|
밀집된 클러스터 |
|
|
일반적으로 반사에 의해 발생하는 매우 조밀한 클러스터 제거에 적합합니다. |
|
|
|
Outlier Filter가 제거하지 못한 클러스터의 경우 |
|
일반적인 크기의 클러스터의 경우 |
|
|
일반적으로 반사로 인해 발생하는 고스트 평면 제거용 |
floating 클러스터 제거
Noise Filter 와 Outlier Filter 는 거의 항상 사용되는 기본 제거 필터입니다. Reflection Filter (특히 Local 모드) 와 함께 이러한 필터를 사용하면 좋은 포인트를 제거하지 않으면서 모든 Floating 포인트와 클러스터를 제거하지 못할 수 있습니다. 이는 일반적으로 까다로운 장면에서 발생합니다. 클러스터 필터는 장면의 나머지 부분에서 양호한 데이터를 제거하지 않고 나머지 잘못된 점을 제거할 수 있습니다.
Complementing the Outlier Filter
다음 이미지에서 클러스터 필터가 꺼져 있고 크기와 밀도가 다른 floating 포인트들의 예를 확인 할 수 있습니다.
왼쪽 아래 이미지에서 Outlier 필터가 가장 엄격할 때 좋은 점을 제거하는 동안 일부 floating 포인트를 유지하면서 동작하는 것을 볼 수 있습니다. 오른쪽 하단 이미지에서 클러스터 필터(이 경우 기본값 사용)가 좋은 점을 그대로 유지하면서 이러한 floating 포인트를 제거하는 방법을 볼 수 있습니다.
Strict Outlier Filter settings (Threshold set to 1 mm); Cluster Filter turned off - Clusters not removed |
Cluster Filter (with default values) - Clusters removed |
Complementing the Reflection Filter - Local mode
Reflection Filter, 특히 Local 모드에서 더 많은 Floating 포인트 그룹이 남아 있을 수 있습니다. 왼쪽 하단 이미지를 살펴보십시오. 오른쪽 하단 이미지에서 이러한 Floating 포인트들이 클러스터 필터(이 경우 기본값 사용)를 사용하여 제거되었음을 볼 수 있습니다.
Reflection Filter with Local mode and Cluster Filter turned off - Clusters are not removed |
Reflection Filter with Local mode and Cluster Filter turned on (default values) - Clusters removed |
Removing ghost planes
고스트 평면은 실제로 존재하지 않는 잘못된 포인트 클라우드 데이터이며 일반적으로 개체 간의 상호 반사 또는 빈 벽과의 상호 반사로 인해 발생합니다. 이러한 Floating 포인트 클러스터의 한쪽 끝은 일반적으로 좋은 데이터로 구성된 포인트 클라우드 표면과 연결됩니다. 때때로 클러스터 필터를 미세 조정하여 고스트 평면을 제거할 수 있습니다. 이러한 아티팩트는 일반적으로 밀도가 높고 면적이 넓습니다. 따라서 필터를 적극적으로 조정해야 하므로 개체의 일부 또는 전체 개체를 포함하여 일부 양호한 데이터가 제거될 수 있습니다.
경고
클러스터 필터를 사용하여 고스트 플레인을 제거할 때 중요한 데이터가 제거되는지 주의 깊게 관찰하십시오.
다음 예제 장면에서는 실린더 상단과 빈 벽 사이의 반사로 인해 원통 위의 고스트 평면이 나타납니다. 컬러 이미지에서 용기 상단 벽에 반사된 실린더를 볼 수 있습니다.
이 고스트 평면(왼쪽 아래 이미지)은 로봇이 물체를 집는 데 장애물로 해석될 수 있습니다. 이러한 장애물로 인해 바람직하지 않은 픽 포즈 자세가 나타나거나 아예 픽 포즈 자세로 이동하지 못할 수 있습니다. 오른쪽 하단 이미지에서 클러스터 필터를 적극적으로 조정하여 고스트 평면이 제거된 것을 볼 수 있습니다. 이 예에서 MaxNeighborDistance
5.00으로 설정되고 MinArea
1400.00으로 설정됩니다. trade-off로 실린더의 바닥 부분도 제거됩니다.
Cluster Filter off - Ghost planes |
Cluster Filter on - No ghost planes |
빈에 단일 유형의 개체가 포함된 경우 클러스터 필터를 조정하여 고스트 평면을 제거하는 것이 더 쉽습니다. 유지해야 하는 포인트 클라우드에서 가장 작은 개체 기능의 영역을 결정할 수 있기 때문입니다. 그런 다음 그에 따라 MinArea
설정할 수 있습니다.
경고
When using Intel GPU, the Cluster Filter can significantly increase the processing time.
Hole Repair
The Hole Repair filter fills missing points in the point cloud. It interpolates remaining points in a circular neighborhood around the missing points in the point cloud. The missing points may have been removed by other filters, or not reconstructed in the first place.
참고
It is recommended to apply Removal Filters before adding Hole Repair filter. This prevents interpolation of noisy points.
Enabled
필터 켜기/끄기
HoleSize
채울 구멍의 상대적 지름입니다. 이 값을 늘리면 더 많은 포인트가 채워지지만 더 많은 계산 시간이 필요합니다. 허용되는 최대 구멍 크기는 거리에 따라 조정되므로 더 큰 구멍을 더 먼 거리에서 채울 수 있습니다(mm 단위).
Strictness
포인트를 채워야 하는지 여부를 고려할 때 엄격함의 수준입니다. 더 높은 수준의 엄격함은 채우기 위해 더 많은 측면에서 유효한 점으로 둘러싸인 누락된 점을 요구합니다. 이 값을 늘리면 더 적은 수의 점이 채워지지만 원형이 아닌 간격(예: 두 가장자리 사이)을 채울 가능성이 줄어듭니다.
다음 값을 사용해야 합니다.
Parameter |
Value |
Condition |
---|---|---|
|
|
추론된 데이터를 수락하지 않거나 추가 처리 시간을 감당할 수 없는 경우. |
|
알고리즘에 더 높은 포인트 클라우드 밀도가 필요하고 현재 드문 포인트 클라우드에 문제가 있는 경우. |
|
|
|
가장 작은 구멍만 채우기(빠름) |
|
(Default) Fill holes with an approximate diameter of ~8 mm at 1000 mm distance [1] |
|
|
Fill large holes with an approximate diameter of ~25 mm at 1000 mm distance [1] (slow) |
|
|
|
원형 이웃에 유효한 점이 거의 없는 경우에도 구멍 채우기 |
|
원형 이웃에서 유효한 점으로 둘러싸인 구멍만 채웁니다. |
소비재로 가득 찬 상자가 있는 다음 장면을 고려하십시오.
With the fast preset for Consumer Goods you get the result on the left below. Now, compare that with default and strong Hole Repair. This may be what makes it possible to calculate a good grasp pose on all items.
Hole Repair filter disabled |
||
Hole Repair filter 0.2 (default) |
||
Hole Repair 0.7 (strong) |
Hole Repair filter adds the following processing time per 3D capture:
Noise filter
노이즈 필터의 목적은 노이즈가 있는 포인트 클라우드를 정리하는 것입니다.
Removal
Signal-to-Noise-Ratio, 신호 대 잡음비(SNR) 필터는 투사된 패턴 신호의 SNR이 지정된 한계 미만인 지점을 제거합니다 (Detectable Light Intensity in a Camera Capture 참조). SNR 값이 낮은 포인트는 노이즈가 더 많으므로(예: 주변 조명으로 인해) SNR 필터를 사용하여 허용 가능한 포인트만 보존할 수 있습니다.
일부 검사 어플리케이션 사례에서는 신뢰도가 높은 점만 보존하는 것이 바람직할 수 있습니다. 그러나 Bin-Picking 시나리오에서는 노이즈가 많은 지점이 일반적으로 전혀 없는 지점보다 더 나은 것으로 간주됩니다. 이는 궁극적으로 일치 알고리즘이 찾은 일치 항목이 만족스러운지 여부를 결정하기 때문입니다.
Parameter |
Value |
Condition |
---|---|---|
|
|
SNR 값에 관계없이 모든 포인트를 유지하려는 경우(드물게) |
|
SNR 값이 낮은 포인트를 필터링하여 포인트 클라우드의 품질을 제어하려는 경우(보통) |
|
|
|
표면 커버리지를 최대화하고 싶지만 여전히 신뢰도가 낮은 일부 포인트를 필터링하는 경우(예: Parcel Picking) |
|
예를 들어 제조(Bin Picking) 및 E-commerce(Piece Picking)와 같은 대부분의 어플리케이션에서 괜찮은 품질 포인트만 유지하려는 경우. 더 낮은 임계값( |
|
|
품질검사 등 신뢰도 높은 포인트만 남기고 싶은 경우 |
힌트
3의 SNR 임계값은 폐기된 포인트와 노이즈 사이에 좋은 절충안을 제공합니다.
참고
Noise Removal (SNR) 필터는 처리 시간을 거의 추가하지 않습니다.
SNR 값에 대한 자세한 내용은 SNR Value 을 참조하십시오.
Repair
이 필터는 노이즈 포인트로 인해 누락된 데이터 영역을 복구합니다.
Value |
Condition |
|
높은 신뢰도를 얻기 위해 포인트 클라우드의 모든 포인트가 필요한 경우. |
|
표면 적용 범위를 최대화하려는 경우. |
참고
Noise Repair는 추가 처리 시간을 추가합니다. Noise Repair 및 Noise Suppression를 활성화하면 둘 중 하나만 활성화하는 것과 동일한 처리 시간이 추가됩니다.
Suppression
이 필터는 포인트 클라우드에서 노이즈와 outliers을 줄입니다.
Value |
Condition |
|
매우 미세한 디테일을 구별해야 하므로 스무딩 효과를 피해야 하는 경우. |
|
포인트 클라우드에서 노이즈 및 outliers을 줄이거나 상호 반사로 인한 파급 효과를 줄이려는 경우. |
참고
Noise Suppression는 추가 처리 시간을 추가합니다. Noise Suppression 및 Noise Repair를 활성화하면 둘 중 하나만 활성화하는 것과 동일한 처리 시간이 추가됩니다.
Outlier filter
Outlier 필터는 인접 픽셀의 작은 로컬 영역 내에서 Outlier(혼자 멀리 떨어진)로 간주되는 픽셀을 제거합니다. Outlier는 가장 가까운 이웃과 얼마나 멀리 떨어져 있는지로 측정됩니다. 거리가 Outlier 필터의 임계값을 초과하면 픽셀이 이상값으로 식별되어 최종 포인트 클라우드에서 제거됩니다. Outlier 필터 임계값의 단위는 mm이며 임계값이 작을수록 더 많은 픽셀이 제거됩니다. 완화된 Outlier 필터로 시작한 다음 밀도/노이즈 수준에 만족할 때까지 임계값을 조이는 것이 좋습니다.
Value(mm) |
Considerations |
5-10 |
Typical for Zivid 2+ M60 |
5-20 |
Typical for Zivid 2 M70 |
10-20 |
Typical for Zivid 2+ L110/M130 and Zivid 2 L100 |
50-100 |
다음 조건 중 하나에서 카메라를 사용하는 경우 고려할 수 있습니다.
|
OFF |
극도의 노이즈가 있지만 가능한 모든 포인트를 원하는 경우 필터를 끌 수 있습니다. 이것은 매우 어두운 장면, 아주 멀리(>2m) 또는 실외에 이미지에 해당합니다. |
참고
Outlier 필터의 단위는 mm 입니다.
참고
Outlier 필터는 추가 처리 시간을 거의 추가하지 않습니다.
Reflection filter
반사 필터는 Zivid가 반사의 영향을 받아 잘못된 것으로 간주하는 포인트를 제거합니다. 이들은 일반적으로 포인트 클라우드에서 “ghost planes” 으로 표시됩니다. 즉, 거기에 있어서는 안 되는 공중에 떠 있는 포인트의 작은 영역입니다.
참고
반사 필터를 활성화하면 획득당 특정 처리 시간이 추가됩니다. 아래를 참조하십시오.
다음 값을 사용해야 합니다.
Value |
Condition |
|
장면이 반사되지 않는다는 것을 알고 있고 획득 시간을 최적화하려는 경우. |
|
반사성이 있는 부품 또는 반사성이이 있는 용기 내부의 부품을 감지하는 데 문제가 있는 경우 켜십시오. |
Mode |
장점 |
|
|
|
|
Reflection Filter disabled (ghost plane) |
Reflection Filter enabled - Global mode (smaller ghost plane) |
Reflection Filter enabled - Local mode (no ghost plane) |
Reflection Filter - Global mode (no data on thin objects) |
Reflection Filter - Local mode (data preserved on thin objects) |
Reflection Filter - Global mode (no data on pointy objects) |
Reflection Filter - Local mode (data preserved on pointy objects) |
Reflection Filter - Global mode (less outliers) |
Reflection Filter - Local mode (more outliers) |
힌트
반사 필터의 local 모드는 허공에 떠 있는 floating 포인트를 남길 수 있습니다. 이것은 Cluster Filter 를 사용해 보상할 수 있습니다.
반사 필터(Global 모드)는 3D 캡처당 다음 처리 시간을 추가합니다.
Gaussian smoothing
가우시안 필터는 3D 거리를 기반으로 작은 로컬 영역 내의 점을 부드럽게 합니다. 희소 노이즈를 억제하고, Outlier를 수정하고, 그리드에 포인트를 정렬하는 데 사용할 수 있습니다. Sigma
파라미터는 필터의 적극성을 정의합니다. 시그마가 높을수록 더 공격적인 스무딩입니다. 가우시안 필터는 대부분의 경우 이상값을 수정할 수 있지만 시그마가 높으면 가장자리에도 영향을 미칠 수 있습니다.
Value |
Condition |
<1.0 |
가능한 한 많은 세부 사항과 기능을 유지하려는 경우. 작은 물체(cm 미만 기능)에서 사용됩니다. |
1.5 |
대부분의 조건과 중간 크기의 물체에 적합합니다. |
2.5-5 |
평면의 평평함과 같이 더 부드럽고 더 큰 표면에 관심이 있는 경우. |
Gaussian filter OFF |
||
Gaussian filter with sigma=1.5 |
||
Gaussian filter with sigma=4.0 |
가우스 필터는 3D 캡처당 다음 처리 시간을 추가합니다.
Contrast Distortion filter
대비 왜곡 필터는 카메라 렌즈의 흐릿함의 영향을 받는 점을 수정 및/또는 제거합니다. 포인트 클라우드에서 이는 일반적으로 고대비(강한 정반사)가 있는 영역과 텍스처 기울기가 큰 영역에서 발생합니다. 다음 글에서 왜곡에 대해 자세히 설명을 확인 할 수 있습니다. Contrast Distortion Artifact.
필터 매개변수 강도는 3D 공간에서 점이 수정되는 정도를 나타내며 임계값은 점이 제거되기 전의 최대 거리를 나타냅니다(제거 모드가 켜져 있는 경우). 강도와 제거는 카메라 초점과 물체의 방향(카메라 기준선에 대한)에 따라 달라지므로 Contrast Distortion Filter 의 파라미터를 조정하기 전에 먼저 노출 설정을 조정하는 것이 좋습니다.
경고
만약 strength 값이 매우 높으면 보정을 과도하게 할 수 있습니다.
팁
Turning off Contrast Distortion helps to preserve the sharpness of 3D edges.
Value |
Condition |
0.1 - 0.2 |
대비 왜곡 효과가 적고 보정이 거의 필요하지 않은 경우. |
0.3 - 0.5 |
“Almost always”, 카메라의 초점이 맞지만 대비 왜곡이 있는 경우입니다. 약간의 수정이 필요합니다. |
0.6 - 0.7 |
“Common”, 포인트 클라우드가 큰 대비 왜곡의 영향을 받는 경우. 카메라의 초점이 약간 맞지 않을 수 있습니다. |
0.8 - 1.0 |
“Uncommon”, 대비 왜곡 효과가 매우 높은 경우. 이것은 종종 카메라의 초점이 맞지 않음을 나타냅니다! |
대비 왜곡 필터는 3D 캡처당 다음 처리 시간을 추가합니다.
팁
Contrast Distortion Correction 필터가 이미 활성화된 경우 Contrast Distortion Removal은 매우 짧은 처리 시간을 추가합니다.
Tuning Aperture before Contrast Distortion filter
대비 왜곡 필터를 조정하는 것만으로는 대비 왜곡 아티팩트를 제거하기에 충분하지 않은 경우가 있습니다. 흐릿한 색상 이미지로 인해 아티팩트가 악화됩니다. 따라서 필터를 조정하기 전에 조리개를 조정하여 컬러 이미지의 초점을 맞추는 것이 중요합니다.
Aperture, 조리개를 튜닝하여 대비 왜곡 아티팩트를 제거하는 과정을 예시로 보여드리겠습니다.
아래 그림은 초점이 맞지 않는 컬러 이미지와 가시적인 대비 왜곡 인공물이 있는 포인트 클라우드를 보여줍니다. 조리개에 낮은 f값(2.38)을 사용하기 때문에 컬러 이미지가 흐릿합니다. 사용된 대비 왜곡 강도는 0.35입니다.
Color image out of focus |
Resulting point cloud with contrast distortion |
Aperture는 2.0에서 8.0으로 변경되어 대비 왜곡 아티팩트를 제거하고 이 변경은 더 긴 노출 시간으로 보상됩니다. 그 결과 초점이 맞춰진 컬러 이미지와 대비 왜곡 아티팩트가 없는 포인트 클라우드가 생성되며, 이는 아래 그림에서 볼 수 있습니다.
Color image in focus |
Resulting point cloud without contrast distortion |
이 예에 사용된 포인트 클라우드는 추가 검사를 위해 다운로드할 수 있습니다.
Further reading
Optimizing Color Image 에 대해서 알아보십시오.
Version History
SDK |
Changes |
---|---|
2.9.0 |
Cluster 및 Hole Filling 필터에 대한 섹션을 추가하고 2.9.0에 도입된 새로운 동작을 기반으로 가우시안 섹션을 업데이트했습니다. |