Research Task · RT-W18 · 2025.09 · WMS AI
📡 RFID + AI 실시간 재고 추적
Kafka 이벤트 스트림 · 재고 정확도 99.5%+ · 연간 재고실사 비용 −80% · 위치 불일치 자동 해소 · 박소연 선임연구원 · 연구노트 42p 대응
🎯 RFID + AI 실시간 재고 추적 개요Passive UHF · EPC Gen2 · Kafka 스트리밍
창고 내 모든 상품에 UHF 패시브 RFID 태그를 부착하고, 게이트·핸드헬드·플로어 안테나에서 수집된 rfid-events 이벤트를 Apache Kafka로 스트리밍합니다. AI 매칭 엔진이예상 위치(WMS 기록)와 실제 위치(태그 캡처)를 비교해 이상치를 분류하고, 자동 해소 가능한 건은 즉시 WMS 트랜잭션을 일으키며 사람 개입이 필요한 건만 anomaly_queue로 푸시합니다.
본 RT-W18은 9월 운영 결과 기준 재고 정확도 99.5% 이상, 연간 실사 비용 −80%,위치 불일치 자동 해소율 92% 이상을 달성한 통합 파이프라인을 정리합니다.
🧭 RFID 데이터 처리 파이프라인 (5단계)Reader → Kafka → AI → Anomaly → WMS
STEP 1
RFID Reader Capture
UHF 게이트 · 핸드헬드 · 플로어 안테나에서 EPC 코드, RSSI, antenna_id 캡처. 초당 1,000건 이상 동시 수신.
STEP 2
Kafka Stream
rfid-events 토픽으로 enqueue. 파티션 기반 병렬 컨슈머로 1k+ events/s 처리.
STEP 3
AI Reconciliation
expected_location vs actual_location 비교. RSSI · dwell_time · reader_count 기반 신뢰도 계산.
STEP 4
Anomaly Queue
자동 해소 가능 / 사람 개입 필요로 분기. 위치 불일치 · 결손 · 중복 분류.
STEP 5
WMS Update
wms.update_inventory() 트랜잭션. 사이클 카운팅 자동 차감 · 일일 실사 대체.
🐍 Kafka Consumer + AI 매칭 (Python)
# RFID 리더 -> Kafka -> AI 처리 -> WMS 업데이트 consumer = KafkaConsumer("rfid-events", bootstrap_servers="kafka:9092") for msg in consumer: event = json.loads(msg.value) # 이상 감지: 예상 위치와 실제 위치 불일치 if event["location"] != expected_location(event["tag_id"]): anomaly_queue.put(event) # 신뢰도 = sigmoid(RSSI*w1 + dwell*w2 + reader*w3) conf = reconcile_score(event) if conf > 0.7: wms.update_inventory(event["tag_id"], event["location"]) else: anomaly_queue.put({"type": "low_conf", **event})
📐 정확도 · 신뢰도 모델Accuracy · sigmoid confidence
Accuracy = 1 − ( mismatch_count / total_reads )
confidence = σ( RSSI · w₁ + dwell_time · w₂ + reader_count · w₃ )
# σ = sigmoid · threshold 0.7 통과시 자동 해소, 미만은 anomaly_queue
RSSI수신 신호 강도(dBm). 보통 −60~−40dBm 범위. 강할수록 가까운 안테나의 캡처 → 신뢰도 ↑
dwell
dwell_time(s) = 동일 EPC가 한 안테나 시야에 머문 시간. 0.3s 이상 권장.reader
reader_count = 같은 EPC를 캡처한 안테나 개수. 2개 이상이면 위치 추정 안정.τ=0.7σ ≥ 0.7 →
wms.update_inventory(), 미만이면 anomaly_queue.put()🏗️ 인프라 스택 & 하드웨어EPC Gen2 · Impinj · Kafka · Faust
Tag · 패시브 UHF
EPC Gen2 (ISO 18000-63)
배터리 없는 패시브형. 96-bit EPC. 박스 외부/팔레트 라벨 부착. 액티브 대비 단가 1/30, 수명 무제한.
Reader / Antenna
Impinj R700 · Zebra FX9600
게이트 4-port 안테나 · 플로어 mat · 핸드헬드 RFD8500. 860–960MHz UHF, 최대 12m 인식거리.
Stream · Kafka
3 broker · 12 partition
rfid-events · anomaly · inventory-cmd 토픽. Faust(Python) / Flink로 stateful 처리.AI Reconciliation
Logistic + GBM 보정
σ-기반 logistic 1차, mismatch 학습된 GBM 2차. 위치 클러스터링으로 cross-read(인접 존 간섭) 자동 보정.
WMS Adapter
REST + 트랜잭션
update_inventory(tag, location) · cycle_count_decrement() 호출. 일일 실사 → 무중단 사이클 카운팅 자동화.Ops · 모니터링
Prometheus + Grafana
초당 reads, mismatch율, p95 latency, anomaly_queue 길이를 실시간 대시보드. 임계 초과시 Slack 알림.
📍 안테나 배치 다이어그램 (개념도)게이트 · 플로어 · 핸드헬드 3계층
G1 입고 게이트→F-A 플로어 안테나→F-B 플로어 안테나→G2 출고 게이트
# 입고시 자동 확인 -> 보관 존 통과시 위치 갱신 -> 출고시 SKU/수량 검증
참고문헌
[1] 박소연 외, "RFID + AI 재고 정확도 99.5% 달성기", IntraLogis 내부 리포트, 2025.09
[2] GS1, EPC Tag Data Standard, Version 2.1, 2024
[3] Want, R., "An Introduction to RFID Technology", IEEE Pervasive Computing, 2006
[4] Heese, H.S., "Inventory Record Inaccuracy, Double Marginalization, and RFID Adoption", POMS, 2007
[5] Apache Kafka 공식 문서, 2025
[6] Zebra Technologies, RFID Cycle Counting Best Practices, 2023
[1] 박소연 외, "RFID + AI 재고 정확도 99.5% 달성기", IntraLogis 내부 리포트, 2025.09
[2] GS1, EPC Tag Data Standard, Version 2.1, 2024
[3] Want, R., "An Introduction to RFID Technology", IEEE Pervasive Computing, 2006
[4] Heese, H.S., "Inventory Record Inaccuracy, Double Marginalization, and RFID Adoption", POMS, 2007
[5] Apache Kafka 공식 문서, 2025
[6] Zebra Technologies, RFID Cycle Counting Best Practices, 2023