본문 바로가기

NVIDIA Jeston

Jetson mmdetection 모델 변환 과정 Jetson mmdetection 예제를 통한 모델 변환 과정 분석 mmdetection 는 open-mmlab 에서 개발한 CV 를 위한 framework 이다. 이 framework 는 다양한 알고리즘 모델을 쉽게 사용할 수 있도록 미들웨어와 관련 도구를 제공한다. NVIDIA Jetson 에 복잡한 과정을 통해 mmdetection 를 설치하였다. 2023.01.21 - [NVIDIA Jeston/DNN & TensorRT] - Jetson mmdetection 포팅 가이드 Jetson mmdetection 포팅 가이드 Open-mmlab mmdetection 포팅하는 방법 mmdetection 는 open-mmlab 에서 개발한 computer vision 프레임워크 이다. 다양한 알고리즘 모델을.. 더보기
Jetson mmdetection 포팅 가이드 Open-mmlab mmdetection 포팅하는 방법 mmdetection 는 open-mmlab 에서 개발한 computer vision 프레임워크 이다. 다양한 알고리즘 모델을 쉽게 사용할 수 있도록 미들웨어와 관련 도구를 제공한다. 이 포스팅에서 mmdetection 의 Jetson 에 설치, 포팅, 동작 시키는 방법을 정리한다. (아래의 참고자료에 있는) open-mmlab 의 Jeston 설치 가이드를 따라서 실험해보았다. 보다 자세한 내용은 open-mmlab 자료를 참고한다. open-mmlab 추천 플랫폼 '23.1 현재 아래의 4가지 Jetson 하드웨어를 지원한다. Docker 를 사용하면 다른 Jeston Platform 에도 설치 가능할 것으로 보인다. Docker 를 통한 설치는.. 더보기
메시지브로커를 통한 jetson-stats 퍼블리싱 ZeroMQ 를 활용한 jetson-stats message publishing jetson-stats 는 Jetson 하드웨어 상태를 진단할 수 있는 좋은 도구 이다. 터미널에서 jetson-stats 명령어 또는, jtop 으로 시스템 정보를 확인할 수 있다. 하지만, 터미널이 아닌 다른 Host PC 에서 Jetson 을 진단하는 방법이 필요한 use case 가 있다. ZeroMQ 는 기본기능의 충실한 message broker 라이브러리 이다. ZeroMQ 를 이용해서 jetson-stats 데이터를 네트워크로 publising 하는 예제를 만들어보자! jetson-stats message publishing 구현 테스트 환경 NVIDIA Jetson NX devkit Jetpack 4.6 (L.. 더보기
Jetson Reverse SSH 터널링 엣지컴퓨팅, 클라우드 연결되다 다양한 장소에 설치된 엣지디바이스의 상태를 모니터링, 소프트웨어 업데이트 등을 해야할 경우가 있다. 엣지디바이스와 서버 사이의 SSH 채널을 생성하는 방법을 Jetson 의 사례로 소개한다. NVIDIA Jetson 리버스 터널링 Jetson 과 lightsail 의 연결 Jetson 과 같은 엣지디바이스의 상태를 모니터링, 소프트웨어 업데이트를 위한 서버 연결 구조를 설명한다. 다음 그림은 사설네트워크의 Jetson 과 인터넷의 Lightsail 의 연결을 보여준다. SSH reverse turnneling 을 통해 Jetson 은 클라우드 Server에 접속할 수 있다. 사용자는 클라우드 Server 를 통해 Jetson 에 접속 할 수 있다. 테스트환경 AWS Ligh.. 더보기
젯슨 부팅 과정에서 Power Model 고정하기 NVIDIA Jetson 부팅 과정에서 Power Model 고정하기 엔비디아 Jetson 은 nvpmodel 명령어를 통해 여러 Power Model 을 사용할 수 있다. 전원 또는 발열 때문에 Power Model 을 고정해야한다면 nvpmodel.conf 을 수정하면 되나, User 가 임의로 변경하는 경우 등. 변수가 있기 때문에, 보다 확실하게 부팅 과정에서 Power Model 고정하는 방법을 정리한다. 부팅 시, Power Model 설정 테스트 환경 NVIDIA Xavier NX Jetpack 4.6 (L4T R32.6.1) nvpmodel.service 서비스 Jetpack 을 설치하면, 부팅 과정에서 systemd 를 이용한 nvpmodel 서비스가 실행된다. 이 서비스는 /etc/nv.. 더보기
젯슨 NX Xavier NGC 컨테이너 개발환경 Jetson NX Xavier NGC 개발환경 엔비디아는 Jetson 의 SDK 개발환경을 NGC 를 통해 docker container 형태로 배포하고 있다. 배포되고 있는 container 에는 Linux for Tegra, CUDA, TensorRT, deepstream 등 엔비디아에서 제공하는 SDK 을 포함하고 있다. 이 포스팅은 Jetson NX Xavier 에서 NGC 를 통해 docker container 를 받고 실행하는 기본적인 예제를 다른다. Jetson NX Xavier (또는 Nano) production module 의 경우, 내부 eMMC 공간 (16G) 가 부족하기 때문에, 외부 SDCARD 를 이용해서, docker container 개발환경을 만들어보자. STEP1. Xa.. 더보기
Jetson 로깅 시스템, Rsyslogd Jetson 로깅 시스템, Rsyslogd Jetpack 4.6 기준으로 Linux for Tegra 에 적용되어 있는 로깅 시스템, Rsyslogd (Rocket-fast system for log processing) 에 대해서 정리한다. Jetson 로깅 시스템 설정 Jetpack 4.6 기준으로 Linux for Tegra 에 pre-built 된 로깅 시스템은 rsyslog 이다. (syslog.serivce 의 이름으로) systemd service 형태로 background 에서 이미 실행되어 있다. $ sudo systemctl status syslog.service ● rsyslog.service - System Logging Service Loaded: loaded (/lib/syste.. 더보기
NVIDIA Jeston deepstream RTSP 수신 엔비디아 Jetson deepstream RTSP 수신 파이프라인 (엔비디아 Jetson 에서 deepstream 을 통해 생성된 ) RTSP 영상을 Host 에서 수신하는 방법을 테스트 하고 기록한다. RTSP 수신 파이프라인 일반적인 파이프라인 rtspsrc 를 통해 영상수신하고 h264 decoding 해서 화면에 sink 시킨다. gst-launch-1.0 rtspsrc location='rtsp://192.168.1.6:8554/ds-test' \ ! rtph264depay ! h264parse ! decodebin ! autovideosink RTSP 옵션추가 deepstream 어플리케이션에 따라서 drop-on-latency 와 옵션을 추가할 수 있다. 이 옵션은 설정된 latency 를 .. 더보기
Jetson Nano 이미지 백업과 재사용 엔비디아 Jetson Nano 이미지 백업과 재사용 매번 Jetson Nano 에 L4T, Jetpack 등 개발에 필요한 소프트웨어 패키지를 설치하기는 시간이 많이 소모 된다. 하나의 레퍼런스 Nano 보드에 필요한 패키지를 모두 설치하고 root file system 을 만들어둔다. 나중에 재설치가 필요할 경우, 백업한 root file system 으로 쉽게 복원하도록 한다. Jetson Nano 이미지 백업과 재사용하기 테스트 환경 NVIDIA Jetson Nano devkit (16G emmc module) Jetpack 4.6 (L4T R32.6.1) X86 Host PC (Ubuntu 18.04) 이미지 쓰기 Host PC 에 작업 디렉토리를 생성하고, 필요한 파일을 다운로드하고 압축해제 한.. 더보기
UDP sink 를 이용한 Deepstream RTSP 출력 UDP sink 를 이용한 Deepstream RTSP 출력 (Gstreamer 기반) NVIDIA Deepstream 예제들은 다양한 형태로 구현되어 있다. Gstreamer 로 대부분 구현하고 NVIDIA Deepstream plugin을 사용하는 예제도 있고, NVIDIA Deepstream framework 을 사용하는 예제도 제공된다. 대표적으로 deepstream-test1 가 Gstreamer 스타일로 구현되어 있고, 다음의 NVIDIA plugin 을 사용한다. nvv4l2decoder nvstreammux nvinfer nvvideoconvert nvdsosd nveglglessink 반면에 deepstream-test5 의 경우, apps-common 에 있는 NVIDIA Deepstr.. 더보기
NVIDIA VPI 를 이용한 스테레오 카메라 Example VPI 를 통한 하드웨어 가속 스테레오 카메라 예제 NVIDIA Xavier NX devkit 에서 VPI (Vision Programming Interface) 를 통해 하드웨어 가속이 되는 스테레오 카메라 예제 실행 방법을 정리한다. VPI (Vision Programming Interface) 가 아닌 OpenCV 를 이용한 스테레오 카메라 개발은 아래 포스팅을 참고한다. 2022.06.12 - [프로그래밍/OpenCV] - [OPENCV] 스테레오 카메라 StereoBM 예제 첫번째 2022.06.15 - [프로그래밍/OpenCV] - [OPENCV] 스테레오 깊이맵 성능 높이기 2022.06.15 - [프로그래밍/OpenCV] - [OPENCV] SGBM vs StereoBM 깊이맵 결과 비교 .. 더보기
딥스트림 입력 소스를 V4L2 카메라로 변경하는 방법 엔비디아 딥스트림 Deepstream 6.0 입력 소스를 카메라로 변경하는 방법 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 의 입력 소스를 filesrc 가 아닌 카메라, v4l2 로 변경하는 방법을 테스트하고 정리한다. 이 예제에서 사용된 환경은 아래 포스팅을 참고한다. 2022.07.10 - [NVIDIA Jeston/Deepstream] - Deepstream 처음 설치하고 실행하기 2022.07.15 - [NVIDIA Jeston/Deepstream] - Deepstream 를 이용하여 유동인구를 분석해보자! Deepstream 입력소스 변경 테스트 환경 NVIDIA Xavier NX devkit (16G emmc module) nvme ssd root file s.. 더보기
Deepstream Test1 객체 검출결과 RTSP 전송 Deepstream 6.0 RTSP 전송 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 를 이용하여 객체검출 결과를 RTSP 로 전송하는 예제를 실행한다. 본 예제는 엔비디아에서 제공하는 deepstream 6.0 과 deepstream-test1 를 이용하였다. Deepstream 6.0 test1 예제 테스트 환경 NVIDIA Xavier NX devkit (16G emmc module) Jetpack 4.6 (L4T R32.6.1) Deepstream 6.0 test1 Deepstream 6.0 test1 는 affemodel 로 생성된 Car, Bicycle, Person, Roadsign 4가지 객체를 검출하는 샘플 어플리케이션 이다. deepstream 으로 제작 .. 더보기
Deepstream 를 이용하여 유동인구를 분석해보자! Deepstream 6.0 유동인구 분석 예제 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 를 이용하여 유동인구를 분석할 수 있는 예제를 실행해본다. Deepstream 이 관한 개발환경은 아래 포스팅을 참고한다. 2022.07.10 - [NVIDIA Jeston/Deepstream] - Deepstream 처음 설치하고 실행하기 2022.07.13 - [NVIDIA Jeston/Deepstream] - Deepstream graphviz dot 그래프를 이용한 시각화 2022.07.13 - [NVIDIA Jeston/Deepstream] - Deepstream 오브젝트 트래커 예제 실행하기 이 예제에서는 에서 제공하는 deepstream-occupancy-analytic .. 더보기
Deepstream 오브젝트 트래커 예제 실행하기 Deepstream 6.0 오브젝트 트래커 예제 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 의 Object Tracker 예제를 실행해보고 파이프라인을 분석한다. Deepstream 6.0 오브젝트 트래커 어플리케이션 실행하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 설치는 아래 포스팅을 참고한다. 2022.07.10 - [임베디드 컴퓨팅/nVidia Jetson] - [Jetson] JetPack4.6 Deepstream 6.0 설치하기 [Jetson] JetPack4.6 Deepstream 6.0 설치하기 JetPack4.6 에서 Deepstream 6.0 설치하기 NVIDIA Xavier NX devkit 에 apt-get 명령으로 .. 더보기
Deepstream graphviz dot 그래프를 이용한 시각화 Deepstream 6.0 graphviz 그래프 생성하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 의 샘플 어플리케이션의 graphviz 를 생성한다. graphviz 를 이용하면 복잡한 gstreamer pipeline 입출력 관계를 분석하는데 도움이 된다. Deepstream 6.0 샘플 어플리케이션 실행하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 설치는 아래 포스팅을 참고한다. 2022.07.10 - [임베디드 컴퓨팅/nVidia Jetson] - [Jetson] JetPack4.6 Deepstream 6.0 설치하기 [Jetson] JetPack4.6 Deepstream 6.0 설치하기 JetPack4.6 에서 Deepstre.. 더보기