차근차근/OpenCV

3 일에 만드는 고속 특정 물체 인식 시스템 (1) 물체 인식 시스템

예쁜꽃이피었으면 2014. 7. 30. 10:17

http://aidiary.hatenablog.com/entry/20091018/1255862734

정보 처리 학회 학회지 「정보 처리」2008 년 9 월호 (Vol.49, No.9)에 " 3 일에 만드는 고속 특정 물체 인식 시스템 "이라는 특집 기사가 있습니다. OpenCV를 이용한 재미있을 것 같은 프로젝트이므로 보고서에 정리해 보려고합니다. 3일안에 할 수 있는지 모르겠지만.

불행히도 이 문서는 PDF 파일을 무료로 다운로드 할 수 없습니다 ( CiNii 오픈 액세스 가능하게 된 것 같습니다). 그래서 회원이 아닌 원래 기사를 읽고 싶은 사람은 도서관에서 복사 할 필요가 있을지도 · · · 또, 2009 년 9 월호의 인공 지능 학회 잡지에도 물체 설명 "시맨틱 갭을 넘어서 - 이미지 영상 내용 이해 향해 조치 "가 있습니다. 이쪽도 매우 도움이되지만 마찬가지로 PDF가 손에 들어 오지 않습니다 · · ·. 그 밖에도 몇 가지 의미있는 총설 논문의 링크를 참고 문헌에 올려 둡니다.

물체 인식은

물체 인식 (object recognition)은 화상에 찍히고있는 것이 무엇인지를 알아 맞추는 처리에서 특정 물체 인식 및 일반 물체 인식 에 분류되어 있습니다. 특정 물체 인식은 특정 물체와 동일한 물체가 화상 중에 있는지를 알아 맞추는 (identification) 처리에서 일반 물체 인식, 의자, 자동차, 호랑이 등 일반적인 물체의 카테고리를 알아 맞추는 (classification) 처리입니다. 특정 물체 인식은 컴퓨터의 발전에 비교적 용이 해지고 있으며 상업적인 사용도 되고 있다고 합니다만, 정말 어려운 것은 일반 물체 인식에서 최근의 연구는 이쪽이 중심으로 붐이라고합니다.

일반 물체 인식의 어려움은 시맨틱 갭인 것으로 알려져 있습니다. 예를 들어, 같은 자동차라고하는 카테고리에서도 여러가지 형태 · 색 · 종류의 자동차가 있으니까요. 인간은 어떤 색 · 형태도 왠지 자동차와 정확히 알아 맞출 수 있지만 컴퓨터에는 자동차의 본질적인 의미를 모르기 때문에 어려운 것입니다. 인공 지능 의 어려움은 기계가 의미 (단어도 그림도 음성도)를 이해할 수없는 것으로부터 오고 있다고 생각합니다. 최근에는 Web에서 태그 대량 이미지 데이터와 기계 학습 기법을 이용하여 의미를 자동 학습 시키려고하는 연구가 많은 주목을 받고 있습니다.

이번에는 제목의 기사를 참고로 구현이 비교적 용이 한 특정 물체 인식을 만들어 보겠습니다.

물체 인식 시스템의 구성

각론에 들어가기 전에 시스템 전체 그림을 보여드리겠습니다.

 


f : id : aidiary : 20091018162206p : plain
※ http://www.m.cs.osakafu-u.ac.jp/IPSJ_3days/ 에서 인용

 

특정 물체 인식은 인식시키고 싶은 물체를 Web 카메라 등으로 촬영하여 국소 특징 량 을 추출하여 물체 모델 데이터베이스에 미리 등록 해 둡니다. 검색 쿼리로 인식시키고 싶은 이미지를 찍어 국소 특징 량을 추출하여 물체 모델 데이터베이스의 각 물체의 국소 특징 량 사이의 유사도를 계산합니다. 그 중에서 유사도가 가장 높은 것을 인식 결과로 반환하는 것이 전체의 흐름입니다.

제목의 기사에서 아래의 순서로 프로젝트를 진행하자라는 느낌입니다.

(1) 저속 특정 물체 인식 시스템 구축 (1 일째)

국소 특징 량의 대표 인 SIFT (Scale-invariant feature transform) 특징 량 을 이미지에서 추출 모듈을 만들고 물체 데이터베이스 모델 검색에 가장 단순한 선형 탐색 에서 최근 옆 (유사도가 가장 가까운 점)을 찾는다. 선형 탐색은 너무 느려 실용적이지 않지만 우선 움직이는 시스템을 만든다.

(2) 근사 가까운 이웃 탐색을 이용한 고속화 (2 일째)

선형 탐색은 너무 느려 때문에 물체 모델 데이터베이스의 국소 특징 량을 kd-tree 와 Locality Sensitive Hashing (LSH) 에서 인덱싱하여 최단 입점 검색을 빠르게한다.

(3) 사용자 인터페이스의 구축 (3 일째)

물체 모델 데이터베이스를 만들거나 인식 결과를 표시 할 인터페이스를 만듭니다.

3 일 진행하는 것은 상당히 어렵습니다 · · ·

국소 특징 량

특정 물체 인식 시스템에서는 데이터베이스에 등록 된 것과 동일한 물체 만 인식 할 수 있습니다. 재미있는 것은 똑같은 이미지 아니어도 인식 할입니까. 물체를 촬영하는 방향 사이즈가 다소 바뀌어 있고, 일부가 숨어 있어도 제대로 인식 할 수 있습니다. 이것은 이미지에서 추출한 다수의 국소 특징 량을 사용하면 가능합니다. 이미지의 국소 특징 량에 의한 모델링은이 분야를 크게 발전시킨 획기적인이라고합니다. 아래는 국소 특징 량의 대표 인 SIFT의 예입니다.

f : id : aidiary : 20091018170018j : plain
f : id : aidiary : 20091018171736j : plain

정상적인 레나 씨 사진입니다. 아래는 크기를 80 %로 축소 (스케일), 90도 회전, 밝기를 떨어 (조명) 주위를 은폐 (폐색) 한 이미지입니다. 개별 노란 점이 키포인트 (Interest point, 특징점 등 부르는 법은 여러가지)에서 각 키포인트가 각각 128 차원 SIFT 특징 량을 가지고 있습니다 . 이 이미지라면 대략 1000 개 정도의 키 포인트를 얻을 수 있습니다. 비교해 보면 알 수 있듯이 이미지가 다소 변화 있어도 키포인트의 위치는 거의 유사 SIFT 특징 량의 값도 가까운 (나중에 출력합니다) 것을 알 수 있습니다. SIFT는 이미지의 스케일 변화, 조명 변화, 평행 이동, 회전, 은폐 (폐색)에 튼튼한 라고하는 이유입니다. 즉, 왼쪽의 레나 씨의 국소 특징 량을 물체 모델 데이터베이스에 등록 해두면, 다소 변화했다 적당한 레나 씨도 비슷한 국소 특징 량을 가지고 있기 제대로 인식 할 수 있다고 것이군요.

비슷한 이미지 검색 시스템을 만들자 (2009/10/3)에서는 컬러 히스토그램 라는 특징 량을 사용 했습니다만, 이것은 역 (global) 특징 량 그렇다고 전체 이미지에서 하나 의 특징 량을 얻습니다. 한편, 국소 (local) 특징 량은 전체 이미지가 아니라, 이미지의 국소로부터 다수 (위의 예에서는 약 1000 개)의 특징 량을 얻고 있습니다. 이것은 꽤 대단한 생각의 전환이라고 생각합니다.

오늘은 피곤해서 여기까지. 3 일에 만드는 고속 특정 물체 인식 시스템 (2) SIFT 특징 량 추출 (2009-10-24)를 따릅니다.

참고 문헌

 

 

반응형