NEXPIA, Smart Parking AI Platform 주차관제·카메라 번호인식(LPR)·영상 주차유도·AI 적용 — 아키텍처와 동작 데모, 개발 로드맵

AI Smart Parking Syetem Architecture (안)

현행 자산(C#·Delphi 현장 프로그램, Java·PHP 서버)을 존속시키면서, 엣지 AI 표준화 → 클라우드 플랫폼화 → 지능화로 점진적 전환 아키텍처
현장은 망 단절시 자율 동작하고, 클라우드는 멀티사이트 통합관제와 데이터 사업 담당

EDGE

현장검지
·추론

LPR 카메라 (입·출구)

루프/영상 트리거·주야간 IR·번호판 검출+인식 온디바이스 처리

AI 전방위 유도카메라

1대 = 6면 검지·주차면별 차량번호 인식·연기·불꽃(전기차 화재) AI 감지

노상·단속 카메라

불법주정차·차량탑재형 이동단속·탄력요금 근거 데이터 수집

Edge AI Box

Jetson/NPU·ONNX (Open Neural Network Exchange) Runtime / TensorRT·저조도·역광 보정·이벤트+썸네일만 상행(대역폭 최소화)

gRPC / MQTT(TLS)RTSP·ONVIF (영상)망 단절시 현장 자율운영·재접속시 큐 재전송
FIELD

현장관제

현장 관제서버 AS-IS 존속

C# WPF·Delphi 자산 유지·차단기/전광판/정산기 I/O(RS-485·시리얼)·Local DB·요금정책 캐시

무인정산기·키오스크

배리어프리 UX·사전정산·카드/간편결제·감면(경형·저공해·장애인) 자동 적용

Edge Adapter

레거시(C#·Delphi) ↔ 신규 AI 모듈을 gRPC/REST 어댑터로 연결 — 전면 재개발 없이 AI 탑재

Kafka / MQTT IngestmTLS·단말 인증
PLATFORM

클라우드·K8s

API Gateway

인증·과금·버전 관리·사이트별 테넌시

관제 MSA (Spring Boot)

입·출차 / 정산 / 멤버십(정기권) / 디바이스·OTA — Java·PHP 자산 점진 전환

데이터 저장소

MariaDB(운영)·TimescaleDB(시계열 점유율)·Redis(실시간 상태)·S3/MinIO(영상·증적)

스트림 처리

Kafka 파티션=현장ID(순서보장)·실시간 점유율 집계·이상탐지 파이프라인

REST / WebSocketOpenAPI
SERVICE

사용자·연계

통합관제 웹 (React)

멀티사이트 대시보드·인식률 KPI·원격 장애 대응(24h 관제센터)

모바일 앱

내 차 찾기·사전정산·잔여면 안내·전기차 충전 연동

지자체·스마트시티 OpenAPI

노상주차 데이터 연계·탄력요금·단속 증적 제공

MLOps LOOP — 인식률을 "관리 지표"로

  1. 현장 저신뢰 샘플 자동 수집
  2. 자동 라벨링 + 검수
  3. 학습 (PyTorch)
  4. 현장별 벤치마크 평가
  5. ONNX 변환·경량화(INT8)
  6. 단계적 OTA 배포
  7. 인식률 실시간 모니터링
AI·클라우드(안) 현행 자산 존속·점진 전환 (C#·Delphi·Java·PHP) MLOps 데이터 순환
PHASE 1

엣지 AI 표준화

  • LPR 엔진 ONNX 표준 추론 전환
  • 현장별 인식률 대시보드 구축
  • Git·CI/CD·산출물 표준 정비
PHASE 2

클라우드 플랫폼화

  • 멀티사이트 통합관제(SaaS)
  • MLOps 파이프라인·OTA 배포
  • 지자체 OpenAPI·데이터 사업
PHASE 3

지능화·신사업

  • 수요예측 기반 탄력요금
  • VLM 이상상황 감지(화재·쓰러짐·역주행)
  • 디지털트윈 주차장·스마트시티 연계

아키텍처 다이어그램 (HW · SW)

위 계층구조를 물리(HW)·논리(SW) 관점으로 도식화한 상세 아키텍처 (이미지 클릭하면 원본 크기로 확대)

넥스파 스마트파킹 하드웨어(HW) 아키텍처
(그림 1) 하드웨어 아키텍처 — 현장 설비 · 엣지 AI(Edge AI Box) · 네트워크(PoE·방화벽) · 관제센터(On-Premise) · 클라우드(MLOps)
넥스파 스마트파킹 소프트웨어(SW) 아키텍처
(그림 2) 소프트웨어 아키텍처 — Edge · Platform(Kafka·API GW·MLOps) · Service · Data 계층과 오인식→재학습→OTA 폐루프, gRPC 어댑터 레거시 공존

카메라 차량번호인식 (LPR) — 파이프라인 동작

버튼을 누르면 가상 차량이 게이트에 진입하고, 검출 → 전처리(Otsu 이진화) → 문자분할(투영 프로파일) → 인식(정규화 템플릿 매칭)
전체 단계를 브라우저에서 실제 연산
양산제품은 검출·인식을 딥러닝(YOLO + CRNN)으로 대체, 파프라인 구조
아래의 입차 시뮬레이션을 Click 하세요.

시간압축: 실제 1분 ≈ 1초 / 요금 예시: 최초 30분 1,000원 + 10분당 500원 (일 최대 15,000원)
1

게이트 카메라 영상·번호판 검출

검출박스는 시뮬레이션, 양산은 YOLO 계열 검출기 사용, 이후 단계는 실제 픽셀 연산

2

전처리 — Grayscale·Otsu 이진화

임계값 자동 산출 대기중…

3

문자분할 — 수직투영 + 번호판 문법 보정

분할 대기중…

4

문자인식 — 정규화(20×28) 템플릿 매칭

숫자 슬롯은 0–9, 한글 슬롯은 용도문자 집합으로 탐색 공간을 제한(번호판 문법 사전지식) — 실제 LPR에서도 쓰는 후처리 기법

5

인식 결과·게이트 제어

— — — —
종합 신뢰도 처리시간 검증 대기 차단기 CLOSED
누적 인식 0정인식 0세션 인식률

입·출차 처리 이력

시각구분게이트차량번호신뢰도차종/등록처리요금

파이프라인 심화 ① — 현장 강건성 실험 (Edge-case Robustness)

현장 LPR 정확도는 촬영 조건에 좌우 아래 파라미터로 노이즈·번호판 기울기·오염·저조도를 주입해 인식이 어디서 무너지는지 직접 확인하세요. 값을 바꾼 뒤 재인식을 누르면 위 파이프라인이 그 조건으로 다시 동작

양산 대응: 적외선(IR) 조명·HDR 센서·다중 프레임 융합·검출단 데이터 증강(augmentation) 재학습으로 이 구간 방어

조건별 인식 결과

원본 인식
평균 신뢰도 판정 대기 차단기
저신뢰(<55%) 또는 오인식 시 자동으로 관제 수동확인으로 전환되는 것이 실제 운영 흐름 무인 게이트는 "틀리면 열지 않는다" 원칙
슬라이더를 조정하고 재인식을 눌러보세요. 노이즈 35↑, 오염 60%↑, 저조도 −60↓ 부근에서 오인식·저신뢰 급증

파이프라인 심화 ② — 처리량·지연 벤치마크 (성능 관리 관점)

(중요) 정확도 + 지연시간·처리량 SLA 현재 조건으로 배치를 돌려 p50/p95 지연·초당 처리량·정인식률과 단계별 시간분해 측정

현재 강건성 슬라이더 조건을 그대로 적용·브라우저 단일스레드 실측
처리량 (건/초)
지연 p50
지연 p95
지연 max
정인식률

지연시간 분포 (히스토그램)

단계별 평균 시간분해

단계별 비중을 보면 최적화 우선순위(예: 분할·인식) 확인 — 프로파일링 기반 개발관리의 축소판

파이프라인 심화 ③ — 데모(Traditional Computer Vision) vs 양산(딥러닝) 아키텍처

구조 이해를 위해서 Traditional Computer Vision으로 구현
양산 넥스파 제품수준은 딥러닝 검출·인식으로 대체되며, 관리해야 할 지점이 달라짐.

Traditional Computer Vision
검출 시뮬레이션 박스
전처리 Grayscale → Otsu 이진화
분할 수직투영 프로파일 + 문법 보정
인식 20×28 정규화 템플릿 IoU 매칭
장점: 경량·설명가능·GPU 불필요
한계: 오염·조명·각도에 취약, 신규 서식 대응 느림
양산제품·딥러닝
검출 YOLOv8 / RT-DETR (번호판 BBox)
정합 4점 투시변환(Perspective Warp)
인식 CRNN + CTC (분할 없는 시퀀스 인식)
후처리 번호판 문법 언어모델·신뢰도 게이팅
장점: 오염·야간·경사에 강건, 서식 확장 용이
관리지점: 데이터셋·라벨링·재학습·엣지 양자화(INT8)·OTA
운영 시사점 — Traditional Computer Vision는 "코드"를 관리하지만, 딥러닝 LPR은 데이터·모델·배포 파이프라인(MLOps)을 관리 인식률은 한 번 만들고 끝이 아니라 현장 오인식 → 라벨링 → 재학습 → OTA 배포 루프로 지속 개선하는 자산이며, 이 루프의 설계·일정·품질관리가 "장기개발 계획관리"에 중요 (설계개요는 개발-안 참조)

영상방식 주차유도 — B1 층 실시간 시뮬레이션

초음파·지자기 센서와 달리 영상방식은 주차면별 차량번호까지 인식하므로 내 차 찾기·영상보안·데이터 사업으로 확장 카메라 아이콘(📷)에 마우스를 올리면 전방위 카메라 1대가 검지하는 6면 표시

B1 잔여 --
EV -·♿ -·회전율 -회/면·--:--:--
2초 주기·입·출차 확률 기반 자동 시뮬레이션

🔍 내 차 찾기 (Find My Car)

주차된 차량번호를 입력하면 위치·입차시각·경과·예상요금을 안내 키오스크/모바일 앱과 동일한 UX 흐름

층 점유율

점유 0%금일입차 0재차 0

전방위 카메라 8대 = 48면 검지(1:6)·면별 상태는 카메라 영상분석 결과를 시뮬레이션한 값

주차면을 클릭하면 면 상세(차량번호·입차시각)가 표시

AI 통합관제 대시보드 — 멀티사이트 운영 뷰

단순 모니터링을 넘어 예측(만차·수요)·예방(화재·위반)·자동화(OTA·원격조치)로 운영비를 낮추는 관제 화면 컨셉 이벤트는 시뮬레이션 데이터

🔥 AI 화재·연기 감지 — 관제센터 알림·방재설비 연동·해당 구역 유도 차단
번호인식률 (24h)
99.2%
▲ 0.3%p (모델 v2.4.1)
금일입차
1,284
전주 동요일 +6.2%
무인정산 성공률
97.8%
수동개입 28건
평균출차 소요
9.4초
▼ 1.8초 (사전정산 효과)
탄소저감 (금일)
41kg
배회 218km 절감 환산

점유율 실측 및 AI 예측 - - - (금일 24h + 향후 6h)

시간대별 입차 / 출차

실시간 이벤트 스트림 (INFO / WARN / CRIT)

개발방향 — 현행 스택 위에 AI를 얹는 가장 현실적인 경로

현장 프로그램은 C#·Delphi, 서버·웹은 Java·PHP 계열로 파악. 어댑터 기반 공존 전략으로 리스크없이 AI를 제품화하는 방향 제안

영역현행(신규·전환)전환 전략
영상·인식 엔진C/C++ 계열 영상분석 엔진ONNX Runtime/TensorRT 표준 추론 + 딥러닝(YOLO·CRNN)기존 엔진에 추론 모듈 링크(라이브러리 단위 교체)
현장 관제·정산 UIC# WinForms/WPF·Delphi존속 + Edge Adapter(gRPC/REST)로 AI 이벤트 수신재개발 없이 AI 기능만 증분 탑재
중앙 서버·웹Java·PHPSpring Boot MSA + React 관제·PHP는 유지보수 모드스트랭글러 패턴(신규 기능부터 MSA로)
AI 학습·배포Python(PyTorch) → ONNX → OTA·MLOps 파이프라인인식률 KPI 대시보드와 함께 도입
데이터현장별 로컬 DBMariaDB + TimescaleDB + Redis·표준 스키마/사전DA 표준화(용어·코드) 선행 후 통합
원칙 1

엣지 우선(Edge-First)

  • 인식·개폐는 현장에서 완결 — 망 단절 무중단
  • 클라우드는 통합·예측·배포 담당
원칙 2

레거시 공존

  • C#·Delphi·PHP 자산은 어댑터로 연동
  • 스트랭글러 패턴으로 점진 전환
원칙 3

인식률 = 관리지표

  • 현장별 인식률·오인식 유형 대시보드
  • 저신뢰 샘플 자동 수집 → 재학습 루프
원칙 4

보안·개인정보 내재화

  • 차량번호=개인정보 — 암호화·보존주기·접근통제
  • 영상 반출 통제·감사로그
원칙 5

일정·품질 가시화

  • WBS·게이트 리뷰·CI/CD·형상관리 표준
  • 감리 대응 산출물 체계(공공사업 필수)
운영(안)

운영체계

  • 2주 스프린트 + 단계별 게이트 리뷰
  • 인식률·장애율·일정준수율 KPI 운영
  • 특허·GS인증·조달 로드맵 병행

코드(안) — 각 계층별 핵심 모듈 (신규 개발)

아래 코드는 아키텍처의 핵심 연동 지점을 보여주는 골격 코드. 사내 환경 확인 후 세부 파라미터는 조정 필요

Python·lpr_train_export.py — 번호판 검출(YOLOv8)+인식(CRNN) 학습·ONNX 내보내기
# 1) 검출기: 현장 수집 데이터(주·야간/역광/오염 포함) 파인튜닝
from ultralytics import YOLO
import torch, torch.nn as nn

det = YOLO("yolov8n.pt")
det.train(data="plate_det.yaml", epochs=120, imgsz=960, batch=32,
          hsv_v=0.5, degrees=4.0, mosaic=0.6, project="runs/plate")
det.export(format="onnx", opset=17, half=True, dynamic=True)   # → Edge 배포

# 2) 인식기: CTC 기반 CRNN (숫자 10 + 한글 용도문자 클래스)
class CRNN(nn.Module):
    def __init__(self, ncls=45):                       # 44 + CTC blank
        super().__init__()
        self.cnn = nn.Sequential(
            nn.Conv2d(1,64,3,1,1),  nn.BatchNorm2d(64),  nn.ReLU(), nn.MaxPool2d(2,2),
            nn.Conv2d(64,128,3,1,1),nn.BatchNorm2d(128), nn.ReLU(), nn.MaxPool2d((2,1),(2,1)),
            nn.Conv2d(128,256,3,1,1),nn.BatchNorm2d(256),nn.ReLU())
        self.rnn = nn.LSTM(256*8, 256, 2, bidirectional=True, batch_first=True)
        self.fc  = nn.Linear(512, ncls)
    def forward(self, x):                              # x: (B,1,32,W)
        f = self.cnn(x); B,C,H,W = f.shape
        f = f.permute(0,3,1,2).reshape(B,W,C*H)        # 시퀀스화
        y,_ = self.rnn(f)
        return self.fc(y)                              # (B,T,ncls) → CTCLoss

model = CRNN()
# ... DataLoader / CTCLoss 학습 루프 수행 후:
torch.onnx.export(model, torch.randn(1,1,32,160), "lpr_rec.onnx",
                  opset_version=17, input_names=["input"], output_names=["logits"],
                  dynamic_axes={"input": {0:"batch", 3:"width"}})
C++·edge_lpr.cpp — 기존 C++ 영상엔진에 링크하는 ONNX Runtime 추론 모듈
// Jetson/x86 공용. CUDA 가용 시 EP 추가로 GPU 가속.
#include <onnxruntime_cxx_api.h>
#include <opencv2/opencv.hpp>
#include <memory>
#include <string>

class LprEngine {
public:
    LprEngine(const std::string& det_path, const std::string& rec_path)
        : env_(ORT_LOGGING_LEVEL_WARNING, "lpr") {
        Ort::SessionOptions so;
        so.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_ALL);
        // OrtSessionOptionsAppendExecutionProvider_CUDA(so, 0);  // GPU 사용 시
        det_ = std::make_unique<Ort::Session>(env_, det_path.c_str(), so);
        rec_ = std::make_unique<Ort::Session>(env_, rec_path.c_str(), so);
    }

    // 반환: {번호판 문자열, 신뢰도}. 미검출 시 {"", 0}
    std::pair<std::string, float> Recognize(const cv::Mat& bgr) {
        cv::Mat blob   = Letterbox(bgr, 960);          // 종횡비 보존 리사이즈
        auto     boxes = RunDetect(blob);              // NMS 포함
        if (boxes.empty()) return {"", 0.f};
        cv::Mat plate  = WarpCrop(bgr, boxes[0]);      // 4점 원근보정 → 32xW
        return RunRecognize(plate);                    // CTC greedy decode + 문법 검증
    }

private:
    Ort::Env env_;
    std::unique_ptr<Ort::Session> det_, rec_;
    // Letterbox / RunDetect / WarpCrop / RunRecognize 구현부:
    //  - NHWC→NCHW 변환, 정규화, IoU-NMS, softmax, ^\d{2,3}[가-힣]\d{4}$ 검증
};

// 인식 성공 → gRPC로 현장서버(C#) 통지 → 차단기 OPEN (아래 C# 모듈과 연동)
C#·EdgeEventListener.cs — 현장 관제(C#/WPF) ↔ Edge AI gRPC 스트리밍 연동 (.NET 8)
using Grpc.Net.Client;
using Nexpa.Edge.V1;                        // lpr_events.proto 생성 코드

public sealed class EdgeEventListener : BackgroundService
{
    private readonly ILogger<EdgeEventListener> _log;
    private readonly GateController _gate;   // 기존 차단기 제어(시리얼/RS-485) 래퍼 — Delphi 모듈도 동일 패턴
    private readonly IUplinkQueue  _cloudQ;  // 클라우드 업링크 버퍼(망 단절 시 재전송)

    public EdgeEventListener(ILogger<EdgeEventListener> log, GateController gate, IUplinkQueue q)
        => (_log, _gate, _cloudQ) = (log, gate, q);

    protected override async Task ExecuteAsync(CancellationToken ct)
    {
        using var ch = GrpcChannel.ForAddress("https://edge-01.local:7443");
        var client   = new LprService.LprServiceClient(ch);
        using var st = client.Subscribe(new SubscribeRequest { Gate = "IN-01" }, cancellationToken: ct);

        await foreach (var ev in st.ResponseStream.ReadAllAsync(ct))
        {
            _log.LogInformation("LPR {Plate} conf={Conf:P1}", ev.Plate, ev.Confidence);

            if (ev.Confidence >= 0.90 && !await IsBlacklistedAsync(ev.Plate, ct))
                await _gate.OpenAsync(ev.Gate, ct);           // 차단기 개방
            else
                await _gate.HoldForManualAsync(ev.Gate, ct);  // 저신뢰 → 수동확인 전환

            await _cloudQ.EnqueueAsync(ev, ct);               // MQTT/Kafka 상행(비동기)
        }
    }

    private Task<bool> IsBlacklistedAsync(string plate, CancellationToken ct)
        => Task.FromResult(false);            // Local DB 조회 — 오프라인에서도 판정 가능
}
Java·ParkingEventController.java — 중앙 플랫폼 이벤트 수집 API (Spring Boot 3·Kafka)
@RestController
@RequestMapping("/api/v1/events")
@RequiredArgsConstructor
public class ParkingEventController {

    private final KafkaTemplate<String, ParkingEvent> kafka;
    private final SiteAuthService auth;                 // 현장 단말 mTLS/토큰 검증

    @PostMapping("/lpr")
    public ResponseEntity<Void> ingest(@RequestHeader("X-Site-Token") String token,
                                       @Valid @RequestBody ParkingEvent ev) {
        auth.verify(token, ev.siteId());
        kafka.send("parking.lpr", ev.siteId(), ev);     // 파티션 키 = 현장ID (순서 보장)
        return ResponseEntity.accepted().build();
    }

    @KafkaListener(topics = "parking.lpr", groupId = "occupancy-svc")
    void onEvent(ParkingEvent ev) {
        // 점유율 집계(TimescaleDB) → WebSocket 브로드캐스트 → 만차예측 피처 적재
    }
}

record ParkingEvent(@NotBlank String siteId,
                    @NotBlank String gate,
                    @Pattern(regexp = "^\\d{2,3}[가-힣]\\d{4}$") String plate,
                    double confidence,
                    Instant occurredAt,
                    String direction) {}

고도화 방안 — AI MLOps · IaC · 온톨로지 · 디지털트윈

유행 기술의 나열이 아니라, 각 기술이 하나의 경영지표
허브로서 온톨로지 — MLOps 학습 데이터, 디지털트윈 입력, 멀티사이트 통합관제가 모두 동일한 개념 모델을 참조해야 각 기술이 연관성 갖음

Terraform

TARGET · 구축 리드타임

테넌트 모듈화로 신규 지자체·사업자 수주 시 인프라 복제. 변수만 교체.

Ansible

TARGET · 구성 편차 / MTTR

폐쇄망 대응 ansible-pull, Windows 관제 PC는 WinRM. 현장 오픈 2주 → 2일.

온톨로지

TARGET · 연동 개발공수

FIWARE / NGSI-LD 기반 공통 모델. 사이트·벤더별 용어 차이를 흡수.

AI MLOps

TARGET · 수동확인 전환율

저신뢰 샘플 능동수집 → 재학습 → 카나리 OTA. 인식률을 관리 지표로 전환.

디지털트윈

TARGET · 수주 제안 정확도

SUMO 기반 대기행렬 시뮬레이션으로 설비 대수를 정량 근거로 제안.

고도화 아키텍처 다이어그램

Edge · IaC · Platform · Ontology · MLOps · Digital Twin · Service · 레거시 공존 8개 계층의 데이터 흐름

넥스파 스마트파킹 고도화 아키텍처
(그림 3) 고도화 아키텍처 — 실선: 운영 데이터 흐름 / 점선: 학습·피드백 루프. Terraform·Ansible이 인프라를 프로비저닝하고, 온톨로지가 데이터를 정규화하며, MLOps가 모델을 순환시키고, 디지털트윈이 정책 사전검증

MLOps — 관리 KPI 체계

판단위 정인식률 — 문자 전체 일치품질 계약
수동확인 전환율 — 저신뢰 관제 이관운영 원가
p95 지연 — 차단기 개방 체감진입 대기
모델 배포 주기 — 개선 속도조직 역량

수동확인 전환율을 원가로 환산해 보고하면, 연구개발이 비용센터가 아니라 이익기여로 인식. 1%p 감소가 곧 관제 인력공수 절감

디지털트윈 — 성숙도 4단계

Lv1 시각화 BIM(IFC)·3D 내차찾기관제 UX
Lv2 시뮬레이션 SUMO 교통류설비 산정
Lv3 예측 수요예측 결합탄력요금
Lv4 제어검증 정책 사전 검증안전한 적용

킬러 시나리오: EV 화재 대피 시뮬레이션 — 넥스파 전방위 카메라 화재감지와 직결. 발화 지점별 연기 확산·대피 동선·유도등 제어를 사전 검증해 공공·대형건물 수주 신뢰도 확보

단계별 로드맵

PHASE 1 · 0~9개월

재현성 확보

  • Terraform 테넌트 모듈 표준화
  • Ansible 현장 구성관리(pull 구조)
  • MLOps 최소 루프: 수집→학습→ONNX→OTA
  • 온톨로지 코어 v0.1 (15클래스)
▸ 신규 사이트 인프라 1일 내 / 구성편차 0건
▸ 모델 배포주기 분기 → 월
PHASE 2 · 9~24개월

데이터 자산화

  • 사이트별 fine-tuning · 드리프트 자동 감지
  • 지식그래프 + 자연어 질의(LLM 연계)
  • 디지털트윈 Lv1~2 파일럿 1개소
  • 스마트시티 OpenAPI 연계(NGSI-LD)
▸ 연동 개발공수 50%↓
▸ 정산기 대수 산정 ROI 실증
PHASE 3 · 24개월~

지능화·신사업

  • 수요예측 기반 탄력요금
  • 트윈 Lv3~4: 유도정책 검증 후 실차 적용
  • EV 화재 대피 시뮬레이션 상품화
  • 지자체 주차 수급 분석 데이터 사업
▸ 제품 판매 → 데이터 서비스 전환
▸ 신규 매출원 확보

연구소 조직 구성(안)

엣지 AI 검출·인식·양자화3~4명
플랫폼 MSA·Kafka·API3~4명
데이터/온톨로지 스키마 거버넌스1~2명
SRE/IaC Terraform·Ansible1~2명
시뮬레이션 교통류 모델링산학협력

시뮬레이션은 초기 내재화 부담이 커 교통공학 연구실 협업 후 단계적 흡수 권장

리스크 관리 — 실패 패턴 차단

온톨로지 과설계 — 3년째 스키마만 그리는 조직이 실재. 코어 15클래스 상한, 실연동 2건 검증 후 확장
트윈이 3D 데모로 종료 — 의사결정 지표(설비 대수·대기시간)와 미연결시 착수 금지
MLOps 도구 난립 — 레지스트리 1개로 수렴후 확장
폐쇄망 push 불가 — ansible-pull 선제 설계
레거시 저항 — 전면 재개발 금지, gRPC 어댑터 공존 유지
"이 기술은 각각 관리지표 : Terraform·Ansible은 구축 리드타임, MLOps는 수동확인 전환율(운영원가), 온톨로지는 연동 개발공수, 디지털트윈은 수주 제안 정확도"