위성영상을 활용한 선박 탐지 AI 경진대회
2024.09.30 - 2024.10.25
0
1000만원
46
공유
46
공유

🏆 수상자 발표

구분팀명예선본선총점상금
1등박스가돌고돌아도라에몽0.4548690.4432130.45025351345,000,000원
2등스티브킴0.4205380.4405630.42846740283,000,000원
3등김평0.3951110.4122940.40191504131,000,000원
누누와0.3522430.3637690.35680700981,000,000원
  • 축하드립니다!!
  • 상금은 팀 리더에게 일괄 지급되며 이를 위해 담당자가 팀 리더에게 연락을 할 예정입니다.
  • 상금은 제세공과금을 제외하여 지급합니다. 
     

✅ 유의사항 안내

  • 공지사항 내용을 참고하세요.
  • 참가자는 반드시 경진대회 [데이터]탭을 참고하여 제출하세요.

 

✅ 안내

   [대회 관련 안내]

  • 예선/본선 평가로 상위 10개팀에 대해서 추가 데이터를 활용하여 최종 순위가 결정됩니다.
  • [데이터] 탭은 경진대회 기간 중에 (10월 1일 ~ 10월 26일 00:00) 공개됩니다.
  • 이번 경진대회에서는 참가자는 Pre-Trained 모델 사용이 가능합니다. 
  • 샘플데이터를 참고하여 모델링을 진행하고 참가자는 제출 조건을 준수하여 제출합니다.
  • 사전설명회 (9월30일 17:00 진행)는 유튜브 Live로 진행됩니다.  링크



💡 문제 개요 (예시)

 

  • 위성영상 이미지 내 선박을 탐지하는 AI 모델을 제작하는 경진대회입니다.(rotated_bbox)
     
  • 본 대회는 별도의 학습 데이터는 제공하지 않고 참가자분들이 샘플 데이터를 참고하여 원하는 데이터셋을 활용하여 모델을 만드는 대회입니다. 
     
  • 상세한 내용은 대회 시작과 함께 공개되는 [데이터] 탭을 확인해주세요.
     
  • 선박 탐지 모델을 제출하면 실시간으로 평가 데이터에 의해 리더보드와 순위표를 확인할 수 있습니다.
     
  • 그 외 상세한 설명은 [데이터] 탭을 확인해주세요.
     
  • 리더보드의 평가 데이터셋은 보안상의 사유로 공개가 불가능합니다.

 

✅ 참가신청

상단 우측의 ‘참여하기’ 버튼을 클릭하시고 참여정보를 입력하신 뒤 ‘제출’을 완료하시면 참가신청이 접수됩니다.

  • 참가 신청 접수 기간 :  `24. 9. 9.(월) ~ `24. 9. 26.(목) 23:59 까지
  • 참가대상: 위성영상 기반의 선박 탐지 AI 모델 개발에 관심 있는 만 14세 이상 시민 누구나
  • 참가형태 : 팀 또는 개인으로 참여 가능
    - 팀 (2인 이상 최대 4인)
      (✽ 팀 빌딩은 참가 신청 이후에 태스크 내 [팀] 탭에서 진행하실 수 있습니다)
  • 팀 리더는 [팀] 탭에서 ‘팀명’을 찾아 검색하여 팀으로 초대 (기본설정된 팀명은 해당 팀원의 닉네임)
  • 팀을 구성하였다가 탈퇴한 팀원은 탈퇴 후 해당 대회에 재참여가 불가능
  • 팀 빌딩과 관련된 자세한 사항 및 유의사항은 [팀] 탭의 관련규칙 및 가이드 필독
     
     

🏆 시상(상장 및 상금 수여)

 

총 4개 팀 선발 / 총 상금 1,000만원
수상자에게 상장 및 상금 제공 (팀은 최대 4인까지 가능합니다)

구분선정팀상금
1등1팀5,000,000원
2등1팀3,000,000원
3등2팀1,000,000원


📊 평가 방법 

  • 본 대회의 평가에는 IoU를 반영한 커스텀 F2-Score가 활용됩니다. 수식은 다음과 같습니다.


각 항목별 개념은 다음과 같습니다.
 

  • TP: 정답 오브젝트 가운데 예측 결과가 있는 오브젝트의 수
    • 각 오브젝트마다 최소 IoU(=0.1)를 넘은 예측 결과들을 해당 오브젝트에 대한 예측으로 할당합니다.
    • 할당된 예측 가운데 해당 오브젝트와의 IoU가 가장 큰 예측 결과를 해당 오브젝트에 대한 최종 예측으로 정합니다.
    • 최종 예측과 오브젝트 사이의 IoU값을 해당 오브젝트에 대한 예측 IoU값으로 사용합니다.
    • IoU가 최소(0.1)를 넘는 예측 결과가 없는 오브젝트는 TP에 가산되지 않습니다. (FN)
       
  • IOU_TP: TP인 오브젝트들 각각마다 IoU가 최대인 예측 결과 1개와의 IoU 값입니다.
     
  • FP: 예측 결과 가운데 ‘특정한 오브젝트와 IoU가 최소 기준(=0.1) 이상이지만 할당되지 않은’ 예측 결과 수를 잘못된 예측으로 FP에 가산합니다. 예를 들어 하나의 오브젝트에 대하여 두 개의 예측 결과가 할당되는 경우, IoU가 최대인 결과는 TP로 들어가지만 그렇지 않은 결과는 FP로 들어갑니다. FP를 줄이기 위해서는 Non-Max Suppression 혹은 그와 유사한 필터링을 통하여 불필요한 중복 예측을 줄여야 합니다.
     
  • FN: 오브젝트 가운데 최소(0.1)를 넘는 예측 결과가 없는 오브젝트는 예측이 이루어지지 않은 오브젝트로 간주하여 FN으로 분류합니다.
     
  • ※ 모든 예측 결과는 IoU가 가장 큰 하나의 오브젝트에만 할당됩니다. 따라서 하나의 오브젝트가 여러 예측 결과를 할당받을 수는 있지만 하나의 예측 결과가 여러 오브젝트에 할당되는 일은 없습니다.
    ※ 아무 오브젝트에도 할당되지 않은(min IoU_obj < 0.1) 예측 결과는 점수 계산에 포함되지 않습니다.
     
  • 아래는 점수 산정에 사용되는 커스텀 스코어 코드입니다.
def rotated_bbox_iou(bbox1, bbox2):
    """
    회전된 경계 상자의 IoU를 계산합니다.
    
    :param bbox1: [cx, cy, w, h, angle] 형식의 첫 번째 경계 상자
    :param bbox2: [cx, cy, w, h, angle] 형식의 두 번째 경계 상자
    :return: 두 경계 상자의 IoU
    """
    def get_corners(bbox):
        cx, cy, w, h, angle = bbox
        angle = np.deg2rad(angle)
        cos_a, sin_a = np.cos(angle), np.sin(angle)
        half_w, half_h = w / 2, h / 2
        corners = np.array([
            [-half_w, -half_h],
            [half_w, -half_h],
            [half_w, half_h],
            [-half_w, half_h]
        ])
        rotation_matrix = np.array([
            [cos_a, -sin_a],
            [sin_a, cos_a]
        ])
        corners = corners @ rotation_matrix.T
        corners += [cx, cy]
        return corners

    # 두 경계 상자의 코너 좌표를 얻습니다
    corners1 = get_corners(bbox1)
    corners2 = get_corners(bbox2)

    # Shapely Polygon 객체를 생성합니다
    polygon1 = Polygon(corners1)
    polygon2 = Polygon(corners2)

    # 교집합과 합집합의 면적을 계산합니다
    intersection_area = polygon1.intersection(polygon2).area
    union_area = polygon1.union(polygon2).area

    # IoU를 계산합니다
    iou = intersection_area / union_area
    iou = 0 if np.isnan(iou) else iou # 어떤 사유로든 nan인 경우 0처리

    return iou

def f2_with_iou(gt, pr, th=0.01):
    tp_iou = []
    tp = []
    fp = []
    fn = []
    
    for img in list(set(gt['file_name'])):
        gt_img = gt[gt['file_name'] == img][['cx', 'cy', 'width', 'height', 'angle']]
        pr_img = pr[pr['file_name'] == img][['cx', 'cy', 'width', 'height', 'angle']]

        # 해당 GT에 대한 예측이 있는 경우
        if len(pr_img) > 0:
            ious = [rotated_bbox_iou(i, j) for i in gt_img.values for j in pr_img.values]
            ioumat = np.array(ious).reshape(len(gt_img), -1) # gt_dim:0, pr_dim:1
            
            # pr을 iou가 최대인 gt에 할당
            np.argmax(ioumat, axis=0)
            ioumat = ioumat * (ioumat.max(axis=0, keepdims=True) == ioumat)
            
            # TP_IoU / FP / FN
            max_vals = np.amax(ioumat, axis=1)
            tp_iou.extend([i for i in max_vals if i != 0])
            tp.append(sum(max_vals != 0))
            fp.extend([sum(i > th) -1 for i in ioumat if sum(i > th) >= 2])
            fn.append(sum(max_vals == 0))
        # 해당 GT에 대한 예측이 없는 경우 모든 object를 FN에 추가
        else: 
            fn.append(len(gt_img))
    
    tp_iou = np.sum(tp_iou)
    tp = np.sum(tp)
    fp = np.sum(fp)
    fn = np.sum(fn)

    # precision - 분모가 0이 될 가능성이 있으므로 nan 처리 필요
    precision = tp_iou / (tp + fp)
    precision = 0 if np.isnan(precision) else precision
    # recall
    recall = tp_iou / (tp + fn)

    f2_score = (1 + (2 ** 2)) * (precision * recall) / (((2 ** 2) * precision) + recall)
    
    return f2_score 

📊 제출 방법

본 대회는 추론 자동화 방식으로 진행되는 대회로 평가 데이터셋을 공개하지 않고 진행됩니다. 추론 자동화 대회란 참가자분들께서 개발한 추론 코드를 규칙에 따라 제출하면 AIFactory에서 자동으로 본 대회의 평가 데이터로 참가자 분들이 제출한 코드를 실행시켜 채점되는 방식입니다.

참가자는 본 경진대회의 [데이터]텝을 참고하세요.



🔍 결과 검증

  • 입상 대상자는 아래 저작물을 제출해야 합니다.
    • 모델 스크립트 : 학습 및 추론에 사용된 모델 전체 코드로 최초 학습부터 제 3자가 순차적으로 수행했을 때 입상대상 리더보드 스코어를 재현하는 결과물이 생성될 수 있어야 합니다.
    • 모델 설명서 : 아래 양식에 맞게 작성 후 입상후보팀에게 안내되는 메일에 회신으로 전달
  • 코드와 주석의 인코딩은 모두 UTF-8을 사용하여야 합니다.
     
  • 입상 대상이 되는 상위 제출 결과물은 재현성 검증 과정을 거쳐 순위를 확정짓게 됩니다.
    재현성 검증은 다음 세 단계를 거쳐 이루어집니다.
    1. 재추론 검증
      • 제출된 모델에서 주어진 데이터를 이용하여 결과가 정상 생성되는지 여부를 확인할 수 있도록 재추론합니다.
      • 원칙적으로 재추론을 통해 생성된 결과는 참가자가 실제 제출한 결과와 동일해야 합니다.
    2. 재학습 검증
      • 제출된 모델이 허가된 데이터만을 사용하여 학습되었는지, 학습된 모델은 제출된 결과를 재현할 수 있는지의 여부를 재학습을 통해 검증합니다.
    3. 소스코드 분석
      • 소스코드 표절, 미허가 데이터 사용, 모델 조건 불충족 여부 등을 소스코드 분석을 통해 검증합니다.
      • 재현성 검증에 문제가 발생하거나 소스코드 표절을 비롯한 치팅이 확인되는 경우 원칙적으로 해당 제출 결과는 무효처리됩니다.
      • 제출 시 랜덤 시드를 고정하지 않을 경우, 결과가 일괄적으로 산출되지 않을 수 있으므로 반드시 고정하여 제출해 주세요. 랜덤 시드 미고정시 평가에 불이익을 받을 수 있습니다.

         

⚡️ 대회 규칙 (중요) 

※ 본 대회는 http://aifactory.space 의 회원가입을 완료한 회원이 아래 규칙에 대해 동의한 경우에만 참가 가능합니다.

※ 대회 참여 중 규칙에 위배되는 상황이 발생한 경우, 입상이 취소될 수 있습니다.

 

스코어 관련

이번 대회는 비공개데이터셋으로 평가하여 Public 스코어를 기반으로 리더보드 상 스코어를 확인하실 수 있으며 스코어가 높은 순으로 순위가 결정됩니다.

입상 대상자에 한해 제출한 모델 학습코드, 추론코드를 통해 부정 행위를 적발하여 순위가 변동될 수 있습니다.

 

  • 대회기간 중에는 Public 스코어만 리더보드 상에 표출
  • 리더보드에 표출되는 점수는 당사에서 확보한 비공개 데이터셋을 활용하여 채점
  • 평가용 비공개 데이터셋은 보안 상 공개 불가
     

팀 참가 관련 (팀 빌딩은 참가자 접수기한까지 완료해야 함)

  • 팀 (2인 이상 최대 4인) 
    ✽팀 빌딩은 참가신청 이후에 [팀] 탭에서 진행하실 수 있습니다.
     

대회 제출 관련

  • 해당 문제는 제출 관련 제한사항이 있습니다. 이전 정상 제출 시점 기준으로 1시간 지난 시점부터 재 제출이 가능하오니 이 점 참고 부탁드립니다.



✅ 입상자 선정 기준

  • 리더보드 종료 후, 각 문제 순위별로 점수가 부여됩니다.
  • 동점자가 발생할 경우, 제출 순서를 기준으로 입상자를 선정합니다.
  • 점수는 비공개 평가 데이터를 활용해 평가되며, 대회 기간중에는 Public Score만 노출됩니다. 이를 기준으로 각 문제의 순위가 결정됩니다.(예선)
  • 심사 평가기간 (10월26일~)에는 상위 10개 팀에 대해서 추가 데이터를 활용하여 최종 순위가 결정됩니다. (본선) 
  • 대회의 취지에 따라 딥러닝/머신러닝 및 기타 자동화된 알고리즘/모델을 이용한 문제 해결만이 정당한 결과로 인정되는 점 참고바랍니다.

 

🗓 진행 일정

 

(접수기간)

  • `24. 9. 9.(월) ~ `24. 9. 26.(목) 23:59 까지

(온라인설명회)

(대회기간) - 예선 (전체 팀)

  •  `24. 10. 1.(화) 00:00 ~ `24. 10. 26.(금) 00:00 까지

(심사기간) -본선 (상위 10개팀)

  • `24. 10. 26.(토) ~ `24. 11. 2.(토)

(수상자공지)

  • `24. 11. 4.(월) 17:00 이후 ~ `24. 11. 8.(금) 
  • 참가자의 개별 메일로 수상 내용이 발송됩니다.

 

📝 저작물 소유권 관련

  • 공모전에 제출된 응모작에 대한 권리는 응모자에게 있습니다.
  • 응모작에 대해 공동 소유 등의 권리 변동이 필요하거나 공모전 요강에 공고된 범위를 넘어 응모작을 이용할 경우, 저작자와 별도로 합의하여 정합니다.
  • 공모전 응모자는 응모작의 반환을 요구할 수 있으며, 이 때 주최 측은 작품 반환 후 응모작과 관련된 자료 일체를 즉시 폐기합니다 
  • 공모전에 응모된 아이디어와 관련하여 주최 측과 아이디어 제안자 사이에 분쟁이 발생할 경우, 주최 측과 아이디어 제안자는 우선적으로 대화와 협상을 통하여 분쟁을 해결하도록 최선을 다해야 합니다.
  • 데이터셋 파일 및 데이터에 대한 설명 등 제공된 일체의 정보는 주최사 및 주관사의 자산이며 해당 정보는 본 대회의 참가 목적으로만 사용해야 하고, 그 외 용도로 타 인에게 양도 및 대여, 재배포, 2차적 저작 및 상업적 용도로 이용할 수 없습니다.
  • 그밖의 산출물에 대한 권리 등 법적 권리에 관한 사항은 문체부 '창작물 공모전 가이드라인'을 준용합니다.
  • 표절 및 저작권 관련한 부분은 관련 법규 및 규정을 준수합니다.
     

📨 문의처

  • 인공지능팩토리 운영자 메일 : cs@aifactory.page
  • 경진대회 내 Q&A 탭 사용
    * 각 경진대회의 Q&A를 활용하시면 빠르고 상세한 답변을 받아 보실 수 있습니다🕵🏻