Mech-Eye SDK 2.1.0 업데이트 설명¶
이 부분에서는 Mech-Eye SDK 2.1.0 버전에 추가된 기능, 최적화된 기능 및 복구된 문제에 대해 소개하겠습니다. 이 버전의 주요 변경 사항은 다음과 같습니다.
포인트 클라우드의 효과 향상: 포인트 클라우드 후처리 파라미터가 완전히 최적화되었습니다. 포인트 클라우드는 가장자리 정보를 보류하면서 이상치와 노이즈를 효과적으로 제거할 수 있으며 포인트 클라우드의 효과가 향상됩니다.
다양해진 인터페이스 기능:
GenlCam 인터페이스와 Mech-Eye API는 핸드-아이 캘리브레이션 파라미터를 새로 추가하고 핸드-아이 캘리브레이션을 직접 수행할 수 있는 관련 예제 프로그램을 제공했습니다.
GenlCam 인터페이스는 multi-part payload type과 관련된 파라미터를 추가하고 텍스처 포인트 클라우드 및 Z값(깊이 정보)만 포함된 뎁스 맵을 쉽게 획득할 수 있는 해당 예제 프로그램을 제공했습니다.
새로운 펌웨어 업그레이드 도구로 Mech-Eye Viewer 없이 카메라 펌웨어를 업그레이드할 수 있습니다.
이미지 캡처 속도 향상: 메모리 사용을 최적화하고 해상도 선택 기능을 추가하여 카메라 캡처 속도를 개선하고 높은 사이클 타임 요구 사항이 있는 응용 시나리오에 더 잘 적응합니다.
기능 추가¶
GenICam¶
핸드-아이 캘리브레이션 파라미터 및 예제 프로그램 추가
GenICam에 핸드-아이 캘리브레이션과 관련된 파라미터가 새로 추가되며 HALCON 예제 프로그램 도 제공됩니다. 이 예제 프로그램을 통해 핸드-아이 캘리브레이션을 수행하고 외부 파라미터를 획득할 수 있으며 카메라가 포인트 클라우드를 출력하는 좌표계를 전환할 수 있습니다.
multi-part payload type 관련 파라미터 및 예제 프로그램 추가
AreaScan3D 모드에서 multi-part payload type 데이터를 획득할 수 있는 GenICam 파라미터가 새로 추가되며 Range 및 Intensity 두 채널을 지원합니다.
위 파라미터를 응용하는 HALCON 예제 프로그램을 새로 추가했습니다.
obtain_textured_point_cloud 예제 프로그램: Range 및 Intensity 두 채널의 데이터를 통해 텍스처 포인트 클라우드를 생성합니다.
obtain_depth_map 예제 프로그램: Range 채널을 통해 물체의 Z값(깊이 정보)만 포함되는 뎁스 맵을 획득하며 HALCON의 데이터 전송 속도를 가속화하고 효율성을 향상시킵니다.
카메라 IP 주소 설정과 관련된 파라미터 및 예제 프로그램 추가
GenICam 인터페이스에 카메라 현재 IP 주소를 획득하는 파라미터가 새로 추가되며 카메라 IP 주소를 획득하고 수정할 수 있는 HALCON 예제 프로그램 도 함께 제공됩니다. GenICam 클라이언트를 사용하여 직접 카메라 IP 주소를 획득하고 수정할 수 있으며 이 예제 프로그램을 통해 카메라의 현재 IP 주소, 서브넷 마스크와 게이트웨이를 획득하고 수정할 수 있습니다.
카메라 내부 파라미터와 온도의 읽기 전용 파라미터 추가
내부 파라미터가 새로 추가되며 GenICam 클라이언트를 사용하면 카메라 내부 파라미터를 직접 읽어낼 수 있습니다.
Scan3dFocalLengthX
Scan3dFocalLengthY
Scan3dPrincipalPointU
Scan3dPrincipalPointV
GenICam 클라이언트를 통해 카메라의 CPU와 프로젝터의 온도를 직접 읽어낼 수 있는 파라미터가 추가되었습니다.
DeviceTemperatureSelector : MainBoard (CPU) 및 Sensor (프로젝터) 두 가지 옵션을 포함하여 온도를 읽어내야 하는 카메라 구성 요소를 선택합니다.
DeviceTemperature : 이 파라미터는 선택한 카메라 구성 요소의 온도를 표시합니다.
Mech-Eye API¶
핸드-아이 캘리브레이션 메소드 및 루틴 추가(C++ 전용)
핸드-아이 캘리브레이션에 사용되는 C++ 메소드와 관련 예제 프로그램을 통해 핸드-아이 캘리브레이션을 수행하고 외부 파라미터를 획득할 수 있습니다.
펌웨어 업그레이드 도구 추가
펌웨어 업그레이드 도구 를 새로 추가하며 Ubuntu 시스템에서도 카메라 펌웨어를 업그레이드할 수 있습니다.
온도를 획득하는 메소드 추가
C++:
ErrorStatus MechEyeDevice::getDeviceTemperature(DeviceTemperature &)
C#:
ErrorStatus MechEyeDevice.GetDeviceTemperature(ref mmind.apiSharp.DeviceTemperature temperature)
Python:
Device.get_device_temperature(self)
Mech-Eye Viewer¶
LSR(V4) 및 DEEP(V4) 시리즈 카메라가 두 가지 2D 맵을 표시할 수 있음
LSR(V4) 및 DEEP(V4) 시리즈 카메라는 Mech-Eye Viewer와 연결된 후 카메라 뷰어 화면에서 2D 맵(텍스처) 또는 2D 맵(뎁스 소스) 을 선택하여 표시할 수 있습니다. 그중에 2D 맵(텍스처)은 포인트 클라우드 텍스처링에 사용되며 2D 맵(뎁스 소스)은 주로 핸드 -아이 캘리브레이션, 내부 파라미터 검사 및 ROI 설정에 사용됩니다. 2D 맵 유형을 전환하여 다른 이미지의 노출을 조정할 수 있습니다.
관련 2D 파라미터 의 명칭이 아래와 같이 수정되었습니다.
원래 명칭
수정 후 명칭
컬러 카메라 노출 모드
2D 맵(텍스처) 노출 모드
흑백 카메라 노출 모드
2D 맵(뎁스 소스) 노출 모드
흑백 카메라 노출 시간
2D 맵(뎁스 소스) 노출 시간
MTU 기능 추가
카메라 웹 서비스 설정 창에서 MTU 설정 기능이 새로 추가되며 관리자 모드를 먼저 선택해야 이 기능을 사용할 수 있습니다. 또한 카메라 펌웨어 버전을 2.1.0으로 업그레이드하면 카메라의 기본 MTU 값이 1500으로 변경됩니다.
참고
Mech-Eye Viewer의 MTU(최대 전송 단위) 값은 IPC의 점보 프레임 값과 일치해야 합니다.
DEEP(V4) 시리즈 카메라에 뎁스 맵의 해상도를 선택하는 기능 추가
DEEP(V4) 시리즈 카메라로 캡처한 뎁스 맵은 2048 × 1536 또는 1024 × 768 두 가지 해상도를 선택할 수 있습니다. 낮은 해상도를 사용하면 카메라의 이미지 캡처 속도를 높일 수 있으며(약 35%) 사이클 타임에 대한 요구 사항이 높은 응용 시나리오에 더 적합합니다.
관리자 모드에서
를 선택하여 뎁스 맵 아래에서 해상도를 전환하십시오.출하 시 내부 파라미터로 리셋하는 기능 추가
내부 파라미터 도구 에 출하 시 내부 파라미터로 리셋하기 기능이 추가되며 이 기능을 사용하려면 관리자 모드를 우선 선택해야 합니다.
기능 최적화¶
포인트 클라우드 후처리 파라미터 최적화¶
포인트 클라우드 후처리 파라미터는 2개에서 4개로 완전히 최적화되었으며 포인트 클라우드 평활화 및 불필요한 포인트 제거 기능의 효과가 향상되었습니다.
포인트 클라우드 평활화 기능은 표면 평활화 로 업데이트되며 알고리즘이 최적화됩니다. 동일한 강도를 사용할 때 더 나은 효과를 얻을 수 있습니다.
노이즈 제거 기능은 이상치 제거 및 노이즈 제거 기능으로 수정되었습니다. 유효하지 않은 포인트 클라우드를 이상치와 노이즈로 분할하여 제거할 때 더 표적화됩니다. 또한 알고리즘이 최적화되며 동일한 강도를 사용할 때 더 나은 제거 효과를 얻을 수 있습니다.
에지 선명도 유지 기능이 새로 추가되며 물체의 유형에 따라 에지 선명도 유지 모드를 선택할 수 있어 실제 물체의 가장자리를 더 잘 보존합니다.
원래 파라미터와 유사한 사후 처리 효과를 얻으려면 다음과 같이 새 파라미터를 조정하십시오.
원래 포인트 클라우드 평활화 의 강도를 Normal 로 설정한 경우 표면 평활화 의 강도를 Weak 로 설정하십시오.
원래 노이즈 제거 의 강도를 Normal 로 설정한 경우 이상치 제거 의 강도를 Weak 로 설정하십시오.
카메라의 이미지 캡처 속도 최적화¶
카메라의 펌웨어 버전을 2.1.0으로 업그레이드한 후 카메라의 이미지 캡처 속도가 어느 정도 향상되었습니다.
Mech-Eye API C++를 사용하여 뎁스 맵을 캡처할 때 최소 카메라 캡처 속도는 약 2% 높이고 최대 캡처 속도는 20% 이상 높입니다.
Mech-Vision을 사용하여 뎁스 맵을 캡처할 때 최소 캡처 속도는 약 5% 높이고 최대 캡처 속도는 20% 이상 높입니다.
참고
V4 레이저 카메라에는 컬러 맵 왜곡 제거 기능이 추가되어 컬러 이미지 획득 속도가 감소합니다.
Mech-Eye Viewer¶
뎁스 맵 저장을 위한 기본 포맷 변경
뎁스 맵을 저장할 때 기본적인 저장 포맷 .tiff 에서 .png 포맷으로 수정하여 사용성을 최적화했습니다.
내부 파라미터 도구 최적화
내부 파라미터 도구 의 화면을 최적화하여 사용성을 개선하기 위해 프롬프트 정보를 추가했습니다.
정밀도에 대한 요구 사항이 높은 프로젝트를 위해 고정밀 모드를 추가했습니다. 이 모드를 사용하려면 관리자 모드를 우선 선택하십시오.
파라미터 설명 화면 최적화
파라미터 설명 영역에서 닫기 버튼을 클릭하면 파라미터가 가려지는 것을 방지하고 사용성을 개선하기 위해 더 이상 파라미터 설명 화면이 표시되지 않습니다.
파라미터 설명 영역을 다시 표시하려면 "뷰" 메뉴에서 파라미터 설명 옵션을 선택하십시오.
FOV 계산기 기능 최적화
사용성을 개선하기 위해 FOV 계산기 도구의 인터페이스를 최적화했습니다.
카메라를 더 쉽게 찾을 수 있도록 카메라 모델 드롭다운 메뉴를 최적화했습니다.
LSR S(V4) 카메라 모델 추가
LSR L(V4) 컬러 카메라의 픽셀 비닝 기능을 카메라 컨트롤러 로 옮기고 컬러 맵 해상도 설정 기능으로 변경했습니다.
DEEP(V4) 시리즈 카메라의 게인 기본값이 0 에서 5 로 업데이트되었습니다.
레이저 카메라의 레이저 강도 값 범위가 20~100% 에서 50~100% 로 업데이트되었습니다.
Mech-Eye API¶
포인트 클라우드 후처리 파라미터는 2개에서 4개로 완전히 최적화되었습니다. 해당 Mech-Eye API 메소드는 다음과 같이 업데이트되었습니다.
C++:
표면 평활화 :
ErrorStatus MechEyeDevice::setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing) ErrorStatus MechEyeDevice::getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &)
노이즈 제거 :
ErrorStatus MechEyeDevice::setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval) ErrorStatus MechEyeDevice::getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &)
이상치 제거 :
ErrorStatus MechEyeDevice::setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval) ErrorStatus MechEyeDevice::getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &)
에지 선명도 유지 :
ErrorStatus MechEyeDevice::setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation) ErrorStatus MechEyeDevice::getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &)
C#:
표면 평활화 :
ErrorStatus MechEyeDevice.SetCloudSurfaceSmoothingMode(mmind.apiSharp.PointCloudSurfaceSmoothing mode) ErrorStatus MechEyeDevice.GetCloudSurfaceSmoothingMode(ref mmind.apiSharp.PointCloudSurfaceSmoothing mode)
노이즈 제거 :
ErrorStatus MechEyeDevice.SetCloudNoiseRemovalMode(mmind.apiSharp.PointCloudNoiseRemoval mode) ErrorStatus MechEyeDevice.GetCloudNoiseRemovalMode(ref mmind.apiSharp.PointCloudNoiseRemoval mode)
이상치 제거 :
ErrorStatus MechEyeDevice.SetCloudOutlierRemovalMode(mmind.apiSharp.PointCloudOutlierRemoval mode) ErrorStatus MechEyeDevice.GetCloudOutlierRemovalMode(ref mmind.apiSharp.PointCloudOutlierRemoval mode)
에지 선명도 유지 :
ErrorStatus MechEyeDevice.SetCloudEdgePreservationMode(mmind.apiSharp.PointCloudEdgePreservation mode) ErrorStatus MechEyeDevice.GetCloudEdgePreservationMode(ref mmind.apiSharp.PointCloudEdgePreservation mode)
Python:
표면 평활화 :
Device.set_cloud_surface_smoothing_mode(self, info) Device.get_cloud_surface_smoothing_mode(self)
노이즈 제거 :
Device.set_cloud_noise_removal_mode(self, info) Device.get_cloud_noise_removal_mode(self)
이상치 제거 :
Device.set_cloud_outlier_removal_mode(self, info) Device.get_cloud_outlier_removal_mode(self)
에지 선명도 유지 :
Device.set_cloud_edge_preservation_mode(self, info) Device.get_cloud_edge_preservation_mode(self)
문제 복구¶
Mech-Eye SDK 2.1.0 버전에서 다음과 같은 문제를 복구했습니다.
레이저 카메라를 사용할 때, 노출 횟수가 3으로, 레이저 투영 분할 영역 수 파라미터의 값이 3 또는 4인 경우, 카메라 메모리 부족으로 인해 가끔 발생하는 카메라 연결이 끊기는 문제를 복구했습니다.
Laser L(V3) 및 Laser L Enhanced(V3) 카메라는 레이저 투영 분할 영역 수 를 설정하고 노출 시간이 20ms 미만일 때 깊이 데이터가 비정상적인 문제를 복구했습니다.
파라미터 그룹을 전환할 때 가끔 발생하는 ROI 설정이 실패하는 문제를 복구했습니다.
LSR(V4) 및 DEEP(V4) 시리즈 카메라의 노출 모드 가 Auto 또는 HDR 인 경우 흑백 카메라 노출 모드 의 Flash 파라미터가 사용되지 못하는 문제를 복구했습니다.
라우터를 사용하여 카메라에 연결할 때 카메라의 MTU 값이 너무 커서 가끔 카메라가 제대로 작동하지 않는 문제를 복구했습니다.
카메라 메모리가 부족하면 가끔 프레임 드롭이 발생하는 문제를 복구했습니다.
PRO(V4), LSR(V4) 및 DEEP(V4) 시리즈 카메라에서 저전력 소비 모드를 활성화하면 가끔 발생하는 카메라 프레임 드롭 문제를 복구했습니다.
여러 대의 카메라가 동일한 IP 주소를 가진 경우 한 카메라의 IP 주소가 변경되면 나머지 카메라의 IP 주소도 동시에 변경되는 문제를 복구했습니다.
단안 카메라의 2D 맵 왜곡 제거 기능으로 인한 이미지 캡처 속도가 느려지는 문제를 복구했습니다.