Region of Interest
관심 영역(ROI)은 사용자가 정의한 관심 영역 밖의 지점을 제거하여 촬영 시간을 단축할 수 있습니다. ROI는 3D의 상자, 카메라의 z값 범위, 또는 둘 다일 수 있습니다.
ROI는 애플리케이션이 전체 장면이 아닌 시야의 일부만 요구하는 경우에 유용합니다. 예를 들어 빈에서 부품을 감지하려는 경우 감지 알고리즘은 전체 장면이 아닌 빈 내부 로만 검색 공간이 줄어들면 이점을 얻을 수 있습니다.
ROI as a Box
ROI box filtering benefits
ROI 상자 필터링은 다음과 같은 이점 중 하나를 제공합니다.
- 캡처 시간 단축(동일한 포인트 클라우드 품질)
전송, 복사 및 처리할 데이터가 줄어들어 다음 중 하나 또는 둘 다 사용하면 속도가 크게 향상됩니다.
Weak GPU(Intel/Jetson)
Heavy point cloud processing (Omni/Stripe, 5MP 해상도, 다중 획득 HDR)
- 더 나은 포인트 클라우드 품질(동일한 캡처 시간)
다양한 설정을 사용할 수 있습니다. 예:
Phase 대신 Stripe/Omni 엔진 사용
Sampling::Pixel을 사용한 더 높은 해상도
HDR에서 더 많은 인수 추가
- 더 저렴한 GPU (동일한 캡처 시간)
처리할 데이터가 적을수록 처리 속도가 느려질 수 있으며, 예를 들어 다음을 사용할 수 있습니다.
전용 Nvidia 대신 Intel/Jetson
- 더 저렴한 네트워크 카드 (동일한 캡처 시간)
전송할 데이터가 적으면 네트워크가 포화되지 않아 다음과 같은 기능을 사용할 수 있습니다.
2.5G/10G 대신 1G
10G 대신 2.5G
RegionOfInterest::Box 매개변수를 사용하면 ROI를 상자로 사용할 수 있습니다. 세 개의 점 은 상자의 기본 평면을 정의하고 두 개의 범위 는 높이를 정의합니다.
세 점(
Box::PointO,Box::PointA,Box::PointB) 은 3D 카메라 좌표계에 주어지며, 상자의 기준 평면을 정의합니다. 네 번째 점은 기준 평면을 좌표계에 연결하고 사각형을 완성하기 위해 자동으로 찾아집니다. 세 점은 순서대로 두 벡터를 구성합니다.포인트 O는 벡터의 원점입니다.
포인트 A는 원점에서 첫 번째 벡터를 구성합니다.
포인트 B는 원점에서 두 번째 벡터를 구성합니다.
두 개의 범위(
Box::Extents) 는 기본 프레임을 상자 모양으로 돌출시킵니다. 점 O, 점 A, 점 B로 정의된 벡터 OA 와 OB 의 교차곱은 범위의 방향을 나타냅니다. 따라서 음수 범위는 교차곱의 반대 방향으로 돌출됩니다.
ROI 상자 그림: 상자의 바닥 평면을 정의하기 위해 세 개의 포인트(O, A 및 B)이 지정되고 네 번째 점이 자동으로 선택되어 사각형을 완성합니다. 그런 다음 네 개의 포인트으로 정의된 경계 평면을 위쪽(+E2)과 아래쪽(-E1)으로 돌출시켜 상자를 완성할 수 있습니다.
참고
상자의 기본 프레임은 수직 모서리가 있는 직사각형으로 제한되지 않습니다. 따라서 평행사변형을 밑변으로 만들고 평행육면체를 상자로 만드는 것이 가능합니다.
팁
몇가지 팁을 소개합니다. 세 점을 선택할 때 다음 단계를 따라해 보십시오.
임의의 모서리에서 포인트 O를 선택합니다.
포인트 B가 포인트 A에 대해 반시계 방향 위치에 있도록 포인트 A를 선택합니다.
포인트 A에 대해 반시계 방향 위치에서 포인트 B를 선택합니다.
이렇게 하면 익스텐트가 카메라를 향한 양의 방향을 갖게 됩니다.
Performance
ROI 박스 필터링은 촬영 시간을 크게 단축할 수 있습니다. 아래 표에 있는 구성 요소 중 하나 이상을 사용할 경우, 포인트 클라우드 처리 시간 단축이 가장 큰 비중을 차지합니다. 노출 시간이 짧은 경우(약 3000µs 미만) 촬영 시간을 추가로 단축할 수 있습니다.
Time saving |
GPU |
Vision Engine |
Sampling::Pixel |
HDR |
|---|---|---|---|---|
Significant |
Low-end Intel & Jetson |
Omni |
Full resolution |
More acquisitions more saving |
Moderate |
High-end Intel & Jetson |
Stripe |
2x2 subsampled |
|
Minimal |
전용 엔비디아 |
Phase |
4x4 subsampled |
ROI가 작을수록 캡처 시간이 단축됩니다. 픽셀 행 수가 적은 ROI는 픽셀 열 수가 적은 ROI보다 캡처 속도가 약간 더 빠릅니다.
Robot Picking example
다음은 ROI 박스 필터링이 유용한 저사양 PC(Intel Iris Xe 통합 노트북 GPU 및 1G 네트워크 카드)를 사용하여 대규모 포인트 클라우드를 처리하는 예입니다.
고정형 Zivid 2+ MR130 카메라를 장착한 로봇이 600 x 400 x 300mm 크기의 통에서 물건을 집어 올리는 모습을 상상해 보세요. 로봇과의 충분한 간격을 확보하기 위해 카메라는 통 상단에서 1700mm 거리에 설치되어 약 1000 x 800mm의 시야각(FOV)을 제공합니다. 이 거리에 카메라를 설치하면 시야각(FOV)의 상당 부분이 ROI(관심 영역) 밖에 위치하게 되어 각 면에서 픽셀 열/행의 약 20/25%를 잘라낼 수 있습니다. 아래 표에서 볼 수 있듯이 ROI 박스 필터링을 사용하면 캡처 시간을 크게 단축할 수 있습니다.
Zivid 2 -Presets |
Acquisition Time |
Capture Time |
||
|---|---|---|---|---|
No ROI |
ROI |
No ROI |
ROI |
|
Manufacturing Specular |
0.64 s |
0.64 s |
2.1 s |
1.0 s |
Consumer Goods Quality |
0.90 s |
0.88 s |
5.0 s |
3.0 s |
Robot Guidance / Assembly example
다음은 저사양 PC(Nvidia MX 250 노트북 GPU와 1G 네트워크 카드)를 사용하여 대규모 포인트 클라우드를 처리하는 예입니다. 여기서 ROI 상자 필터링이 매우 유용합니다.
로봇 가이드(예: 드릴링, 용접, 접착) 또는 조립(예: 페그인홀)과 같은 일부 응용 분야에서는 ROI가 촬영 거리에서 카메라의 FOV에 비해 매우 작을 수 있습니다. 이러한 경우, ROI가 포인트 클라우드 포인트의 5~10%에 불과한 경우가 많으므로, ROI 박스 필터링(아래 표 참조)을 활용하면 캡처 시간을 크게 단축할 수 있습니다.
Zivid 2 - Presets |
Acquisition Time |
Capture Time |
||
|---|---|---|---|---|
No ROI |
ROI |
No ROI |
ROI |
|
Manufacturing Specular |
0.65 s |
0.63 s |
1.3 s |
0.7 s |
Manufacturing Small Features |
0.70 s |
0.65 s |
5.0 s |
0.8 s |
ROI as a Depth Range
매개변수 RegionOfInterest::Depth 사용하면 ROI를 카메라의 z 값 범위로 사용할 수 있으며, 이때 포인트는 다음 임계값 내에 유지됩니다.
최소 깊이 임계값 (
RegionOfInterest::Depth::minValue)최대 깊이 임계값 (
RegionOfInterest::Depth::maxValue)
이 기능은 장면의 전경이나 배경에 필터링하고 싶은 점이 있을 때 유용합니다. z 값은 카메라 기준 프레임에 주어지므로 카메라에 수직으로 필터링됩니다. 따라서 이 기능은 카메라가 촬영하려는 물체에 수직으로 장착되어 있을 때 가장 효과적입니다.
Performance
Depth 범위로 ROI를 적용해도 캡처 시간은 줄지 않습니다. 후처리 과정에서 적용되므로 캡처 시간이 몇 ms 정도 증가합니다. 하지만 GPU에 직접 적용되므로 타사 구현 방식보다 빠를 가능성이 높습니다.
ROI를 Depth 맵으로 사용하면 3D 캡처당 다음과 같은 처리 시간이 추가됩니다.
어플리케이션에 ROI를 사용하는 방법에 대한 자세한 튜토리얼은 Region of Interest Tutorial 을 확인하십시오.
Version History
SDK |
Changes |
|---|---|
2.12.0 |
ROI 상자 필터링은 캡처 시간을 줄여줍니다. |
2.9.0 |
ROI API가 추가 되었습니다. |