모델 설계부터 최적화까지: 풀스택으로 해결한 Jetson Orin NX 저조도 400 ms → 28 ms

 

Jaehoon Lee

Technical Content Manager, Nota AI

 

기업에서 AI를 도입할 때 가장 많이 막히는 구간은 모델 개발 단계가 아닙니다. 완성된 모델을 실제 운용 환경, 즉 타깃 디바이스에서 돌아가게 만드는 배포 단계입니다.

이번 CCTV 저조도 영상 복원 프로젝트 역시 배포 단계의 최적화가 핵심이었습니다. 고객사가 현장에 적용하고자 한 기존 모델이 타깃 엣지 환경(Jetson Orin NX)에서 처리 속도가 400 ms로 측정되었습니다. 이는 실시간 운용 목표인 33 ms(30 FPS)를 달성하기에는 크게 부족한 수치입니다. 

결과적으로 노타는 이번 프로젝트에서 고객사가 요구하는 화질 수준을 충족하며 처리 시간을 28 ms 미만으로 단축했습니다. 

이러한 속도 개선은 단순한 사후 최적화만으로 얻어진 결과가 아닙니다. 양자화나 가지치기 같은 범용 기법이 한계에 부딪힌 상황에서, 하드웨어 사양과 영상 도메인의 특성을 결합해 처음부터 다시 설계한 결과입니다.

표준 최적화 기법들이 엣지 환경에서 구체적으로 어떤 한계에 부딪혔는지, 그리고 모델 설계부터 하드웨어 최적화까지 하나의 흐름으로 관통하는 노타의 통합 설계 역량이 어떻게 실시간 처리 문제를 해결했는지 그 과정을 단계별로 짚어보겠습니다.

 

CCTV 운용이 요구하는 평가축과 기존 비전 모델의 한계

협업의 출발점 사양은 다음과 같습니다.

사진 1: 현장 배포를 위한 프로젝트 출발점 사양

30 FPS는 임의 숫자가 아니라 후단 객체 검출·추적의 마지노선입니다. 그 아래로는 빠르게 움직이는 대상이 프레임 사이로 빠져 검출이 흔들립니다.

다만 이 사례를 단순 "속도 문제"로만 보면 본질을 놓칩니다. 응용 도메인이 CCTV 상용화이기 때문에 화질 자체에 더해 운영 조건이 동시에 묶입니다. 30 FPS와 엣지 배포 외에 실운영을 위한 다음 핵심 조건들이 한 번에 충족되어야 의미가 있습니다.

  • 정답 이미지(GT) 없는 환경: 현장에는 원본 정답 이미지가 없으므로, 이를 대체할 '비참조 품질' 확보 필수

    • 밝기 관계 보존: 어둠과 빛의 상대적 관계 왜곡을 막아 후단 검출 모델의 객체 인식률 저하 방지

    • 자연스러운 화질: 후단 인식 알고리즘의 안정적인 피처(feature) 추출을 위해 인위적 노이즈가 없는 화질 요구

  • 다채널 동시 처리: 단일 GPU 자원 내에서 여러 카메라 채널을 동시에 소화할 수 있는 인프라 효율성 확보

이 네 가지 실운영 조건 중 기존 모델들이 가장 먼저 직면하는 장벽은 '평가 지표'의 차이입니다. 통상 알고리즘 검증 단계에서는 원본 정답 이미지(Ground Truth, GT)와 복원된 이미지를 픽셀 단위로 대조하는 PSNR (Peak Signal-to-Noise Ratio, 최대 신호 대 잡음비)이나 SSIM (Structural Similarity Index Measure, 구조적 유사도 지표)을 기준으로 성능을 평가합니다.

그러나 실제 CCTV 구동 환경에는 비교 대상이 될 정답 이미지(GT) 자체가 존재하지 않습니다. 따라서 정답 이미지 없이 화질의 자연스러움을 평가하는 NIQE (Naturalness Image Quality Evaluator, 비참조형 자연도 지표)나 프레임 내 명암의 상대적 관계를 측정하는 LOE (Lightness Order Error, 밝기 순서 보존도)를 적용해야 합니다. 이처럼 평가 기준이 현장 중심으로 바뀌게 되면, 공개 데이터셋의 리더보드 상위권을 차지하던 모델이라도 실제 운영 환경에서의 화질 우위를 담보할 수 없게 됩니다.

설령 이러한 비참조형 화질 기준을 만족하더라도, 실시간 처리를 위한 연산 속도(33 ms) 제약은 완전히 별개의 과제로 남습니다. 기존 베이스라인 모델이 실제 하드웨어 환경에서 목표 연산 시간을 얼마나 초과하며 병목을 일으켰는지는 이어지는 구체적인 실험 수치를 통해 확인하실 수 있습니다.

 

기존 모델 최적화로 닿지 못한 33 ms의 벽

고객사가 현장 도입을 위해 준비한 기존 모델은, 기본적인 '저조도 개선 모듈' 후단에 밝기를 끌어올리며 증폭된 노이즈를 잡기 위한 별도의 '노이즈 제거 모듈'을 이어 붙인 무거운 아키텍처였습니다. 실제 배포 타깃인 Jetson Orin NX에 이 원본 모델을 그대로 올렸을 때의 연산 시간은 약 400 ms에 달해, 실시간 운용 목표인 33 ms와는 10배 이상 차이가 났습니다. 최적화 한계선을 가늠하기 위해 컴퓨팅 사양이 더 높은 사전 검증용 개발 보드(AGX Orin)에서 프로파일링을 진행했을 때조차 약 180 ms가 측정되어 목표치와는 거리가 멀었습니다. 

이를 극복하고자 개발 환경 위에서 적용 가능한 최적화 기법을 모두 시도해 보았습니다. 가장 먼저 원본 모델의 ONNX 그래프를 수정해 Transpose와 Reshape 연산을 줄이고 다운샘플 비율을 키워 속도를 180 ms에서 60 ms 수준까지 단축했습니다. 하지만 운영 환경이 TensorRT 10.3.x로 확정되면서 이러한 수동 그래프 최적화는 런타임이 자동으로 수행하게 되어, 추가적인 단축 여지가 사라졌습니다. INT8 양자화는 적용 가능한 레이어 비율이 낮아 오히려 FP16보다 속도가 저하되었고, 50% 가지치기(pruning) 역시 속도가 목표치의 절반 수준(약 15 FPS)에 머문 데다 화질 저하가 뚜렷해 더 진행할 의미가 없었습니다.

기존 모델에 적용한 범용 최적화 시도와 결과를 정리한 3행 표. ONNX 그래프 + 다운샘플 비율 2→4배는 AGX Orin에서 180→60 ms로 단축됐지만 NX 33 ms 목표에는 미달했고, INT8 양자화는 양자화 가능 레이어 제한으로 FP16 대비 속도가 저하됐으며, 가지치기 50%는 목표 30 FPS의 절반 수준(약 15 FPS)에서 멈춘 데다 화질 저하를 동반한다.

사진 2: 기존 모델에 적용한 범용 최적화 시도별 결과

기존 모델의 구조를 유지한 사후 최적화만으로는 33 ms에 도달할 수 없다는 결론에 이르렀습니다. 대안으로 이 분야에서 자주 거론되는 RUAS, Zero-DCE++, LiteIE, Wave-mamba 등 4개 모델로도 실험해 보았으나 역시 목표에 도달하지 못했습니다.

기존 모델에 적용한 4개 시도와 다음 단계 전환을 표현한 5단계 다이어그램. ① 그래프 최적화, ② INT8 양자화, ③ 가지치기(50%), ④ 대안 모델 4종 실험까지 모두 33 ms 목표를 달성하지 못해 실패로 표시되고, ⑤번 박스는 다음 단계인 자체 설계 모델 도입을 시사한다.

사진 3: 기존 모델 최적화 및 대안 모델 4종이 모두 부딪힌 33 ms의 한계 

일련의 실험 끝에 한 가지 명확한 원인을 찾았습니다. 기존 모델과 대안 모델 4종 모두 '이미지 전체를 새로 생성하거나 복원하는' 무거운 연산 방식을 취하고 있어, 어떤 최적화를 거쳐도 33 ms 라인 앞에서 멈출 수밖에 없었던 것입니다. 결국 노타는 기성 모델의 튜닝을 멈추고, 엣지 하드웨어의 제약을 고려해 모델을 처음부터 가볍게 직접 설계하는 방향으로 노선을 전환했습니다. 이는 알고리즘 개발부터 최적화, 배포까지 전 구간을 하나의 흐름으로 다루는 노타의 통합 역량이 있었기에 가능한 결정이었습니다.

 

YUV 분리 기반 자체 설계 경량 ViT (98K)

자체 아키텍처를 설계하기에 앞서 문제의 본질부터 재정의했습니다. 저조도 영상 향상의 핵심은 휘도(Y) 채널의 복원이지, 색상(UV) 채널의 재생성이 아니라는 점입니다. 야간 CCTV 환경에서 식별해야 하는 핵심 정보의 대부분은 어둠 속에 묻힌 휘도(luminance) 데이터입니다. 색상 정보는 무거운 딥러닝 모델로 재생성하는 대신 경량화된 보정 레이어로 처리하더라도 후단 객체 인식 알고리즘에 거의 영향을 주지 않습니다. 이처럼 명확한 문제 정의를 바탕으로 세 가지 구조적 설계 결정을 내렸습니다. 

  • YUV 색공간 분리 

    입력 이미지를 Y(휘도)와 UV(색차) 채널로 분리하고, 모델 본체는 Y 채널만 전담하여
    처리하도록 구조화했습니다. 이로 인해 모델이 연산해야 할 입력 정보량 자체가 3분의 1로
    감소했으며, 색상 재구성을 위한 별도의 무거운 디코더(decoder) 블록을 제거할 수 있었습니다.

  • 약 2/5 비율의 공격적 다운샘플링(downsampling)
    모델 본체의 연산 범위에서 UV 채널을 배제하면서, 한층 과감한 다운샘플링 적용이 가능해졌습니다. 휘도 채널은 고주파 공간 정보 손실에 비교적 강한 반면, 색상 채널은 다운샘플링 시 색 번짐 현상이 두드러집니다. 색상 정보를 별도의 경량 보정 레이어로 격리하여 다루는 구조를 채택함으로써 이 문제에서 자유로워졌고, 1920×1080 해상도의 입력을 약 2/5 크기로 대폭 압축해 모델 본체에 통과시킬 수 있었습니다.

  • Bilinear 업샘플링 및 색감 보정 UV 합성
    다운샘플링 상태로 모델을 통과하며 복원된 Y 채널을 쌍선형 보간(Bilinear Interpolation) 방식으로 원본 해상도까지 끌어올립니다. 이후, 휘도 변환에 따른 색감 왜곡을 보정해 주는 경량 레이어를 거친 원본 UV 채널과 다시 합성하여 최종 이미지를 출력합니다. 색상을 무거운 학습 기반 알고리즘으로 재생성하지 않기 때문에, 별도 디코더 없이도 색감의 일관성이 자연스럽게 유지됩니다.

DeltaViT 파이프라인의 데이터 플로우를 표현한 다이어그램. Input 1920×1080을 Y 채널과 UV 채널로 분리한 뒤, Y 채널은 휘도(Y) 복원 블록과 Upsample을 거치고 UV 채널은 색감 보정 레이어를 거쳐 합성 블록에서 만나 Output 1920×1080을 출력한다. 하단에는 ① YUV 분리, ② 휘도(Y) 복원, ③ Upsample + 색감 보정 UV 합성 3단계 라벨이 표시된다.

사진 4: Y 채널 연산과 UV 채널 보정을 분리한 데이터 플로우

이 세 가지 메커니즘으로 최적화된 파이프라인에서 가장 핵심적인 역할은 '휘도(Y) 복원' 블록이 수행합니다. 이 자리에 탑재된 모델 본체가 바로 약 98K 파라미터로 구동되는 노타의 자체 경량 모델, 'DeltaViT'입니다. 이는 동일한 과업을 수행하는 기존 리더보드 상위 모델인 RetinexFormer(약 1.6M)와 비교했을 때 파라미터 수가 약 16배가량 적은 수치로, DeltaViT의 구조적 경량화 수준을 직관적으로 증명합니다. 

※ 본 설계는 휘도 보정이 핵심인 저조도 CCTV 환경을 겨냥해 최적화되었습니다. 색온도가 급격히 변하는 무대 조명이나 산업용 특수 광원 등 UV 성분의 변형이 큰 특수 도메인에 적용할 경우 별도의 추가 검증이 필요할 수 있습니다.

 

Jetson Orin NX 28 ms 및 화질 지표 1위 달성

이렇게 만들어진 Torch 모델을 ONNX로 내보내고 TensorRT로 변환한 결과, 개발 환경인 AGX Orin에서 10 ms 미만의 지연 시간이 측정됐습니다. 이를 실제 배포 타깃인 Jetson Orin NX로 옮긴 결과는 GPU compute time 28 ms 미만이었습니다. 정량 목표인 33 ms를 5 ms 이상의 여유로 통과한 것입니다. 같은 디바이스에서 고객사의 기존 모델이 약 400 ms를 기록했던 자리를 28 ms 미만으로 메운 셈입니다.

실시간 추론 속도라는 일차적 과제를 해결한 뒤, 마지막으로 정량적 화질 검증을 진행했습니다. 실제 육안을 통한 정성 평가에서 고객사의 요구 사양을 안정적으로 통과한 데 이어, 기존 범용 모델들과의 객관적인 성능 격차를 수치로 증명하기 위한 과정입니다.

이에 RTX 3090 24GB 환경에서 자체 설계한 DeltaViT(98K)과 비교군인 LYT-Net(45K)·RUAS(3.4K)·Zero-DCE++(10.6K)·RetinexFormer(1.6M) 모델을 대상으로 5개 표준 저조도 데이터셋 기반의 벤치마크를 수행했습니다. 단, 평가 과정에서 LYT-Net은 1080p 연산 시 메모리 고갈(OOM) 오류가 발생해 실구동이 불가능했습니다. 따라서 해당 모델을 제외한 최종 4개 모델을 중심으로 CCTV 상용 환경의 핵심 지표인 LOE와 NIQE, 그리고 1080p 추론 속도를 아래 그래프와 같이 정리했습니다.

사진 5: 4개 모델 3대 지표 벤치마크 결과(RTX 3090, 5개 데이터셋 평균)

그래프에서 확인할 수 있듯, NIQE와 LOE 두 평가 축 모두 DeltaViT이 1위를 달성했습니다. RetinexFormer 대비 파라미터는 16배 작으면서도(98K vs 1.6M), 속도는 약 63배 빠른 구조로 만들어낸 성과입니다. 1080p 추론 기준 DeltaViT은 8.92 ms, 약 112 FPS를 기록하며 30 FPS 마지노선 대비 3.7배의 넉넉한 여유를 확보했습니다. 특히 입력 화소가 480p에서 1080p로 6.7배 늘어날 때 DeltaViT의 추론 시간은 단 1.93배만 증가하는 압도적인 부하 내성을 보여주었습니다 (Zero-DCE++ 6.72배, RetinexFormer 7.87배 증가).

 

단일 RTX 3090에서 3채널과 0채널의 격차

이번 협업은 Jetson Orin NX 단일 채널 배포가 1차 목표였지만, 고객사 운용 요구에는 중앙 관제 서버에서 여러 카메라 채널을 동시에 처리하는 시나리오도 포함됐습니다. 단일 GPU가 한 번에 감당할 수 있는 채널 수가 곧 도입·운영 비용으로 직결되기 때문입니다.

같은 4모델을 단일 RTX 3090 24GB 위에 올려 1080p 30 FPS를 유지하며 동시 처리 가능한 채널 수를 측정했습니다. DeltaViT 3채널 안정 처리, Zero-DCE++ 1채널(경계), RUAS 1채널 미만(불안정), RetinexFormer 0채널입니다. RTX 3090 같은 고급 GPU에서조차 1080p 30 FPS 한 채널을 채우지 못한 셈입니다. 

DeltaViT은 엣지 단일 채널 배포에 맞춰 설계됐지만, 같은 모델이 중앙 서버 다채널 운용에서도 같은 워크로드를 더 적은 GPU 장수로 감당하는 구조로 이어집니다.

 

모델 개발부터 최적화까지 한 흐름

저조도 영상 향상 모델을 고객사가 수용 가능한 품질을 확보한 채 Jetson Orin NX의 33 ms 제약 조건에 맞추는 과제는, 기존의 사후 최적화 기법만으로는 도달할 수 없는 영역이었습니다. 양자화나 가지치기 같은 표준 압축 카드가 기존 복원 모델 고유의 연산 오버헤드라는 벽에 부딪혔을 때, 노타가 선택한 해법은 하드웨어 제약과 도메인 특성을 설계 단계부터 결합하는 '통합 설계'였습니다. 

YUV 채널 분리를 통해 정보량 자체를 1/3로 덜어내고, 색상 관계를 보존하면서 휘도(Y) 채널에만 경량 ViT를 적용한 구조적 접근은 단순한 속도 단축을 넘어 엣지 디바이스의 연산 제약 안에서 목표 라인을 통과해 냈습니다. 그 결과, 타깃 디바이스에서 28 ms 미만의 연산 속도를 달성함과 동시에 표준 벤치마크 환경에서 LOE·NIQE 1위라는 정량적 화질 지표를 확보할 수 있었습니다.

이 사례는 벤치마크 점수가 실제 양산 환경의 실시간성(real-time)으로 직결되지 않는 엣지 배포 도메인에 중요한 시사점을 던집니다. 범용적인 그래프 최적화나 경량화 기법만으로 목표 라인을 맞추기 어려운 영역에서는, 알고리즘 모델링과 하드웨어 최적화 아키텍처를 단절된 파이프라인이 아닌 하나의 흐름으로 다룰 수 있는 역량이 결과를 가릅니다. 노타는 이번 협업에서 그 통합 설계 역량을 양산 타깃 위에서 실증했습니다.

이와 같은 노타의 차별화된 기술력은 자체 AI 최적화 플랫폼인 넷츠프레소(NetsPresso®)를 바탕으로 합니다. 넷츠프레소 엔진을 통해 타깃 하드웨어의 성능을 극대화하는 노타의 맞춤형 AI 최적화 서비스가 궁금하시다면, 지금 만나보세요.

 
 

노타 AI의 최신 인사이트, 이제 LinkedIn에서도 만나보세요. 엣지 AI 트렌드부터 기술 업데이트까지 — Edge Insights 뉴스레터를 구독하고 가장 먼저 받아보세요. 👉 구독하기
Previous
Previous

노타는 왜 엔비디아 아태 파트너데이 ‘한국 유일’ 패널이 되었나: 피지컬 AI의 마지막 퍼즐

Next
Next

[넷츠프레소 x AI 에이전트] 쉬워졌지만, 더 강해졌습니다