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

클러스터의 면적(단위: 제곱 밀리미터)을 의미합니다. 필터는 이 임계값 미만의 면적을 가지는 클러스터를 제거합니다. 이 매개변수를 늘리면 더 큰 클러스터가 제거됩니다.

포인트들을 제거하려면 MaxNeighborDistanceMinArea 요구 사항을 충족하는 클러스터에 속해야 합니다.

Parameter

Value

Condition

Enabled

no

floating 포인트, 작은 클러스터가 없거나 추가 처리 시간을 감당할 수 없는 경우

yes

floating 포인트, 작은 클러스터를 제거하려는 경우

MaxNeighborDistance

10 - 8.5

작은 클러스터, 대부분의 장면에 적합합니다.

8.5 - 5.5

밀집된 클러스터

5.5 - 2

일반적으로 반사에 의해 발생하는 매우 조밀한 클러스터 제거에 적합합니다.

MinArea

< 50

Outlier Filter가 제거하지 못한 클러스터의 경우

50 - 400

일반적인 크기의 클러스터의 경우

> 400

일반적으로 반사로 인해 발생하는 고스트 평면 제거용

floating 클러스터 제거

Noise FilterOutlier Filter 는 거의 항상 사용되는 기본 제거 필터입니다. Reflection Filter (특히 Local 모드) 와 함께 이러한 필터를 사용하면 좋은 포인트를 제거하지 않으면서 모든 Floating 포인트와 클러스터를 제거하지 못할 수 있습니다. 이는 일반적으로 까다로운 장면에서 발생합니다. 클러스터 필터는 장면의 나머지 부분에서 양호한 데이터를 제거하지 않고 나머지 잘못된 점을 제거할 수 있습니다.

Complementing the Outlier Filter

다음 이미지에서 클러스터 필터가 꺼져 있고 크기와 밀도가 다른 floating 포인트들의 예를 확인 할 수 있습니다.

이러한 아티팩트를 보여주기 위해 제거 필터 없이 캡처한 floating 포인트 및 클러스터가 있는 포인트 클라우드의 예입니다.

왼쪽 아래 이미지에서 Outlier 필터가 가장 엄격할 때 좋은 점을 제거하는 동안 일부 floating 포인트를 유지하면서 동작하는 것을 볼 수 있습니다. 오른쪽 하단 이미지에서 클러스터 필터(이 경우 기본값 사용)가 좋은 점을 그대로 유지하면서 이러한 floating 포인트를 제거하는 방법을 볼 수 있습니다.

Strict Outlier 필터 설정(1mm로 설정된 임계값) 클러스터 필터 꺼짐 - 클러스터가 제거되지 않음

클러스터 필터(기본값 포함) - 클러스터가 제거됨

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 포인트들이 클러스터 필터(이 경우 기본값 사용)를 사용하여 제거되었음을 볼 수 있습니다.

Local 모드 반사 필터 및 클러스터 필터가 꺼짐 - 클러스터가 제거되지 않음

Local 모드 반사 필터 및 클러스터 필터(기본값) - 클러스터가 제거됨

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

Enabled

no

추론된 데이터를 수락하지 않거나 추가 처리 시간을 감당할 수 없는 경우.

yes

알고리즘에 더 높은 포인트 클라우드 밀도가 필요하고 현재 드문 포인트 클라우드에 문제가 있는 경우.

HoleSize

0.01

가장 작은 구멍만 채우기(빠름)

0.2

(Default) Fill holes with an approximate diameter of ~8 mm at 1000 mm distance [1]

0.7

Fill large holes with an approximate diameter of ~25 mm at 1000 mm distance [1] (slow)

Strictness

1

원형 이웃에 유효한 점이 거의 없는 경우에도 구멍 채우기

4

원형 이웃에서 유효한 점으로 둘러싸인 구멍만 채웁니다.

소비재로 가득 찬 상자가 있는 다음 장면을 고려하십시오.

소비재가 담긴 빈

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 disabled

Hole Repair filter disabled

Hole Repair filter 0.2 (default)

Hole Repair filter 0.2 (default)

Hole Repair filter 0.2 (default)

Hole Repair filter 0.7 (strong)

Hole Repair filter 0.7 (strong)

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

Enabled

no

SNR 값에 관계없이 모든 포인트를 유지하려는 경우(드물게)

yes

SNR 값이 낮은 포인트를 필터링하여 포인트 클라우드의 품질을 제어하려는 경우(보통)

Threshold

1

표면 커버리지를 최대화하고 싶지만 여전히 신뢰도가 낮은 일부 포인트를 필터링하는 경우(예: Parcel Picking)

2-6

예를 들어 제조(Bin Picking) 및 E-commerce(Piece Picking)와 같은 대부분의 어플리케이션에서 괜찮은 품질 포인트만 유지하려는 경우. 더 낮은 임계값(2-3)을 사용하여 어두운 부분, 강한 주변 조명 및 먼 거리와 같은 장면에서 포인트를 얻습니다.

7+

품질검사 등 신뢰도 높은 포인트만 남기고 싶은 경우

힌트

3의 SNR 임계값은 폐기된 포인트와 노이즈 사이에 좋은 절충안을 제공합니다.

참고

Noise Removal (SNR) 필터는 처리 시간을 거의 추가하지 않습니다.

SNR 값에 대한 자세한 내용은 SNR Value 을 참조하십시오.

Repair

이 필터는 노이즈 포인트로 인해 누락된 데이터 영역을 복구합니다.

Value

Condition

Enabled::no

높은 신뢰도를 얻기 위해 포인트 클라우드의 모든 포인트가 필요한 경우.

Enabled::yes

표면 적용 범위를 최대화하려는 경우.

참고

Noise Repair는 추가 처리 시간을 추가합니다. Noise Repair 및 Noise Suppression를 활성화하면 둘 중 하나만 활성화하는 것과 동일한 처리 시간이 추가됩니다.

Suppression

이 필터는 포인트 클라우드에서 노이즈와 outliers을 줄입니다.

Value

Condition

Enabled::no

매우 미세한 디테일을 구별해야 하므로 스무딩 효과를 피해야 하는 경우.

Enabled::yes

포인트 클라우드에서 노이즈 및 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

다음 조건 중 하나에서 카메라를 사용하는 경우 고려할 수 있습니다.

  • 이미지의 초점이 매우 흐릴 경우(ZividStudio의 2D 이미지 참조)

  • 물체가 매우 어두울 경우

  • 주변광이 프로젝터에 비해 강할 경우

  • 장면이 멀리 있을 경우 (>2m).

OFF

극도의 노이즈가 있지만 가능한 모든 포인트를 원하는 경우 필터를 끌 수 있습니다. 이것은 매우 어두운 장면, 아주 멀리(>2m) 또는 실외에 이미지에 해당합니다.

참고

Outlier 필터의 단위는 mm 입니다.

참고

Outlier 필터는 추가 처리 시간을 거의 추가하지 않습니다.

Reflection filter

반사 필터는 Zivid가 반사의 영향을 받아 잘못된 것으로 간주하는 포인트를 제거합니다. 이들은 일반적으로 포인트 클라우드에서 “ghost planes” 으로 표시됩니다. 즉, 거기에 있어서는 안 되는 공중에 떠 있는 포인트의 작은 영역입니다.

참고

반사 필터를 활성화하면 획득당 특정 처리 시간이 추가됩니다. 아래를 참조하십시오.

다음 값을 사용해야 합니다.

Value

Condition

Enabled::no

장면이 반사되지 않는다는 것을 알고 있고 획득 시간을 최적화하려는 경우.

Enabled::yes

반사성이 있는 부품 또는 반사성이이 있는 용기 내부의 부품을 감지하는 데 문제가 있는 경우 켜십시오.

반사 필터 비활성화 및 활성화
반사 필터에는 Global(기본값) 및 Local의 두 가지 모드가 있습니다.

Mode

장점

Mode::local

  • 고스트 플레인 및 하이라이트와 같은 반사 아티팩트 제거(아래 이미지 참조)

  • 얇고 뾰족한 물체에 대한 3D 데이터 보존(아래 이미지 참조 또는 자세한 내용은 How to preserve Thin and Pointy Objects in the Point Cloud )

  • 처리 시간 (최대 3배 빠름, 아래 글로벌 처리 시간 참조)

Mode::global

  • 포인트 클라우드에서 분리된 점 제거(아래 이미지 참조)

  • 개체의 가장자리 유지

반사 필터 비활성화됨(ghost plane)

반사 필터 활성화됨 - Global 모드(더 작은 ghost plane)

반사 필터 활성화됨 - Local 모드(ghost plane 없음)

Reflection Filter disabled (ghost plane)

Reflection Filter enabled - Global mode (smaller ghost plane)

Reflection Filter enabled - Local mode (no ghost plane)

반사 필터 - Global 모드(얇은 개체에 대한 데이터 없음)

반사 필터 - Local 모드(얇은 개체에 데이터 보존)

Reflection Filter - Global mode (no data on thin objects)

Reflection Filter - Local mode (data preserved on thin objects)

반사 필터 - Global 모드(뾰족한 개체에 대한 데이터 없음)

반사 필터 - Local 모드(포인트 개체에 데이터 보존)

Reflection Filter - Global mode (no data on pointy objects)

Reflection Filter - Local mode (data preserved on pointy objects)

반사 필터 - Global 모드(less outliers)

반사 필터 - Local 모드(more outliers)

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

fig_gaussian_off_boxes

fig_gaussian_off_edge

Gaussian filter with sigma=1.5

fig_gaussian_low_boxes

fig_gaussian_low_edge

Gaussian filter with sigma=4.0

fig_gaussian_high_boxes

fig_gaussian_high_edge

가우스 필터는 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에 도입된 새로운 동작을 기반으로 가우시안 섹션을 업데이트했습니다.