일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 중학1-1
- 파이썬
- C++
- 데이터베이스
- 정보처리기사실기
- 자바
- 텍스트마이닝
- 데이터입출력구현
- 연습문제
- JSP/Servlet
- 혼공머신
- 정보처리기사필기
- 자바 실습
- 딥러닝
- pandas
- 머신러닝
- 영어공부
- 정수와유리수
- CSS
- 코딩테스트
- CNN
- 중학수학
- 컴퓨터비전
- 파이썬라이브러리
- numpy/pandas
- 데이터분석
- SQL
- 컴퓨터구조
- 운영체제
- html/css
- Today
- Total
목록컴퓨터비전 (66)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이번에는 객체 탐지 관련 실습을 진행해 볼 것이다. 새벽 공부는 여기까지 하고 마치려고 한다. 오늘은 할 일이 좀 많아서 새벽 운동은 하루 쉬기로 했다. 요즘은 새벽에 운동하고 나면 좀 힘들어서 한낮에 하는 것이 더 나을 것 같았다. 얼굴 탐지 실습해보기 1. 라이브러리 설치하기 pip list를 찍어보면 지금까지 내가 설치한 내역들이 나온다. 아나콘다로도 설치할 수 있지만 프로그램에서 이렇게 바로 하는 것도 가능하다. 2. 객체 탐지 실습 전 준비할 것이미지 세그멘테이션은 바로 이런 것이다. 강아지 사진을 불러와 배경을 제거할 때 어떤 선이 경계선인지 파악하는데 이때 이미지 세그멘테이션 즉 분할을 사용한다. 텐서플로 버전이 낮은 것 같아 설치해 주었는데 이런 오류가 떴다. 에러 ..
이어서 동영상 출력에 관한 실습을 진행해 보겠다. OpenCV 동영상 다뤄보기 실습 두 번째이전에 실습했던 코드를 그대로 가져온 후 몇 가지만 수정해 주었다. 이전 코드에서 앞부분의 파일 경로를 지우고 0을 클릭하고 웹 캠을 연결하면 카메라가 보인다. 찍을 게 마땅치 않아 벽을 찍어보았다. 이제 파일명도 바꾸고 사진 캡처가 잘 되는지 확인해 보자. 코드를 실행하고 15초 정도 기다려야 영상 카메라가 작동된다. 성질 급하게 안 보인다고 끄면 안 된다. 컴퓨터 비전 수업도 사실 하나도 안 듣고 정처기 공부를 했었는데, 팀별로 사진을 찍는다고 해서 사진을 찍었던 기억이 난다.이때까지만 해도 딱 3주 동안만 팀에 있었다. 이전에도 이후에도 난 역시 팀 없이 독립적으로 움직이는 것이 가장 내..
컴퓨터 비전은 두 분의 선생님이 진행하셨는데 처음에 가르치셨던 선생님은 3일 동안 하셨는데 많이 헤매고 도대체 뭘 하는지 모를 만큼 수업의 질이 좀 떨어졌다. 그래도 다시 들어보면 아주 조금의 배우는 건 있겠지만 차라리 그 시간에 다른 의미 있는 것들을 하는 게 더 나은 것 같았다.다음에 진행하셨던 선생님은 이틀동안 가르치셨고 나를 들어볼 만한 수업인 것 같아 새벽과 아침에 이 수업을 듣고 내용을 정리해 보기로 했다. 사실 이제 컴퓨터 비전을 공부한지 8일이 넘어서 슬슬 지쳐간다. 난 한 과목을 일주일 이상 하게 되면 많이 질리고 집중력이 좀 떨어지는 것 같다. 그래도 어떤 것이든 마무리를 잘해야 한다. 오늘 하루만 더 컴퓨터 비전 공부를 하면서 남은 수업을 모두 들어볼 것이다. 그리고 늦은 오후부터 저..
5일 전에 컴퓨터 비전 수업을 듣다가 말았는데 오늘 이 수업들을 모두 듣고 정리하려고 한다. 그동안 책으로 학습했었는데 책이 너무 어렵기도 하고 지금의 수준에서 공부를 하는 건 별 의미가 없는 것 같아 여기서 멈추고 12월 말까지 웹 개발 공부를 어느 정도 끝내놓고 다시 컴퓨터 비전으로 돌아와 나머지 공부를 이어가기로 했다.사실 몇 개의 수업 영상이 빠져있어 인사교에서 진행했던 컴퓨터 비전 수업은 더이상 듣지 않으려고 했었다. 근데 오늘 자료를 살펴보다 선생님이 마지막날 자료를 올려주셨다는 걸 알게 되었다. 부족한대로 이 자료만 보면서 코드를 예측하며 실습을 진행할 생각이다. 조금 전에 다른 선생님이 하시는 컴퓨터 비전 수업을 들어보다가 먼저 이 실습부터 진행하는 것이 학습 진도에 맞을 것 같아 플라스크..
벌써 7시가 훌쩍 넘었지만 이 단원까지만 공부하고 새벽 공부를 마치려고 한다. 오늘도 새벽 2시 반에 일어나서 5시간 가까이 공부를 진행 중이다. 이것까지 하면 5시간이 조금 넘을 것 같다. 우편번호 인식기 v1. 실습해보기6장에서 재미있는 비전 에이전트 4개를 만들었다. 여기서는 사람이 필기한 우편번호를 인식하는 다섯 번째 비전 에이전트를 만든다. 필기한 우편번호를 인식하려면 필기 숫자 인식기가 필요한데, 이를 대비하여 프로그램 7-5의 42행에서 학습된 신경망을 dmlp_trained.h5 파일에 저장해두었다. 먼저 프로그램 7-7의 실행 결과를 보고 사용자 인터페이스를 파악하자. 5개의 빨간색 박스는 마우스로 숫자를 써 넣는 곳이다. e는 박스를 지우고, s는 박스에 숫자를 떼내어 명암 영상으..
이번 시간에는 하이퍼 매개변수를 다루는 것과 자연 영상 인식에 대해서 학습해보려고 한다. 3. 하이퍼 매개변수 다루기하이퍼 매개변수는 신경망의 구조 또는 학습관 관련하여 사용자가 설정해야 하는 매개변수다 프로그램 7-4는 옵티마이저에 관련된 하이퍼 매개변수늘 SGD(learning_rage=0.01)과 Adam(learnging_rate=0.001)로 다르게 설정하고 어떤 값이 더 좋은지 비교하여 Adam이 월등히 좋다는 것을 알아냈다. 이처럼 하이퍼 매개변수를 잘 설정해야 신경망이 높은 성능을 발휘한다.하이퍼 매개변수의 최적값을 찾는 일을 하이퍼 매개변수 최적화라 한다. 하이퍼 매개변수 설정 요령신경망의 하이퍼 매개변수는 생각보다 많다. Dense 클래스에는 노드 개수를 정하는 units, 활성 함..
이번 장은 실습 프로그램이 있어서 나름 괜찮은 학습이 될 것 같다. 이전 절에서 프로그램 7-1을 통해 텐서플로가 제공하는 MNIST와 CIFAR-10 데이터셋을 확인하는 프로그래밍 실습을 했다. 여기서는 앞에서 배운 다층 퍼셉트론과 깊은 다층 퍼셉트론을 텐서플로로 구현하고 성능을 측정하는 실험을 한다. 1. 필기 숫자 인식다음 프로그램은 다층 퍼셉트론으로 MNIST를 인식하는 실험이다. 1980~1990년대의 다층 퍼셉트론 시대에 주로 사용하던 SGD 옵티마이저와 현대 딥러닝이 주로 사용하는 Adam 옵티마이저의 성능을 비교하는 실험도 한다. 다층 퍼셉트론으로 필기 숫자 인식텐서플로로 신경망을 학습하고 예측하는 첫 프로그래밍이다. 다층 퍼셉트론으로 MNIST 인식하기(SGD 옵티마이저) 이 코드는..
딥러닝 관련 이론 내용은 조금 지루하지만 그래도 공부를 이어가 보겠다. 앞 절에서 특징 벡터의 차원이 2이고 데이터셋 크기가 4인 단순한 OR 데이터셋으로 퍼셉트론의 분류 능력을 예시했는데, 퍼셉트론은 수백 차원 샘플이 수만 개인 분류 문제도 풀 수 있다고 증명도이어 있다. 그런데 퍼셉트론은 선형 분류기이기 때문에 그림 7-12a와 같이 선형 분리 가능한 데이터셋만 100% 정확률로 분류할 수 있는 결정적인 한계가 있다. 퍼셉트론은 그림 7-12b와 같은 선형 분리 불가능한 상황에서는 정확률이 낮을 수밖에 없다. 민스키와 페퍼트는 『Perceptrons』라는 저서를 통해 퍼셉트론의 한계를 체계적으로 지적했다. 그림 7-13a에 있는 XOR 문제를 제시하고 퍼셉트론은 이런 단순한 문제조차 풀지 못한다고..
어제는 밤에 늦게 취침했지만 2시 반에 일어나 평소처럼 공부를 시작해 본다. 그림 7-2의 기계학습 방법론에서 가장 성공하고 주류로 자리 잡은 모델은 신경망이다. 이 절에서는 1940년대에 태동하여 현재 딥러닝으로 발전하는 신경망 역사를 간략하게 살펴본다. 이어 최초의 성공적인 신경망 모델인 퍼셉트론을 통해 신경망에 대한 기초를 다진다. 신경망의 간략 역사1900년대 들어 인간 뇌에 대한 활발한 연구에 힘입어 뉴런의 정체가 조금씩 밝혀진다. 1946년에는 초당 3000회 가량 덧셈을 할 수 있는 세계 최초의 전자식 컴퓨터인 에니악이 탄생한다. 신경 과학자들은 컴퓨터로 인공 신경망을 구현하여 사람처럼 인식할 수 있는 기계를 만들려는 거대한 발상을 한다. 그림 7-9는 사람 뇌를 구성하는 뉴런과 퍼셉트..
이 학습이 오늘의 마지막 공부가 될 것 같다. 조금 전에 감정적으로 매우 힘들고 화가 나는 일이 있었지만 그래도 공부의 자리에 나아가기로 했다. 기계학습을 구현하려면 적절한 소프트웨어 도구가 필요하다. 파이썬은 기계학습을 지원하는 sklearn 라이브러리를 제공하는데, sklearn은 그림 7-2에 있는 비신경망 모델과 얕은 신경망까지만 지원한다. 딥러닝을 구현하는데 가장 널리 쓰이는 도구는 텐서플로와 파이토치다. 텐서플로 소개텐서플로 자체는 프로그래밍이 까다로운 단점이 있다. 이런 단점을 극복하기 위해 프랑쇼와 솔레는 텐서플로 위에서 돌아가는 케라스 라이브러리를 제작해 공개하였다. 대부분 케라스 명령어로 딥러닝을 개발하는데 둘이 한 몸이므로 보통 텐서플로 프로그래밍을 한다고 말한다. 텐서플로를 사용하..