LLM 기반 농업 시뮬레이션 3D 환경 자동 생성 시스템
초록
**
본 논문은 자연어 프롬프트를 입력으로 받아, 농업 분야에 특화된 지식과 3D 자산을 활용해 언리얼 엔진에서 실시간으로 작물 배치와 환경 설정을 자동으로 수행하는 모듈형 멀티‑LLM 파이프라인을 제안한다. 자산 검색, 도메인 지식 주입, 코드 생성의 세 단계로 구성된 시스템은 few‑shot 프롬프트, RAG, 파인튜닝, 검증 메커니즘을 결합해 정확도와 확장성을 높였으며, 정량적 정확도·정밀도·재현율 및 사용자·전문가 평가를 통해 기존 수작업 설계 대비 시간 절감과 현실감 향상을 입증하였다.
**
상세 분석
**
이 연구는 기존 LLM 기반 3D 씬 생성이 도메인 특화 로직 부재와 검증 메커니즘 부족으로 현실감이 떨어지는 문제를 해결하고자, 완전한 파이프라인을 모듈화하였다. 첫 번째 모듈인 Asset Retrieval LLM은 GPT‑4 기반 서브쿼리 분해와 FAISS 기반 의미 검색을 결합해, “여름에 성숙 단계의 핑크레이디 사과”와 같은 자연어를 사전 정의된 672개의 자산 경로 조합 중 가장 적합한 형태로 정규화한다. 여기서 핵심은 “early stage”, “flowering” 같은 모호한 표현을 작물 생육 단계(vegetative, reproductive, maturation)로 매핑하고, 텍스트‑embedding‑3‑small 모델을 이용해 의미적 유사도를 계산함으로써 사용자의 의도를 정확히 반영한다는 점이다.
두 번째 모듈인 Domain Knowledge LLM은 RAG 방식을 채택한다. 농업 메타데이터는 JSON 형태로 구조화되어 FAISS 인덱스에 저장되며, 자산 경로에서 추출된 카테고리·품종·계절·건강 상태 정보를 문자열로 결합해 임베딩한다. 상위 k개의 후보를 의미적으로 매칭한 뒤, 파인튜닝된 검증 LLM이 농업 규칙(예: 작물 간 최소 간격, 계절별 성장 높이)과 일치하는지 최종 확인한다. 이 단계는 단순 텍스트 매칭을 넘어, 작물의 물리적·생리적 특성을 반영한 ‘레시피’를 생성함으로써 씬의 농학적 타당성을 확보한다.
세 번째 모듈인 Code Generation LLM은 앞선 두 모듈의 출력(정규화된 자산 경로와 풍부한 메타데이터)을 입력으로 받아, 언리얼 엔진 파이썬 API 호출 스크립트를 자동 생성한다. 스크립트는 씬 초기화, 자산 인스턴스화, 행·열 배치, 스케일·회전·조명 파라미터 설정, 그리고 계절별 환경 효과 적용을 함수별로 구조화한다. 파인튜닝 데이터셋은 개발 단계에서 수집한 프롬프트‑스크립트 쌍으로 구성되었으며, 이를 통해 LLM의 코드 hallucination을 크게 억제하고 구문 오류를 최소화했다. 최종 검증 단계에서는 자산 경로 존재 여부, Unreal‑specific API 호출 오류, 메타데이터와 파라미터 간 불일치 등을 자동 검사한다.
실험 결과는 세 가지 프롬프트 유형(단일‑세부, 단일‑일반, 다중‑일반)에서 하이브리드 방식이 기존 few‑shot, 파인튜닝, 순수 RAG 대비 전반적으로 높은 정확도와 정밀도를 보였으며, 특히 다중‑일반 프롬프트에서 Recall이 89%에 달해 복합적인 작물·환경 요구사항을 효과적으로 포착한다는 점이 주목할 만하다. 사용자 연구에서는 실제 농업 현장 사진과 비교했을 때 평균 4.2/5점의 현실감 점수를 얻었고, 전문가 실험에서는 수작업 설계 대비 평균 68%의 시간 절감 효과가 확인되었다.
본 논문의 주요 기여는 (1) 농업 도메인에 특화된 자산·메타데이터 계층 구조 설계, (2) 서브쿼리 기반 의미 검색과 RAG를 결합한 두 단계 검증 메커니즘, (3) 코드 생성 LLM의 파인튜닝 및 자동 검증 파이프라인, (4) 정량·정성 평가를 통한 실용성 입증이다. 제한점으로는 현재 테스트된 자산이 제한된 하위 집합에 머물러 있어, 대규모 작물·품종 확대 시 인덱스 관리와 메타데이터 품질 유지가 과제로 남는다. 향후 연구에서는 실시간 스트리밍 생성, 다중 엔진(Blender, Unity) 지원, 그리고 농업 외 다른 시뮬레이션 도메인(예: 도시 계획, 환경 복원)으로의 확장을 목표로 하고 있다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기