유튜브에서 개발에 대한 이야기를 해주는 채널을 구독하고 틈틈히 시청하면서 정보를 얻고 있습니다.

그 중에 큰돌의 터전이라는 채널이 있는데, 인프런 및 유튜브에서 CS 강의와 알고리즘으로 유명하신 분이죠!

그 분의 채널을 구독하면서 있다가 한 영상을 보게 되었습니다.

https://youtu.be/WjDtJ4UnWDs

 

오픈소스에 컨트리뷰터가 되는 것은 개발자로서 좋은 기회라고 생각했습니다.

전부터 해보고 싶었지만 도저히 엄두가 나지 않았었습니다.

정보통신산업부(NIPA)가 주관하여 2022 오픈소스 컨트리뷰션 아카데미를 진행한다는 사실을 알고 지원할 수 있었습니다.

 

기존 경험이 없고 난이도도 높아 보였습니다. 준비가 부족했던 터라 떨어질수도 있다는 생각으로 지원했습니다.

다행히도 선정되어 활동할 수 있는 기회를 얻게 되었습니다!

새로운 개발 모임에서 실력 있는 개발자 분들을 많이 만날 수 있는 기회라고 생각했습니다.

 

지난 번 데이크루를 했던 것처럼 주차별로 활동 내역을 기록해보려고 합니다!

제가 지원한 분야는! 파이토치 튜토리얼 번역!

https://github.com/PyTorchKorea/tutorials-kr

 

GitHub - PyTorchKorea/tutorials-kr: 🇰🇷파이토치에서 제공하는 튜토리얼의 한국어 번역을 위한 저장소

🇰🇷파이토치에서 제공하는 튜토리얼의 한국어 번역을 위한 저장소입니다. (Translate PyTorch tutorials in Korean🇰🇷) - GitHub - PyTorchKorea/tutorials-kr: 🇰🇷파이토치에서 제공하는 튜토리얼의 한국어

github.com

 

지원한 이유는 인공지능 개발자로서 현존 가장 유명한 프레임워크인 파이토치를 항상 가까이 해야한다는 생각이었고, 공부에 강제성을 부여하기 위해서 도전하게 되었습니다.

번역은 한 번도 해보지 못 했지만, 번역기의 도움을 받아 도전해볼 수 있을 것 같았습니다.

오픈소스에 기여하는 첫 번째 과정이고, 이를 시작으로 더 많은 오픈 소스에 기여할 수 있게 되면 좋겠습니다.

 

\

[느낀점]

  • 혼자서 공부했다면 의지가 약해질 수 있었지만, 데이크루 2기를 통해서 만나게 된 POS 팀원들과 함께 Opencv를 공부할 수 있어서 책임감을 가지고 공부할 수 있었다. 공부의 강제성을 부여하는 것이 나태해지지 않는 방법인 것 같다.
  • OpenCV에 생각보다 다양한 함수를 제공하고 있다는 것을 알 수 있었다. 미니 프로젝트를 하면서 전에 실험해보고 싶었던 부분이었던 좌표 정규화와 벡터 정규화의 성능 차이를 확인하기 위해 실험을 해 볼 수 있었다.
  • 데이콘 서포터즈로 활동하면서 데이콘 홈페이지에 좀 더 자주 접속하게 되고 관심을 더 가질 수 있었다. 데이콘을 자주 접속하게 되면서 대회도 참여해보게 되고, 예제 코드를 보면서 공부를 할 수 있었다. baseline이 정말 자세히 잘 되어 있어서 사용하기 편리했다. 데이콘 관계자 분들이 페이지 홍보 활동을 위해서 많이 신경을 많이 쓰고 계신 것 같다.
  • 데이콘에서 제공해주신 활동비로 대전에서 1번, 서울에서 1번 팀원들을 대면으로 만날 수 있었다. 그 덕분에 훨씬 더 친해질 수 있었고, 게시물 작업과 프로젝트도 수월했던 것 같다. 생각보다 지원금이 넉넉해서 부족함 없이 사용할 수 있어서 좋았다.
  • 데이크루 활동에서 만난 인연을 이어 데이터 분석 프로젝트인 데이터 멘토링에도 서류 지원하게 되었다. 만약 선정된다면, 다른 프로젝트도 같이 해보고 또 만나서 대면으로 미팅할 수 있을 것 같다.
  • 앞으로도 공부의 강제성을 부여하기 위한 개발자 소모임을 이어나가고, 지원 사업을 열심히 참여해서 새로운 개발자 관계도 만들어야겠다. 개발자로서 함께 성장할 수 있도록 서로에게 좋은 영향을 줄 수 있을 것이다.

[회의일시]

- 2022년 06월 18일 오후 16시30분 ~ 18시00분까지 비대면 회의 진행

 

[활동 내용]

- 두 번째 미니프로젝트 준비 회의(UNet Semantic Segmentation)

- 3가지 실험과 게시글 작성

 

[데이콘 12주차 콘텐츠]

https://dacon.io/codeshare/5185

 

[🔥포스🔥] Segmentation Modeling(1) (U-Net, OpenCV 적용)

 

dacon.io

https://dacon.io/codeshare/5186

 

[🔥포스🔥] Segmentation Modeling(2) (ResU-Net, OpenCV 적용)

 

dacon.io

https://dacon.io/codeshare/5197

 

[🔥포스🔥] Segmentation Modeling(3) (RPA-ResU-Net)

 

dacon.io

 

[느낀점]

- 데이크루 마지막 활동으로 두 번째 프로젝트인 Segmentation 실험을 진행하였다. 데이터는 2018 Data Science Bowl 이라는 세포핵 데이터를 활용하여 Segmentation Task를 진행하는 것이다. 정환님께서 Unet Network를 pytorch로 baseline 코드를 작성해주셔서 코드를 한 줄 한 줄 읽어보며 실험을 진행했다.

- 주요 실험 내용은 데이터 전처리를 전혀 하지 않은 것과 Unet 논문에 있는 전처리를 적용하는 것, OpenCV를 활용하여 전처리를 적용하는 것의 성능 비교를 한 것이다. 우리팀이 OpenCV를 주로 공부한 팀이라 최대한 프로젝트에 OpenCV를 녹여서 해보려고 했는데, 결과는 좋지 않았다. 의외로 전처리를 하지 않을 것이 성능이 높았다.

- 아마도 학습데이터를 검증데이터로 분리하여 사용하면서 학습데이터와 큰 차이가 발생하지 않았지만, 테스트 데이터가 달랐다면 실험 결과가 달라졌을 수도 있을 것이다. 캐글 데이터에서 Test 셋은 있었지만, 성능 측정을 위해서는 정답 데이터가 필요했는데, 라벨링이 안 되어 있어서 학습데이터에서 검증데이터를 분리하여 실험할 수 밖엔 없었다. 

- 바쁜 와중에 팀장님이 정말 고생해서 게시글을 작성해 주셨다. 팀장의 깜냥이란... 역시 듬직한 팀장님이었다. 주에 1개의 게시글을 작성하다가 마지막 주에 몰아서 3개의 게시글을 작성하니 역시 분량이 상당했다. 실험 과정은 비슷했지만, 실험 하는 과정에서도 많은 시간이 소요되었다.

- Residual Unet 게시글의 초안을 작성했는데, 팀장님 기대에 못 미쳐서 아쉬운 소리를 하셨다. 팀장님도 마음이 급했기 때문에 그랬을 것이다 생각하면서도 내가 더 꼼꼼하게 작성했어야 했다는 생각을 하게 된다. 내가 팀장을 했을 때와 다른 사람이 팀장을 했을 때, 다른 태도를 취해선 안된다라는 생각을 하게 된다. 

- 데이크루 활동이 끝나고 데이터 멘토링 활동을 다같이 신청했다. 이번에도 팀장은 아니지만 팀장의 마음으로 팀을 리드하고 좋은 영향을 줄 수 있도록 노력할 것 같다. 기회가 된다면 데이터 멘토링도 게시글을 작성해서 블로그에 활동 일지를 써봐야겠다.

 

[해야할 것]

- 데이크루 2기 수료

- 데이터 멘토링 신청

 

[회의일시]

- 2022년 06월 11일 오후 16시30분 ~ 18시00분까지 비대면 회의 진행

 

[활동 내용]

- 9장 머신러닝 세미나 발표(SVM 및 HOG)

- 데이크루 이후 활동 계획, 데이터 멘토링 신청

- 두 번째 미니프로젝트 준비 회의(UNet Semantic Segmentation)

 

[데이콘 11주차 콘텐츠]

https://dacon.io/codeshare/5146?page=1&dtype=recent&fType 

 

[🔥포스🔥] 8편. OpenCV과 머신러닝편(1)(K-means, K-NN, SVM)

 

dacon.io

 

[느낀점]

- 데이크루가 거의 마지막 주차가 다 되었다. 이번 주 콘텐츠로 내가 세미나 발표를 한 SVM 내용이 들어가게 되었다. SVM도 고전적인 방법일 수 있지만 종종 사용되는 것 같아서 이번 기회에 리마인드 한다는 생각으로 열심히 공부하게 되었다. 추후 다른 프로젝트에 충분히 응용해 볼 수 있을 것 같다.

- 시험 기간과 함께 다른 일정들이 있어 팀원들이 많이 모이지 못했지만, 세미나를 성공적으로 발표하고 최종적으로 콘텐츠를 보완하여 팀장님께 전달했다. 우리 팀원 모두 바쁜 시간을 잘 쪼개서 만나고 매주 게시글을 올려야 한다는 그런 하나의 목표를 가지고 공부를 하니 확실히 혼자서 하는 공부보다 책임감을 가지고 하게 되고 효율적이기도 한 것 같다.

- 3기 팀장을 해보려고 했지만, 취업을 위해서 좀 더 시간 투자를 해야할 것 같아 다음 기회로 미루기로 했다. 취업하고 자리를 잡으면 언젠간 팀장으로 역할을 잡고 같이 공부할 사람들을 모아서 해도 좋을 것 같다. 최근에는 정말 좋은 공부 프로그램들이 많다. 새롭게 만난 사람들과 한 번 더 도전할 수 있을 것 같아서 기대가 된다.

- 데이크루가 거의 끝이 났다. 그러면서 처음하기로 했던 OpenCV 책은 정독은 아니어도 한 번 훓어볼 수 있었고, 미니 프로젝트를 한 것이 기억에 남는다. 이번 주 일요일까지 마지막 게시물을 작성할 예정인데, 최대한으로 콘텐츠를 쥐어짜 내서 좋은 내용으로 마무리 할 수 있으면 좋겠다.

- 이번에 데이크루를 함께 해준 우리 POS 팀원들에게 고맙고 감사하다. 미니 프로젝트 하면서 내가 원하는 결과를 도출하기 위해 조금 귀찮은 것도 많이 요청했는데 팀원들이 잘 따라줘서 의미 있는 결과를 도출할 수 있었다. 나중에 면접에서 데이크루에 대해서 이야기한다면 미니프로젝트 한 내용을 말할 수 있을 것 같다. 

 

[해야할 것]

- 두 번째 미니 프로젝트 실험 정리, 코드 보완

 

 

이제 마지막 POS팀의 콘텐츠가 기재됩니다!

많은 관심 부탁드립니다!! 

 

[회의일시]

- 2022년 06월 04일 오후 15시00분 ~ 21시00분까지 대면 미팅 진행(서울)

 

[활동 내용]

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

- 데이크루 이후 활동 계획

- 취업정보 및 공모전 정보 공유

 

[데이콘 10주차 콘텐츠]

https://dacon.io/codeshare/5106

 

[🔥포스🔥] 6편. OpenCV 영상매칭과 추척편

 

dacon.io

 

[느낀점]

- 서울에서 대면 미팅을 진행했다. 지난 번 대전 대면 미팅에는 정환님께서 참여할 수 없어서 서울 쪽으로 모이면 정환님을 만날 수 있을 줄 알았으나, 아쉽게도 다른 일정과 겹쳐 모임을 갖지 못했다. 그래도 대전에서 한 번 만났다고 처음보다 훨씬 친근한 데이크루 포스 멤버들을 만나 근황에 대해서 이야기를 나눴다.

- 프로그래머스 데브 매칭에 합격했다는 내용을 공유했고, 다른 팀원들은 공모전에 나간 이야기, 중간 고사를 캐글 컨피티션으로 하고 있는 이야기와 데이터 직무 인턴 합격 등 서로의 근황을 알 수 있었다. 오랜만에 만나 서울 카페에서 맛있는 디저트를 시작으로 맛있는 저녁 식사도 함께 하였다. 시간이 길지 않아서 바삐 움직여 더운 날 땀을 흘리며 돌아다녔다. 홀리 몰리 과카 몰리가 기억에 남는다.

- 두 번째 미니 프로젝트가 사실 조금 걱정이다. 파이토치로 UNet을 구현하는 것과 다른 네트워크 모듈을 추가하는 것 사실 특별하지 않다고 생각되지만, 코드를 한 줄 한 줄 뜯어서 공부를 하면 정말 도움이 많이 될 것 같다. OpenCV로 Augmentation 하자는 의견이 있었는데, 실험해보고 성능이 얼마나 증가하는지 속도 차이는 얼마나 있었는지에 대한 내용이 추가 되면 좋을 것 같다. 하지만 팀원들 모두 바쁜 상황인데, 잘 마무리 될 수 있을지 걱정이 된다.

- 데이크루가 끝이 나도 7월 중순 정도에 부산에서 만나자고 약속을 하고 헤어지게 되었다. 과연 만날 수 있을지 잘은 모르겠지만, 되는 사람들이라도 만나서 근황을 나누고 데이크루로 만난 인연을 잘 유지하면 좋겠다. 개발자로 근무하다 보면 서로에게 필요한 상황이 될 수 있고, 좋은 근무자리를 서로 추천할 수도 있을 것 같다. 아니면 아주 작더라도 서로에게 좋은 인사이트를 주는 개발자로서의 좋은 관계로 마무리 되면 좋을 것 같다.

 

[해야할 것]

- 두 번째 미니 프로젝트 아이디어 구상

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

[회의일시]

- 회의 미실시

 

[활동 내용]

- 2022 프로그래머스 머신러닝 데브매칭 과제 테스트

- Opencv ML 세미나 준비

 

[데이콘 9주차 콘텐츠]

https://dacon.io/codeshare/5072?page=1&dtype=recent&fType 

 

[🔥포스🔥] 6편. OpenCV 영상분할편

 

dacon.io

 

[느낀점]

- 프로그래머스 과제 테스트를 봐야해서 팀원들에게 양해를 구하고 모임을 미뤄야 했다. 과제테스트를 처음해 봤는데, 구글링이 가능해서 열심히 코드를 복붙해서 과제를 제출했는데, 다행히도 1차 과제 심사는 합격이다. 면접 기회를 얻을 수 있다면 좋겠는데, 아직 연락은 없다. 서류 탈락인가,,

- 대면 미팅을 하게 되면 세미나도 진행하고 두 번째 미니프로젝트도 진행해야하는데 요새 프로젝트 및 해커톤 등으로 일정이 너무 바빠서 준비를 거의 하지 못했다. 서울에서 대면 미팅을 하게 되면 유익한 시간이 될 수 있도록 준비를 잘 해야한다.

- 이번 주 데이크루 포스팅에는 내가 세미나 발표 했던 부분이 게시되었다. 코드는 거의 책에서 가져오지만 조금씩 변형하면서 실험하고 어떤 것들이 반영되는지 확인하는 것만으로도 opencv에서 지원하는 것들을 알 수 있어서 좋았다. 프로젝트 진행하면서 opencv도 많이 사용하게 되는데 확실히 도움이 된다.

 

[해야할 것]

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

 

[회의일시]

- 2022년 05월 22일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 매칭과 추적 발표(강수연, 이태범)

2. 두 번째 미니 프로젝트 발표(이정환)

  - 미니 프로젝트 개요 및 계획 설명

  - 대면 미팅 전 공부해야할 것 (UNet, Attention Network, Annotation method)

3. 첫 번째 미니프로젝트 두 번째 게시물 작성 계획 공유

  - 테스트 데이터셋 재구축

 

[활동 내용]

- 테스트 데이터셋 재구축 계획 전파, 테스트 데이터 재촬영

- 이태범 팀원과 두 번째 게시글 작성을 위한 회의, 실험 범위 분할

- 정규화 내용에 대한 게시글 초안 작성, 팀장 검토 후 보완

 

[데이콘 8주차 콘텐츠]

https://dacon.io/codeshare/5006?page=1&dtype=recent 

 

[🔥포스🔥] Multi-Hand Gesture Recognition(2)(벡터 정규화, 위치 정규화)

 

dacon.io

 

[github code share]

https://github.com/updaun/HandGestureRecognition

 

GitHub - updaun/HandGestureRecognition: HandGestureRecognition

HandGestureRecognition. Contribute to updaun/HandGestureRecognition development by creating an account on GitHub.

github.com

 

[느낀점]

- 예전에 알고리즘을 활용해서 제스쳐 분류를 했을 때, 제스쳐를 하나 추가할 때마다 조건문 사이에 간섭이 일어나 동작을 추가하기 어려웠다. 하지만 인공지능을 활용하여 데이터를 구축하면 보다 쉽게 제스쳐를 추가할 수 있다는 메리트가 발생하게 되었다. 전부터 시간이 나면 혼자서라도 코드 업데이트 해야지 했던 것을 데이크루에서 팀원들과 같이 할 수 있어서 좋았다.

- 인공지능사관학교 시절 한 손 제스쳐 모델인 지화 모델 제작 프로젝트에서 정규화를 적용할 때, 좌표 정규화와 벡터 정규화를 나눠서 실험을 진행했고, 실험 결과 좌표 정규화가 잘 나왔던 경험이 있었다. 그래서 이번 양손 제스쳐에서도 좌표 정규화가 잘 나올 것이라 생각했는데, 벡터 정규화가 성능이 더 잘 나와서 신기했다. 아마 양 손으로 변경된 점, 모델 네트워크 구조 변경으로 데이터 정규화에 영향을 미친 것 같다. 과적합 방지를 위해 모델 구조를 변경하면서 데이터 정규화의 효과가 크게 나타나지 않았지만, 전에 했던 프로젝트에서는 효과가 엄청났었다. 이번 기회를 통해 데이터 전처리도 중요하고 모델 네트워크도 복합적으로 영향을 준다는 사실을 체험할 수 있었다.

- 데이크루 활동을 하면서 OpenCV 공부를 하게 되니 네이버 부스트캠프 프로젝트를 진행하면서 확실히 도움이 되는 것 같다. 간단한 opencv 코드는 금방 작성할 수 있게 되었다. 예를 들어 비디오를 불러와 사진으로 모두 저장하는 코드를 간단하지만 팀원들 앞에서 라이브 코딩을 하게 되었다. Computer Vision Task에서 시시때때로 opencv가 등장하기 때문에 분명 좋을 것이라는 생각으로 시작한 것이 잘한 일이라고 생각한다. 데이크루 3기 팀장으로 다음 기수를 이끌어 볼 수 있을지 모르겠다.

- 데이크루 덕분에 블로그에 게시글을 주에 1개씩을 올릴 수 있어서 좋다. 내 블로그의 취지는 에러를 만날 때마다 글을 작성하여 다른 개발자들에게 도움을 주는 것이었는데, 요새 에러를 많이 아주 많이 만났지만, 시간을 내서 기록하지 못했다. 기록 해야지 해야지만 하고 아직 못 하고 있는데, 작은 것이라도 기록하려고 노력해야 한다. 내 머리를 믿어선 안 된다. 열심히 기록해두고 나중에 오답노트처럼 활용해야 한다.

 

[해야할 것]

- 두 번째 미니프로젝트 공부하기(새로운 데이터로 학습시켜보기, attention network 공부하기)

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

 

[회의일시]

- 2022년 05월 14일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 분할 발표(전다운, 허지혜 팀장)

2. 두 번째 미니 프로젝트 발표(허지혜 팀장)

  - UNet의 네트워크 구조

  - UNet을 활용한 Semantic Segmentation Baseline code review

3. 첫 번째 미니프로젝트 게시물 작성 계획 공유

 

[활동 내용]

- 영상 분할 세미나 발표 준비

- 첫 번째 미니 프로젝트 게시글 게재를 위한 추가 회의 진행

- 허지혜 팀장님과 첫 번째 프로젝트 UI 제작 관련 회의 진행

 

[데이콘 7주차 콘텐츠]

https://dacon.io/codeshare/4956?page=1&dtype=recent 

 

[🔥포스🔥] 첫번째 프로젝트, Multi-Hand Gesture Recognition

 

dacon.io

 

[github code share]

https://github.com/updaun/HandGestureRecognition

 

GitHub - updaun/HandGestureRecognition: HandGestureRecognition

HandGestureRecognition. Contribute to updaun/HandGestureRecognition development by creating an account on GitHub.

github.com

 

[느낀점]

- 세미나 준비를 위해 영상 분할을 공부하였는데, 역시 세미나의 힘은 대단했다. 공부에 강제성을 부여할 수 있었고, 내 발표 파트를 집중적으로 공부할 수 있었다. 준비하면서는 OpenCV의 함수 사용 위주였으나, 함수 인자로 들어가는 method를 변경하면 결과가 달라져 method를 변경하며 실험 결과를 가시화했다. 몰아서 하지 않기 위해 하루하루 2 ~ 3개의 예제를 기록했다. 세미나를 맡게 된 주는 매일 한 시간 정도씩은 발표 자료 제작을 위해 투자한 것 같다.

- 첫 번째 미니프로젝트가 내 의도대로 디자인 되었다. Mediapipe와 LSTM을 활용한 양손 제스쳐 인식 프로그램을 직접 학습시켜 보는데, 이 때 2가지 문제가 발생하게 된다. 첫 번째는 과적합에 대한 문제이고 두 번째는 위치 종속성에 대한 문제이다. 예전에 인공지능 공부를 하면서 그냥 넘어갔던 부분을 팀원들과 함께 다시 복기할 수 있어서 좋았다. 팀원들이 서로 의견을 공유하면서 나름 의미있는 결과물이 나온 것 같아서 좋다.

- 정환님께서 준비해주신 다음 프로젝트를 공부해야할 것 같다. pytorch에 익숙해져야 하고 네트워크 구조를 변경하면서 실험을 진행하고 성능을 향상시켜보는 것을 목표로 하자고 하셨다. 팀장님이 생각보다 공부를 열심히 해서 오셨다. UNet의 네트워크 구조에 대한 설명 그리고 팀장님께서 정환님의 코드를 돌려보고 코드에 대한 설명을 해주셨다. 다행히도 부스트 캠프에서 Segmentation Task를 진행할 때였고, UNet에 대한 설명을 공부하고 가서 이해가 잘 되었다.

- 벌써 데이크루 2기도 절반 이상 지나가고 있다. 부스트 캠프도 프로젝트에 들어갔고, 마무리 단계에 있다. 나태해지는 것을 방지하여 데이크루를 신청했던 것으로 바쁜 나날을 보내고 있는데, 또 좋은 점은 데이콘에 더 방문하게 되고 대회들이 눈에 들어오면서 시간 날 때마다 코드 제출을 해봐야겠다라는 생각을 하게 되었다. 수어 관련한 데이콘 자체 대회가 열리는데 도전해 볼 수 있을 것 같다는 생각이 들어 참가 버튼을 눌러 놓은 상태이다. 도전!

 

[해야할 것]

- 두 번째 미니프로젝트 공부하기(새로운 데이터로 학습시켜보기)

- 차주 게시물을 위한 첫 번째 프로젝트의 정규화 관련 내용 정리하기(이태범 팀원과 함께 작업)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

+ Recent posts