티스토리 뷰

대회

[제1회 k-digital training 해커톤] 대상 수상!

무엇보다_빛나는_샤트 2022. 2. 15. 00:50

2021.8.17 03:23

안녕하세요

프로그래밍을 배우는 빛나는 샤트입니다.

 

고용노동부 프로그램 중 하나인 k-digital training을 통해 IT교육을 받은 인원을 대상으로 한 k-digital training 해커톤 대회에서 너무나 감사하게도 대상(고용노동부 장관상)을 수상한 간략한 내용을 적어보겠습니다.

*바쁜 일정으로 달려오다보니 요약만 적도록 하겠습니다.

 

0. 대회명: 제1회 k-digital training 해커톤

*k-digital trainig: 4차 산업 인재를 육성하는 한국판 뉴딜 프로젝트. 디지털 리터러시를 갖춘 휴먼 엔지니어를 양성하는 국비 지원 교육 &훈련 프로그램. 모두의 연구소, 앨리스, 멋쟁이 사자처럼, 코드스테이츠, 프로그래머스 등 다양한 교육기관이 참여함.

*2020년 하반기부터 교육을 시작해 각 교육기관마다 교육기관이 다르지만 대략 교육이 종료되는 시점으로 생각되는 7월에 대회가 진행됨.

*대회 관련 링크: 디지털 신기술 실무인재양성 해커톤

 

디지털 신기술 실무인재양성 해커톤

고용노동부 K-Digital Training 훈련 참여생들의 디지털 신기술 분야 역량 발휘 해커톤. 한국기술교육대학교, 직업능력심사평가원.

www.k-digitalhackathon.kr

 

1. 일정

1) 신청기간: 2021.05.26 ~ 2021.06.25

2) 참가팀 선정: 2021.06.30

3) 온라인 OT: 2021.07.02

4) 온라인 해커톤(온라인 멘토링 포함), 예선: 2021.07.08 ~ 2021.07.14

5) 예선 심사 결과(서류 심사): 2021.07.16

6) 본선 심사(온라인 발표): 2021.07.21

7) 시상식: 2021.07.29

 

2. 주제: 한국판 뉴딜의 실현을 돕는 서비스나 앱 개발

디지털 뉴딜, 그린 뉴딜, 안전망 강화 3대 분야별로 제시된 다양한 과제들의 실천을 위한 신규 아이디어 발굴 및 디지털 결과물 도출

 

3. 팀 구성

- k-digital training 중 모두의 연구소 산하 AI교육기관인 AIFFEL 대전 1기로 참가해서 각 포지션별로 적합한 인원들로 팀빌딩

- 팀장으로서 목표 설정, 일정 관리, 방향 검토, 영상 처리 등을 담당했다.

 

4. 주제 선정 및 팀 이름 선정

1) 주제는 다양한 아이디어가 있었지만 '취약계층의 디지털 접근성 강화'의 주제를 중심으로 잡고 '한국 수어와 한글의 올바른 번역 시스템 구축'으로 선정했다.

2) 팀 이름은 '청(聽)개구리'라고 지었고, 잘 들어주고 한국 수어와 한글을 반대로 잘 변환시켜주는 의미를 내포하고 있다.

3) 그리고 작년 해커톤 대상의 기운을 받아 이번에도 '대상 수상!'을 달성해보고자 했다!

(팀 빌딩할 때도 이런 나의 포부를 함께할 팀원들과 함께 했다.)

 

5. 진행 방향 및 구조

1) 우리의 시스템은 총 2가지로 볼 수 있다. 첫 번째는 농인의 수어 영상을 한글로 변환하는 것, 두 번째는 청인의 음성/텍스트를 한국 수어 문법에 맞게 번역해 영상으로 변환하는 것 (아래 구조도 참고)

청(聽)개구리 시스템 구조도 요약

2) 농인 파트(수어 영상 → 한글 문장)

- 농인의 수어 영상을 입력하면 행동 인식(Gesture Recognition)을 이용해 어떤 수어 단어인지 인식하고 수어 단어를 이용해 한글 문장으로 변환해 출력하는 구조이다.

농인 수어 영상 → 한글 문장

 

3) 청인 파트(한글 문장 → 수어 영상)

- 청인의 음성(입력이 음성이라면 STT를 이용해 텍스트로 변환) 또는 텍스트를 수어 문법에 맞게 번역하고 해당하는 수어 단어에 맞는 영상을 재조합해 출력하는 구조이다.

청인 한글 문장 → 수어 영상

 

4) 데이터

- 행동 인식: 다행히 AIHUB에 수어 데이터가 공개되어 있어서 이용했다. 다만 용량이 매우 커서(총 3TB) 크라우드소싱이나 가상데이터는 제외하고 실제 사람을 촬영한 영상만 사용했다. 대략 500GB는 사용한 것으로 추정됨.

- 자연어 처리: 올바른 번역을 위해서 AIHUB에 한글 ↔ 한국 수어 매칭되는 자료를 요청했다. 한글 문장과 그에 해당하는 한국 수어가 있어야 그 둘의 상관관계를 학습해 올바른 번역을 할 수 있기 때문.

 

5) 역할 분담

이름 역할
양창원 Animation 및 출력 수어 영상 처리
김강태 행동 인식
김인유 STT, 자연어 처리 모델
이경원 웹 구현
조웅제 자연어 처리 모델

 

6) 일정 관리

- 스프레드시트를 이용해 WBS를 작성해 각자 달성해야할 목표를 설정하고 본인이 스스로 목표를 달성하도록 유도함.

- 물론 시스템이 꽤 거대했기 때문에 시간이 부족한 점도 분명했음.

- 나중에는 MVP를 보여주기 위한 일정을 세워서 하루 단위로 운영함.

일정 관리를 위한 화이트보드

6. 프로젝트 주요 기능

1) 농인 파트: 수어 영상을 입력해 한글 문장으로 변환

- Skeleton Aware Multi-modal Sign Language Recognition

- 기존의 RGB data만 활용한 gesture recognition과는 다르게 keypoints을 추가로 활용한 multi-modal model
SL-GCN : attention mechanism을 활용한 graph convolution network
SSTCN : keypoints를 feature로 활용한 convolution network

학습시킬 수어 dataset을 가장 잘 적용시킬 수 있을 뿐더러 multi-modal model이기에 짧은 프로젝트기간 중 적합한 model만을 선택해 사용하기에 용이.

농인 파트 시연1(안녕하세요, 1호선을 타려면 어디로 가야하나요?)
농인 파트 시연2(서울대 방향으로 가려면 어떻게 가야하나요?, 감사합니다)

 

2) 청인 파트: 한글 문장을 입력해 수어 영상으로 변환

- 한글 문장을 학습한 seq2seq 모델에 입력해 대응되는 한국 수어 형태소 리스트로 변환

- 데이터베이스에 있는 수어 영상을 재조합해서 하나의 영상으로 제작

- 또는 애니메이션으로 표현(제한적인 표현만 가능)

예시) 입력: '여기서 1호선을 탈 수 있습니다.' → ['여기', '1호', '되다'] → 영상 재조합

한글 문장 → 수어 영상 변환 결과

 

7. 결과

- 말하는 대로 이뤄진다고 했던가...! 바로바로 '대상(고용보동부 장관상)'을 수상했다!!

- 상금 200만원(너무 적다)도 함께.

 

8. 돌아보며...

- 교육을 받던 도중(사실 5/10 ~ 6/18은 마지막 프로젝트 기간이어서 정신이 더욱 없던 시기였다.) 해커톤 소식을 듣게 되었고 05/26에 접수가 시작되어 하루 빨리 개발을 시작하고 싶었다.

- 6월 초에 팀 빌딩을 위해서 거의 2주의 시간을 보냈고 6/22(교육 종료일)까지 겨우 주제만 선정된 상태였다.

- 다행히 주제가 정해지고 교육이 종료된 후 신청서를 빡세게 쓰기 시작했고 6/23~24 이틀동안 신청서를 완성했다.

- 그리고 비록 6/30에 참가팀이 발표 예정이었지만 우리는 28일부터 모여서 시작했다. 그 기간에 2명은 따로 교육을 들어야하는 시간이 있어서 5시 정도에 합류했지만...그래도 3일만 하는거여서 다행.

- 그리고 6/30에 당연하게도 우리는 참가팀에 선정되었다.

- 남은 기간은 고작 2주...잘할 수 있을지 자신은 부족했지만 잘 해낼 것이라는 확신은 있었다.

- 짧은 기간만큼 나름 목표 달성을 위해 다양한 방안을 제시했다. 하지만 내 욕심이 컸던 것인지 팀원들의 반응이 조금 좋지 않음을 느꼈다. 팀원 한 명과 솔직한 대화를 했는데 내가 조금 밀어붙이는 경향이 있다고 말해줬다. 그렇게 말해줘서 고마웠고 템포를 조금 조절해보기로 했다. 난 결국 우리가 뭔가 해냈다는 점을 보여주고 싶었지만 그러기 위해서는 좀 더 시간이 필요하다는 점을 배웠다. 그래도 역시 해내야 하는 것은 변함없었기에 전보다는 약하지만 목표 달성에 대해 계속 이야기했다.

- 생각의 방향이 다르면 참 어렵구나를 느꼈다. 몇명은 당연히 이렇게해서 저렇게 되겠지라고 생각하지만 몇명은 당연히 저렇게해서 이렇게 되겠지라고 생각했었던 순간이 있었다. 이런게 의사소통능력이 아닐까 다시 한 번 느꼈다. 초반의 이런 분위기를 감지해서 좀 더 명확하게 하고 넘어가려고 주변에 있는 화이트보드, 노션, 슬랙 등을 이용해 정해진 사안에 대해서 강조 또 강조했다. (그래도 잘 되지 않는 것은 어쩔 수 없는 것이라고 생각한다.)

- 이러한 경험을 통해서 팀으로 일하는 것에 대해 많은 것을 느끼고 팀장의 역할에 있어 보강할 점을 찾아서 값진 순간이었다. 그리고 점점 합이 맞아가서 결국 결과물을 만들어냈다!

- 이번 대회는 온라인 멘토링을 최대 3회 할 수 있었는데, 처음에는 전체 방향을 위한 한 기업의 CTO와 진행했고, 두 번째는 기술적인 부분과 사업적인 부분 등에 대한 조언을, 그리고 마지막은 기술적인 부분과 전체적인 조언을 구하는 방식으로 진행했다. 멘토링은 꽤 의미있었다고 생각하고 생각하지 못했던 부분과 우려했던 부분을 다시 한 번 짚어줘서 좋았다.

- 2주 간의 개발 기간동안 참...데이터 때문에 많이 고생했다. 용량이 크다보니 처리하는 방법이 어려웠는데 내 컴퓨터 3대(데스크탑2대, 노트북1대)를 모두 활용했고, 구글 드라이브 2TB 1달 사용권을 이용했다. 진짜..지금 다시 생각해도 참 이런 부분 내가 참 고생했다...(아무도 모르겠지)

- 본선에 진출한다면 일단 상은 확보! 왜냐하면 발표를 통해서 순위를 가리는 것이기 때문! 그리고 당연하게도 우리팀은 본선에 진출하게 된다. 강력한 라이벌인 Sim2Data를 이기면 된다!(Sim2Data는 AIFFEL에서 함께 교육을 받은 다른 팀인데 아이템도 좋고 결과물도 괜찮아보였다.)

- 본선 발표는 당초에 오프라인(서울 노들섬)으로 진행할 예정이었지만 코로나가 매우 심각해져서 온라인으로 진행했다. 그리고 시상식은 따로 진행한다고 했다. 하지만 본선 발표 심사 결과는 당일 오후 6시에 문자로 고지해준다고 했다.

- 그리고 시상식은 발표 1주 뒤인 2021.07.29에 서울 노들섬에서 진행!

- 발표는 2시에 시작해 발표 7분 + 질의응답 3분으로 진행했다.

- 모든 발표가 끝나고 나니 오후 4시 정도가 되었고 오후 6시가 조금 넘어서 대상 문자를 받았다. 그제서야 '해냈다'라는 안도감과 '처음에 했던 약속을 지켰다'라는 뿌듯함이 밀려왔다. 물론 근거가 있는 멘트였지만.

- 우리팀 개개인의 능력과 열정, 끈기를 미리 알고 있었고, 대회 취지에 맞는 주제 선정 그리고 간결한 발표. 모든게 잘 어울어져서 잘 끝낼 수 있었다.

- '해보자. 할 수 있다'라는 생각으로 시작한 대회. 팀빌딩부터 정말 마음고생 심했고 진행하면서도 잘 되지 않으면 어쩌지 하는 마음에 잠도 잘 자지 못했다. 3주 동안 입 안은 이미 헐어있었고 잠자고 밥먹는 시간 빼면 정말 몰두했다. (어떤 날은 씻지도 않고 하루종일 있었다.) 가장 우려했던 것은 내가 하자고 모아서 참여했는데 아무 성과가 없으면 어떻게 하지? 라는 두려움이었다. 하지만 나는 나를 믿었고 우리 팀을 믿었다. 가장 높은 곳을 바라보고 같이 달려온 우리 팀원들에게 모두 감사하며 그 중에서도 나에게 가장 큰 격려를 보내고 싶다. (마음고생 너무 심했다고ㅠ)

 

[Team 청(聽)개구리 Leader 양창원] a.k.a 샤트

Team 청(聽)개구리 Leader 양창원

 

9. 발표 자료 및 관련 기사

- 시연 영상

1) 농인 수어 영상 → 한글 문장

2) 청인 한글 문장 → 수어 영상

 

3) 해커톤 기사

고용노동부 보도자료

 

내일을 위한 고용노동부 - 고용노동부가 밝은 미래를 열어드립니다

제목 인문계.비전공자도 개발자가 될 수 있다! 등록일 2021-07-29  조회 1332  ’21년 제1회 ‘케이-디지털 트레이닝’ 끝장개발대회(해커톤) 시상식 개최 대통령상에 심투데이어(Sim2Data)팀 등 총 7팀

www.moel.go.kr

 

 

LIST

'대회' 카테고리의 다른 글

[제7회 대한민국 SW융합 해커톤 대회] 대상 수상!  (0) 2022.02.15
댓글