본문 바로가기
Daily Coding

[패스트캠퍼스 수강 후기] {컴퓨터비전인강} 100% 환급 챌린지 - 30일차

by 브래드(Brad) 2020. 11. 17.

OpenCV를 활용한 컴퓨터비전과 딥러닝

안녕하세요~

어제는 멀리 출장을 다녀왔더니 너무 피곤하네요.

나이가 들어서 그런지, 뭔가 특별히 몸을 많이 쓰거나 운전을 하지 않아도

단순히 어디를 다녀왔다는 것만으로도 몸이 피곤해지는 것 같습니다.

정말 서글픈 일이네요 ㅠ

 

코딩 공부를 시작하게 된 배경을 다시 언급하자면,

인공지능이 앞으로 세상을 지배할 거라는데, 기계와 소통을 위해 코딩은 점점 필수 능력이 되어가는 것 같습니다.

파이썬으로 공부하면 쉽다는데, 왜 이렇게 어렵게 느껴지는 걸까요???

혼자 너튜브로 공부하려다 보니 두서없이 따라 하기만 하고, 정작 제가 하고 싶은 건 만들지 못하게 되는 것 같습니다.

아마도 제가 더 노력하지 않아서겠지요.

저는 뭔가를 할 수밖에 없는 환경에 놓여야만 움직이는 DNA를 가지고 있는 것 같아요

그래서 투자를 하고 본전심리가 장치가 되어 어쩔 수 없이 실행하게 만드는 유료수강제도를 이용하게 되는 것 같습니다.

 

요새 같은 코로나 시대에는 학원에 가기도 그렇고, 사람마다 이해도나 기본 실력이 다르니 수준이나 진도를 제가 정할 수 있는 온라인 교육이 좋은 것 같습니다.

FastCampus의 교육들은 커리큘럼들도 잘 짜여 있고, 한번 결제하면 평생 소장이 가능하다고 해서 종종 이용하고 있는데요.

이번에는 미션 수행하면 수강료 환급해주는 과정이 생겨서 도전해보기로 했습니다.

 

이번에 도전한 과정은 "OpenCV 를 활용한 컴퓨터 비전과 딥러닝"인데요.

마침 제가 요새 회사에서 추진하고 있는 프로젝트가 "지능형 CCTV 구축"과 관련된 것이어서,

관련 기술도 배울 겸 신청하게 되었어요

 

수강신청 후 환급 미션이 시작되기 전까지는 약간 시간이 있어서 Chapter 1 은 쉬엄쉬엄 들어봤는데요.

FastCampus 강의들의 장점은 영상 1개당 강의시간이 길어도 25분을 넘기지 않고 대체로 10분 안팎이어서

수강에 큰 부담이 없다는 것입니다.

문제는 본인이 꾸준히 하느냐에 대한 것인데 평생 소장이니 의지가 다시 타오를 때 또 보면 되죠 뭐...ㅋ

 

오늘은 어제에 이어 검출된 특징점들에 대한 기술과 매칭에 대해 배워봤습니다.

특징점들이 몇 개가 있고, 어떤 형태로 반환되는지에 대한 것입니다.

특징점을 기술하기 위한 기술자 즉 Descriptor 에 대한 내용이었는데,

실수형인지, 이진형인지에 대한 것과 각 기술자들의 성능에 대한 것이었습니다.

특징점기술

특징점 기술자 계산함수는

cv2.Feature2D.compute(image, keypoints, descriptors=None) -> keypoints, descriptors

keypoints는 검출된 특징점의 정보, cv2.KeyPoint 객체의 리스트입니다.

각 Descriptor의 성능과 속도를 비교해보면 속도는 ORB 가 제일 빠르고, 성능은 AKAZE 가 제일 좋다고 하네요.

 

다음은 특징점 매칭에 대해 배워봤습니다.

두 개의 영상에서 비슷한 특징점을 매칭 하는 것이었는데요

아마 정지영상이 아닌 동영상에서 각각의 프레임간의 동일 사물의 추적에 이용되는 알고리즘인 듯합니다.

특징점매칭

특징점 매칭 함수는

cv2.BFMatcher_create(, normType=None, crossCheck=None) -> retval

특징점 검출 알고리즘 객체 생성 함수는

cv2.DescriptorMatcher.match(queryDescriptors, trainDescriptors, mask=None) -> matches

queryDescriptors는 1번 영상의 descriptor

trainDescriptors는 2번 영상의 descriptor입니다.

 

마지막으로 결과 영상을 생성하는 함수는

cv2.drawMatches(img1, keypoints1, img2, keypoints2, matches1 to 2, outImg, matchColor=None, singlePintColor=None, matchesMask=None, flags=None) -> outImg

이렇게 하면 유사한 두 특이점을 선으로 연결해주네요.

선으로 가려져서 눈으로 식별하기는 어려운 듯합니다.ㅎㅎ

 

앞으로 특이점 검출, 기술, 매칭을 어떻게 활용할지 매우 기대되네요.

 

 

그러면 모두 활기찬 하루 보내세요~ ^^

 

 

 

강의 링크: https://bit.ly/2DBM8d4

 

OpenCV를 활용한 컴퓨터비전과 딥러닝 올인원 패키지 Online. | 패스트캠퍼스

황선규 박사에게 배우는 컴퓨터 비전과 딥러닝. 고급 알고리즘의 원리를 제대로 이해하고 수십 가지의 실습을 통해 내 것으로 만드세요.

www.fastcampus.co.kr

 

댓글