모션 키포인트 검출 AI 경진대회

운동 | Keypoint Detection | 비전 | RMSE

  • moneyIcon Prize : 400만원
  • 836명 마감

 

Keypoint Detection을 위한 Augmentation

2021.02.21 14:06 9,055 Views language

데이콘 초급용 베이스라인 코드를 토대로 
Kaggle Facial Keypoint Detection의 'Data Augmentation for Facial Keypoint Detection' 코드를 본대회에 맞춰 수정해봤습니다.

Keypoint Detection의 경우,  Image Data Augmentation시  x,y 좌표값을 함께 바꿔줘야합니다.

해당 코드는 Colab Pro 환경에서 작성했습니다.

[코드] 데이콘 초급용 베이스라인
https://dacon.io/competitions/official/235701/codeshare/2371?page=1&dtype=recent&ptype=pub

Data Augmentation for Facial Keypoint Detection
https://www.kaggle.com/balraj98/data-augmentation-for-facial-keypoint-detection

Code
로그인이 필요합니다
0 / 1000
DACON.ZERO
2021.02.21 20:01

소중한 코드 공유 감사합니다!

육아데디데이터분석가
2021.02.21 22:30

코드 공유 감사드립니다. 덕분에 많이 배웠습니다.

윤기석
2021.02.24 03:39

augmentation, from_generator, modeling까지..... 이건 매우 귀하군요

동준이
2021.02.25 22:24

코드 감사드립니다. 좌우 반전 함수에 대해 한 가지 질문드릴 게 있습니다. 
left_right_flip 함수를 적용하여 augmentation 결과를 확인해 보았습니다. left_right_flip 함수는 이미지 자체를 flip하고, target coordinate 중 x 좌표 또한 flip하여 return 합니다. 
예를 들어 설명 드리겠습니다. 기존 이미지의 왼손은 flip된 이미지에서 '오른손'으로 나타납니다. 하지만 그 '오른손' 좌표는 flip된 target coordinate의 '왼손'인덱스에 담깁니다. 
따라서, 위의 implementation 이후에, 좌우 관계가 존재하는 coordinate의 짝(왼발목-오른발목, 왼눈-오른눈 등..)끼리 coordinate를 바꿔야 한다고 생각합니다. 제 설명이 이해가 되시나요..ㅎㅎㅎ? 답변 주시면 감사하겠습니다.

무지
2021.02.26 15:38

네 안녕하세요. 좋은 지적 감사드립니다.
캐글 게시글 중 'Data Augmentation for Facial Keypoint Detection'을 수정하면서
포인트를 이미지에 맞추는데 초점을 두다보니 xy coordinates에 대한 고려가 부족했네요.
해당 부분은 말씀해주신대로 수정했습니다.

밍구
2021.02.27 15:08

삭제된 댓글입니다

밍구
2021.02.27 17:47

train.csv를 생성하는 과정에서 train_df = train[train['image'] 의 train은 어떤것을 의미하는 것일까요?

무지
2021.02.27 22:23

네 안녕하세요

train_df = train[train['image'].isin(train_filename)]
이 부분을 말씀하시는걸로 알고 답변드리겠습니다.

위에서부터 천천히 코드를 보시면 
train = pd.read_csv('./train.csv')에 의해
train은 train.csv를 읽어들인 DataFrame입니다.

따라서 train[train['image'].isin(train_filename)]은
train['image'] 컬럼에서 train_filename에 해당하는 row들을
train에서 뽑아내는 것이라고 이해하시면 될 것 같습니다.

킹왕짱정혁
2021.03.04 16:02

좋은 코드 공유 정말 감사합니다!