WASB-SBDT 써보기

FSA·2024년 5월 2일
0

vision

목록 보기
6/25

1. 코드 사용법

Dockerfile

  • Docker 이미지를 빌드하기
    • docker build -t sports-ball-detection .
  • Docker 컨테이너 실행하기
    • docker run -it --gpus all sports-ball-detection

Data Preparation

  • For Soccer, we provide a setup script. Run cd ./src && sh setup_scripts/setup_soccer.sh .
datasets
    |-----soccer
    |        └-----videos
    |        └-----frames
    |        └-----annos

Model Preparation

  • Run cd ./src && sh setup_scripts/setup_weights.sh, then models are located in <WASB-SBDT_HOME>/pretrained_weights.

Soccer

python3 main.py --config-name=eval dataset=soccer model=wasb detector.model_path=../pretrained_weights/wasb_soccer_best.pth.tar


2. 데이터셋 사용법

<?xml version="1.0" encoding="utf-8"?>
<annotations>
  <version>1.1</version>
  <meta>
    <task>
      <id>23</id>
      <name>Soccer_ID-1</name>
      <size>2998</size>
      <mode>interpolation</mode>
      <overlap>5</overlap>
      <bugtracker></bugtracker>
      <created>2022-10-20 07:46:34.161107+00:00</created>
      <updated>2022-10-23 07:35:02.607571+00:00</updated>
      <subset>default</subset>
      <start_frame>0</start_frame>
      <stop_frame>2997</stop_frame>
      <frame_filter></frame_filter>
      <segments>
        <segment>
          <id>23</id>
          <start>0</start>
          <stop>2997</stop>
          <url>http://localhost:8080/?id=23</url>
        </segment>
      </segments>
      <owner>
        <username>matlab</username>
        <email>tarashima@acm.org</email>
      </owner>
      <assignee></assignee>
      <labels>
        <label>
          <name>ball</name>
          <color>#804080</color>
          <attributes>
            <attribute>
              <name>used_in_game</name>
              <mutable>False</mutable>
              <input_type>select</input_type>
              <default_value>1</default_value>
              <values>1
0</values>
            </attribute>
          </attributes>
        </label>
      </labels>
      <original_size>
        <width>1920</width>
        <height>1088</height>
      </original_size>
    </task>
    <dumped>2022-10-24 02:30:54.254359+00:00</dumped>
    <source>ID-1.avi</source>
  </meta>
  <track id="0" label="ball" source="manual">
    <points frame="115" outside="0" occluded="0" keyframe="1" points="7.02,790.87" z_order="0">
      <attribute name="used_in_game">1</attribute>
    </points>
    <points frame="116" outside="0" occluded="0" keyframe="1" points="24.90,785.80" z_order="0">
      <attribute name="used_in_game">1</attribute>
    </points>

1. XML 파일의 내용 설명

  • 이 XML 파일은 딥러닝 모델 학습을 위한 비디오 데이터의 어노테이션(주석) 정보를 포함하고 있습니다. 이 파일은 특히 축구 경기 비디오에서 축구공의 위치와 특성을 표시하는 데 사용됩니다.

주요 구성 요소들:

  • <meta> 태그:
    • 여기에는 작업의 ID, 이름, 크기, 생성 및 수정 날짜 등이 포함
    • 또한 비디오의 시작과 종료 프레임, 프로젝트의 원본 크기(1920x1088) 등의 정보도 포함
  • <labels> 태그:
    • 어노테이션할 객체의 라벨(여기서는 'ball')과 해당 라벨의 특성(색상, 속성 등)을 정의
    • used_in_game 속성은 축구공이 게임에서 사용되었는지 여부(1 또는 0)를 나타냅니다.
  • <track> 태그:
    • 특정 라벨('ball')에 대한 트래킹 정보를 나열합니다.
    • <points> 요소는 특정 프레임에서의 축구공의 위치와 그 프레임이 키 프레임인지, 공이 화면 밖에 있는지, 가려진 상태인지 등의 정보를 포함합니다.

2. XML 파일을 학습 시 사용 방법

  • 이 XML 파일은 머신 러닝 모델이 비디오 내의 객체(여기서는 축구공)를 인식하고 추적하는 방법을 학습하는 데 사용됩니다.

3. XML 파일 형식으로 데이터 추가로 어노테이션하는 방법

추가 데이터를 어노테이션하기 위해서는 기존의 XML 파일 구조를 이해하고, 동일한 형식으로 새로운 데이터를 입력해야 합니다.

어노테이션 추가 과정:
1. 새로운 <track> 요소 추가: 새로운 비디오 데이터에 대한 축구공의 위치를 <track> 요소 내에 추가합니다. 각 <track> 요소는 공의 움직임을 특정 프레임에 대하여 설명합니다.
2. 프레임 정보 입력: 각 <points> 요소에 프레임 번호, 축구공의 위치(points 속성), 가려짐 여부(occluded), 화면 밖 여부(outside) 등의 정보를 정확하게 입력합니다.
3. 속성 설정: 필요한 경우, 각 <points> 내에 <attribute> 요소를 사용하여 추가 속

성(예: used_in_game)을 설정합니다.
4. 파일 검증: 어노테이션을 추가한 후, XML 구조가 올바르게 유지되었는지 확인하고, 필요한 경우 수정합니다.

XML 어노테이션 파일 작업은 주로 XML 편집기나 특화된 어노테이션 툴을 사용하여 수행됩니다. 이러한 툴을 사용하면 데이터의 일관성과 정확성을 보장할 수 있습니다.

profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글