※중요: 추론이 장시간 소요되는 경우 대체로 GPU 메모리 사용량이 2GB 미만으로 확인되고 있습니다.
복수의 이미지를 로드해서 처리할 수 있도록 데이터로더와 batch 크기를 조정하셔서 보다 빠르게 결과를 받아보시는 것을 권장합니다.
※ 본 대회는 추론 자동화 방식으로 진행되는 대회로 평가 데이터셋을 공개하지 않고 진행됩니다.
추론 자동화 대회란 참가자분들께서 개발한 모델과 실행 코드를 지정된 규칙에 따라 제출하면 AIFactory에서 자동으로 평가 데이터를 적용하여 채점하는 방식입니다.
※ 보안상 모델이나 가중치를 추론 환경에서 원격 다운로드하는 형태로는 평가가 되지 않습니다. 필요 라이브러리 설치 외에는 모든 네트워크가 차단되므로 사전에 필요한 코드와 가중치를 다 저장한 상태에서 제출하시기 바랍니다.
※ 00시 기준 1일 5회 제출 가능하며 이전 정상제출 시점 기준으로 1시간 지난 시점부터 재 제출이 가능합니다. (제출횟수 8회로 변경 / 재제출 제한시간: 30분으로 변경 - 10월15일 당일부터 적용)
평가데이터셋: 해상도 10980 x 10980의 .png 파일 324개
이미지 해상도: 1px마다 가로, 세로 10m
평가 데이터 경로: “/workspace/dataset”
참가자의 모델 추론 결과는 image_name, cx, cy, width, height, angle 형식의 sumbission.csv로 저장할 것
angle 값은 수직 0도 기준 시계방향(CW) 도(º)값입니다. (0~360)
객체 크기가 작더라도 길이가 뚜렷하거나 항적이 있는 등 선박으로 식별할 수 있는 대상은 최대한 레이블링 되어있습니다.
예)
image_name | cx | cy | width | height | angle |
image000001.png | 1233.28 | 2748.04 | 2.84 | 24.4 | 203.4 |
image000001.png | … | … | … | … | … |
asdf_0123_zxcv.png | 7440.77 | 2651.95 | 2.4 | 16.1 | 172.1 |
… | … | … | … | … | … |
동일한 이미지에서 여러 오브젝트가 발견되는 경우 image_name을 행마다 중복해서 작성해주시면 되겠습니다.
오브젝트가 없는 이미지는 결과에 추가하지 않습니다.
❗평가 데이터 이미지 불러오기 코드
평가 데이터는 대형 이미지라 일반적인 방법으로는 읽기에 실패합니다. 아래와 같이 ImageFile.LOAD_TRUNCATED_IMAGES = True 또는 Image.MAX_IMAGE_PIXELS = None 을 설정하고 PIL로 읽어들여야 정상적으로 로드됩니다.
import glob
from PIL import Image, ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True # 또는 Image.MAX_IMAGE_PIXELS = None
import numpy as np
test_img_path = "/workspace/dataset/"
for path in glob.glob(f'{test_img_path}/**/*.png', recursive=True):
with Image.open(path) as image:
image_np = np.array(image, dtype=np.uint8)
height, width, _ = image_np.shape
print(height, width)
break출력결과
10980 10980
AIFactory 추론 환경은 다음과 같습니다 (향후 변경 될 수 있습니다):
GPU: Tesla L4 (VRAM 24GB)
CPU: 4 Core
RAM: 16GB
사용자 모델 경로 스토리지 크기: 16GB
제출 건당 최대 추론 제한시간 = 6시간
1일 8회 제출, 재제출 30분
주요 라이브러리
Python: 3.10
CUDA: 12.2
PyTorch: 2.4.1
기본 설치 라이브러리 목록
torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 # 2.4.1 버전
albumentations
transformers
scikit-learn
numpy
Cython
pycocotools
pandas
jupyter
notebook
matplotlib
seaborn
plotly
Pillow
opencv-python
scikit-image
shapely
참가자 분들께서는 다음 제출 규칙에 따라서 개발한 모델을 제출해 주시기바랍니다:
제출할 모델의 최상위 경로 내 아래 다운로드 란에서 제공되는 task.ipynb를 위치시킵니다.
구성 예) 📁 /
├ 📄task.ipynb (제출용 메인 코드)
├ 📁model
┃ ├ 📄source.py
┃ └ 📄etc …
├ 📁weights
┃ └ 📊weight.pt
└ 📈submission.csv (추론 결과로 생성시킬 것)
위에서 AIFactory 추론 환경에 설치된 패키지 항목을 참고하신 후 필요한 패키지는 task.ipynb에 설치 명령을 넣어주세요.

!pip !mim !apt !apt-get !git clone !huggingface-cli 명령에 한해 실행 가능
기타 !명령, %명령 등은 실행 불가능합니다.
task.ipynb 파일의 안내에 따라 모델의 추론 코드를 해당 ipynb 파일에 작성합니다.

파일 이름은 반드시 task.ipynb로 유지되어야 합니다.
파일에 안내된 평가 데이터 경로(“/workspace/dataset”)를 모델에 입력하여 경로 내에 있는 이미지를 읽어들여서 추론할 수 있도록 구성합니다.
예) test_img_path = "/workspace/dataset/"
현재 작업중인 경로에서 모델 추론에 불필요한 파일이 제출되지 않도록 주의해주세요.
git 캐쉬 데이터, 모델 중간 저장 weight, 학습 사용 샘플 데이터 등
모든 경로는 현재 작업중인 스크립트 파일(task.ipynb)을 기준으로 **상대 경로**로 설정해주세요. (예: ./model ./weights ./source 등)
추론을 수행하는데 필요한 코드, 가중치 등은 사전에 로컬에 저장하신 상태로 제출하셔야 합니다. (네트워크차단)
참가자의 모델 추론 결과는 image_name, cx, cy, width, height, angle 형식의 sumbission.csv로 저장해야 합니다.
동일한 이미지에서 여러 오브젝트가 발견되는 경우 image_name을 행마다 중복해서 작성해주시면 되겠습니다.
오브젝트가 없는 이미지는 결과에 추가하지 않습니다.
제출 시에는 task.ipynb를 반드시 저장하시고 aif.submit()이 포함된 맨 마지막 제출 셀만 실행하면 됩니다.

Colab 사용자는 권한을 공유 -> 링크가 있는 모든 사용자 로 설정해주세요.
colab에서는 해당 세션용 임시 드라이브(colab 화면 좌측바의 업로드, 파일탐색기 공간) 상에서 제출이 이루어져야 합니다.
/content가 보통 colab의 작업폴더이므로 해당 경로 이하에 모델 리소스, 가중치 등을 업로드하시고 위에 안내된 규칙에 따라 노트북을 작성하여 제출하시면 됩니다.
구글 드라이브 마운트 작업은 하지 말아주세요. AIF 채점 환경에서 개인 구글 드라이브에 엑세스 할 수 없습니다.
기타 자세한 제출 방법은 제공된 task.ipynb 파일을 참고해주세요.