본문 바로가기

분류 전체보기

(20)
Fatigue Detection on Face Image Using FaceNet Algorithm and K-Nearest Neighbor Classifier Background 코로나로 인해 온라인 클래스가 늘어남에 따라 컴퓨터를 장시간 보게 됨으로써 피로를 호소하는 사람도 많아졌다. 이러한 문제점을 개선하기 위하여 조기에 피로를 탐지하는 방법을 제시해보고자 한다. Method 얼굴 데이터셋 준비 UTA-RLDD dataset : 18~51세 재학생과 졸업생으로 이루어져있음. focused, unfocused and fatigue 이렇게 세 가지 class로 이루어져있음 1000개의 training data와 100개의 validation data Haar cascades 방법을 이용해 얼굴 탐지하기 cascade function을 이용하는 machine learning 방법 ( 더 정확한 detector가 있다면 그걸 쓰자) 얼굴데이터 전처리 FaceNet..
Object detection & tracking Classification classification: 사진을 받아서 어떤 class 인지 구분하는 것 Input -> [feature ->] classifier: 입력을 받아서 feature를 추출하고 feature를 통해 classifier를 거쳐 class를 찾는 과정 How to find Features? LBP Haar-like features HOG(histogram of Oriented gradients) CNN features Object detection detection: 사진에서 특정 물체를 찾아서 bounding box그려주는 것 Sliding windows -> classification R-CNN(region based CNN) One-stage object detector Ob..
13. Project Planning & Management agile말고 전통적 방식으로 개발하는 회사의 스타일을 알아보자. (간트차트, 워터폴 방식) Man-Month 이 프로젝트에 사람을 얼마나 투입해야 하지? 4명이요. 그냥 사람 4명??, 능력상관없이 4명?? Man-Month: 일을 한달동안 해서 끝내기 위해 필요한 사람 (ex. 12 M/M는 한달에 12명, 12달동안 1명필요) => 개발자마다 능력이 제각각인데 이렇게 계산해도 되는가? The Mythical Man-Month 이 책은 소프트웨어개발에서 개념적 일관성이 왜 중요한지, 프로토타입(파일럿시스템)이 얼마나 중요한지, 사람을 많이 투입해도 진행이 더뎌지는 이유는 뭔지, 왜 여전히 만능도구는 없는지 등등 소프트웨어 개발에 관련한 고찰 소프트웨어 개발이 man-month로 측정한다는건 신화다. ..
10. Sorting and Searching Algorithms Selection Sort 1. 일단 전체에서 가장 작은 값 찾아서 앞으로 가져옴=> 첫번째는 sorted 나머지는 unsorted(최솟값이랑 현 위치만 바꾸고 나머지는 순서 바뀌지 않음) 2. unsorted에서 가장 작은 값 찾아서 또 땡겨옴 => 두번째까지 sorted 나머지 unsorted 3. 위 과정 반복 시간복잡도: 갯수가 n개일때 비교횟수는 n*(n-1)/2이므로 O(n**2)이다. template int MinIndex(ItemType values[], int startIndex, int endIndex) // Post: Returns the index of the smallest value in // values[startIndex]..values[endIndex]. { int inde..
9. Priority Queues, Heaps, and Graphs Heap complete binary tree & 조상>자식 ReheapDown 노드가 heap의 규칙을 어기고 있을 때 하는 것 노드의 자식노드 중 자기보다 크고 둘중에 큰것을 고른다음 바꾼다. 이과정을 반복해서 자기 자리를 찾는다. ReheapUp 조상노드가 자기보다 작다면 올라가는 것 Removing the largest element 1. bottom rightmost element를 root로 가져옴 2. bottom rightmost element를 삭제 3. root를 ReheapDown 해줌 Inserting new element 1. bottom leftmost place에 삽입 2. ReheapUp 해줌 Priority Queue only the highest-priority eleme..
8. Binary Search Trees binary tree이다. 뭐 ancestor, descendant 다양한 용어가 있지만 쉬우니 넘어가자 높이가 H인 full tree는 2**h - 1개의 노드를 갖는다. N개 노드를 가질때 최대/최소 높이: 최대 높이는 일렬로 노드가 늘어설 때 이므로 N이고 최소 높이는 full tree일때 이므로 log(N+1)이다. linked list 와 binary tree, 서치 시간복잡도 비교 둘다 최악의 경우 O(N)으로 똑같음 ㄷ 색다른 binary tree: 오른쪽 루트노드는 중간보다 크고 왼쪽은 작음, 서치 시간 복잡도 O(logN)으로 링크드 리스트보다 효율적임 CountNodes(recursive) 졸라 간단하다. 복잡하게 생각할 수 도있으나 이렇게 간단하게 짤 수 있으니 알아둘 것. Retri..
Lecture 2 | Image Classification Image Classification 고양이 사진을 보고 고양이임을 컴퓨터는 어떻게 인지해야 할까? 우리는 고양이 사진을 보면 야옹이다! 라고 생각하겠지만 컴퓨터는 그냥 졸라많은 숫자 matrics를 보는 것이다. 이러한 사람과 컴퓨터간의 차이를 Semantic gap이라고 한다. 고양이는 밝아지거나 어두워지거나 숨거나하는 등 다양한 사진이 나올텐데 이러한 변화에 Robust해야 겠다. 처음에는 사진을 보고 졸라 분석해서 알고리즘을 만들려고 했으나 robust하지도 않고 비효율적이라 포기했다. 결론적으로 Data-Driven Approach를 생각해내게 된다. 컴퓨터한데 고양이 5억개를 주고 새로운 고영희를 마추라고 한 것이다. train함수: images와 label을 input으로 학습한 다음 mod..
Lecture 1 | Introduction to Convolutional Neural Network for Visual Recognition What's computer vision? 최근 카메라 기술의 발달과 이것저것 존나게 발달해서 시각 데이터가 개많이 나오고 있다. 이로 인해 cv 업계도 횡재를 맞게 된다. 왜냐하면 학습을 시키고 검증할라면 데이터가 겁나게 많이 필요하기 때문이다. 어쨌든 이러한 데이터를 분석해서 컴퓨터가 사진을 이해하는 게 컴퓨터 비전이다. First vision 5억 4천만 년 전, 종이 증폭되는 시기에 눈도 같이 생겨났다. 시각이 생기니까 먹이도 능동적으로 찾을 수 있고 위험으로부터 자신을 지킬 수 도 있었다. History of computer vision 1950s 고양이 뇌에 전극을 꽂아 시각적 메커니즘을 알려고 했다.그래서 결론이 뭐였냐면 "시각 처리는 edges와 같은 단순한 구조로 시작되어 점점 복잡한 요..