nnstreamer/nnstreamer
:twisted_rightwards_arrows: Neural Network (NN) Streamer, Stream Processing Paradigm for Neural Network Apps/Devices.
NNStreamer – 신경망 기반 미디어 파이프라인
소개
- 신경망 모을 일반 미디어 필터처럼 취급할 수 있게 해주는 GStreamer 플러그인 모음입니다. 실제로 스트리밍 파이프라인(비디오, 오디오, 센서 데이터 등)을 구축하고 흐름의 어느 곳에나 추론 단계를 삽입할 수 있습니다.
중요한 이유
- GStreamer는 Linux, Android, Tizen, macOS 등에서 멀티미디어 스트림을 처리하는 사실상의 표준 프레임워크입니다. 해당 생태계에 AI 모델을 연결함으로써 개발자는 다음을 얻을 수 있습니다:
- 저지연, 온디바이스 추론 – 데이터가 파이프라인을 떠날 필요가 없습니다.
- 모듈식 구성 – 단일 그래프에서 여러 모델(예: 객체 감지 → 자세 추정)을 결합할 수 있습니다.
- 하드웨어 가속 실행 – 서브 플러그인은 광범위한 가속기(TensorRT, Edge‑TPU, Movidius, ARM‑NN, Qualcomm QNN 등)를 래핑합니다.
주요 기능(README에 설명된 대로)
- 주요 프레임워크 지원: TensorFlow, TensorFlow‑Lite, PyTorch, Caffe, ONNX, TVM 등.
- 여러 입력 소스와 병렬 모델 분기를 허용하는 복합 및 멀티모달 파이프라인을 제공합니다.
- 여러 플랫폼(Ubuntu, Tizen, Android, Yocto, macOS)용 공식 바이너리 패키지와 C/C#, Java 및 순수 C의 API.
- 커버리지, 정적 분석 및 일일 릴리스를 포함하여 지속적 통합 테스트를 거친 빌드.
- 증가하는 예제 애플리케이션 목록(자세 추정, 이미지 분류, 객체 감지, 얼굴 특징점 추적 등) 및 문서화된 엣지 AI 사용 사례.
일반적인 사용 사례 워크플로우
- 모델을 선택합니다(예: TensorFlow‑Lite 자세 추정 모델).
nnstreamer요소를 사용하여 GStreamer 파이프라인을 생성합니다. 예:gst-launch-1.0 filesrc location=video.mp4 ! decodebin ! videoconvert ! \ tensor_filter framework=tflite model=pose.tflite ! \ tensor_decoder mode=pose ! videoconvert ! autovideosinktensor_filter요소는 각 프레임에 대해 추론을 실행하고(지원되는 가속기에서 선택적으로 실행), 결과를 다운스트림으로 전달합니다.- 최소한의 코드 변경으로 동일한 파이프라인을 온디바이스(Android, Tizen, 임베디드 Linux)에 배포합니다.
누가 이것을 살펴봐야 할까요
- 기존 GStreamer 기반 코드를 다시 작성하지 않고 AI를 추가하려는 미디어 엔지니어.
- 이기종 하드웨어에서 추론을 실행할 수 있는 통합된 방법이 필요한 임베디드/엣지 AI 개발자.
- 스트리밍 방식으로 다중 모델 파이프라인(예: 감지 → 분류 → 추적)의 프로토타입을 제작하는 연구원.
어디서 시작해야 할까요
- 사용 중인 OS(Linux, macOS, Android)의 Getting Started 링크를 따르세요.
- 기성 데모를 위해
nnstreamer-example리포지토리를 탐색하세요. - 더 깊은 설계 세부 정보는 아키텍처 위키를 확인하세요.
위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트