지난 포스트에 이어 Schwenzow et al. (2021)에 나온 video feature 를 소개한다. 이번 포스트에서 소개할 것은 object detection 을 사용한 feature 이다.

2. Other objects

3) Human Area Coverage

일단, 영상을 구성하는 프레임들을 object detector 에 넣어서 등장하는 물체를 탐지한다. 이 논문에서는 COCO 데이터셋으로 사전 훈련된 YOLOv3 를 detector 로 사용했다. 앞부분 feature 를 소개하는 부분에

Aside from the type of objects, their number and frequency of occurrences can be computed based on this information as well as the types of variables also relevant to face analysis.

라고 적혀 있다. 영상의 전체 프레임 중 특정한 종류의 물체가 등장하는 개수나 빈도를 feature 로 사용하는 것 같다. 논문의 코드나 논문에는 사람과 함께 고양이와 자전거까지 탐지하여 feature 로 사용하는 것처럼 되어 있는데, 정작 논문에서는 사람 하나만 사용했다. feature 의 이름도 표에서 제시되어서 그런가보다 할 뿐, 정확히 위의 이름이 소개되고 설명된 부분은 없다. 이름으로는, 마치 사람이 차지하는 영역을 프레임마다 계산해서 영상의 모든 프레임을 통틀어 평균내든지 해서 사용하는 것 같은 느낌을 준다. feature 서술을 이런 식으로 하는 것이 computational 방법을 사회과학에 사용하는데 있어 엄청난 장벽으로 작용한다고 생각한다. 정확히 서술해야 한다.

코드는 논문의 코드보다 OpenCV 의 코드를 사용하는 것이 더 간단한 것 같다. 어차피 pretrained weights 를 불러다가 inference 만 하는 것이기 때문이다. YOLO 아키텍처를 공부하기 위해 봤던 여러 책들 중에서, 아키텍처 자체 설명은 Elgendy (2020)이 가장 잘 되어 있었다. 그러나 코드는 Vasilev et al. (2019)에 나온 코드가 OpenCV 의 dnn 모듈을 사용하여 가장 간단하고 효율적이었던 것 같다.

추가로 굳이 YOLOv3 를 object detector 로 사용할 필요는 없을 것 같다. 사회과학 연구에서는 실시간으로 데이터를 처리하거나 할 필요는 없기 때문에, 속도보다는 정확도가 더 중요한 이슈가 될 것 같다. 또 YOLO 자체도 이후 버전업이 많이 되었고, 다른 object detector 들도 개발이 많이 되었다. 지금 생각으로는 페이스북에서 만든 Detectron2 같은 것을 사용하는 것이 더 좋을 것 같기도 하다.


<참고문헌>

  • Elgendy, M. (2020). Deep learning for vision systems. Manning Publications.

  • Schwenzow, J., Hartmann, J., Schikowsky, A., & Heitmann, M. (2021). Understanding videos at scale: How to extract insights for business research. Journal of Business Research, 123, 367-379. https://doi.org/10.1016/j.jbusres.2020.09.059

  • Vasilev, I., Slater, D., Spacagna, G., Roelants, P., & Zocca, V. (2019). Python deep learning (2nd ed.). Packt Publishing Ltd.