ComputerScience (329) 썸네일형 리스트형 Computer Vision - Human detection 1. object detection - 탐색하려는 물체의 gradient histogram을 가지고 template matching을 수행하면된다. - 인풋으로 사람 영상이 들어왔다 - 영상의 그라디언트를 구한다. - bin의 개수를 정해서 block들의 oriented gradient를 구한다. - normalize한다. - 이렇게 만들어진 feature vector가 human을 나타낸다. - feature vector의 차원 공간에서 사람과 사람이 아닌 물체를 구분하는 경계를 만들면 분류기가 만들어진다. 2. Support vector machine - binary classification을 수행한다. - fecture vector 차원의 공간에서 두 클래스의 분류를 수행한다. - 두 공간을 잘 .. 소프트웨어공학 - 22. Exception Handling 1. exception handling - 프로그램 개발중에 발생하는 예외 event를 처리하는 것을 말한다. - c언어처럼 예외처리 메커니즘이 제공되지 않는 환경에서도 물론 if case로 처리할 수 있긴하다. - 위의 코드는 파일을 읽고 처리후 파일을 닫는 코드이다. - 파일 열기가 실패했을때, 파일의 size를 알아내기가 실패했을때, 등의 여러 예외 상황에 대한 대처가 부족하다. - 따라서 예외 상황을 다 분기하면 코드가 상당히 읽기 어려워진다. - 즉 정상적인 flow과 비정상적인 예외 상황을 처리하는 flow간의 분리가 잘 안되어있다. - 그래서 exception handling이 꼭 필요하다. - catch문을 통해 flow의 분리가 명확해졌다. (+가독성 향상) - 이번에는 함수가 call .. 소프트웨어공학 - 21. Code coverages for white box testing 1. Code coverage - test suite을 사용해서 테스트를 했을때 소스 코드의 어느정도까지 커버가 가능한가? 2. function coverage - test suite을 실행했을때, 프로그램을 구성하는 모든 function들의 실행을 커버하는가? 3. statement coverage - 코드의 각 line들이 다 한번씩 실행 되었는가? - node coverage라고도 불린다. - 위같은 소스코드에 대해 statement coverage를 수행해보자. - 두개의 test case로 test suite이 구성되어 있을때, TC1은 s1,s2,s3까지밖에 커버를 못한다. 반대로 TC2는 모든 statement의 실행을 수행했다. - 하지만 두 테스트 케이스로 구성된 test suite은 모.. 패턴인식 - 12. Principle Component Analysis (PCA) 1. Principle component Analysis (PCA, 주성분 분석) - 다차원 공간에 있는 데이터를 1차원 공간으로 Projection 시키는 것이다. - 데이터의 원래 성질을 가장 잘 보존하는 공간으로 차원축소하는 것이 목표이다. - 데이터의 차원을 낮추면 작업 수준(복잡도, 연산량)을 낮출 수 있다. *참고로 차원 축소, projection의 반대가 kernel(차원을 높이는 것)이다. - 가장 먼저 데이터들의 평균을 projection한 값을 찾는다. (= projection한 데이터들의 평균) - s, sample 데이터를 말한다. - 이번에는 project된 데이터들의 분산을 구해보자. - PCA는 분산이 최대가 되는 sub space이다. 이제 분산을 최대로 만드는 projec.. 패턴인식 - 11. Linear Discriminant Analysis(LDA) 1. Linear Discriminant Analysis(LDA, 선형 분리) - 다차원 공간에 있는 데이터를 1차원 공간으로 Projection 시켜서 분류를 수행하는 것을 말한다. - 데이터의 class를 가장 잘 분리할 수 있는 공간으로 차원축소하는 것이 목표이다. - projection을 활용하는데 class를 구분하는 특징을 잘 살려서 축소한다는 점에서 PCA, SVM과 차이가 있다. - 2차원 공간에 표시된 n개의 데이터에 대해 C1,C2 클래스로 가장 잘 분리되는 1차원 공간을 찾았다. - 만약 ㅡ 선으로 축소하면 black, blue dot들이 섞여버려서 구분이 어려울 것이다. - 어떤 1차원 공간으로 데이터들을 옮겨왔을때 C1(black 점들의 평균)의 평균과 C2(blue 점들의 평균).. 소프트웨어공학 - 20. Verification and Validation (V&V) 1. Verification and Validation (V&V) - 소프트웨어의 개발 프로세스에서 우리가 의도한 대로 잘 만들어지고 있는지 리뷰와 조사를 통해 검증하는 것을 verification이라고 한다. - 검사, Inspection은 요구사항, 디자인, 코드 등의 산출물들을 점검하는 것을 말한다. - inspection은 프로그램이 실제로 구동되어야 검사할 수 있는 항목에 대해서는 점검이 어렵다. - 개발 산출물들이 requirement를 잘 충족하고 있는지 검사하는 것을 Validation이라고 한다. 2. Testing - 소프트웨어가 해야할 일들을 잘 수행하는지 testing을 통해 성취된다. - 주 목적은 defect를 탐지하는 것이다. Development testing - 개발 단계에.. 소프트웨어공학 - 19. Test-Driven Development 1. Unit Testing - 코드가 옳다는 것을 검증하는 방법이다. - 유닛 테스트는 divide and conquer 전략을 따른다. 전체 시스템의 유닛들이 잘 동작함을 검증함으로써 전체 시스템의 신뢰를 높인다 - 테스트를 수행하는 코드인 test suite를 만들어서 유닛 테스트를 수행할 수 있다. - 테스트 코드를 만드는 일이 오히려 개발시간을 늦추는 일처럼 보일 수 있으나 추후 유지보수와 디버깅이 매우 쉬워지기 때문에 (프로젝트가 클수록) 훨씬 이득이다. - 테스트 대상인, unit은 class가 될수도 있고 class들로 구성된 모듈이 될 수도 있다. 그 테스트를 수행하는 코드가 unit under test이다. - 테스트를 수행하도록 unit test code를 호출하는 주체를 driver.. 패턴인식 - 10. Projection, 차원축소 1. Projection - 데이터는 많은 feature들로 구성되어 있다. feature들로 구성된 특징 공간의 차원을 축소하는 방법을 알아본다. - 3차원 벡터 공간 V를 2차원 linear한 subspace(부분공간, W)로 축소하는 모습이다. - 3차원 공간의 부분집합 W에서는 덧셈 연산, 스칼라곱 연산을 만족해야 한다. (갇혀 있어야 함) - projection을 통한 차원 축소 모습이다. (첫번째 그림 e = b - p) - 3차원 공간의 b벡터를 subspace A로 축소하는 그림이다. 그 변환 매트릭스 P가 정의될 수 있다. - 이렇게 data를 low dimension space로 mapping하는 것을 dimensionality reduction이라고 한다. - 그럼 어떻게 적절한 su.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 42 다음