스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

객체 영역 추출 방법 및 그 장치가 개시된다. 객체 영역 추출 방법은, 칼라 영상을 입력받는 단계; 객체에 대한 조인트(joint) 정보를 입력받는 단계; 상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤(skeleton) 정보를 생성하는 단계; 및 상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 단계를 포함한다.

Description

객체 영역 추출 방법 및 그 장치{Object extraction method and apparatus}

본 발명은 칼라 영상에서 객체 영역을 분리하여 추출하는 방법 및 그 장치에 관한 것이다.

방송이나 영화에서 사람과 배경화면 합성 등의 특수 효과를 실제와 같이 만들기 위해 영상으로부터 배경과 사람을 분리하는 사람 영역 분할(Human Body Segmentation)기술은 매우 중요한 요소이다.

영상에서 사람 영역을 분할하는 종래의 기술은 사용하는 정보에 따라 크게 몇 가지로 나눌 수 있다.

첫 번째 방식은, 영상 내 색상 정보를 이용하는 방식으로, 해당 색상 정보를 토대로 사람의 색상 범위 안에 있는 위치를 찾거나 혹은 특징점 (feature vector)들을 추출하여 특징점들의 조합 및 매칭 (feature matching)으로 사람을 찾는 방식을 예로 들 수 있다.

두 번째 방식은, 색상 정보뿐만 아니라 깊이 정보 또한 이용하는 방식이 있다. 색상 정보는 빛과 조명의 상태에 따라 노이즈가 생기기 쉽기 때문에 빛과 조명에 큰 영향을 받지 않는 깊이 정보를 이용하여 정확도를 높이고자 한 방식이다.

첫번째 방식의 경우 상술한 바와 같이 빛과 조명에 영향을 많이 받을 뿐만 아니라 사람 주변에 복잡하거나 색상이 유사한 배경이 있을 경우(예를 들어 사람의 색상과 비슷한 가구 등) 사람 영역 추출의 정확도가 현저히 떨어지는 현상이 나타난다. 이러한 문제를 해결하기 위해 방송이나 영화 스튜디오에서는 크로마 키를 이용한다. 크로마 키는 흔히 그린 스크린, 블루 스크린으로 불리기도 하며 영상 촬영 시 단색 배경 앞에서 촬영 후 편집 과정에서 단색을 지워 다른 영상과 합성하기 위해 사용되는 기술을 말한다.

하지만, 크로마 키의 활용 분야는 미리 제작된 스튜디오나 영화 세트장 같은 경우에 한정되는 문제점이 있다. 즉, 사람이 실제 환경을 바탕으로 찍은 영상에서 사람 인식 및 분할을 하고자 할 때 이용할 수 없는 문제점이 있다.

두번째 방식의 경우 깊이 정보를 추가로 이용하기 때문에 복잡하거나 색상이 유사한 배경이 있더라도 카메라부터의 거리를 통해 이러한 배경을 어느 정도 걸러낼 수 있다. 하지만 깊이 정보를 획득하는 센서의 특성상 공간 해상도 (spatial resolution)이 다소 낮으며 취득된 깊이 값이 부정확한 경우가 많기 때문에 분할한 사람 영역의 경계가 부정확하거나 분할 결과에서 사람의 윤곽선이 깜빡거리는 "Flickering" 현상이 일어나는 문제점이 있다.

상술한 바와 같이 종래의 사람 인식 및 분할에 사용되는 기초적인 정보인 색상 정보와 깊이 정보는 배경과의 혼동이나 센서 특성으로 인해 생기는 노이즈 때문에 신뢰도 측면에서 문제가 있다.

본 발명은 칼라 영상에서 객체 영역을 분리하여 추출하는 방법 및 그 장치를 제공하기 위한 것이다.

또한, 본 발명은 객체의 색상 정보 및 스켈레톤 정보를 이용하여 높은 정확도로 객체 영역을 추출할 수 있는 객체 영역 추출 방법 및 그 장치를 제공하기 위한 것이다.

본 발명의 일 측면에 따르면, 칼라 영상에서 객체 영역을 추출하는 방법이 제공된다.

본 발명의 일 실시예에 따르면, 칼라 영상을 입력받는 단계; 객체에 대한 조인트(joint) 정보를 입력받는 단계; 상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤(skeleton) 정보를 생성하는 단계; 및 상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 단계를 포함하는 객체 영역 추출 방법이 제공될 수 있다.

본 발명의 다른 실시예에 따르면, 칼라 영상 및 깊이 정보를 입력받는 단계; 상기 깊이 정보를 이용하여 조인트(joint) 정보를 생성하는 단계; 상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤 정보를 생성하는 단계; 및 상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 단계를 포함하는 객체 영역 추출 방법이 제공될 수 있다.

상기 객체 영역을 추출하는 단계 이전에, 상기 스켈레톤 정보를 이용하여 상기 칼라 영상의 각 픽셀에 대한 스켈레톤 가중치 맵을 생성하는 단계를 더 포함할 수 있다.

상기 스켈레톤 가중치 맵은 상기 칼라 영상의 각 픽셀이 상기 스켈레톤 정보에 포함된 스켈레톤 위치로부터 멀어질수록 상기 각 픽셀의 스켈레톤 가중치가 감쇠도록 생성될 수 있다.

상기 스켈레톤 가중치 맵은 상기 스켈레톤 정보에 포함된 스켈레톤의 각 조인트에 대응하는 신뢰도에 따라 상기 각 픽셀의 스켈레톤 가중치 감소 정도를 달리하여 생성될 수 있다.

상기 스켈레톤 가중치 맵은 상기 스켈레톤 정보에 포함된 스켈레톤의 깊이 값에 따라 상기 각 픽셀의 스켈레톤 가중치 감소 정도를 달리하여 생성될 수 있다.

상기 객체 영역을 추출하는 단계는, 상기 칼라 영상의 각 픽셀을 각 노드로 하는 그래프 구조를 생성하고, 상기 각 노드를 전경 노드와 배경 노드로 각각 연결하는 단계; 상기 그래프 구조에서 상기 각 노드간의 에지, 상기 각 노드와 상기 전경 노드간의 에지 또는 상기 각 노드와 상기 배경 노드간의 에지에 대한 가중치를 할당하는 단계; 및 그래프컷(GraphCut) 알고리즘을 이용하여 상기 그래프 구조에서 에지를 절단함으로써 상기 객체 영역을 추출하는 단계를 할 수 있다.

상기 에지의 가중치를 할당하는 단계는, 상기 각 픽셀의 색상이 기설정된 객체 영역의 색상 모델과의 유사 여부에 따라 상기 전경 노드로 연결되는 에지의 가중치가 증가되도록 할당하고, 상기 각 픽셀의 색상이 기설정된 배경 영역의 색상 모델과의 유사 여부에 따라 상기 배경 노드로 연결되는 에지의 가중치가 증가되도록 할당할 수 있다.

상기 가중치를 할당하는 단계는, 상기 각 픽셀에 대응하는 스켈레톤 가중치 맵에 포함된 스켈레톤 가중치가 높을수록 상기 각 노드와 상기 전경 노드를 연결하는 에지의 가중치가 증가하도록 할당할 수 있다.

본 발명의 다른 측면에 따르면 칼라 영상에서 객체 영역을 추출하기 위한 영상 처리 장치가 제공된다.

본 발명의 일 실시예에 따르면, 복수의 센서로부터 칼라 영상 및 객체에 대한 조인트 정보를 각각 획득하는 입력부; 상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤(skeleton) 정보를 생성하는 스켈레톤 생성부; 및 상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 추출부를 포함하는 영상 처리 장치가 제공될 수 있다.

본 발명의 다른 실시예에 따르면, 적어도 하나의 센서로부터 칼라 영상 및 깊이 정보를 획득하는 입력부; 상기 깊이 정보를 이용하여 조인트(joint) 정보를 생성하는 조인트 정보 생성부; 상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤 정보를 생성하는 스켈레톤 생성부; 및 상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 추출부를 포함하는 영상 처리 장치가 제공될 수 있다.

상기 스켈레톤 정보를 이용하여 상기 칼라 영상의 각 픽셀에 대한 스켈레톤 가중치 맵을 생성하는 가중치 맵 생성부를 더 포함하되,

상기 추출부는 상기 스켈레톤 가중치 맵을 이용하여 상기 객체 영역을 추출할 수 있다.

상기 추출부는, 상기 칼라 영상의 각 픽셀을 각 노드로 하는 그래프 구조를 생성한 후 상기 객체에 대한 색상 모델 및 상기 스켈레톤 가중치 맵을 이용하여 상기 각 노드와 상기 객체 영역 분할 대상이 되는 전경 노드로의 에지의 가중치를 할당하며, 그래프컷(GraphCut) 알고리즘을 이용하여 상기 그래프 구조에서 에지를 절단함으로써 상기 객체 영역을 추출할 수 있다.

본 발명의 일 실시예에 따른 객체 영역 추출 방법 및 그 장치를 제공함으로써, 칼라 영상에서 객체 영역을 추출함에 있어 색상 정보와 스켈레톤 정보를 이용함으로써 높은 정확도로 객체 영역을 정확하게 분리할 수 있는 이점이 있다.

도 1은 본 발명의 일 실시예에 따른 객체 영역 추출 방법을 나타낸 순서도,
도 2는 본 발명의 일 실시예에 따른 칼만 필터의 동작 과정을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 객체에 대한 조인트 정보를 시각화한 도면.
도 4는 본 발명의 일 실시예에 따른 스켈레톤 가중치 맵을 시각화하여 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 그래프컷을 설명하기 위해 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 칼라 영상을 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 깊이 영상에서 추출한 스켈레톤 정보를 칼라 영상에 투영한 영상을 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 깊이 영상에 스켈레톤 정보를 투영한 영상을 나타낸 도면.
도 9는 종래의 색상 정보만을 이용하여 객체 영역을 추출한 결과를 나타낸 도면.
도 10 및 도 11은 종래의 깊이 정보만을 이용하여 객체 영역을 추출한 결과를 나타낸 도면.
도 12는 본 발명의 일 실시예에 따른 칼라 영상에서 색상 정보와 스켈레톤 정보를 이용하여 객체 영역을 추출한 결과를 나타낸 도면.
도 13은 본 발명의 일 실시예에 따른 영상 처리 장치의 내부 구성을 개략적으로 도시한 블록도.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.

도 1은 본 발명의 일 실시예에 따른 객체 영역 추출 방법을 나타낸 순서도이고, 도 2는 본 발명의 일 실시예에 따른 칼만 필터의 동작 과정을 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 객체에 대한 조인트 정보를 시각화한 도면이며, 도 4는 본 발명의 일 실시예에 따른 스켈레톤 가중치 맵을 시각화하여 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 그래프컷을 설명하기 위해 도시한 도면이며, 도 6은 본 발명의 일 실시예에 따른 칼라 영상을 도시한 도면이고, 도 7은 본 발명의 일 실시예에 따른 깊이 영상에서 추출한 스켈레톤 정보를 칼라 영상에 투영한 영상을 나타낸 도면이며, 도 8은 본 발명의 일 실시예에 따른 깊이 영상에 스켈레톤 정보를 투영한 영상을 나타낸 도면이고, 도 9는 종래의 색상 정보만을 이용하여 객체 영역을 추출한 결과를 나타낸 도면이며, 도 10 및 도 11은 종래의 깊이 정보만을 이용하여 객체 영역을 추출한 결과를 나타낸 도면이고, 도 12는 본 발명의 일 실시예에 따른 칼라 영상에서 색상 정보와 스켈레톤 정보를 이용하여 객체 영역을 추출한 결과를 나타낸 도면이다.

단계 110에서 영상 처리 장치(100)는 칼라 영상 및 깊이 정보를 각각 입력받는다.

영상 처리 장치(100)는 후술하는 센서를 통해 칼라 영상 및 깊이 정보를 각각 입력받을 수 있다.

본 명세서에서는 이해와 설명의 편의를 도모하기 위해 센서가 칼라 영상과 깊이 정보를 동시에 생성하는 것을 가정하여 이를 중심으로 설명하나 복수의 센서를 통해 칼라 영상과 깊이 정보를 각각 입력받을 수도 있음은 당연하다.

다른 예를 들어, 영상 처리 장치(100)는 카메라와 같은 이미지 센서 통해 복수의 칼라 영상을 연속하여 입력받을 수 있으며, 복수의 칼라 영상을 통해 깊이 정보를 생성하여 이용할 수도 있다.

단계 115에서 영상 처리 장치(100)는 깊이 정보를 이용하여 조인트(joint) 정보를 생성한다.

깊이 정보를 이용하여 조인트 정보를 생성하는 방법 자체는 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.

다른 예를 들어, 영상 처리 장치(100)는 키넥트와 연동되며, 키넥트를 통해 조인트 정보를 제공받을 수도 있다. 키넥트 이외에도 동작 인식 장치들은 대부분 조인트 정보를 제공하고 있으며, 영상 처리 장치(100)는 이들 동작 인식 장치를 통해 객체 대한 조인트 정보를 입력받을 수도 있다.

단계 120에서 영상 처리 장치(100)는 칼만 필터를 이용하여 생성된 조인트 정보를 보정한다.

객체가 다른 객체나 배경에 의해 가려지거나 깊이 영상의 노이즈에 의해 조인트 정보는 제대로 측정되지 않을 수 있다. 따라서, 영상 처리 장치(100)는 칼만 필터를 이용하여 조인트 정보를 보정할 수 있다.

예를 들어, 키넥트 등을 이용하는 경우, 객체에 대해 25개의 조인트 정보와 각 조인트 정보에 대한 신뢰도(예를 들어, 3단계)가 제공된다. 이에 따라, 칼만 필터를 이용하여 신뢰도가 낮은 조인트는 예측 값을 통해 현재 조인트의 위치를 추정하고 신뢰도가 높은 조인트는 키넥트를 통해 제공된 현재 조인트 위치를 이용한다. 이를 통해 조인트 정보를 보정할 수 있다. 칼만 필터의 동작은 도 2에 도시된 바와 같다. 칼만 필터 자체는 이미 당업자에게는 자명한 사항이므로 이에 대한 추가적인 설명은 생략하기로 한다.

본 명세서에서는 이해와 설명의 편의를 도모하기 위해 조인트 정보 보정에 칼만 필터가 이용되는 것을 가정하여 설명하고 있으나, 칼만 필터 이외에도 다른 기술이 적용될 수도 있음은 당연하다.

도 3에는 객체가 사람인 경우, 키넥트를 통해 획득 가능한 25개의 조인트들의 명칭과 그에 대응하는 신체 부위를 시각화한 도면이다. 본 명세서에서는 이해와 설명의 편의를 도모하기 위해 객체가 사람인 것을 가정하나 객체는 사람 이외에도 동물 등

단계 125에서 영상 처리 장치(100)는 조인트 정보를 이용하여 스켈레톤(뼈대) 정보를 생성한다.

예를 들어, 영상 처리 장치(100)는 키넥트 센서 등을 통해 획득된 25개의 조인트 정보를 이용하여 24개의 스켈레톤을 생성할 수 잇다. 즉, 영상 처리 장치(100)는 각 조인트를 지나는 직선을 구한 후 해당 직선 위에 있는 모든 픽셀을 스켈레톤으로 지정할 수 있다. 이와 같이 각 조인트를 연결하여 객체에 대한 스켈레톤 정보를 생성할 수 있다.

또한, 키넥트와 같은 깊이 영상을 기반으로 스켈레톤 정보가 생성되는 경우, 스켈레톤 정보와 칼라 영상간의 좌표계는 각각 상이할 수 있다. 따라서, 스켈레톤 정보의 좌표계를 칼라 영상의 좌표에 맞도록 좌표계 변환을 수행해야 한다.

또한, 구현 방법에 따라 칼라 영상과 깊이 영상간의 해상도 및 시점 차이를 보정하기 위한 전처리 과정이 추가적으로 수행될 수도 있다.

단계 130에서 영상 처리 장치(100)는 생성된 스켈레톤 정보를 이용하여 스켈레톤 가중치 맵을 생성한다.

스켈레톤 가중치 맵은 스켈레톤 정보를 토대로 칼라 영상에서 객체 영역일 가능성이 높을수록 높은 가중치 값을 가지도록 생성될 수 있다. 도 4에 본 발명의 일 실시예에 따른 스켈레톤 가중치 맵을 시각화하여 가시화한 일 예가 도시되어 있다.

스켈레톤 정보는 객체에 대한 뼈대 정보이므로, 칼라 영상에서 스켈레톤 위치에 근접한 픽셀일수록 객체 영역에 포함될 가능성이 높고, 스켈레톤 위치로부터 먼 픽셀일수록 객체 영역에 포함될 가능성이 낮다. 따라서, 영상 처리 장치(100)는 스켈레톤 정보를 이용하여 스켈레톤 가중치 맵을 생성하기 위해, 스켈레톤 정보를 칼라 영상에 투영시킬 수 있다. 그리고, 영상 처리 장치(100)는 칼라 영상의 각 픽셀이 스켈레톤 정보에 포함된 스켈레톤 위치로부터 멀어질수록 각 픽셀에 대한 가중치 값이 낮아지게 스켈레톤 가중치 맵을 생성할 수 있다.

즉, 영상 처리 장치(100)는 도 4에서 보여지는 바와 같이, 조인트 위치 및 스켈레톤 위치에 근접할수록 높은 가중치 값을 가지도록 스켈레톤 가중치 맵을 생성할 수 있다.

본 발명의 일 실시예에서는 스켈레톤 정보를 이용하여 스켈레톤 가중치 맵을 생성함에 있어 가우시안 함수를 활용할 수 있다.

이를 수학식으로 나타내면, 수학식 1과 같다.

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

여기서, (x,y)는 영상의 좌표를 나타내고, (xs, ys)는 (x,y)와 가까운 위치의 스켈레톤 좌표를 나타낸다. 또한,

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

는 가우시안 함수의 표준 편차를 나타낸다.

스켈레톤 가중치 맵을 생성함에 있어, 각 픽셀에 대한 가중치에 영향을 주는

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

의 값은 스켈레톤 신뢰도, 스켈레톤 정보에 포함되는 각 조인트의 신뢰도, 스켈레톤의 깊이값 중 적어도 하나에 따라 각각 상이하게 결정될 수 있다.

예를 들어,

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

값은 스켈레톤 신뢰도에 따라 상이하게 결정될 수 있다. 영상 처리 장치(100)는 스켈레톤 신뢰도가 높을스록

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

의 값을 낮은 값으로 설정하여 스켈레톤 정보가 객체 영역 분할에 많은 영향을 미치도록 할 수 있다.

반면, 스켈레톤 정보의 신뢰도가 낮은 경우,

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

의 값을 높은 값으로 설정하여 스켈레톤 정보가 객체 영역 분할에 보조적인 역할만 수행하도록 할 수도 있다.

다른 예를 들어, 스켈레톤 정보에서 각 조인트마다 신뢰도가 다를 수 있다. 따라서, 영상 처리 장치(100)는 조인트의 신뢰도에 따라

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

의 값을 다르게 설정할 수도 있다.

또 다른 예를 들어, 객체 영역의 크기는 카메라로부터 멀어질수록 작아지므로, 영상 처리 장치는 스켈레톤 위치의 깊이 값에 따라 폭을 정하는

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

값을 다르게 설정할 수도 있다. 즉 영상 처리 장치(100)는 스켈레톤의 깊이 값이 클수록

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

가 작은 값을 가지도록 설정하고, 스켈레톤의 깊이 값이 작을수록

스켈레톤 추출 알고리즘 - seukelleton chuchul algolijeum

가 큰 값을 가지도록 설정할 수도 있다.

단계 135에서 영상 처리 장치(100)는 칼라 영상 및 스켈레톤 가중치 맵을 이용하여 칼라 영상에서 객체 영역을 분리(추출)한다.

이를 보다 상세히 설명하면, 영상 처리 장치(100)는 칼라 영상을 이용하여 객체 영역과 배경 영역에 대한 색상 모델을 각각 생성할 수 있다. 이 경우, 가우시안 혼합 모델(Gaussian mixture model)이 이용될 수도 있다.

물론, 영상 처리 장치(100)는 객체 영역의 색상 모델을 이용함에 있어, 이전 프레임에서 추출된 객체 영역의 픽셀 정보를 이용하여 객체 영역의 색상 모델을 생성할 수도 있다.

다른 예를 들어, 영상 처리 장치(100)는 이전 프레임에서 추출한 객체 영역의 픽셀과 현재 프레임에서 생성된 스켈레톤 주변의 픽셀을 이용하여 객체 영역의 색상 모델을 생성할 수도 있다.

배경 영역의 색상 모델은 추출하고자 하는 객체 영역을 제외한 나머지 모든 영역에 속하는 픽셀들을 이용하여 생성될 수 있다.

다른 예를 들어, 영상 처리 장치(100)는 객체 영역을 포함하는 바운딩 박스(bounding box) 내부에서 객체 영역에 속하는 픽셀을 제외한 나머지 픽셀들을 이용하여 배경 영역에 대한 색상 모델을 생성할 수도 있다.

영상 처리 장치(100)는 객체 영역 및 배경 영역의 색상 모델과 스켈레톤 가중치 맵을 이용하여 객체 영역을 분할(추출)할 수 있다.

예를 들어, 영상 처리 장치(100)는 그래프 기반 영역 분할 기술을 이용하여 객체 영역을 분리(추출)할 수 있다.

보다 상세하게, 영상 처리 장치(100)는 그래프컷(GraphCut) 기술을 이용하여 객체 영역을 분리(추출)할 수 있다.

도 5를 참조하여 GraphCut 기술을 이용하여 영상 처리 장치(100)에서 객체 영역을 분리(추출)하는 방법에 대해 설명하기로 한다.

각 픽셀이 그래프의 노드(node)에 해당하며, 이웃한 픽셀들은 그래프에서 에지(edge)로 각각 연결된다. 이때, 그래프는 픽셀 단위가 아닌 영역(segment)나 수퍼픽셀(superpixel) 단위로 생성될 수 있다. 연결된 노드 사이의 차이값을 이용하여 에지의 가중치가 설정될 수 있다. 보다 상세하게 연결된 노드 사이의 칼라 값 차이 등이 에지의 가중치 설정 방법으로 이용될 수 있다.

각 노드는 전경 노드(s)와 배경 노드(t)와 별도로 연결될 수 있다(도 5의 63). 각 노드가 전경에 가까울수록 전경 노드와 연결된 에지에 높은 가중치가 할당된다. 반면 각 노드가 배경에 가까울수록 배경 노드와 연결된 에지에 높은 가중치가 할당된다.

이미 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 영상 처리 장치(100)는 객체 영역과 배경 영역에 대한 색상 모델을 가지고 있으므로, 영상 처리 장치(100)는 각 노드의 칼라 값이 객체 영역의 색상 모델에 비슷할수록 전경 노드와 연결된 에지의 가중치를 높게 할당할 수 있다. 반면, 영상 처리 장치(100)는 각 노드의 칼라 값이 배경 영역의 색상 모델에 비슷할수록 배경 노드와 연결된 에지의 가중치를 높게 할당할 수 있다.

또한, 영상 처리 장치(100)는 스켈레톤 가중치 맵을 이용하여 각 노드의 스켈레톤 가중치가 높을수록 전경 노드와 연결된 에지의 가중치를 높게 할당할 수 있다.

영상 처리 장치(100)는 이와 같이 모든 에지에 대한 가중치 할당을 완료한 후 GraphCut 방식에 따라 지정된 방식에 따라(예를 들어, max-flow 또는 min-cut) 객체 영역을 분리(추출)할 수 있다.

GraphCut 방식은 그래프 구조에서 에지를 절단하는 방식으로 동작하며 절단한 에지의 가중치 합이 최소가 되도록 동작한다(도 5의 64).

본 발명의 일 실시예에 따르면, 영상 처리 장치(100)는 스켈레톤 가중치 맵을 이용하여 에지 가중치를 설정하기 때문에 스켈레톤 주변에서만 객체 영역이 설정되도록 할 수 있다.

도 6은 본 발명의 일 실시예에 따른 칼라 영상을 도시한 도면이고, 도 7은 본 발명의 일 실시예에 따른 깊이 영상에서 추출한 스켈레톤 정보를 칼라 영상에 투영한 영상을 나타낸 도면이며, 도 8은 본 발명의 일 실시예에 따른 깊이 영상에 스켈레톤 정보를 투영한 영상을 나타낸 도면이다.

도 6과 같이 복잡한 칼라 영상에서 단지 색상 정보만을 이용하여 객체를 추출하는 경우, 도 9에 도시된 바와 같이, 객체 영역(예를 들어, 사람 영역)의 색상과 비슷한 주변 배경들도 동일한 객체로 인식되어 분할되는 문제가 발생한다.

도 10 및 도 11은 깊이 정보만을 이용하여 객체 영역(즉, 사람 영역)을 추출할 때 단계적으로 획득되는 영역을 도시한 도면이다. 도 11은 깊이 영상에서 특정 임계치 이상인 픽셀들을 검은색으로 나타낸 이진 영상으로 대략적으로 객체 영역을 추출하지만 깊이 영상의 부정확한 정보로 인해 추출된 객체 영역의 경계가 상당히 부정확한 것을 알 수 있다.

도 12는 본 발명의 일 실시예에 따른 칼라 영상에서 색상 정보와 스켈레톤 정보를 이용하여 객체 영역을 추출한 결과를 나타낸 것으로, 색상 정보뿐만 아니라 스켈레톤 정보를 이용하여 객체 영역을 추출함으로써, 객체 영역의 색상과 유사하거나 복잡한 배경이 존재하거나 전경과 배경의 깊이 차이가 크지 않은 영상에서도 객체 영역을 정확하게 분리(추출)할 수 있음을 알 수 있다.

도 13은 본 발명의 일 실시예에 따른 영상 처리 장치의 내부 구성을 개략적으로 도시한 블록도이다.

도 13을 참조하면, 본 발명의 일 실시예에 따른 영상 처리 장치(100)는 입력부(1310), 조인트 정보 생성부(1315), 보정부(1320), 스켈레톤 생성부(1325), 가중치 맵 생성부(1330), 설정부(1335), 추출부(1340), 메모리(1345) 및 프로세서(1350)를 포함하여 구성된다.

입력부(1310)는 적어도 하나의 센서로부터 칼라 영상 및 깊이 정보를 획득하기 위한 수단이다.

다른 예를 들어, 입력부(1310)는 복수의 센서로부터 칼라 영상과 객체에 대한 조인트 정보를 획득할 수도 있다. 이미 전술한 바와 같이, 영상 처리 장치(100)는 키넥트와 같은 센서를 통해 객체에 대한 조인트 정보를 획득할 수도 있다. 영상 처리 장치(100)가 조인트 정보를 획득하는 경우, 하기에서 설명되는 조인트 정보 생성부(1315)는 구성에서 포함되지 않을수도 있음은 당연하다.

조인트 정보 생성부(1315)는 획득된 깊이 정보를 이용하여 객체에 대한 조인트 정보를 생성하기 위한 수단이다.

보정부(1320)는 조인트 정보 생성부(1315)에서 생성되거나 입력부(1310)를 통해 획득된 조인트 정보를 보정하기 위한 수단이다. 이미 전술한 바와 같이, 보정부(1320)는 칼만 필터를 이용하여 조인트 정보를 보정할 수 있다. 칼만 필터의 상세 동작은 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.

스켈레톤 생성부(1325)는 조인트 정보를 이용하여 스켈레톤 정보를 생성하기 위한 수단이다. 객체에 대해 획득된 각 조인트를 연결하여 스켈레톤 정보를 생성할 수 있다.

가중치 맵 생성부(1330)는 스켈레톤 정보를 이용하여 칼라 영상의 각 픽셀에 대한 스켈레톤 가중치를 설정한 스켈레톤 가중치 맵을 생성하기 위한 수단이다.

각 픽셀에 대한 스켈레톤 가중치를 설정하는 방법은, 칼라 영상의 각 픽셀이 상기 스켈레톤 정보에 포함된 스켈레톤 위치로부터 멀어질수록 가중치가 감소되도록 스켈레톤 가중치를 부여할 수 있다.

다른 예를 들어, 스켈레톤 정보에 포함된 스켈레톤의 각 조인트에 대응하는 신뢰도에 따라 가중치의 감소 정도를 달리하여 각 픽셀에 대한 스켈레톤 가중치를 부여할 수도 있다.

또 다른 예를 들어, 스켈레톤 정보에 포함된 스켈레톤의 깊이 값에 따라 가중치 감소 정도를 달리하여 각 픽셀에 대한 스켈레톤 가중치를 부여할 수도 있다. 이는 이미 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.

설정부(1335)는 칼라 영상의 각 픽셀의 색상 정보를 이용하여 객체 영역에 대한 색상 모델과 배경 영역에 대한 색상 모델을 설정하기 위한 수단이다.

이는 이미 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.

추출부(1340)는 칼라 영상에서 객체에 대한 색상 정보 및 스켈레톤 정보를 이용하여 객체 영역을 추출하기 위한 수단이다.

이미 전술한 바와 같이, 추출부(1340)는 칼라 영상의 각 픽셀을 노드로 하는 그래프 구조를 생성한 후 각 노드간의 에지, 각 노드와 전경 노드(객체에 대한 노드)간의 에지, 각 노드와 배경 노드간의 에지의 가중치를 각각 할당한 후 그래프컷 알고리즘을 이용하여 에지를 절단함으로써 객체 영역을 추출할 수 있다.

이는 도 1에서 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.

메모리(1345)는 본 발명의 일 실시예에 따른 칼라 영상의 색상 정보와 스켈레톤 정보를 이용하여 객체 영역을 추출하는 방법을 수행하기 위해 필요한 다양한 알고리즘, 이 과정에서 파생되는 다양한 데이터 등을 저장하기 위한 수단이다.

프로세서(1350)는 본 발명의 일 실시예에 따른 영상 처리 장치()의 내부 구성 요소들(예를 들어, 입력부(1310), 조인트 정보 생성부(1315), 보정부(1320), 스켈레톤 생성부(1325), 가중치 맵 생성부(1330), 설정부(1335), 추출부(1340), 메모리(1345) 등)을 제어하기 위한 수단이다.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.

또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.

100: 영상 처리 장치
1310: 입력부
1315: 조인트 정보 생성부
1320: 보정부
1325: 스켈레톤 생성부
1330: 가중치 맵 생성부
1335: 설정부
1340: 추출부
1345: 메모리
1350: 프로세서

Claims (14)

  1. 칼라 영상을 입력받는 단계;
    객체에 대한 조인트(joint) 정보를 입력받는 단계;
    상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤(skeleton) 정보를 생성하는 단계; 및
    상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 단계를 포함하는 객체 영역 추출 방법.

  2. 칼라 영상 및 깊이 정보를 입력받는 단계;
    상기 깊이 정보를 이용하여 조인트(joint) 정보를 생성하는 단계;
    상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤 정보를 생성하는 단계; 및
    상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 단계를 포함하는 객체 영역 추출 방법.

  3. 제1 항 또는 제2 항에 있어서,
    상기 객체 영역을 추출하는 단계 이전에,
    상기 스켈레톤 정보를 이용하여 상기 칼라 영상의 각 픽셀에 대한 스켈레톤 가중치 맵을 생성하는 단계를 더 포함하는 객체 영역 추출 방법.

  4. 제3 항에 있어서,
    상기 스켈레톤 가중치 맵은 상기 칼라 영상의 각 픽셀이 상기 스켈레톤 정보에 포함된 스켈레톤 위치로부터 멀어질수록 가중치를 감소시켜 생성되는 것을 특징으로 하는 객체 영역 추출 방법.

  5. 제3 항에 있어서,
    상기 스켈레톤 가중치 맵은 상기 스켈레톤 정보에 포함된 스켈레톤의 각 조인트에 대응하는 신뢰도에 따라 가중치를 다르게 감소시켜 생성되는 것을 특징으로 하는 객체 영역 추출 방법.

  6. 제3 항에 있어서,
    상기 스켈레톤 가중치 맵은 상기 스켈레톤 정보에 포함된 스켈레톤의 깊이 값에 따라 가중치가 다르게 감소시켜 생성되는 것을 특징으로 하는 객체 영역 추출 방법.

  7. 제3 항에 있어서,
    상기 객체 영역을 추출하는 단계는,
    상기 칼라 영상의 각 픽셀을 각 노드로 하는 그래프 구조를 생성하고, 상기 각 노드를 전경 노드와 배경 노드로 각각 연결하는 단계;
    상기 그래프 구조에서 상기 각 노드간의 에지, 상기 각 노드와 상기 전경 노드간의 에지 또는 상기 각 노드와 상기 배경 노드간의 에지에 대한 가중치를 할당하는 단계; 및
    그래프컷(GraphCut) 알고리즘을 이용하여 상기 그래프 구조에서 에지를 절단함으로써 상기 객체 영역을 추출하는 단계를 포함하는 것을 특징으로 하는 객체 영역 추출 방법.

  8. 제7 항에 있어서,
    상기 에지의 가중치를 할당하는 단계는,
    상기 각 픽셀의 색상이 기설정된 객체 영역의 색상 모델과의 유사 여부에 따라 상기 전경 노드로 연결되는 에지의 가중치가 증가되도록 할당하고, 상기 각 픽셀의 색상이 기설정된 배경 영역의 색상 모델과의 유사 여부에 따라 상기 배경 노드로 연결되는 에지의 가중치가 증가되도록 할당하는 것을 특징으로 하는 객체 영역 추출 방법.

  9. 제7 항에 있어서,
    상기 가중치를 할당하는 단계는,
    상기 각 픽셀에 대응하는 스켈레톤 가중치 맵에 포함된 스켈레톤 가중치가 높을수록 상기 각 노드와 상기 전경 노드를 연결하는 에지의 가중치가 증가하도록 할당하는 것을 특징으로 하는 객체 영역 추출 방법.

  10. 제1 항 내지 제9 항 중 어느 하나의 항에 따른 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체 제품.

  11. 복수의 센서로부터 칼라 영상 및 객체에 대한 조인트 정보를 각각 획득하는 입력부;
    상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤(skeleton) 정보를 생성하는 스켈레톤 생성부; 및
    상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 추출부를 포함하는 영상 처리 장치.

  12. 적어도 하나의 센서로부터 칼라 영상 및 깊이 정보를 획득하는 입력부;
    상기 깊이 정보를 이용하여 조인트(joint) 정보를 생성하는 조인트 정보 생성부;
    상기 조인트 정보를 이용하여 상기 객체에 대한 스켈레톤 정보를 생성하는 스켈레톤 생성부; 및
    상기 칼라 영상에서 객체에 대한 색상 정보 및 상기 스켈레톤 정보를 이용하여 객체 영역을 추출하는 추출부를 포함하는 영상 처리 장치.

  13. 제11 항 또는 제12항에 있어서,
    상기 스켈레톤 정보를 이용하여 상기 칼라 영상의 각 픽셀에 대한 스켈레톤 가중치 맵을 생성하는 가중치 맵 생성부를 더 포함하되,
    상기 추출부는 상기 스켈레톤 가중치 맵을 이용하여 상기 객체 영역을 추출하는 것을 특징으로 하는 영상 처리 장치.

  14. 제13 항에 있어서,
    상기 추출부는,
    상기 칼라 영상의 각 픽셀을 각 노드로 하는 그래프 구조를 생성한 후 상기 객체에 대한 색상 모델 및 상기 스켈레톤 가중치 맵을 이용하여 상기 각 노드와 상기 객체 영역 분할 대상이 되는 전경 노드로의 에지의 가중치를 할당하며,
    그래프컷(GraphCut) 알고리즘을 이용하여 상기 그래프 구조에서 에지를 절단함으로써 상기 객체 영역을 추출하는 것을 특징으로 하는 영상 처리 장치.

KR1020160166299A 2016-12-08 2016-12-08 객체 영역 추출 방법 및 그 장치 KR101893142B1 (ko)

Priority Applications (1)

Application NumberPriority DateFiling DateTitleKR1020160166299A KR101893142B1 (ko)2016-12-082016-12-08객체 영역 추출 방법 및 그 장치

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitleKR1020160166299A KR101893142B1 (ko)2016-12-082016-12-08객체 영역 추출 방법 및 그 장치

Publications (2)

Publication NumberPublication DateKR20180065441A true KR20180065441A (ko)2018-06-18KR101893142B1 KR101893142B1 (ko)2018-08-30
Family

ID=62768026

Family Applications (1)

Application NumberTitlePriority DateFiling DateKR1020160166299A KR101893142B1 (ko)2016-12-082016-12-08객체 영역 추출 방법 및 그 장치

Country Status (1)

CountryLinkKR (1)KR101893142B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third partyPublication numberPriority datePublication dateAssigneeTitleCN113516062A (zh) *2021-06-242021-10-19深圳开思信息技术有限公司用于汽修门店的客户识别方法和系统

Citations (1)

* Cited by examiner, † Cited by third partyPublication numberPriority datePublication dateAssigneeTitleKR20140092536A (ko) *2013-01-162014-07-24계명대학교 산학협력단깊이맵 센서를 이용한 3차원 캐릭터 가상공간 내비게이션 동작 합성 및 제어 방법
  • 2016
    • 2016-12-08 KR KR1020160166299A patent/KR101893142B1/ko active IP Right Grant

Patent Citations (1)

* Cited by examiner, † Cited by third partyPublication numberPriority datePublication dateAssigneeTitleKR20140092536A (ko) *2013-01-162014-07-24계명대학교 산학협력단깊이맵 센서를 이용한 3차원 캐릭터 가상공간 내비게이션 동작 합성 및 제어 방법

Non-Patent Citations (6)

* Cited by examiner, † Cited by third partyTitleJunior et al. Skeleton-based human segmentation in still images. IEEE ICIP, 2012년, pp. 141-144. *Junior et al. Skeleton-based human segmentation in still images. IEEE ICIP, 2012년, pp. 141-144. 1부. *Junior et al. Skeleton-based human segmentation in still images. IEEE ICIP, 2012년, pp. 141-144.* *Kohli et al. Simultaneous segmentation and pose estimation of humans using dynamic graph cuts. International Journal of Computer Vision, Vol. 79, No. 3, 2008년, pp. 285-298.*