논문요약, SLEAP: A deep learning system for multi-animal pose tracking
SLEAP: A deep learning system for multi-animal pose tracking
- Pereira, Talmo D., et al. "SLEAP: A deep learning system for multi-animal tracking." Nature methods 19.4 (2022): 486-495.
- SLEAP(Social LEAP Estimates Animal Pose)는 다중 동물 포즈 추적을 위한 기계 학습 시스템을 말한다.
- SLEAP은 빠른 예측, 낮은 대기시간을 제공한다.
- 또, https://sleap.ai에서 액세스 가능한 UI, opensource code, tutorials, dataset을 제공한다.
Result
SLEAP is a complete framework for multi-animal pose tracking
- SLEAP은 이미지 labeling작업을 위한 대화형 GUI를 지원한다.
- pose detection을 위해 여러 접근 방식과 30개 이상의 신경망 아키텍처를 지원한다.
- 이러한 모델 생성 및 훈련과 관련된 모든 하이퍼파라미터를 캡처하는 구성 시스템도 구현되어있다.
- 또, 상향식 접근방식과 하향식 접근방식을 사용한다.
![](https://velog.velcdn.com/images/jo1132/post/aa01413b-5b07-49d1-a881-92ab02ed5762/image.png)
- 상향식 접근방식
- 상향식 접근방식에서는 모든 신체부위가 이미지 내에서 감지된 다음 연결성에 따라 동물로 그룹화 된다.
- 신경망을 통해 한번만 통과하면 된다는 장점이 있다.
![](https://velog.velcdn.com/images/jo1132/post/0a8ac37e-0401-4372-8935-2fa1731a3edd/image.png)
- 하향식 접근방식
- 하향식 접근 방식에서는 먼저 모든 동물을 감지한 다음, 신체부위를 찾는다.
- 첫번째로, 신경망에서 로컬 피크 찾기를 통한 각 동물의 앵커포인트(예: 중심)를 감지한다. 이는 앵커 중심으로 크롭하여 두번째 단계의 입력으로 들어간다.
- 이 중심네트워크는 여러 동물들이 있어도, 중심 동물간 예측한다.
- 이 두가지 접근 방식의 성능을 평가했을 때, 홈케이지 안의 쥐 한마리가 있는 경우를 제외한 모든 데이터에서 하향식 모델이 빠르고 정확했다.
- 그러나 상향식 모델은 단일 단계 구성으로 인해, 동물수가 많아질수록 효율적으로 동작하였다.
- 그에 반해, 하향식 모델은 두번째 단계가 동물 각각에 적용되기 때문에 선형으로 확장된다.
- 즉, 이미지 안에 동물이 적을 때에는 하향식 접근방식이 유리하지만, 동물이 많을 때는 상향식 접근방식이 더 빠를 것이다.
Flexible configuration of neural network architectures.
- SLEAP의 기본 아키텍처 유형은 생물의학 APP에 일반적으로 사용되는 간단한 인코더-디코더 아키텍처인 UNet의 모듈식 버전이다.
- UNet은 네트워크의 RF(Receptive Field)크기를 변조하기 위해 가변 수의 다운샘플링블록으로 구성할 수 있다.
- RF크기가 증가하면 정확도가 향상되지만 데이터 세트에따라 다른 특정 지점에서 증진이 포화되었다.
- 이 결과는 UNet이 데이터 세트 고유의 이미지 특성을 얻어낼 수 있는 RF사이즈의 최적을 찾을 수 있다는 것이다.
- 이 이미지특성의 규모는 동물의 사이즈, 이미지 해상도 그리고 대상의 형태학적 측성에 의해 결정됩니다.
- 동물 포즈 추정을 위한 다른 범용적인 도구는 사전 훈련된 가중치를 이용한 전이학습을 지원하는 표준 신경망 아키텍처입니다.
- SLEAP은 이 유형의 모델을 본 모델의 인코더 백본으로 사용하고 공간해상도를 복구하기위해 중간 층의 활성화와 디코더를 연결했습니다.
- 전이학습의 효율성을 테스트하기 위해 무작위 초기화 또는 사전 훈련된 초기 가중치를 사용하여 최신의 네트워크 아키텍처들의 성능을 평가해보았습니다.
- 전이 학습은 보통 무작위 초기화에서 정확도가 향상되었지만, 같은 무작위 초기화에서 최적화된 UNet의 성능보다 좋아지진 않았습니다.
- 또, 사전 훈련된 인코더 모델은 높은 정확도를 달성했지만, 상당한 계산 증가 비용을 초래했습니다.
- 즉, 사전 훈련이 필요하지 않은 더 가벼운 모델 UNet에 비해 비슷한 정확도와 더 느린 계산속도를 보여주었습니다.
Tracking identities via temporal and appearance models.
- 식별 문제를 해결하기 위해, SLEAP은 시간 기반 또는 외형 기반 큐를 사용하여 동물의 정체성을 유지하는 두가지 클래스의 기술들을 사용합니다.
- 첫째, flow-shift기반의 감지 접근법을 구현했습니다.
- 시각적 flow로 프레임에서 포즈의 변위를 추정합니다.
- 과거 포즈를 새 포즈 디텍션에 연결하여 사용합니다.
- 즉, 구현에서 모델 교육이 필요하지 않은 간단한 시각적 flow알고리즘을 사용하므로, 연속된 프레임에 대한 추가 라벨링이 필요없습니다.
- 다만, 시간의 흐름 기반추적의 특징으로 에러가 시간에 따라 전파된다는 것입니다. 즉, 매우 긴 비디오또는 실시간 애플리케이션에는 부적합 할 수 있다는 것입니다.
- 이를 해결하기 위해 단일 프레임 기반 ID 큐로 다중 포즈 추정 인스턴스 모델확장을 개발하였습니다..
Detection and control of behavior in real time.
- 단일 이미지에서 동물 포즈를 추정하는데, full-resolution(1024*1024)이미지, 13개의 bodypart를 검출하는데에 3.2ms(312FPS)이 소요됩니다..
Discussion
- SLEAP은 단일 동물, 다중 동물 포즈 측정을 위한 기술을 강화시킬 수 있는, 유연하고 성능이 뛰어난 오픈소스 프레임 입니다.
- SLEAP의 하위 구성 요소를 모듈식으로 구성하면, 오류 또는 성능 저하의 원인을 쉽게 식별할 수 있으며, 데이터 수집 프로세스 및 실험 설계에 대한 조정을 할 수 있습니다.
- 또, 문서화된 API를 통해 데이터 내보내기를 할 수 있어, output의 이식성이 뛰어납니다.
- 유연성이 보장되어있어, 모듈식 UNet 아키텍처가 작고 가벼우면서도 과학 데이터의 낮은 변동성을 일반화 할 수 있는 '전문가'패러다임에 충분하다고 할 수 있습니다.
- 그럼에도 불구하고, '전문가'수준의 정확도와 '일반'수준의 정확도의 격차를 메우는 것은 머신러닝의 열린 문제로 남아있다.