자일링스 Kria SoM을 활용하여 에지에서 머신러닝 추론을 구현하는 방법
인더스트리 4.0을 뒷받침하는 중요한 기술 중 하나는 에지에서 머신러닝 추론을 구현하는 기능입니다. 머신러닝 추론은 애플리케이션의 요구 사항에 따라 텔레메트리를 분석하여 라인 정지 상황을 방지할 수 있도록 예방 정비를 모델링할 수 있습니다. 또는 이러한 애플리케이션은 생산 라인에서 제조 또는 포장된 품목을 검사할 수도 있습니다.
-생산 라인의 품목을 시각적으로 검사하려면 이미지 처리 및 머신러닝 알고리즘을 높은 프레임 속도(초당 30프레임(30fps) 이상)로 실행할 수 있는 고성능 시스템이 필요하고, 상당한 전력도 필요합니다. 자일링스(Xilinx®) Kria™ K26 시스템 온 모듈(SoM) 및 KV260 Vision AI 스타터 키트 같은 제품은 이럴 때 도움이 될 수 있습니다.

[마우저 일렉트로닉스] 자일링스 Kria SoM을 활용하여 에지에서 머신러닝 추론을 구현하는 방법
-
Xilinx® Kria™ SoM 및 Vision AI 스타터 키트
Xilinx® Kria™ K26 SoM및 KV260 Vision AI 스타터 키트를 활용하면 비전 및 AI 알고리즘의 신속한 프로토타이핑이 가능합니다. Kria K26 SoM은 고성능 Arm® 프로세서와 고급 프로그래머블 로직을 결합한 고성능 이기종 시스템을 제공합니다. 이를 통해 개발자는 애플리케이션에 최적화되고 우수한 응답성, 균일성, 전력 효율성을 제공하는 에지 기반 솔루션을 구현할 수 있습니다.
-Kria는 SoM 형태로 제공된다는 점에서 기존 자일링스 제품과 다릅니다. SoM은 IC 외에 필요한 휘발성 및 비휘발성 메모리, 클럭, 전원공급장치를 포함합니다. Kria K26 SoM은 4GB DDR4 메모리, 16GB eMMC, 512Mb QSPI, TPM 보안 모듈, 필요한 전원 인프라와 함께 SoC(XCK26)로 구성됩니다(그림 1). 245개의 분리된 I/O를 지원하는 듀얼 240핀 커넥터를 사용하여 애플리케이션과 쉽게 인터페이스 할 수 있습니다.

그림 1: Xilinx Kria K26 SoM을 사용하면 고성능 Arm® 프로세서 코어와 프로그래머블 로직의 이점을 모두 활용할 수 있습니다. (출처: 마우저 일렉트로닉스)
-
설계 엔지니어가 프로젝트에 착수하여 실행할 수 있도록 자일링스는 Kria KV260 Vision AI 스타터 키트를 제공합니다. Kria KV260 Vision AI 스타터 키트는 다음의 인터페이스를 제공하는 SoM용 캐리어 카드를 포함하고 있습니다:
▶ 3개의 MIPI 인터페이스
▶ USB 3
▶ DMI
▶ 디스플레이 포트
▶ 기가비트 이더넷
▶ Pmod
-이러한 인터페이스를 통해 설계 엔지니어는 복잡한 비전 기반 AI 솔루션을 만들 수 있습니다. 이 솔루션은 MIPI에서부터 USB 카메라, 이더넷 RTSP(실시간 스트리밍 프로토콜), 그리고 기존 HDMI 및 디스플레이포트 싱크에 이르는 다양한 비디오 소스 및 싱크를 지원할 수 있습니다.
이 스타터 키트는 비전 기반 AI 애플리케이션 개발에 착수하기가 얼마나 쉬운지 보여주는 다양한 애플리케이션들과 함께 제공됩니다. 여기에는 얼굴을 감지할 수 있는 스마트 카메라, 다중 스트림 추적 및 식별, 결함 감지, 자연어 처리가 포함됩니다. 구매 즉시 사용 가능한 Kria 아키텍처의 좋은 점 중 하나는 다른 네트워크를 다시 컴파일해서 예제 네트워크를 대체할 수 있다는 것입니다.
-설계 엔지니어는 Vitis™ AI를 사용하여 카페(Caffe), 텐서플로(TensorFlow), 파이토치(Pytorch) 같이 일반적으로 사용되는 AI 개발 프레임워크를 활용할 수 있습니다. Vitis AI는 엣지와 클라우드 모두에서 AI 추론 알고리즘 가속화를 지원합니다. Vitis AI 기술 스택은 일반적으로 사용되는 프레임워크를 지원하며, Kria K26 SoM을 포함하여 자일링스 디바이스 상에서 ML/AI 알고리즘을 개발 및 배포하는 데 필요한 모든 것을 제공합니다.
-Vitis AI 스택의 핵심은 자일링스 DPU(Deep Learning Processor Unit)로, 이는 프로그래머블 로직으로 구현되며 컨볼루션 신경망(CNN) 구현에 최적화되어 있습니다(그림 2). 이는 VGG, ResNet, GoogLeNet, YOLO, SSD, MobileNet, FPN과 같은 네트워크를 구현하는 데 사용할 수 있습니다.

그림 2: Vitis AI Stack 워크플로는 자일링스 DPU에 딥 러닝 추론 애플리케이션을 구현하기 위한 프로세스를 제공합니다. (출처: 자일링스)
프로그래머블 로직의 병렬 특성을 활용하기 위해, DPU는 AI 양자화기를 사용하여 int-8로 양자화된 네트워크를 실행합니다.
일단 DPU 모델이 하드웨어에서 구현되고 네트워크가 Vitis AI를 사용하여 훈련 및 컴파일되면, Vitis를 사용하여 소프트웨어를 개발하고 완전한 최종 솔루션을 생성할 수 있습니다(그림 3).

그림 3: Xilinx Vitis AI 배포 모델(출처: 자일링스)
-
-제조 애플리케이션 활용 사례
이번에는 Xilinx Kria SoM이 제조 애플리케이션에 어떻게 사용될 수 있는지 좀더 자세히 살펴보겠습니다. 제조 애플리케이션을 만드는 데 프로그래머블 로직 설계가 꼭 필요한 것은 아닙니다. 하지만 소프트웨어 개발 능력과 함께, 자일링스 Vitis AI를 사용하여 새로운 머신러닝 모델을 훈련하고 컴파일하는 능력이 필요합니다.
-Kria K26 SoM 및 KV260 Vision 스타터 키트는 제품의 레이블이 배송 상자에 올바르게 부착되었는지 여부를 감지하는 것과 같이 빠른 이미지 처리가 필요한 애플리케이션에 적합합니다. 이 사례에서 설계 엔지니어는 Kria K26 SoM을 사용하여 생산 라인의 패키지를 검사하고 Mobilenet 네트워크를 통해 상자의 레이블 위치를 정확하게 식별합니다. 이 네트워크는 올바른 레이블 위치와 잘못된 레이블 위치를 모두 포함하는 이미지 데이터 세트에서 훈련할 수 있습니다(그림 4와 그림 5).

그림 4: Mobilenet 네트워크를 사용하여 레이블을 올바르게 부착한 예시(출처: 마우저 일렉트로닉스)

그림 5: Mobilenet 네트워크를 사용하여 레이블 위치를 잘못 부착한 예시(출처: 마우저 일렉트로닉스)
-
훈련을 마치면, 이 네트워크를 Linux GStreamer 지원과 함께 Kria K26 SoM에 설치하여 생산 라인의 패키지를 실시간으로 검사할 수 있습니다(그림 6). 설치된 애플리케이션은 레이블 위치가 상자를 감지하면 적절한 응답을 받을 수 있습니다.

그림 6: 올바른 레이블 위치를 정확하게 식별하는 자일링스의 사례(출처: 마우저 일렉트로닉스)
-
생산 라인의 환경은 빠르게 변화합니다. 상품 배송 전에 제조 또는 포장 결함을 감지하는 기능은 배송 및 고객 만족도를 개선하는 데 매우 중요합니다. 자동화 검사 장비는 생산 라인을 지연시키지 않도록 신속한 처리 및 결정이 가능해야 합니다. Xilinx Kria K26 SoM 및 Kria KV260 Vision AI 스타터 키트와 같은 제품이 도움이 될 수 있습니다.
-설계 엔지니어는 Kria KV260 Vision AI 스타터 키트를 사용하여 비전 및 AI 프로토타입 솔루션 개발을 신속히 착수하여 개념 증명을 시연할 수 있습니다. Kria K26 SoM을 사용하면 캐리어 카드와의 인터페이스를 제외하고, 최소한의 변경만으로 컨셉트, 프로토타이핑에서부터 최종 설계 솔루션까지 설계를 이식할 수 있습니다.
-Kria K26 SoM을 사용하면 복잡한 이기종 FPGA, 메모리 및 전력 아키텍처로 임베디드 시스템 솔루션을 생성하는 것과 관련된 개발 비용과 위험을 완화할 수 있습니다. Vitis AI 스택과 즉시 사용 가능한 솔루션을 결합함으로써, Kria K26 SoM은 개발 팀이 프로그래머블 로직 설계 전문가가 되지 않아도, 프로그래머블 로직의 고성능 특성을 활용하여 복잡한 비전과 AI 기반 솔루션을 만들 수 있게 해줍니다.