전지웅

← 전체 프로젝트
SSAFY 공통 프로젝트 우수상

무인 지게차 물류 자동화

2026.07.14 — 2026.08.12 · 6인 팀 · 물체 인식·크기 측정 주 담당, 백엔드 공동 개발

파렛트 인식 전후 비교와 화물 측정·운반 시연이 이 자리에 들어갑니다
파렛트 검출 · 촬영 사진 12장
0장 → 12장
실제 환경의 추가 학습 사진
289장
평가 정답 재작성 · 사진 30장
물체 142개

파렛트 검출은 개선 전후 같은 촬영 사진 12장과 신뢰도 0.5 이상을 기준으로 확인했습니다.

프로젝트 소개

화물의 크기와 무게 분포를 측정해 무인 지게차의 운반·적재를 돕는 시스템입니다. 화물을 올려놓는 받침대인 파렛트를 인식하고, 화물 크기를 계산하는 기능을 주로 맡았습니다. 백엔드 개발에도 참여해 측정 장치 사용 제어, 작업 상태 관리, 적재 위치 추천을 담당했습니다.

사용 기술

  • Python
  • PyTorch
  • RTMDet / MMDetection
  • ONNX Runtime
  • OpenCV
  • Java 21
  • Spring Boot
  • MySQL

문제 해결

촬영 사진으로 파렛트 인식 개선

기존 모델은 목재 파렛트 사진 위주로 학습돼 있었습니다. 플라스틱 파렛트를 촬영한 사진 12장에서는 모두 검출에 실패했습니다. 실험 환경에서 촬영한 사진 289장에 팀원과 함께 파렛트의 위치를 표시했습니다. 이 사진으로 모델을 추가 학습시키고, 사진에 변형을 주어 학습 데이터도 보완했습니다. 다시 평가했을 때는 같은 사진 12장 모두에서 파렛트를 찾아냈습니다.

정답 데이터 재작성과 재평가

검출 성능 점수가 100%로 나와 정답 데이터의 작성 과정을 점검했습니다. 기존 정답은 모델의 예측 결과를 사람이 수정해 만든 것이었습니다. 이렇게 만들면 모델이 놓친 물체가 정답에서도 빠질 수 있었습니다. 사진 30장에 있는 물체 142개의 위치와 종류를 직접 표시해 정답을 다시 만들었습니다. 이때는 모델의 예측을 참고하지 않았습니다. 새로 만든 정답 데이터로 같은 모델을 다시 평가했습니다. 그 결과 검출 성능 점수는 98.42%였습니다. 이후에도 이 정답을 기준으로 모델 성능을 비교했습니다.

거리를 반영한 화물 크기 측정

같은 화물도 카메라에서 멀어질수록 사진 속에서는 작게 보였습니다. 사진 속 크기를 실제 크기로 바꾸려면 카메라와 화물 사이의 거리를 알아야 했습니다. 카메라 보정값과 거리 센서의 측정값을 이용해 화물의 실제 크기를 계산했습니다. 박스를 여러 거리와 방향에서 촬영했습니다. 계산한 크기와 자로 잰 실제 크기를 비교해 측정 오차를 확인했습니다.

측정 장치와 작업 순서 관리

측정 장치가 한 대뿐이라 요청이 겹치면 서로 다른 작업의 측정값이 섞일 수 있었습니다. 측정 장치는 한 번에 한 작업만 사용할 수 있도록 했습니다. 측정 응답이 일정 시간 안에 오지 않으면 해당 작업을 실패로 처리했습니다. 이때 장치도 다시 사용할 수 있는 상태로 바꿨습니다. 작업이 정해진 순서대로 진행되도록 주요 상태 변경에도 조건을 뒀습니다. 예를 들어 측정 중인 작업만 측정 완료 상태로 바뀌게 했습니다. 작업이 실패하거나 취소되면 적재 위치 예약을 해제했습니다. 측정 완료 처리에 실패했을 때도 예약을 해제해 다른 작업이 해당 위치를 사용할 수 있게 했습니다.

PS

서로 다른 기능을 연결하려면 팀원 간에 처리 순서와 데이터 기준을 맞춰야 했습니다. 처리 순서와 담당 역할, 주고받는 데이터를 문서로 정리했습니다. 구현이 바뀌면 문서도 함께 수정해 최신 내용을 공유했습니다.