기술 포털

기술 포털

eCapture Pro를 사용한 Zero Copy GigE Vision, GPUDirect 및 GPU 플러그인

gpu 다이렉트 및 fpga 카드 ecapture 1@3x를 사용한 고속 gigevision 멀티 카메라 실제 사례
비전 중국 심천 2023 중국 이미지 7

eSDK 및 eCapture Pro

당사의 eSDK 완벽한 맞춤형 애플리케이션 유연성을 위한 낮은 수준의 소프트웨어 프로그래머 옵션입니다. 효율적인 프레임 잡기, PTP 동기화, GPU다이렉트, 멀티캐스트, IO 트리거링 등이 있습니다.

당사의 eCapture Pro 소프트웨어 시스템 배포, 신속한 프로토타이핑에 초점을 맞춘 애플리케이션 기반이며 맞춤형 GPU 및 FPGA 카드 처리를 위한 옵션이 포함되어 있습니다. 이미지를 처리 ​​리소스로 가져오는 것과 관련된 모든 어려운 작업을 최고의 성능으로 처리합니다. 애플리케이션 코드에 집중합니다.

다음 데모에서 eCapture Pro의 실제 작동 모습을 살펴보겠습니다. 보는 것은 믿는 것입니다.

극성을 생기게하기

첫 번째 데모에는 다음을 사용하는 단일 카메라가 있습니다. GPU다이렉트 NVIDIA RTXA6000 GPU로. 우리는 편광 GPU에 플러그인이 로드되었습니다. 플러그인 매개변수를 사용하여 먼저 IMX253 편광 센서 기반의 일반 보기를 선택합니다. 10GigE 카메라. 그런 다음 편광 방향 플러그인 옵션을 선택합니다. 색상은 편광 각도를 측정한 것입니다. 그런 다음 반사된 빛이 더 편광되었을 때 더 밝은 영역을 볼 수 있게 해주는 편광도 플러그인 옵션을 선택합니다.

다른 주제를 보면 먼저 일반 보기를 선택합니다. 앞유리와 후드에 강한 반사가 나타나는 것을 확인하세요. 이제 편광 제거 플러그인 옵션을 사용하여 앞유리와 후드 모두의 가시성을 향상시킬 수 있습니다. 편광 정도 플러그인 옵션을 사용하면 앞유리와 후드의 더 밝은 영역을 볼 수 있는데, 이는 이러한 영역에서 강한 편광을 나타내는 것이므로 편광 제거에 적합한 후보 영역입니다. 이 주제의 양극화 방향을 살펴보겠습니다.

마지막으로 표면 결함이 거의 구별되지 않는 렌즈 캡을 살펴보겠습니다. 편광도 플러그인 옵션을 사용하면 이 결함을 더욱 명확하게 볼 수 있습니다.

맞춤형 플러그인

플러그인 코드만 작성하면서 무복사, 무손실, GPUDirect 기능을 최대한 활용하여 eCapture Pro 내에서 사용할 고유한 사용자 정의 플러그인을 생성하는 방법을 살펴보겠습니다. 먼저 NVIDIA GPU용 cuda 기반 코드를 작성합니다. eCapture Pro를 사용하면 방금 목격한 극성 플러그인과 같은 여러 가지 작업 예제를 제공합니다. 그런 다음 나중에 eCapture 내에서 로드할 플러그인 DLL을 생성하는 코드를 컴파일합니다. 이제 플러그인 DLL을 로드합니다. 그런 다음 선택한 GPU에서 이 플러그인을 인스턴스화하고 초기 보기를 위한 플러그인 옵션을 설정합니다. 원하는 카메라를 이 GPU에 연결한 후 플러그인을 실행하여 결과 출력을 확인합니다.

추론 플러그인

다음 예는 매우 일반적인 목적의 OTS 추론 탐지 플러그인을 보여줍니다. 플러그인을로드합니다. 원하는 GPU에서 플러그인을 인스턴스화합니다. 카메라를 이 GPU에 연결합니다. 마지막으로 플러그인을 실행하고 플러그인이 장면의 컵을 감지하고 분류하는 것을 관찰하여 물체가 움직일 때 이를 추적한다는 점을 확인합니다.

패턴 일치 플러그인

다음 예는 매우 일반적인 용도의 패턴 일치 플러그인을 보여줍니다. 패턴 템플릿이 미리 생성되어 있습니다. 이전과 마찬가지로 플러그인을 로드합니다. 원하는 GPU에서 플러그인을 인스턴스화합니다. 패턴 템플릿의 경로를 지정합니다. 카메라를 이 GPU에 연결합니다. 마지막으로 플러그인을 실행하여 움직이는 회로 기판에서 패턴이 어떻게 추적되는지 확인합니다.

플러그인 라우팅의 유연성

이제 eCapture Pro에서 21의 처리 분포를 재배열하는 것이 얼마나 쉬운지 보여드리겠습니다. 10GigE 카메라 매우 간단한 밝기 플러그인을 사용하여 3개의 RTXA4000 GPU를 사용합니다. 먼저 21개의 카메라 출력을 모두 GPU 1로 지정합니다. 그런 다음 플러그인을 실행합니다. 여기서는 1us 동기화 정확도를 위해 PTP를 사용하고 있습니다. 다음으로 GPUDirect를 지원하지 않는 환경이나 GPU를 쉽게 지원할 수 있는 방법을 설명하기 위해 간단한 클릭만으로 GPUDirect를 비활성화합니다. 우리는 시스템 메모리에서 GPU로 이미지를 이동하기 위해 고성능 복사를 수행합니다.

이전 테스트를 반복하지만 이번에는 균형 잡힌 처리 분배를 위해 각 GPU에 7개의 카메라 출력을 보냅니다.

다시 한번 GPUDirect 없이 이를 구성하는 방법을 보여줍니다. GPUDirect가 없으면 고성능 메모리 전송에 관계없이 시스템 메모리 대역폭을 2배로 활용하므로 확실히 GPUDirect가 선호됩니다.

H.265/RTMP 플러그인

이제 카메라 수가 많은 시스템을 살펴보고 이 플러그인 기능이 놀라울 정도로 사용하기 쉬운 시스템에서 어떻게 활용될 수 있는지 살펴보겠습니다.

단일 중급 서버에서 실행되는 24개의 카메라 기반 시스템으로 시작하여 먼저 이를 48개의 카메라로 확장합니다. 동일한 48 포트 스위치를 통해 연결된 카메라를 사용하여 시스템에 두 개의 추가 네트워크 포트를 추가합니다. 그런 다음 추가 워크로드를 처리하기 위해 다른 GPU를 추가합니다.

데이터 흐름 보기에서는 H.265 압축 플러그인을 로드하고 인스턴스화했습니다. 이 단일 서버에 여러 개의 GPU가 있고 다른 24개의 카메라를 두 번째 GPU로 연결해야 한다는 점에 유의하세요. 모든 카메라 이미지가 압축되어 단일 로컬 m.2 드라이브에 저장되는 동안 YouTube와 같은 RTMP 클라이언트로 스트리밍하도록 카메라 한 대를 구성했습니다.

마지막으로 h265 파일을 mp4로 변환하여 재생할 수 있습니다.

SSD 녹화 플러그인

비슷한 방식으로 eCapture와 체적 캡처 애플리케이션에 적용 가능한 플러그인을 사용하는 대규모 카메라 수의 시스템이 많이 있습니다.

이 특정 시스템은 모든 이미지를 SSD에 저장하는 48 x 25GigE 25MP 60fps 설계입니다. 여기에서는 48 포트 스위치를 통해 모든 카메라가 NIC에 연결되는 방법을 보여줍니다.

데이터 흐름 보기에서는 카메라를 특정 SSD로 라우팅하는 방법을 보여줍니다. 한 카메라의 매개변수를 편집한 다음 시스템의 다른 모든 카메라에 설정을 브로드캐스트할 수 있습니다. 그런 다음 1us 정확도의 PTP 동기화 모드를 사용하여 간단한 테스트 녹음을 시작합니다.

녹화하는 동안 시스템 탭을 확인하여 프레임 삭제, PTP 동기화 손실, 드라이브 가득 참 이벤트로 인한 저장 누락 등 녹화 중 문제가 없음을 보여줍니다. 녹음이 완료되면 프로젝트 요약을 검토할 수 있습니다.

질문 게시판

1. 표시된 데모에 대한 GPU 플러그인 소스 코드는 무료입니까?

물론 최대 2대의 카메라를 위한 eCapture Pro도 포함되어 있으며 무료입니다. 이러한 예 중 하나를 선택하여 신속하게 자신만의 프로토타입을 만들 수 있습니다.

2. GPUDirect 및 제로 복사를 지원하는 GPU는 무엇입니까?

예를 들어 RTXA6000, A5000, A4000, RTX6000 ADA 등이 있습니다.

3. GPUDirect를 지원하지 않는 GPU에서 플러그인을 사용할 수 있나요?

물론, 프레임이 수신되면 시스템 메모리에서 GPU로 고성능 복사를 수행하는 옵션이 있습니다. 이는 2배의 메모리 대역폭에 해당하며 전체 카메라 시스템 처리량에 따라 대부분의 시스템에서 사용할 수 있습니다.

4. AI/추론/딥 러닝 계산이 고성능 다중 카메라 단일 서버 애플리케이션을 따라갈 수 있습니까?

물론, 우리는 이를 설명하기 위해 최적으로 훈련된 모델을 연구하고 있지만 GPUDirect를 사용하여 이러한 추론 모델을 실행하는 단일 서버에서 이미 10개가 넘는 10GigE 카메라를 실행하는 고객이 있다는 점에 주목합니다.

5. 귀하의 기술은 스포츠 및 가상 현실 애플리케이션에 더 중점을 두고 있습니까?

절대적으로하지. 우리가 개발하는 기술은 이 프리젠테이션에서 보여주듯이 머신 비전 및 기타 애플리케이션에도 적용 가능합니다. 우리 시장의 50% 이상이 머신 비전 애플리케이션에 있습니다.

Emergent는 NVidia의 파트너이며 2015년부터 NVidia 및 Mellanox 기술을 사용해 왔습니다.

응급 비전 기술 정보

로고 응급 비전 기술 300x110

다음은 Emergent의 모든 내용을 요약한 것입니다.

  • 혁신과 고속 개척에 대한 10개 이상의 상 GigE 비전 이미징 운동
  • 10년 이상 배송 10GigE 140개 이상의 모델이 있는 카메라
  • 5년 이상 배송 25GigE 55개 이상의 모델이 있는 카메라
  • 2년 이상 배송 100GigE 16개 이상의 모델이 있는 카메라
  • 카메라 기술 성능 리더
  • 고속 이더넷/GigE Vision에 중점
  • 고속 이미지 데이터 처리 가능에 집중
  • 영역 스캔 and 라인 스캔 모델
  • 다중 스펙트럼 응용 분야를 위한 UV, NIR, Polarized, Color, Mono 모델
  • 완전한 애플리케이션 유연성을 위한 Emergent eSDK
  • 나타나는 eCapture 프로 고도로 포괄적인 소프트웨어 솔루션
  • 고속 이미징 애플리케이션을 위한 가장 포괄적인 범위의 제품 및 지원
  • 모든 속도, 모든 해상도, 모든 케이블 길이
  • 지금 사용 가능합니다!

우리는 고속 GigE Vision 제품에 중점을 두고 여러 상을 수상한 회사입니다.

우리는 수년 동안 다양한 속도의 제품을 배송했습니다. 10GigE ~까지 100GigE.

우리는 엔드투엔드 기술을 제공하고 고객 애플리케이션을 지원하는 데 중점을 두고 있습니다.

대부분의 애플리케이션 요구 사항을 충족할 수 있습니다.

마지막으로, 제시된 제품은 현재 구매 가능합니다.

10GigE Vision 이상 채택

다음은 다양한 속도의 GigE Vision 제품 채택에 대한 간략한 스냅샷입니다. 10GigE ~까지 100GigE. Emergent는 최고의 성능을 달성할 수 있는 방법을 보여주었고 이러한 기술을 사용하여 머신 비전을 포함한 많은 시장을 열었습니다. 일부 회사는 이제 막 25G 및 더 빠른 속도의 제품을 출시하기 위한 우리의 노력을 활용하고 있지만 여전히 비준 및 성능 제품을 출시할 방법은 남아 있습니다.

10GigEVision 이상 채택

그림: Emergent Vision Technologies는 10GigE, 25GigE, 50GigE 및 100GigE 인터페이스를 기반으로 하는 최초의 카메라 제공업체입니다.