축구장 이미지 데이터셋

GPS를 이용한 스포츠 IT 솔루션

TAGS
축구
축구장
Bounding Box
스포츠
이미지
GPS를 이용한 스포츠 IT 솔루션

현재 핏투게더는 GPS를 이용한 스포츠 IT 솔루션을 제공하고 있습니다. 그러나 GPS 역시 측정 도구 자체의 오차를 내포하고 있으며, 천장 등의 GPS 음영이 발생하는 경우, 정확도가 감소하는 상황이 발생하기도 합니다. 저희는 이러한 상황에서 정확도를 개선할 수 있는 수단으로 영상 솔루션에 집중하고 있습니다. 영상을 통해 확보된 선수의 좌표와 GPS를 통해 계산한 선수의 좌표를 활용하여 기존의 단일 솔루션보다 더욱 높은 정확도로 선수의 위치를 포착하고 이를 이용한 다양한 스포츠 IT 솔루션을 제공하고자 하는 것이 본 프로젝트의 목표입니다.

셀렉트스타에서 제공한 학습 데이터를 이용하여 여러 object detection 알고리즘을 학습시키고 이를 기반으로 video tracker를 개발하고자 합니다. 저희가 직접 획득한 다양한 조명 환경, 장소, 시간, 유니폼 등 여러 환경을 가정하고 획득한 label 결과는 향후 AI 모델 학습에 큰 도움이 될 것으로 기대하고 있습니다.

About

눈으로 없는 승리의 요소를 찾아내어 현실로 연결합니다

셀렉트스타는 더욱 스마트한 인공지능을 위한 고품질 학습 데이터를 제공합니다. 본 데이터셋은 셀렉트스타가 주최한 인공지능 데이터셋 지원사업의 일환으로, 핏투게더과 협업하여 무료로 구축하였습니다.

핏투게더는 웨어러블 EPTS(Electronic Performance Tracking System) 기술을 기반으로 스포츠 선수들의 움직임을 정확하게 측정하고, 움직임 빅데이터를 인공지능으로 분석하여 스포츠 팀의 의사결정을 돕는 B2B 솔루션을 개발하는 회사입니다.

FIFA의 Quality 인증을 통해 글로벌 1위의 정확성을 인정받은 웨어러블 기술을 기반으로, 현재 전세계 35개국 약 250여개 축구팀에 솔루션을 공급하고 있습니다. 대한민국의 K LEAGUE를 포함, 7개국 11개 리그와 EPTS 파트너십을 체결하여 리그 단위 데이터를 다루고 있기도 합니다.

최근에는 기술력과 사업성을 인정받아 100억원 규모의 Series B 투자 유치를 성공적으로 마무리하였습니다. 이를 기반으로 영상 분석까지 기술 영역을 확장하고, Performance Management 시장에서 수집한 데이터를 활용하여 Talent Identification 시장과 Fan Engagement 시장까지 서비스를 확장하고자 합니다.

프로젝트 진행 소감

“기존 회사 내에서 담당자들이 직접 레이블을 제작하는 과정에서 겪었던 어려움은 너무도 많은 시간이 소요된다는 점과 레이블의 품질이 제각각이라는 점이었습니다.

그러나 셀렉트스타는 여러 프로젝트의 노하우를 살려 저희가 적절한 매뉴얼을 작성할 수 있도록 도와주셨으며 또한 데이터를 꼼꼼히 살펴서 많지는 않지만 발생 가능한 다양한 상황에 대한 의사 결정 로드맵을 작성할 수 있도록 도와주셨습니다. 덕분에 저희는 레이블 과정에서 발생할 수 있는 여러 가능성에 대해 적절한 가이드라인을 제시할 수 있었고 이는 만족스러운 품질의 레이블 데이터 생성으로 이어졌습니다.

또한 적지 않은 양의 데이터였음에도 불구하고 셀렉트스타의 크라우드소싱 시스템 덕분에 예상보다 훨씬 빠르게 데이터를 생성할 수 있었습니다. 마무리 단계에서 진행되는 검수 역시 철저하게 진행해주셔서 내부 연구원들의 만족도는 매우 높았습니다. 결과 파일 역시 데이터는 원하는 포맷으로 작성해주셔서 별도의 공수 없이도 편리하게 모델 학습으로 이어질 수 있었습니다. 저희의 프로젝트를 실현 가능하게 도와주신 셀렉트스타에 무한한 감사함을 표합니다.”

데이터셋 스펙

  • 상품 image data, bbox 좌표 및 카테고리가 있는 json 파일 (bbox 201,835개, 이미지데이터 11,150장)

  • 각 이미지 당 평균 18개의 bbox 작업 진행

데이터 수집 가공 방법

핏투게더에서 제공한 K리그 축구 영상 프레임컷을 바탕으로 축구 경기 영상 내의 오브젝트에 Bounding box 및 Labeling 작업을 진행했습니다.

축구 경기 영상 내에 있는 3개의 카테고리에 대해서 Bounding box 및 Labeling 작업 진행

  • 주요 작업 방법 : 셀렉트스타 크라우드 소싱 플랫폼 '캐시미션(웹)' 활용
  • 고객사로부터 받은 데이터셋(프레임컷)을 바탕으로 데이터 가공 기준 수립
  • 크라우드 유저를 위한 프로젝트 설계, 작업 가이드 및 튜토리얼 설정
  • 크라우드 유저를 통해 bounding box & tagging 작업 및 작업물에 대한 검수 작업 진행
  • 인하우스 작업자를 통한 최종 데이터 검수 작업 수행 및 납품

Data Collection

셀렉트스타의 크라우드소싱 플랫폼 '캐시미션(앱)'에서 크라우드 유저들이 축구 경기 화면 속 공과 사람들에게 박스를 그리는 미션을 직접 참여하여 일부 데이터의 수집 및 가공을 진행했습니다.

'캐시미션(웹)'에서 전문 가이드 팀이 작성한 크라우드 유저들의 미션 이해를 돕기 위한 가이드_ ‘축구 경기 화면 속 공과 사람들에게 박스를 그리는 미션’
'캐시미션(앱)'에서 전문 가이드 팀이 작성한 크라우드 유저들의 미션 이해를 돕기 위한 가이드

Sample Data

{
    "version": "4.5.6",
    "flags": {},
    "shapes": [
        {
            "label": "ball",
            "points": [
                [
                    3247.7059959500584,
                    1058.4013942895517
                ],
                [
                    3262.863940210376,
                    1073.5593385498694
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680567,
            "flags": {}
        },
        {
            "label": "others",
            "points": [
                [
                    3525.877492464004,
                    893.5767180596686
                ],
                [
                    3570.779877095685,
                    978.3923334750668
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680568,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3598.4121137921047,
                    933.8737299086134
                ],
                [
                    3632.5686285974007,
                    1024.8298423676604
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680569,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3751.924539883323,
                    758.4857830993964
                ],
                [
                    3787.6161789495313,
                    836.3933393406897
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680570,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3309.8666985169993,
                    757.930618955344
                ],
                [
                    3344.8792554366382,
                    832.7147211137965
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680571,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3177.974736528456,
                    859.9089400805065
                ],
                [
                    3225.5646197201986,
                    941.1516692435525
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680572,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3141.942396397565,
                    919.7362218072684
                ],
                [
                    3177.974736528456,
                    1005.058083815321
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680573,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3270.43508101527,
                    989.7613356465465
                ],
                [
                    3301.708432826986,
                    1078.8224027625217
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680574,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3040.7330941885934,
                    1148.8600503071298
                ],
                [
                    3081.621544619017,
                    1243.7796673777564
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680575,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2924.882484635726,
                    1019.8667245444833
                ],
                [
                    2957.4958915266593,
                    1116.7334106832252
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680576,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2847.203980334286,
                    1642.2220599798945
                ],
                [
                    2900.273585676678,
                    1762.8347993944217
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680577,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3609.476493434098,
                    1324.49364357934
                ],
                [
                    3648.0725700467465,
                    1433.3897168793133
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680578,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    3540.5549280543682,
                    1117.7289474401507
                ],
                [
                    3576.3941420518277,
                    1212.1514920103805
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680579,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2342.760696101341,
                    1223.0857057254482
                ],
                [
                    2379.6681943621866,
                    1330.9134947620355
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680580,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2763.94038213687,
                    871.378957592687
                ],
                [
                    2807.3609683261,
                    928.5493960751729
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680581,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2604.007889673207,
                    751.248669135818
                ],
                [
                    2635.125976442155,
                    832.3004300223802
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680582,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2203.091143859319,
                    877.1683690845844
                ],
                [
                    2247.235406485036,
                    967.6279236454797
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680583,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    2072.1057088551424,
                    935.7861604400446
                ],
                [
                    2109.736883552475,
                    1027.6930678739143
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680584,
            "flags": {}
        },
        {
            "label": "others",
            "points": [
                [
                    2196.5780559309346,
                    649.1882063713409
                ],
                [
                    2229.143495572857,
                    715.0648473114599
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680585,
            "flags": {}
        },
        {
            "label": "players",
            "points": [
                [
                    1401.3748108687116,
                    988.1678095592739
                ],
                [
                    1436.1637914889561,
                    1088.5963762554516
                ]
            ],
            "shape_type": "rectangle",
            "labels": [],
            "id": 14680586,
            "flags": {}
        }
    ],
    "imagePath": "video_01_000037.jpg",
    "imageWidth": 3840,
    "imageHeight": 2160,
    "imageData": null
}

활용분야

축구장 내 축구선수들 위치 정보 활용 AI

CC BY-SA 

복사, 배포 및 재가공 또는 2차 저작물을 만들 수 있으며, 반드시 저작자 및 출처를 표기하고 동일한 라이센스를 적용해야합니다.
https://creativecommons.org/licenses/by-sa/3.0/deed.en

축구장 이미지 데이터셋

GPS를 이용한 스포츠 IT 솔루션