10GigE 머신 비전의 신뢰성 및 경제성 향상 - 멀티 카메라 설정 포함

개요

빠르게 움직이는 검사 라인, 반도체 제조 공장, 지능형 트래픽 시스템, 스포츠 분석 및 볼륨 캡처와 같은 여러 비전 시스템 응용 분야에는 높은 해상도, 높은 FPS 및 데이터 전송이 필요합니다. 더 빠른 프레임 속도와 더 높은 해상도의 머신 비전 카메라를 사용하여 출력을 개선하려는 비전 시스템 엔지니어에게 1GigE에서 10GigE로 업그레이드하는 것은 확실한 옵션입니다. 그러나 AIA(자동화 영상 협회)의 조사에 따르면 채택이 상당히 느렸습니다. 이는 이 업그레이드로 인해 발생하는 세 가지 기술적 문제, 즉 안정성(패킷 끊김), 높은 CPU 사용량 및 높은 지연 시간을 고려할 때 이해할 수 있습니다. 이 기사는 Teledyne FLIR Oryx + Myricom 번들 솔루션이 이러한 문제를 해결하는 방법에 관한 업데이트를 제공합니다.

업데이트 1: 완벽한 성능

10GigE Vision은 GigE Vision 프로토콜에 비해 대역폭이 10배 증가했지만 10GigE 호스트 어댑터 성능은 유지되지 않았습니다. 카메라에서 호스트로 데이터를 전송하면 일반적으로 CPU 과부하가 발생하여 애플리케이션 버퍼 오버플로가 발생하고 까다로운 애플리케이션에는 허용되지 않는 일정 수준의 패킷 손실이 발생합니다.

호스트 어댑터를 사용하여 카드에서 직접 패킷 수신 및 이미지 재구성을 처리하면 CPU가 더 이상 이러한 작업을 관리할 필요가 없습니다. Teledyne FLIR Oryx + Myricom 번들은 이러한 상황을 해결하기 위해 특별히 설계되었습니다. 아래의 테스트 결과에서 언급했듯이 시스템 안정성이 크게 증가할 수 있으며, 결과적으로 패킷 손실을 크게 줄이고 프레임을 떨어뜨릴 수 있습니다.

번들은 Myricom 카드에서 제공하는 데이터 처리를 전담하는 새로운 사용자 지정 SDK 드라이버와 원활하게 작동합니다. 이 조합을 통해 카메라에서 호스트 PC로 영상 데이터가 완벽하고 안정적으로 전송됩니다. 부록: 신뢰성 및 CPU 사용량 테스트에서 아래 검사 결과를 참조하십시오.

Teledyne FLIR Oryx + Myricom 번들의 가격 대 성능 비율은 하드웨어를 별도로 구매하고 통합하는 것에 비해 저렴하고 신뢰성이 높은 설정을 제공하므로 쉽게 선택할 수 있습니다.

업데이트 2: 관리되는 CPU 사용량

이론적으로, CPU는 10GigE 연결에서 수신 데이터를 처리하기 위해 코어 중 하나를 최대 100%까지 할당할 수 있으며, 여러 애플리케이션/카메라를 실행할 때 여러 코어를 사용할 수 있습니다. Myricom 카드를 사용하여 패킷 수신 및 이미지 재구성을 관리하면 각 애플리케이션에 대해 CPU 사용량이 1%까지 낮아지므로 추가 CPU 주기를 이미지 처리에 사용할 수 있습니다. 부록: 신뢰성 및 CPU 사용량 테스트에서 아래 테스트 결과를 참조하십시오.

업데이트 3: 지연 시간 감소

10GigE Vision 프레임 지연 시간은 예측 가능하지 않습니다. 즉, 프레임이 상당한 시간 편차로 도착할 수 있습니다. 특히 스위치의 경우 패킷 손실이 있을 뿐만 아니라 프레임이 반대 순서로 수신되는 경우도 있습니다. Teledyne FLIR Oryx + Myricom 번들은 지연 시간을 줄이고 지터를 줄이기 위해 프레임 완료를 적시에 통지하여 이를 해결합니다.

부록: 신뢰성 및 CPU 사용량 테스트

테스트 1: 고대역폭 7일 스트림

Teledyne FLIR Spinnaker API를 통해 생성된 맞춤형 콘솔 애플리케이션을 사용하여, 8.9MP Teledyne FLIR Oryx 카메라가 이미지를 지속적으로 캡처하고 추가 처리 또는 제3자 리소스 집약적 프로그램이 동시에 실행되지 않고 불완전한 이미지를 추적하도록 설정되었습니다.

검사 결과: 획득된 영상은 약 4천만 개이며, 0개의 불완전한/드롭된 영상이 감지되었습니다.

비고: 7일의 테스트 기간 동안 CPU 사용량이 확인되었으며 1%로 일정하게 유지되는 것으로 확인되었습니다. 새로운 Myricom 드라이버가 비활성화되고 FLIR 표준 필터 드라이버에만 의존하는 경우, 애플리케이션에 사용되는 CPU 코어의 CPU 사용량은 대략 100%를 유지했습니다.

테스트 2: 듀얼 카메라 스트림

이 테스트에는 동일한 사용자 지정 콘솔 애플리케이션에서 실행되는 두 대의 Oryx 카메라(ORX-10G-123S6M 및 ORX-10G-89S6C)가 포함되며, 각 카메라는 24시간 동안 지속적으로 6.7Gb/s의 대역폭으로 이미지를 캡처합니다.

검사 결과: 카메라당 획득된 영상 약 6백만 개, 0개의 불완전한/드롭된 영상이 감지됨

테스트 3: 24시간 CPU 스트레스 테스트

이 테스트에는 테스트 1과 동일한 설정을 가진 단일 Oryx 카메라(ORX-10G-123S6M)가 포함됩니다.

테스트 1에서 사용된 것과 동일한 콘솔 애플리케이션이 사용됩니다. 단, 이 시간에 다른 애플리케이션이 동시에 사용됩니다. 이 사용자 지정 애플리케이션은 높은 워크로드를 시뮬레이션하여 총 CPU 사용률의 약 90%를 차지합니다(8개 코어 모두).

검사 결과: 획득된 영상은 약 6백만 개이며, 0개의 불완전한/드롭된 영상이 감지되었습니다.

테스트 시스템 하드웨어 & 소프트웨어 사양:

3.6GHz에서 i7-9700k | 16GB | Windows 10 1809

Teledyne FLIR Spinnaker 2.1.0.82 및 PgrLwf 2.7.3.397 대 Myricom 지원으로 맞춤형 2.3.0.x 빌드

Oryx ORX-10G-123S6M

Oryx ORX-10G-89S6C

관련 기사