공부/AIFFEL 95

AIFFEL대전 1기 졸업

6월 22일부로 6개월간 AI 교육 과정인 AIFFEL대전이 끝났다. 6개월의 시간동안 AI에 대해 다양한 공부와 해커톤3를 통해 프로젝트도 진행해 보는 경험을 했다. AIFFEL을 수료뿐만 아니라 졸업도 할 수 있어서 그동안 공부한 기간을 보상받은 기분이고, 기분이 좋다. 참고로 내가 한 3차 해커톤에 관한 링크는 아래와 같다.(notion 링크는 다른 사람도 볼 수 있는지는 모름) github : https://github.com/CellPin CellPin CellPin has 4 repositories available. Follow their code on GitHub. github.com notion : https://www.notion.so/3-CellPin-c285ca296ec748ab8d..

공부/AIFFEL 2021.06.23

2021년 5월 10일 모두의 연구소(인공지능 전문가 과정) - 90일차

오늘부터 제 3차 해커톤이 시작되었다. 6월 18일까지 진행될 예정이고, 이것이 마무리되면 AIFFEL 과정도 끝이 난다. AIFFEL에서 배우는 과정은 끝났고(풀잎스쿨 제외), 이제 배운 것 + 스스로 학습을 통해서 맡은 과제를 수행하는 일만 남았다. 이 카테고리는 AIFFEL에서 배우는 것을 기록하려 만들었기 때문에 이제는 매일 글이 작성되지 않고, 간혹 작성될 것 같다.

공부/AIFFEL 2021.05.10

Going Deeper(CV)_DJ 20 : 행동 스티커 만들기

1. 데이터셋을 어디에서 구할까? - MPII 데이터셋 다운로드 받기 1) 오늘은 MPII Human Pose Dataset을 사용해서 Human Pose Estimation task를 위한 모델을 훈련시켜 보겠다. 2) (주의) 해당 파일은 12GB가 넘는 용량을 가지므로 다운로드할 때 수 시간이 소요될 수 있다. 3) zip 파일을 풀어보면 확장자가 mat 파일이 나와서 열기 불편한 파일이 있어서 코드를 통해 json 파일로 변환했다. 4) 마지막으로 오늘 실습할 코드의 파일(코드가 정리된 파일)이 있는 압축폴더를 다운 받고, 압축을 풀어서 디렉토리에 옮겼다. 2. 데이터 전처리하기 - 필요한 패키지(loguru, ray)를 다운로드 한다. - 그리고 다운 받은 파일 중 tfrecords_mpii라는..

공부/AIFFEL 2021.05.07

Going Deeper(CV)_DJ 19 : 사람의 몸짓을 읽어보자.

1. 들어가며 - Human Pose Estimation with Keypoint detection 1) 틱톡이란 어플을 들어본 적이 있을 것이다. 전세계적으로 인기를 끌고 있는 어플리케이션 중 하나이다. 2) 여기서 카메라를 통해 다양한 효과를 줘서 인기를 끌고 있다. 3) 이는 지금까지 만들어본 얼굴인식 어플리케이션과 달리 전신이 등장하는 색다른 특징이 있다. 4) 나만의 카메라 어플을 스노우와 같은 얼굴인식 뿐만 아니라 더 넓은 범위로 사용할 수 있다면 좀 더 다양한 것을 만들 수 있을 것이다. 5) 오늘은 새로운 기능인 human pose estimation에 대한 개념과 이론에 대해 알아보도록 한다. 2. body language, 몸으로 하는 대화 - Human pose estimation(이..

공부/AIFFEL 2021.05.06

Going Deeper(CV)_DJ 18 : 멀리 있는 사람도 스티커를 붙여주자

1. WIDER FACE 데이터셋 - 오늘 우리가 Face Detection 모델의 학습을 위해 다루게 될 데이터셋은 바로 WIDER FACE 데이터셋이다. - 빠른 인퍼런스 타임을 위해 사용할 YOLO, SSD 같은 single stage model을 학습시키는 것은 흔히 COCO 데이터셋 같은 것이 사용된다. - 하지만 오늘 우리가 추구하는 "먼 거리에 흩어져 있는 다수의 사람 얼굴을 빠르게 detect 하는 모델"을 만들기 위해서는 "보다 넓은 공간에 있는 다수의 사람이 등장하는 이미지 데이터셋"이 필요하다. - WIDER FACE 데이터셋은 이런 용도로 활용하기 적합한 데이터셋이다. - WIDER FACE 데이터셋 홈페이지에 들어가서 데이터들을 다운 받았다. train, val, test, fac..

공부/AIFFEL 2021.05.05

Going Deeper(CV)_DJ 16 : 불안한 시선 이펙트 추가하기

1. 들어가며 - 지난 시간에 이어서 눈동자를 검출 할 수 있는 방법에 대해 다루겠다. - 이런 태스크를 위해 꼭 필요한 데이터셋이 충분히 갖추어져 있지 않은 상황을 우리는 헤쳐나가야 한다. - 오늘의 목표는 아래와 같다. 1) 공개 데이터 사용해서 라벨 직접 모아보기 2) 색상 값을 이용한 검출 방법 3) 라벨링 툴 만들기 - point selection 4) 째려보는 효과 구현하기 - 오늘의 노드는 에디터와 터미널을 이용하는 것 절반, 주피터 노트북을 사용하는 것 절반이였다. 2. 위치 측정을 위한 라벨링 툴 만들기 (1) OpenCV 사용 - 이전 노드에서 True / False를 라벨링(labeling) 할 수 있는 도구를 만들어 봤다. - 품질이 좋지 못한 데이터에 위치를 직접 입력하려면 어떻게..

공부/AIFFEL 2021.05.03

Going Deeper(CV)_DJ 15 : 내 거친 생각과 불안한 눈빛과 그걸 지켜보는 카메라앱

1. 들어가며 - ML Coarse-to-Fine 전략과 Active Learining 기초 - 머신러닝 서비스를 만들 때 가장 중요한 것은 무엇일까? - 가장 중요한 것 하나만 뽑으라고 한다면 데이터라고 말하고 싶다. - 그러나 우리가 만들고자 하는 머신러닝 서비스에 꼭 맞는 데이터셋을 늘 구할 수 있는 것은 아니다. - 오히려 그런 이상적인 경우는 극히 드물다고 봐야된다. - 현실 문제에 부딪혔을 때 우리는 모델을 어떻게 만들거냐 보다는 훨씬 많은 시간을 데이터를 어떻게 수집, 가공할 것이냐의 문제로 고민하게 될 것이다. - 언제나 그렇듯 확보한 데이터의 갯수는 턱없이 부족하고, 이를 메꾸기 위한 예산은 확보되어 있지 않으며, 서비스 딜리버리 타임은 얼마 남지 않은 현실을 우리는 어떻게 헤쳐 나갈 수..

공부/AIFFEL 2021.04.29

Going Deeper(CV)_DJ 14 : 카메라 스티커앱을 개선하자!

1. 들어가며 - 이전에 만들었던 카메라 스티커앱이 동영상을 처리할 수 있도록 개선하는 프로젝트를 진행하려 한다. - 하지만 지난 시간에 살펴봤듯, 동영상을 처리하는 카메라앱을 만들기 위해서는 단순 이미지를 처리하는 작업 이상으로 고려해야 할 것들이 있다. - 피사체인 사람이 움직이기 때문에 발생하는 여러가지 예외 상황, 처리속도의 문제, 화면 떨림 등의 안정성 문제 등에 대응하는 방법이 필요하다. 2. 프로젝트 1 : moviepy로 비디오 처리하기 - 먼저 동영상을 쉽게 다룰 수 있는 방법을 찾고 있다. - 대안으로 떠오른 것은 moviepy라는 파이썬 기반의 동영상 처리 라이브러리이다. - 하지만 동영상을 다룰 때의 실행시간, 즉 처리 속도가 중요하다는 것을 잊으면 안된다. - 그래서 moviepy..

공부/AIFFEL 2021.04.27

Going Deeper(CV)_DJ 13 : 내가 만든 카메라앱, 무엇이 문제일까?

1. 들어가며 - 스티커앱! 3번째 과제(Exploration)에서 다뤘던 기억이 있다. - 노드에서는 내 사진(얼굴 인식이 잘 안되면 노드에 주어진 사진)을 가지고 머리에 왕관을 씌워보고, 과제에서는 연예인 사진에 고양이 수염을 붙이는 것을 했었다. - 이 때 카메라앱을 통해 얼굴인식, 랜드마크 탐색, 이미지 처리를 통한 보정 등의 가장 기본적인 개념을 아주 간단히 살펴봤다. - 하지만 상품으로 출시하기에는 완성도가 높지 않았다. 오늘은 그 당시 완성도가 높지 않은 이유를 살펴보고, 완성도 높은 앱을 만들기 위해 고려해야할 점을 정리해 보는 시간을 갖는다. 2. 스티커앱의 원리 - 스티커앱의 원리에 익숙하지 않거나, 기억이 흐려졌을 수 있으니 다시 한 번 되짚어 보자. - 이미지에서 얼굴을 찾고 눈, ..

공부/AIFFEL 2021.04.26

Going Deeper(CV)_DJ 12 : 직접 만들어보는 OCR

1. 들어가며 - 이번에는 OCR을 직접 만들어보는 시간을 갖는다. - OCR을 처음부터 끝까지 만들기에는 시간이 많이 소요되므로 Detection은 keras-ocr을 활용하고 Recognition을 직접 만들고 학습해보도록 했다. 2. Overall structure of OCR - 오늘 만들고자 하는 OCR은 이미지 속에서 영문을 Boundong box로 찾아내고 그 Bounding box 내에 어떤 Text가 포함되는지 알 수 있는 시스템이다. - 이미지 속에서 문자 영역을 찾아내는 것인 Text Detection은 강의노드에서 봤던 방법 중 Segmentation 기반의 CRAFT를 활용한 keras-ocr을 활용할 예정이다. - Recognition 모델은 keras-ocr을 사용하지 않고 직..

공부/AIFFEL 2021.04.23