안녕하세요 옵티컬 플로우 (as suggested in this answer)를 기반으로하는 비디오 시퀀스에서 객체를 분할하고 싶습니다. opencv를 사용 중이며 calcOpticalFlowFarneback 함수를 사용하여 두 개의 연속 프레임에 대한 플로우 필드를 생성 할 수있었습니다. 어떤 사람이이 흐름 장에 따라 이미지를 세분화하는 방법을 설명 할 수 있습니까?옵티컬 플로우 기반 세분화
1
A
답변
1
옵티컬 플로를 사용하여 객체를 분할하여 의사 결정이 객체의 이동 유형을 기반으로하므로 ... this video on youtube을 살펴볼 수 있습니다. 움직이는 패턴에 대한 아이디어를 얻으려면 두 개의 연속 프레임에서 각 픽셀이 겪는 변위의 방향과 크기를 측정 할 수 있습니다. 비디오에 대한 링크에서 차는 광학 흐름에 기초하여 백그라운드에서 분할됩니다 ...
0
진실을 알 수있는 핵심 프레임을 알고리즘에 제공하는 것이 매우 간단합니다. 이것이 의미하는 바는 수동으로 첫 번째 프레임을 분할 한 다음 (여기서는 grabcut을 사용할 수 있음) 옵티컬 플로우를 사용하여 후속 프레임에 분할을 전파하는 것입니다.
광학 흐름은 오류가 발생하기 쉬운 것으로 유명한 것으로 유명합니다. 따라서 전파 된 분할을 직접 사용하는 대신 전파 된 분할을 침식 (일부 구조 요소 사용)하고 침식 된 이미지를 grabcut의 전경 시드로 사용할 수 있습니다. 마찬가지로, 전파 된 분할을 확장시키고 확장 된 경계 주변의 밴드를 배경 시드로 사용하십시오.
요약 : 첫 번째 프레임의 경우 진실을 밝히고 그 프레임을 사용하여 후속 프레임에서 자동으로 그래브 컷을 수행합니다.
이 정보가 도움이됩니까?