분류 전체보기

    모델의 평가지표란?

    머신러닝 모델을 학습할 때, 모델의 성능을 평가하는 방법은 무엇이 있을까? 데이터 준비와 모델 학습과 더불어 모델 성능을 측정하는 것 또한 머신러닝의 핵심 단계라고 할 수 있다. 그렇다면, 머신러닝 모델의 평가지표(Evaluation Metric)에는 무엇이 있는지 한번 살펴보자. 평가지표란? 모델의 학습은 어떻게 평가할 수 있을까? 정확도만 가지고 측정이 가능할까? 정확도로만 학습을 진행한다면, 모델은 실제 사용 환경에서 처음 만나는 데이터에 대해 약한 모습을 보일 가능성이 크다. 학습의 목적에 따라서 그에 맞는 적절한 평가지표를 사용해야 올바른 성능평가를 진행할 수 있다. 앞으로 올바른 성능평가를 할 수 있도록 대표적인 평가지표들은 무엇이 있는지 살표보고 비교해보자. 모델 정확도 (Model Accu..

    데이터가 충분하다고 말하려면 얼마나 있어야 할까?

    정답은? 더보기 아무도 모른다! 왜 그럴까? 프로젝트에서 다루는 문제의 복잡성은 정말 다양하다. 개와 고양이를 구분하는 비교적 간단한 분류 문제부터 조직 슬라이드에서 특정 림프구를 구분하는 비교적 복잡한 문제도 있다. 그럼 이 두 문제를 학습하기 위한 충분한 데이터의 양은 동일할까? 정확히는 모르지만 아마도 대부분의 사람들이 직감적으로 다를 것이라 생각할 것이다. 그래서 얼마나 필요한데? 문제의 복잡성과 사용하는 모델의 따라서 충분하다고 말할 수 있는 데이터의 양은 다르다고 말할 수 있다. 하지만 얼마나 필요한가? 대답하기는 어렵지만, 이 정도로 생각해 볼 수는 있을 것 같다. 상황에 따라 다르다 정해진 답은 없으며, 경험에 따라서 답을 찾아갈 뿐이다. 앞서 언급했듯, 문제의 복잡성이나 학습 알고리즘의 ..

    올바른 손 씻기 교육을 위한 손 씻기 단계 인식 모델

    Project Overview Purpose 실시간 영상에서 손 씻기 단계를 판별하고 정부 권장 손 씻기 6단계 지침을 수행할 수 있게 도와주는 서비스 기존의 rule-based 방식으로는 변수를 고려하기 어려운 문제(피부색, 촬영 환경, 개인마다 다른 손 모양 등)가 있어 다양한 데이터를 통해 학습된 딥러닝 모델로 문제 해결 아동 손 씻기 교육을 위한 스마트폰 애플리케이션이나 음식점, 병원, 공공장소 등에서 사용될 수 있는 손 씻기 검수 애플리케이션 등 다양한 분야에서 사용될 수 있음 Model Real Time Object Detection with YOLOv5 Model mAP50 YOLOv5s Batch Size 144 0.715 + Brightness Aug ↑ 0.7457 + Mosaic, M..

    [백준] 2578번 : 빙고 (Python)

    문제 코드 코드는 다음과 같은 방식으로 구현했다. 일단 철수의 빙고판은 2차원 배열로 받고, 사회자가 부르는 숫자는 하나의 리스트로 받았다. 1. 사회자가 숫자를 하나씩 부르며 그 숫자와 일치하는 빙고판의 숫자는 0으로 변환함과 동시에 빙고인지 확인한다. 2. 일치하는 숫자의 위치를 기반으로 빙고를 체크한다. 가로와 세로는 항상 체크하며 일치하는 숫자의 위치가 대각선이라면 대각선 방향으로도 빙고를 확인한다. 3. 빙고가 3개 이상이라면 지금까지 부른 숫자의 갯수를 출력한다. import sys board = [] count = 0 bingo = 0 # Make bingo board (2D-metrix) for i in range(5): board.append(list(map(int, sys.stdin.r..

    [OpenCV] Template Matching으로 다른 그림 찾기

    OpenCV의 Template Matching을 사용하여 이미지상에서 템플릿 이미지와 유사한 오브젝트를 찾을 수 있다. 쉽고 빠르게 구현이 가능하지만, 템플릿 이미지와 픽셀들을 비교하여 구분하기 때문에 방향이 다르거나 크기가 다른 경우에는 찾을 수 없다는 단점이 있다. Template Matching in OpenCV OpenCV에서 제공하는 cv.matchTemplate() 함수는 템플릿 이미지를 입력받은 이미지상 위에서 좌측상단부터 우측으로 이동시키면서 대응하는 픽셀들과 비교한다. 제공되는 비교 방법은 다음과 같다. cv.TM_CCOEFF cv.TM_CCOEFF_NORMED cv.TM_CCORR cv.TM_CCORR_NORMED cv.TM_SQDIFF cv.TM_SQDIFF_NORMED cv.matc..

    딥러닝이란 무엇일까?

    딥러닝은 무엇일까? 지난 몇 년간 인공지능(Artificial Intelligence)은 일상 속 다양한 부분에서 접할 수 있었고, 이 용어는 더 이상 낯설지 않게 되었다. 그리고 그런 AI와 항상 같이 언급되는 머신러닝(Machine Learning), 딥러닝(Deep Learning)은 무엇을 의미하고 어디에 활용될까? 머신러닝은 인공지능의 하위 분야이며, 딥러닝은 이런 머신러닝의 하위 분야로 여긴다. 이 글에서는 이 용어에 대해서 각각 알아보고 설명하고자 한다. 1. 인공지능 인간의 지능을 모방한 인공지능 인공지능은 인간의 지능을 기계나 컴퓨터를 통해서 모방하고자 만들어진 개념이다. 인간의 인식, 판단, 추론 그리고 그에 대한 말이나 행동, 학습과 같은 인간의 지능을 이해하는 컴퓨터 시스템을 의미한..

    [백준] 1655번 : 가운데를 말해요 (Python)

    문제는 간단하다. 숫자를 하나씩 받고 지금까지의 숫자들 중에서 중앙값을 답하면 된다. (단, 짝수의 경우 두 수 중에서 작은 값을 답해야 한다) 처음에는 정말 간단하게, sort()를 통해서 중앙값을 답하였으나, 역시나 시간 초과. 이를 해결하기 위해서는, 매번 중앙값을 찾기 위해서 sort()하는 과정을 생략해야 한다. 해결과정은 다음과 같다. 숫자 리스트를 두 가지로 나누어서 생각한다. 왼쪽에는 작은 값들이, 오른쪽에는 큰 값들이 들어간다. 왼쪽의 리스트에서 가장 큰 값은 중앙값이다. 위의 조건이 만족하도록 숫자를 입력한다. 숫자는 왼쪽, 오른쪽 번갈아가며 채우며, 왼쪽에 오른쪽보다 큰 숫자가 들어가는 경우 두 숫자를 교환한다. 즉, 왼쪽의 가장 큰 값과 오른쪽의 가장 작은 값을 비교한다. 이를 위해..

    눈바디 AI Challenge Wrap-up

    Project Outline Task 눈바디 사진을 이용해 각 신체 부위(body parts) 별로 Semantic Segmentation AI 모델 개발 Metric inference 방식으로 제출. 별도의 Public, Private 구분 없음. mIoU (Mean Intersection over Union) : 각 클래스 별 IoU를 계산하고, 이 값들의 평균을 구한다. Dataset "Dense coco2014 데이터 셋" 및 "Alchera에서 제공한 데이터 셋" 제공. 데이터 셋 labeling은 다음과 같다. (배경 - 0 / 몸통 - 1 / 오른손 - 2 / 왼손 - 3 / 왼발 - 4 / 오른발 - 5 / 오른쪽 허벅지 - 6 / 왼쪽 허벅지 - 7 / 오른쪽 종아리 - 8 / 왼쪽 종아..