feature-1
Shared on October 18, 2026
서로 객체들의 어떤 관계를 갖고 있고 이런 것들을 이해하는 것을 저희가 컴퓨터 비전의 최종 목표라고 얘기를 했죠. 사람은 우리가 딱 봤을 때 알고 있으니까. 그때 이제 놀이공원 사진이 딱 주어지고 날씨는 어떻고 놀이기구랑 사람이 어떻게 배치가 되어 있고 이런 걸 이해하는 게 목표가 되는 건데요. 이걸 이해하기 위해서 저희가 이제 대표적으로 컴퓨터 비전에서 되게 중요한 프로블럼 중의 하나가 Correspondence라고 하는 거고요 Correspondence는 이미지 두 개 어디가 어디가 매칭이 되는지를 찾는 거예요
그래서 Correspondence라는 문제의 다른 이름은 이미지 매칭이라고 부를 수가 있습니다 대표적으로 저희가 이렇게 한 관광지에서 두 가지 이미지를 찍었어요. 두 사람이 다른 사람이 각자 다른 날에 가서 사진을 찍은 거예요. 두 사람이 갖고 있는 카메라도 다르고요. 날씨도 다르니까 일루미니션도 다른 거고 찍는 각도도 다르죠. 그래서 이렇게 찍힌 이미지가 서로 굉장히 다른 모습을 보여주고 있는데 사람은 이 두 개를 봤을 때 이게 같은 관광에서 찍힌 사진이다
라는 걸 인지를 할 수가 있죠. 그러면 이 두 이미지에서 서로 매칭이 되는 영역 이 어딜까를 사람한테 물어보면 이 영역과 이 영역이 매칭이 된다 라는 걸 알 수 있죠. 그래서 이 영역과 이 영역과 매칭이 되는 것 같다 라고 얘기를 하는데 그거에 대한 근거를 우리가 물어볼 수가 있죠 어떤 점에서 그렇게 생각을 했냐 물어봤을 때 얘가 이제 좀 더 디테일하게 들어갑니다
지금 보니까 여기 있는 3명의 동상이 3개의 동상이 차근인 것 같다 빨간색이랑 빨간색이랑 같은 동상인 것 같고 파란색이랑 파란색이 같은 동상이고 초록색이랑 초록색이 같은 동상인 것 같다 라고 얘기를 할 수가 있고요 좀 더 들어가면은 각각의 동상이 어떤 동상이랑 매칭이 되는지를 물어봤을 때 동상이 지금 3개가 있죠 3개의 동상 중에 각자가 어떻게 매칭이 되는지 물어봤을 때 결국에는 동상의 디테일한 생김새에서 차이가 있는 거죠
그래서 그 동상의 얼굴 부분이 얘가 매칭이 되고 이 노란색 몸통이 매칭이 되고 파란색 다리가 몸통이 매칭이 되고 초록색 다리가 매칭이 된다 이렇게 판단을 할 수가 이게 우리가 풀고자 하는 이미지 매칭 또는 코리스폰던스라고 생각을 해주시면 되겠습니다 그래서 두 이미지가 주어졌을 때 두 이미지의 어떤 부분이 다른 이미지의 어떤 부분에 매칭이 되는지를 알아내는 과정이다 라고 생각을 해주시면 되고요
이거를 위해서 필요한게 이제 Feature라고 하는 거예요 이 이미지에서는 예를 들어서 우리가 코리스펀던스를 매칭을 하기 위한 근거로 얼굴의 생김새, 팔의 모양, 팔의 각도가 될 수도 있겠죠 팔의 각도가 동상과 다르니까 그리고 다리를 뻗은 방향이나 각도 이런 정보들을 저희가 Feature라고 하는 겁니다 그래서 Feature라고 하면은 저희가 어떤 씬을 표현하기 위한, 거꾸로 얘기를 해서 매칭을 하기 위해서
코리스콘너스를 찾기 위해서 필요한 정보들을 담고 있는 것이다 또는 정보의 조각이다 이렇게 표현이 되어 있죠 그래서 이미지 피쳐라는 것은 어떻게 보면 좀 추상적인 개념인데요. 어떤 물체를 저희가 인지를 하기 위해서 아니면 이 신을 이해하기 위해서 필요한 정보라고 생각을 해주시면 되겠습니다. 예를 들어서 여기 물체를 구분하는 문제를 풀 때
필요한 피처를 생각을 해보면요. 저희가 비행기를 인지하기 위해서 필요한 부분은 비행기의 날개 부분이겠죠. 비행기에 날개가 있으면 이거는 비행기일거야 라고 예측을 할 수가 있을거죠. 그래서 비행기에 대해서는 이런 날개가 피처를 될 수가 있고요. 그 다음에 사람의 얼굴에서는 눈썹과 눈이 어떤 사람인지 이게 누구인지를 인식하기 위해서
필요한 정보일 수가 있을 거고요. 또는 저희가 바이크라고 하는 자전거를 구분하기 위해서는 핸들 부분이 될 수도 있고 아니면은 바퀴 부분이 될 수도 있겠죠 근데 지금 여기서 바이크도 구분을 해야 되고 모터바이크 자전거랑 오토바이를 구분을 하려고 하면은 핸들 정보만 가지고는 구분할 수 없을 거고요 더 이상 핸들은 중요한 feature라고 얘기를 할 수가 없을 거예요. 자전거랑 오토바이를 구분하기 위해서
두 개를 구분하려면 뭐가 필요하냐? 바퀴의 모양이 다르죠. 바퀴의 모양 자체가 이 둘을 구분하기 위한 feature가 될 수도 있고요. 이제 모터바이크에는 자전거에는 없는 엔진이 달려있죠. 여러 엔진 같은 게 이제 둘을 구분하는 feature로 작용을 할 수가 있습니다. 그래서 이 feature라는 것은 결국에 이제 어떤 사물을 인지하기 위해서 아니면 상황을 이해하기 위해서 필요한 정보의 부분이다 라고 이해를 해주시면 될 것 같고요. 앞 슬라이드에서는 이 동상을 매칭을 하기 위해서 필요했던 feature는
동상의 얼굴, 팔의 각도, 다리의 각도 이런 것들을 시도해 줄 수가 있을 겁니다. 그래서 피처에는 종류가 굉장히 다양하고요. 여러 종류의 피처가 있을 거고 이제 그거를 저희가 로우 레벨부터 시작해서 로우 레벨, 미드 레벨 그리고 하이 레벨 이렇게 세 개로 구분을 해주셔서 생각을 할 수가 있습니다. 그래서 예를 들어서 저희가 이런 이미지가 주어졌다고 생각을 해볼게요. 이런 이미지 지금 초원에서 사람이 말을 타고 있는 이미지인데
저희가 이 이미지를 이해하기 위해서 필요한 정보의 조각들을 찾아보는 겁니다. 그래서 대표적으로 하이레벨에서부터 시작을 하면 저희가 이 이미지를 봤을 때 여기 말이 있고 사람이 이걸 이해를 할 때 생각을 하면 말이 있고 말로에 사람이 타 있고 그 뒤에 나무들이 있다. 그래서 이렇게 물체들, 오브젝트, 컨텍스트, 씬 같은 것을 저희가 하이레벨 피처라고 얘기를 합니다. 굉장히 부차원적인
이제 feature를 high level feature라고 얘기를 할 수가 있고요 그러면 좀 더 세밀하게 해서 들어가 가지고 저희가 그럼 이거를 어디를 보고 말이라고 판단했는가 어디를 보고 사람이라고 판단했는가를 좀 더 한 단계에 내려갈 수가 있겠죠 그래서 예를 들어서 말의 머리라던가 말의 다리 말의 안장 같은 부분을 보고 이 객체는 말이라고 판단을 했겠죠 조금 내려가면은 이제 어떤 오브젝트의 파트가 된다던가
아니면은 이 이미지의 어떤 영역 리전이나 패치 같은 거 이런 거를 저희가 미들 레벨 feature라고 얘기를 할 수가 있고요. 마지막으로 미들 레벨에서 좀 더 들어가면은 결국에 각각의 오제크 파트를 구분하기 위해서 필요했던 거는 뭐 이제 저희가 지난 시간에 봤던 엣지 모양을 보고 이게 뭐 말의 머리다 다리다 이런거 판단할 수 있을 거고요. 그리고 오늘 배울 코너, 텍스처 이런 정보들을 low level feature라고 얘기를 할 수가 있습니다.
그래서 저희가 feature가 이렇게 low level부터 high level까지 나뉘어져 있고요 저희가 일반적으로 알고 있는 convolutional neural network를 생각을 해보면 low level feature부터 뽑아서 high level feature로 가죠 그래서 처음에 convolutional layer에서는 엣지나 코너 정보들을 추출하다가 걔네가 이제 풀링을 통해서 합쳐지면서 그 파트를 인식하게 되고요 그래서 나아가서 뒤에 레이어로 가서는
이제 물체 자체를 인식할 수 있는 이런 식으로 작동하게 됩니다 저희가 convolutional neural network는 중간고사 이후에 또 배울 거라서 그때 한번 더 다뤄보도록 할게요 그래서 이렇게 feature가 low level부터 high level까지 있는데 저희가 기본적으로 low level이랑 이들레벨을 local feature라고 많이 명시를 합니다 local을 하다는 것은 이미지의 국소적인 부분을 차지하고 있다는 거죠 굉장히 작은 영역을 local feature라고 얘기할 수가 있습니다
그리고 저희가 중간고사 전에 이 low level feature에 대해서 이제 살펴보고 있죠 살펴보겠습니다 그리고 이제 피처에 대해서 조금 더 생각을 해보면은 저희가 딥러닝 모델이 어떻게 성공을 했는지를 돌이켜보면은 항상 이런 얘기가 나와요. 머신러닝이랑 딥러닝이 아닌 고전적인 머신러닝이랑 딥러닝 간의 차이가 무엇인다에 대해서 생각을 해보게 되죠. 저희가 뭐 이거를 다이오그라미로 고르면은 Artificial Intelligence라는 AI라는게 굉장히 큰 공주에 있고요
그 안에 머신러닝이 있고 그 안에 딥러닝이 있는 주소가 될 텐데요 저희가 지금 얘기를 하는 AI라고 하면은 다 딥러닝 모델인거죠 그래서 고전 머신러닝 모델들은 거의 사용이 되지 않고 거의 다 딥러닝 모델들을 사용하게 됩니다 그러면 이 딥러닝 모델이 왜 이렇게 성공을 했을까에 대해서 생각을 해볼 수가 있고 그러면 과거의 머신러닝 모델이랑 다른 점이 무엇일까에 대해서 생각을 하면은 중요한건 이제 Feature를 어떻게 뽑느냐가 되는거에요
Feature를 이제 사람이 정의를 한 Feature를 뽑아가지고 사용을 하느냐 아니면은 네트워크가 데이터로부터 유용한 Feature를 알아서 학습을 하느냐 이 차이가 있는거죠 그래서 저희가 이 핸드카리프스 Feature 중에 대표적으로 배운게 지난 시간에 엣지 같은게 Head-Correct Feature가 될 수가 있어요 제가 이제 CanE Edge 디텍터처럼 룰에 정해져서 Gradient 계산하고 Gradient의 Magnitude 계산한 다음에
저희가 뭐죠? NMS, NMS, NMS, Dior Cessure Living, 그리고 Hystianesis가 적용한 하나의 알고리즘을 사람이 만든거죠 CanE라는 사람이 만들어서 엣지라는 Feature를 뽑을 때 이런 알고리즘을 통해서 Feature를 뽑아야 된다 라고 하던게 과거의 머신러닝 방법이라고 생각하시면 되구요 반면에 이제 딥러닝에서는 사람이 이렇게 알고리즘을 정해준게 아니라 컨버셜 뉴럿네트워크가 알아서 학습하다 보니까 이제 엣지나 코너 같은 정보를 유용한 정보들을 알아서 배우더라
라고 하는거에요 그래서 요 두가지가 요게 이제 두 방법론을 가하는 가장 큰 차이점이라고 생각을 했으면 되구요 그런 측면에서 딥러닝이 이제 데이터로부터 학비터를 자동적으로 학습하기 때문에 이 테스트를 풀기 위한 피처들을 알아서 잘 배우기 때문에 성향이 좋다고 얘기를 할 수가 있죠 그래서 실제로 저희가 단순한 테스트를 풀 때는 우리가 핸드크래프트 피처, 엣지나 포넘 같은 것을 사용할 수가 있는데
좀 더 복잡해지면 우리가 알고리즘으로 표현을 못하는 피처들이 굉장히 많이 있습니다 그래서 어떤 것을 피처로 형용하기도 어렵고 알고리즘으로 얘를 디텍트하는 것조차도 굉장히 어려울 수가 있는데 그런 부분을 딜러닝이 해결을 해서 성향이 좋고 성공을 했다 이렇게 이해를 해주시면 되겠습니다 그래서 feature라는 부분을 이렇게 알아주시면 되고요. 그리고 이제 feature를 사용을 할 때 이제 저희는 local feature가 중요하다는 얘기를 해요.
그래서 feature를 굳이 구분하자면 low and middle level을 local feature라고 구분을 할 수 있는데요. 저희가 local에 반대되는 말은 global feature예요. global feature는 이미지를 하나를 전체적으로 표현을 하는 그런 특징이라고 생각하시면 되고요. local feature는 국소적인 부분을 표현하는 feature라고 생각하시면 돼요. 그래서 예를 들면은 우리가 사람의 얼굴을 인식하는 데 있어서 사람의 얼굴의 전체적인 모양을 하나의 feature를 볼 수가 있고요.
local high level로 생각을 할 수가 있는 거고요. 사람의 눈, 코, 입을 나눠가지고 작은 로컬 피처로 나눠서 생각하는 경우가 있을건데 둘 중에 뭐가 좋냐에 대한 문제인거죠 그래서 하나의 글로벌 피처를 쓸거냐 아니면은 여러개의 로컬 피처를 쓰는게 더 좋냐 근데 이제 해당은 대부분의 경우에 로컬 피처를 여러개를 사용하는게 좋다 라고 알려져 있습니다 이 측면은 이제 이 광관성, 로버스리스 측면에서
배송이 된다고 알려져 있고요 예를 들어서 우리가 사람의 얼굴을 이제 통째로 감기를 하는 이런 피처를 만들었다고 생각해볼게요 이 사람을 이제 누구인지 랩 인식을 할 건데 이 사람이 이제 카메라에 사진을 시켰는데 얼굴에 일부분이 가려져 있어요 이런 식으로 책으로 얼굴이 가려져 있으면은 우리가 하나의 글로벌 피처는 얼굴이 전부 다 보이는 그런 상황에서만 피처를 뽑아 놨기 때문에 우리가 이런 이미지가 주어졌을 때는 이 사람을 인식하지 못할 확률을 개발해 놓았고요
만약에 우리가 눈, 코, 머리 스타일 등의 정보들로 정보를 로컬 피처들로 구분을 지어 가지고 뽑아 놨다면 이런 이미지가 주었을 때 머리 스타일이라던가 눈썹의 모양, 눈의 모양 등을 가지고 로컬 피처들을 조합을 해 가지고 이 사람이 그 사람이다 라고 맞출 수가 있죠 그래서 이런 억수드전이 생겼을 때 글로벌 피처는 이제 힘을 많이 잃고요 로컬 피처들은 그 중에 살아남는 로컬 피처들을 우리가 조합을 해 가지고 디지션을 내릴 수가 있기 때문에 좀 더 강건하다라고 얘기를 할 수가 있고요
그 다음, Articulation, 각도에 대한 문제죠. 저희가 사람의 다리를 인식함에 있어서 글로벌 피처로 생각을 하면 다리의 모양 자체를 하나의 템플릿처럼 정보를 뽑아놓은 거라고 생각을 할 수가 있고요. Local feature라고 하면 다리를 여러 부분으로 세밀하게 나누는 거죠. 예를 들어서 허벅지, 그리고 무릎, 정강이, 그리고 발 이렇게 나눠가지고 로컬 피처를 우리가 뽑아주면은
우리가 사람이 걸을 때 이 다리의 모양이 계속 바뀌죠. 관절에 따라서. 관절이 움직임에 따라서 이렇게 모양이 달라질 텐데 모양이 달라지더라도 저희가 글로벌 피처는 이걸 인식을 못하겠지만 로컬 피처를 뽑아 놨으면은 결국에 모양이 조금 바뀌더라도 허벅지, 무릎, 정강이, 발 4개의 정보가 살아남기 때문에 각도가 변하는 상황에서도 똑같은 물체임을 인식하고 매칭을 할 수가 있겠죠.
마지막으로는 인차플레스 베리에이션이구요. 인차플레스 베리에이션이라고 하면은 차 시간에 잠깐 나왔던 얘긴데 같은 종류의 물체더라도 디테일의 차이가 존재한다는 거죠. 그래서 같은 차더라도 예를 들어서 차의 브랜드에 따른 엠블렘이 다르고 헤드라이트의 모양이 다르겠죠? 이럴 때 저희가 차 하나의 전체적인 모양만을 암기를 하고 있으면 글로우 히터로 표현을 해놓으면
이런 경우에 같은 차인 것을 구분을 못할텐데 우리가 차에 대한 정보를 대표적인 로컬 히터들로 표현을 한다면 안유리가 있고 사이드 미러가 있고 바퀴가 달려있고 이런 것들로 표현을 한다면 이런 인트라 클래스피레이션에도 대응을 할 수가 있을 거고요 그리고 마찬가지로 만약에 이 차가 다른 각도에서 찍혔어요 다른 각도에서 찍히면 헤드라이트가 안 보일 수가 있죠 헤드라이트가 안 볼 수가 있고 어떤 각도에서는 바퀴가 두 개
어떤 각도에서는 바퀴가 네 개 볼 수가 있는데 그런 것들을 글로벌 피처가 아니라 로컬 피처들로 이제 저희가 여러 개로 모델링을 해 놓으면 좀 더 간관하게 대응을 할 수 있다 같은 물체 힘을 인식할 수 있다 이해를 해주시면 되겠습니다 그래서 이렇게 해주시면 되고요 그래서 Local Picture가 Glow Picture보다 더 유용하다
성능이 좋다 정도로 이해를 해주시면 되겠습니다 그래서 이 로컬 피처들을 조합을 해서 우리가 예측을 하자, 프레딕션을 하자 라는 컨셉에서 나온게 이제 백오프 월드라는 방법이 있구요. 이거는 이제 자연화에서도 사용이 되는 거고 비전에서도 사용이 되는 건데
결국에 저희가 어떤 하나의 객체를 표현을 할 때 여러 개의 로컬 피처로 표현을 하는 거죠. 그 로컬 피처들을 모아 놓은 것을 가방처럼 표현을 하는 거에요. 그래서 그거를 이제 백오프 월드라고 합니다. 이 방법이 처음 나온 게 자연화에서 나와서 자연화에서는 센텐스를 표현할 때, 문장을 표현할 때 단어들의 집합으로 표현할 수가 있죠. 그래서 자연어에서는 그런 문장들을 분류하기 위해서 백오월즈라는 것을 구입을 한 거죠. 그래서 이름이 백오월즈고요.
이름이 바뀌지는 않고 저희도 그대로 사용을 합니다. 마찬가지로 자연어 문장에서 저희가 단어들이 로컬한 정보가 되듯이 이미지에서 우리가 로컬 피처를 다 뽑아 놓으면 걔네들이 자연어에 비유를 하면은 워드의 반어 역할을 해주는 거죠. 그래서 저희가 어떤 사람의 얼굴을 인식함에 있어서 사람의 얼굴에 대한 로컬 피처들을 이렇게 막 뽑아가지고 가방에 넣어놓는 겁니다. 가방에 넣어놓고 나서 새로운 이미지가 들어왔을 때 우리가 가방에 넣어놓은 것들
만약에 이런식으로 가방에 넣어놓은 것들을 이제 각각의 로컬 피처들이 얼마나 존재할 확률이 있는가 존재할 확률이 얼마나 높은가를 따집니다. 그래서 이 이미지가 들어왔을 때 이 안장 같은 경우에는 뭐 이거 존재할 확률이 별로 없죠. 존재할 확률이라고 하면은 세부 시뮬러리티 계산 일단 일단 뭐 히스토리아리티 이런 걸로 판단을 할 수가 있을 거에요. 했을 때 뭐 이제 자전거의 안장이나 이런 바이올린의 이런 구분은 낮은데
사람의 코 부분 잘 보이고 눈 부분 잘 보이니까 우리가 이것들을 조합을 해서 로컬 피처들을 조합을 해서 이제 이거를 사람이라고 구분을 지을 수가 있다는 거죠. 마찬가지로 자전거나 바이올린도 이렇게 구분할 수 있습니다. 이렇게 로컬 피처들을 하나의 가방에다가 모아놓고 분류하는데 사용을 하는 것 이런 것을 이제 빼고 월제라고 하고요. 그래서 앞서 말씀드렸던 이제 로컬 피처의 장점을 잘 활용하기 때문에 굉장히 잘 동작하는 방법입니다. 빼고 월제랑. 이해는 해주시면 되고요.
추가적으로 하나만 더 말씀드리면 우리 이제 트랜스포머만이 사용을 하죠 트랜스포머를 넣을 때 패치 단위로 입력이 들어가지 아니면 워드 단위로 입력이 들어가죠 그것들을 각각을 저희가 백오월즈의 워드라고 볼 수가 있습니다 로컬 피처들을 여러개를 넣는 거에요 어떻게 조합을 할 거냐 근데 백오월즈랑 다른 점은 트랜스포머를 넣을 때는 포지션을 입베딩을 넣어주죠 그래서 이 어떤 로컬 피처들의 순서가 정해져 있습니다
근데 만약에 트랜스포머를 들어가는 포지션 인베딩이 동작을 잘 못한다 이 순서를 잘 파악을 못한다 하면은 그거는 결국에 백오월즈로 이제 떨어지게 되는 거에요 백오월즈로 이제 격화가 되는 겁니다 그래서 저희가 트랜스포머 메소드들 중에서 어떤 순서를 잘 이해를 못해요 그냥 이게 있으면 이렇게 결과를 찍어요 그래서 어떤 단어가 첫 번째 나오든 네 번째 나오든 똑같은 결과를 내보내요
그런 거를 저희가 비유를 할 때 트랜스포머 모델이 우리가 원하는 대로 동작 못하고 빼고 멀쩍처럼 동작한다 라는 안 좋은 의미로도 사용됩니다 최근에는 그래서 뭐 그런 것도 연결을 시켜서 생각을 해보시면 좋을 것 같아요. 그래서 저희가 트랜스포머를 들어가는 패치 단위로 들어가는게 결국에는 이제 로컬픽쳐들의 집합이 들어가는 것과 같구나 정도로 해주시면 되고요. 그래서 트랜스포머랑 얘랑 다른 점은 이 빼고 월드라는 것은 말 그대로 집합이죠. 저희가 파이썬에서 집합, 셋이랑 리스트를 구분하는게 순서가 있고 없고의 차이죠.
그래서 이 빼고 월드는 순서가 없습니다. 집합이 순서가 없는데 차이순은 좀 더 구도화돼서 순서까지 존재하는 그런 아키텍치만 이런 것까지 이해해주시면 좋을 것 같아요. 뭐 곁다리 내용이긴 하지만요 그래서 빼고 그걸 기억을 해주시면 될 것 같고요 그래서 다시 이미지 매칭으로 돌아와서 결국 이 두 이미지를 매칭을 하기 위해서 우리가 어떤 피처들이 필요할지를 생각을 해볼 수가 있는 거죠
어떤 피처를 사용하면 매칭을 할 수 있겠다 또는 어떤 피처는 사용하면 안되겠다 이런 것들을 생각을 해볼 수가 있고요. 이 두 이미지를 보면은 당연히 같은 동상을 구분하기 위해서 다른 각도에서 찍혔죠. 이 동상의 전체적인 모양을 우리가 하나의 글로벌 피처를 뽑게 되면은 이 오른쪽에서 이 동상의 각도가 틀어져서 예를 들어서 왼팔이 안 보이고 이런 상황에서 저희가 글로벌 피처는 잘 동작을 못 하겠죠.
글로벌 피처가 무조건 팔이 두 개 있어야 되고 다리가 두 개 있어야 되고 뭐 이렇게 정의가 되어 있다고 하면은 오른쪽 이미지에서는 어? 얘는 팔이 두 개가 아니네? 그럼 탈락 이렇게 돼버리는 거죠. 매칭을 실패하게 되겠죠. 그래서 글로벌 피처는 이런 경우에 잘 동작 못 할 거고 구조정이 생기니까 이런 경우에는 로컬 피처들로 팔이 이렇게 되어 있고 얼굴이 이렇게 되어 있고 다리가 이렇게 되어 있고 이렇게 매칭을 하면은 이 두 다리가 매칭이 잘 될 거고요. 팔도 저희가 로컬 피처로 관절을 잘 받으려고 하면은
로컬 피처를 뽑아서 매칭을 할 건데 여기서 또 우리가 알 수 있는 거는 이 로컬 피처는 색깔에 대해서 강건해야 되는 거예요. 색깔 변화에 따라서 다른 정보가 뽑히면 안 돼요. 왼쪽 이미지는 화이트 밸런서 높은 상태에서 찍힌 거죠. 오른쪽은 조금 필터를 씌운 것처럼 붉은 색깔의 어떤 전체적인 톤이 정해져 있는 이미지입니다 그래서 우리가 RGB 상에서 보면은
이 가운데 동상의 컬러 스페이스랑 이 오른쪽 동상의 컬러 스페이스와 굉장히 다를 거예요 그래서 만약에 우리가 어떤 피처를 매칭을 위해서 뽑았는데 이 피처가 색깔에 따라서 다르게 나오면은 이 피처는 매칭하는데 실패를 하겠죠 그러면은 이런 경우에는 뭔가 색깔을 invariant한 피처를 뽑아줘야 이게 잘 동작하겠구나 이런 것들을 우리가 떠올려 볼 수가 있을 겁니다. 그리고 두 번째로는 당연하겠지만 일루미네이션 체인지에도 관건해야 되겠죠.
찍힌 이미지가 어떤 날씨 조건에서 찍혔냐에 따라서, 과거에 따라서 밝기 정도가 달라질 텐데 그런 거에 변화해도 좀 이베리인트 해야 잘 매칭이 되겠다 라는 것을 생각을 해볼 수가 있습니다. 그리고 이런 것도 매칭을 할 수가 있죠. 좀 더 어려운 문제에요. 그래서 이런 식으로 저희가 펜타곤이 이미지에서 어디에 해당하는지 이거를 매칭하는 문제를 풀 때 어떤 피처들이 필요할까 라는 것을 생각해볼 수가 있을 것 같고요
예를 들어서 펜타곤에 있는 각각의 구역들을 디스트릭들을 저희가 각각의 피처로 표현을 하면 안 보이는 애들도 있고 각도가 많이 달라지죠 각도가 많이 달라질 때도 강권 안에 동작을 해야 매칭을 할 수 있겠다 정도로 생각을 해볼 수가 있고요 얘는 좀 더 어려운 예시에요. 화성에서 찍은 이미지일거에요. 저희가 화성 탐사 로봇에서 찍은 이미지가 있고
하나는 위성에서 찍은 이미지가 있어요. 각도가 굉장히 다르죠. 찍은 각도가 굉장히 다르더라도 이 두 이미지 사이에서 일치하는 부분은 여기랑 여기에요. 작은 부분을 일치하는 것을 최종적으로는 이런 것까지 목표로 하는 거죠. 이런 코리스폰던스를 개선할 수 있는 것을 목표로 해야 하나? 이렇게 해 주시면 되겠습니다. 코리스폰던스를 우리가 할 수 있으면, 알 수 있으면, 매칭을 할 수 있으면 여러가지 어플리케이션들이 있을 거고요.
대표적인게 파노라마 이미지에요. 여러 장의 이미지를 찍고, 이미지를 이어붙이는 이미지 스티칭이라고 할 수 있는 파노라마 기술의 코리스펀던스를 알아야 할 수 있죠 예를 들어서 1번, 2번, 3번 이미지를 촬영을 했는데 1번의 이미지랑 2번의 이미지가 어디부터 어디까지 오버랩이 되는지를 알아야 우리가 이어붙였을 때 자연스럽게 이어붙이죠 왜냐하면 오버랩된 이미지는 한쪽은 남기고 한쪽은 사라지게 말은 거야 자연스럽게 되니까요 마찬가지로 오른쪽 같은 경우에도
이 상에 대해서 10장의 이미지를 찍고 이걸 스티치 하려면은 우리가 코리스펀던스를 잘 계산해서 어디부터 어디까지가 매칭이 되는지 어디랑 어디를 이어붙여야 되는지를 우리가 알아낼 수가 있습니다 그 다음에 이제 비디오가 있을 때 오브젝트 트래킹을 할 수가 있죠 예를 들어서 비디오 프레임이 이 프레임부터 시작해서 이 사람이 말을 타고 장애물을 뛰어넘고 허를 뛰어넘고 앞으로 나가는데 저희가 첫 번째 프레임, 두 번째 프레임, 세 번째 프레임에서 각 프레임별로 어디가랑 어디가 매칭이 되는지 사람의
사람이 이 동영상 프레임에서 어디가 어떻게 매칭이 되는지 매칭을 하는 것도 코리스판던스 알고 있으면 저희가 예측을 할 수가 있고요 이걸 알고 있으면 물체를 계속 따라다닐 수가 있겠죠 물체 위치가 어떻게 바뀌는지 그런 위치의 변화 같은 것을 우리가 트래킹을 해 볼 수가 있습니다 그래서 이것도 하나의 Correspondence AC라고 보면 됩니다. 그 다음에 3D Requestraption 같은 경우도 할 수 있어요. 저희가 한 관광지에서 콜로세엄이죠. 콜로세엄에서 찍은 관광객들의 이미지를 싹 모아요.
굉장히 많은 데이터를 수집을 해가지고 이 관광지를 못 찍는 각도도 다 다르구요. 어떤 경우에는 사람도 같이 찍혀있고 이렇게 될텐데 이런거를 다 수집을 해서 이 모든 이미지에서 공통으로 존재하는 코리스펀던스 매칭을 찾으면 저희가 실제 이 컬러 사용을 3D로 재현을 할 수가 있습니다. 리컨스트럭션을 할 수가 있을 겁니다. 그래서 이렇게 3D 기술을 사용을 할 때도 저희가 이런 코리스펀던스 기술이 필요합니다.
그리고 추가적으로 얘기를 하면은 저희 3D 기술, 3D 영화를 촬영을 하려고 하면은 실제로 어떤 돈 같은 데서 촬영을 하죠. 돈같이 생긴 데서 돈 같은 데서 촬영을 하죠 동 같은 데서 촬영을 해가지고 실제로 사람이 여기 써 있고요
여기 카메라로 이렇게 찍죠 여러 개의 카메라를 다양한 각도에서 붙여가지고 이 사람을 찍습니다 찍으면은 카메라 별로 이미지가 하나씩 나오게 될 거고 얘네들의 코리스펀던스를 잘 매칭을 하면은 저희가 이 사람을 3D로 3D 공간에다가 만들어줄 수가 있는 거죠 아바타를 만들어줄 수가 있는 거죠 그래서 실제로 3D 영화 같은 데서도 이런 매칭 기술이 사용되고 있다 매칭이 굉장히 중요한 기술이구나
이렇게 이해해주시면은 될 거 같습니다 마지막으로는 이제 저희가 집에서 많이 사용하는 로봇청소기에서 많이 사용되는 기술인데요 로봇청소기가 집안 구석구석을 돌아다니면서 카메라로 찍어요 비디오를 찍겠죠 여러개의 이미지가 계속 나오게 될텐데 그 이미지를 계속 매칭을 하면은 집안의 구조를 3D로 그릴 수가 있겠죠
그래서 앞에 3D 리컨스트럭션이랑 비슷한데 그리고 나서 로봇이 하는 역할은 이 자기 자신이 현대 지도에서 어느 위치에 있는지도 알아야 돼요 그거를 저희가 Lead Localization 또는 Localization이라고 얘기를 하는데 이 로봇이 지금 카메라를 통해서 어떤 것을 보고 있어요. 여기서 테이블을 보고 있으면 테이블을 보고 있는 이미지가 찍힌 거죠.
이거를 기반으로 아 그러면 나는 지금 이런 맵 상에서 이 위치쯤에 있구나 라고 판단을 할 수가 있는 거죠. 이것도 결국에는 매칭 기반으로, 포리스포던스 기반으로 얘를 현재 위치를 예측을 할 수가 있습니다. 그래서 제가 로봇청소기를 예를 들었는데 로봇청소기가 아니더라도 자율주행 자동차가 될 수도 있고요. GPS는 사용을 하겠지만 아니면 최근에 돌아다니는 배달 로봇들 있죠.
음식 배달해주는 그런 로봇들도 이런 걸 이용을 해서 촬영된 이미지를 기반으로 현재 내가 어떤 위치에 있구나. 예측을 하는데 이런 코리스펀던트 기술이 사용이 될 수 있을 겁니다. 네 그래서 코리스퍼던스는 중요한 거 알았고 저희는 너무 어려운 건 안 할 거고 이제 간단하게 두 이미지 사이에 이제 매칭이 어디랑 어디가 매칭이 되는지를 찾는 거
이게 가장 단순한 문제죠 이걸 풀려고 하는 거고요 예를 들어서 이렇게 지금 이 고양이 장난감이 두 개가 있을 때 지금 하나는 이렇게 바로 세워져 있고요 하나는 크기도 좀 크고 기울어져 있어요 이 상태에서 우리는 알죠 고양이 얼굴이랑 매칭이 되겠구나 이런 걸 알 텐데 컴퓨터가 이걸 이해할 수 있게 어떻게 알고리즘을 만들 수가 있을까 대한 내용이라고 생각해 주시면 돼요 그래서 매칭 프로세스를 저희가 쭉 나열을 하면은
뭐 네 가지의 단계가 있어요 첫 번째는 첫 번째로는 이 이미지를 표현할 때 중요해 보이는 키포인트들을 찾습니다 이 이미지에만 존재할 것 같은 이 객체를 구분할 때 중요한 것 같은 키포인트라고 얘기를 해요 이렇게 키포인트들을 찾습니다 왼쪽 이미지에서도 찾고요 오른쪽 이미지에서도 찾아요 그래서 일단은 이 키포인트들이
저희가 왼쪽 이미지, 오른쪽 이미지를 같이 보고 찾는게 아니라 각자의 이미지에서 찾을 거고요 저희가 바라는 건 뭐예요 왼쪽에서 찾은 키포인트들 왼쪽 이미지에서 찾은 키포인트랑 오른쪽 이미지에서 찾은 키포인트들이 비슷한 데서 뽑혔을 거다 라는 거를 일단 가정을 하고요 키포인트가 잘 뽑혔다는 가정하에 우리가 이 키포인트를 매칭을 해야 돼요 키포인트가 뭐 지금 6개가 있죠 6개의 키포인트들을 어떻게 매칭을 할 거냐를
누구랑 어떤 키포인트랑 어떤 키포인트랑 매칭을 할 거냐를 따져야 되고요 그걸 위해서 저희가 키포인트의 피처를 뽑아야 되죠 키포인트의 존재하는 피처를 찾아주게 되고요 피처를 찾기 위해서 로컬 피처를 찾아야 되니까 키포인트 주변에 작은 영역으로 박스를 설정을 해 줍니다 그 박스 안에 정보들을 feature로 표현합니다 대표적으로는 이 박스 안에서 histogram을 계산할 수도 있겠죠
histogram을 계산한 것을 feature로 사용할 수가 있을 거에요 제가 단순한 형태에 그래서 이 feature 또는 이 박스 영역을 표현한다고 해서 descriptor라는 말을 씁니다 feature랑 descriptor랑 같은 거라고 생각해주시면 되고요 그리고 저희가 국소적인 영역에서 뽑으니까 local descriptor라고 얘기를 할 수 있겠죠 local descriptor 또는 local feature를 뽑게 되고요 얘네를 6개의 keypoint에 대해서
얘네를 뽑고 나면 다음으로 할 일은 비교를 하는 거죠 1번 이미지랑 2번 이미지 사이에 local descriptor끼리 비교를 해가지고 어떤 feature랑 어떤 feature와 시뮬러웨이가 높으면 그 주 keypoint로 우리가 연결을 해주는 거에요 예를 들어서 이 영역의 feature랑 hitogram이랑 이 영역의 feature와 hitogram이 유사하다 유사하다는 것은 거리가 일정 스트레스 홀더 아래다 라고 판단이 되면은 2 keypoint를 연결해 주는 거죠
이렇게 하면은 이제 이 이미지에서 존재하는 6개의 keypoint들을 서로 매칭을 해 줄 수가 있을 겁니다 그래서 기본적인 매칭 프로세스는 이렇게 4가지를 따르는 거고요 여기서 당연히 중요한 부분은 첫 번째랑 세 번째가 중요하겠죠 첫 번째로 keypoint를 어떻게 뽑을 거냐 어디가 keypoint냐 그리고 이 세 번째는 키포인트를 뽑기 뽑았는데 얘네를 매칭의 비교연산으로 사용하기 위해서 어떤 피처를 뽑을 거냐를 우리가 정해줘야 된다는 거죠.
그래서 일단은 좋은 키포인트가 무엇인지에 대해서 우리가 생각을 해볼 필요가 있고요. 좋은 키포인트란 거는 저희가 객체를 표현을 할 때 어떤 부분을 봐야 이 객체를 인식할 수 있는가에 대한 내용이고요. 일단은 아까 말씀드렸듯이 저희가 두 이미지에서 독립적으로 키포인트를 뽑았을 때 두 키포인트가 유사하기를 원하죠. 비슷한 데서 뽑히기를 원하죠. 그거를 우리가 리피터를 제치라고 얘기를 합니다.
제한 가능성이라고 얘기를 합니다. 예를 들어서 두 이미지가 있어요. 산맥에 대한 이미지인데 왼쪽 이미지에서 키포인트를 뽑았더니 이렇게 뽑히고요. 오른쪽 이미지에서 키포인트를 뽑았더니 이런 식으로 뽑혀요. 이렇게 뽑히면은 파란색 점이랑 빨간색 점이랑 우리가 눈으로 봤을 때 실제 매칭이 되는 페어들이 하나도 없어요. 이런 경우에는 저희가 뒤에서 아무리 키포인을 잘 뽑고 아무리 키포인트를 잘 대단을 해도 매칭에 실패이 되겠죠. 매칭하기 위해서는 이미지에서 같은 부분들을 뽑아줘야 된다
이렇게 뒤에 있는데 같은 부분들을 뽑아줄 수 있어야 된다 두 이미지를 놓고 우리가 두 이미지를 동시에 놓고 뽑는 게 아니라 각각의 이미지에서 동략적으로 뽑았을 때 같은 경우가 나와야 된다 그 다음에 이 리피터 빌리티티가 이 키포인트가 어떤 부분에 대해서 강건해야 되는지에 대한 얘기고요 저희가 이런 책 이미지가 있고 책을 느낀 이미지가 있어요 근데 우리가 이 영역과 이 영역을 비교를 하려면
뽑힌 피처를 봤을 때 얘네가 서로 유사해야 매칭이 되겠죠 매칭이 될 거기 때문에 저희가 얘기를 할 수 있는 거는 이 피처는 어떤 지오메칠 트랜스포메이션 이런 각도나 아니면 스케일 변화 등에 강건해야 된다 임패련트 해야 된다라고 얘기를 할 수가 있겠죠 그래서 지오메치 트랜스포메이션의 예시로는 이런 것들이 있어요
트랜슬레이션 유클리디언 시밀러티 로라파인 프로젝티가 있는데 이거는 저희 나중에 또 배울 겁니다 그래서 이런 트랜스포메이션이 있더라도 같은 피처를 뽑아낼 수 있어야 좋은 피처라고 얘기를 할 수가 있는 거고요 그 다음에 아까 잠깐 얘기했듯이 컬러가 달라지더라도 이제 컬러 차원에서의 트랙스포메이션 이걸 포토매트릭 트랙스포메이션이라고 얘기를 하는데 이게 저희가 같은 책이 이제 다른 조명 환경에서 이렇게 찍히더라도
NLR을 매칭을 할 수 있어야 되겠죠 그래서 저희가 뽑는 피처는 이런 포토매트릭 트랙스포메이션에도 인핵하게 해야 된다 강건해야 된다 라는 조건을 우리가 생각을 해볼 수가 있겠습니다 그래서 이게 이제 리피터빌리티라고 보시면 되요. 두 이미지를 동급적으로 봤을 때 같은 데서 뽑혀야 되고요. 그 다음에 이제 뭐 지오메트릭 트랜스포메이션이나 아니면은 오토메트릭 트랜스포메이션이 발생하더라도 똑같은 피처를 뽑아야 된다. 이게 리피터빌리티라고 생각을 해주시면 되겠습니다.
그 다음에는 이제 Distinctiveness인 거고요 저희가 이제 키포인트를 뽑고 나서 얘네를 매칭을 해줘야 되죠 그래서 왼쪽에서는 이렇게 4개가 뽑혔어요 리프터빌리티는 만족을 했어요 지금 두 삼맥의 같은 부분을 키포인트로 찍었는데 우리가 이제 해야 될 거는 이 키포인트가 오른쪽 이미지의 4개의 키포인트 중에서
어디랑 매칭이 되는지를 판단을 해야 되죠 근데 이 4개가 서로 너무 구분이 안 되면 4개 중에 어디에 매칭을 해야 될지가 모호해지는 앰비규어스해지는 현상이 발생하겠죠 그래서 Distinctiveness라고 하면 뽑힌 키포인트들끼리 서로 구분이 되어야 된다는 거예요 서로 구분이 되어서 우리가 정확한 매칭을 수행할 수가 있어야 된다. 이렇게 예약을 해주시면 됩니다. 이게 distinctiveness 보시면 되고요.
그래서 좀 다른 것들에 비해서 400점을 갖고 있어야 된다는 거예요. 이렇게 해주시면 되고요. 그 다음에 저희 키 포인트를 뽑는데 어떤 이미지를 대해서 키 포인트를 너무 많이 뽑았어요. 이렇게 많이 뽑으면 문제가 발생하겠죠. 이렇게 하면은 저희가 예를 들어서 이 n개를 뽑았으면 n by n의 매칭을 계산을 해서 최적인 조합을 찾아야 되기 때문에 시간이 굉장히 오래 걸릴 거고요. 그리고 굉장히 유사한 데서 키 포인트들을 여러 개를 뽑으면은 일단 서로 디스틱티브하지도 않겠죠.
그 때문에 키 포인트는 컴팩트하고 입기 상차게 뽑아야 된다는 게 다음 조건인 겁니다. 그래서 이제 가장 베스트 아이디어라는 케이스는 저희 매칭들을 리얼타임으로 할 수 있으면은 제일 베스트가 되겠죠 그래서 이런 킥포인트들이 너무 많아서는 안 된다 라는 조건이고요 이런 식으로 저희가 여러가지 조건을 할 수가 있는데 제가 리피처리티, 디스틱티브네스, 이피셀치는 봤고
로퀄리티, 로퀄리티는 아까 봤던 거죠 피처를 뽑을 때 글로벌한 피처보다 로컬한 피처로 좋으니까 피처를 뽑을 때 키포인트 또는 키포인트에 해당하는 리전들이 로컬해야 된다 라는 거고요 그 다음에 컨터티라는 게 있는데 컨터티는 이피션시랑은 살짝 반대돼요 이피션시는 우리가 개수를 너무 많이 뽑으면 안 된다죠 컨터티는 너무 적어서도 안 된다 라는 조건입니다 결국에 우리가 어떤 물체를
이제 커버를 하려면은 예를 들어서 사람의 얼굴을 보면서 로컬픽처를 뽑는다고 해서 컴팩트하게 뽑는다고 코만 뽑았어요 코만 뽑고 이제 사람을 뽑거나 하려고 하는데 코가 가려지는 순간 실패하겠죠 그래서 로컬픽처들을 뽑으려면은 로컬픽처 여러개를 조합을 할 수 있도록 최소한의 개수는 또 뽑아줘야 됩니다 그거를 이제 컨터티라고 생각을 해주시면 되겠습니다 그래서 컨터티랑 에피셰시가 좀 반대되는 개념을 생각할 수 있는데 일종의 트레이더프라고 생각을 하시면 되요
적당한 양의 키포인트들을 뽑아줘야 되는 거라고 생각을 해주시면 되겠습니다. 그래서 이 5개의 조건을 기억을 해주세요. 키포인트가 좋은 키포인트가 되려면 어떻게 해야 되는가? 리피터빌리티, 로컬리티, 콘서트임, 디스틱티미스, 피자이시는 관종을 해야 된다. 다른 거고요. 아까 리피터빌리티에서 지오메틱이랑 포토매트릭 트랜스마이셔야 얘기했는데 당연히 다른 조건들에 대해서도 로버트하면 좋겠죠. 일루미네이션 체인지라던가 노이즈, 블러, 콘서트임 같은 거에
좀 더 강간하면 좋은 키포인트가 될 거라고 얘기를 할 수가 있을 겁니다. 그래서 좋은 키포인트 5개를 해야 되고요. 또 키포인트 디텍터들이 이제 과거에 연구 많이 됐고요. 물론 이제 딜러닝 시대 이전이니까 공산국까지 연구가 됐고 얘네들은 여러분들 아실 필요는 없는데 다양한 방식의 키포인트 디텍터들이 발전을 해서 컴퓨터 비전 연구가 많이 발전할 수 있었다라고 생각을 해주시면 되겠습니다.
그래서 매칭 프로세스 다시 와서 이렇게 4가지 스텝으로 할 수가 있고요. 먼저 이 키 포인트를 어떻게 뽑는지를 살펴볼 거예요. 그래서 이런 이미지가 있을 때 잘 뽑은 키 포인트들 보면 이런 식으로 이미지에 좀 독특한 부분들을 뽑는 거를 볼 수가 있고요. 네, 그래서 뽑을 수가 있고요. 이 세 가지 이제 꼴을 만족을 하고자 키 포인트를 뽑게 됩니다. 먼저 리피터블하게 뽑아야 되고요. 그 다음에 이제 로컬라이징션 이 키 포인트의 위치를 우리가 정확히 찍어낼 수가 있어야 되고요.
세 번째로는 이건 디스틴티브니스랑 비슷해요. 이 키포인트가 갖고 있는 정보가 인테레스팅 해야 됩니다 정보가 이제 다른 거랑 유사하지 않고 좀 유니크한 정보를 갖고 있어야 되는 거죠 인테레스팅한 컨텐츠를 갖고 있어야 된다 라고 생각을 해주시면 되고요 그래서 이것까지 할 건데 저희가 이 이미지에서 어떤 로컬 리전을 키포인트로 뽑으면 좋을까를 생각을 해볼 수가 있는데 첫번째 후보는 여기 하늘을 만약에 찍어요
하늘 영역 이렇게 패치를 보면은 이 패치는 이 이미지에서 저희가 무수히 많이 찾을 수 있죠 굉장히 많이 찾을 수 있죠 이 패치랑 똑같은거 얘를 오른쪽으로 좀만 옮겨도 같은 패치고 오른쪽으로 또 옮겨도 같은 패치고 그렇죠? 이런 경우에 이런 플랫한 레전이라고 얘기를 했어야 했는데 이런 경우에는 베리에이션이 거의 없고 하늘의 다른 패치들이랑 매칭이 될 수 있기 때문에 디스팅티브 하지 않습니다
디스팅티브 하지 않기 때문에 하늘 패치를 키 포인트로 삼는 것은 굉장히 안 좋은 아이디어라고 얘기를 할 수가 있고요 다음으로는 엣지를 볼 수가 있어요. 저희 지난 시간에 배웠던 엣지를 만약에 키 포인트로 쓴다 이 영역을 뽑을 수가 있죠. 이거는 하늘보단 나아요. 하늘보다는 이 이미지에서 이 엣지 패치랑 매칭이 되는 패치가 그렇게 많지는 않을 것 같아요 근데 얘는 생각을 해보면은
이 엣지 방향으로 쭉 따라간다고 하면은 따라가는 길에서 발전하는 패치들은 거의 다 유사하겠죠 방향으로는 굉장히 유사하고요 이제 이거에 오소 분할하는 방향으로 xy축으로 가면은 조금 베리에이션이 있을 거에요 그래서 엣지는 우리가 정의를 하기를 한 방향으로만 베리에이션이 있다고 정의를 합니다 그래서 한쪽 방향으로 가면은 우리가 비슷한 해티들을 많이 찾을 수 있기 때문에
아까 이제 스카이 플랫한 리점보다는 조금 낮지만 좀 낮지만 그럼에도 불구하고 디스틴티브 하지는 않겠죠 이런 해티들이랑 매치가 될 수 있습니다 그러면은 우린 뭘 뽑아야 되냐 결국에는 이제 코너를 뽑아야 된다는 거예요 그래서 이 산맥 같은 경우에 이런 꼭지점들을 우리가 만약 뽑게 되면은 이 코너는 이 코너랑 유사한 인거를 패치를 아무리 어느 방향으로 옮겨 봐도 유사한 부분을 찾을 수가 없죠.
그래서 어떤 방향으로 가더라도 베리에이션이 크고요. 다른 부분이랑 매치 될 것 없이 굉장히 디스탄티브하다라고 얘기를 할 수가 있습니다. 그래서 우리가 sky region이라고 했는데 이게 되게 플랫한 부분을 얘기하는거에요 플랫한 부분 여기 변화가 없는거 여기 플랫한거는 그냥 안좋고 엣지는 적당히 사용할 뻔하고 코너가 제일 좋다 하고 이해해주시면 되겠습니다
실제로 이 코너 정보가 이제 키포인트로 많이 사용될거구요 우리가 이제 다음 시간에 코너를 디스틱트 하는 것을 살펴볼겁니다 그래서 코너는 리피터블하고 디스틱티브해요 코너는 어떤 이미지에서 뽑던지 상관없이 이미지 A에서 뽑던 B에서 뽑던 같은 코너를 우리가 뽑아낼 수가 있구요 디스틱티브하고 리피터블하고 그 다음에 코너는 다른 패치들이랑 두 분이 되니까 디스틱티브합니다 그래서 다음 시간에는 코너를 어떻게 뽑을지에 대해서 알아보도록 하겠습니다
네 그럼 오늘 수업 여기까지 하고 목요일에 뵙도록 하겠습니다