이 포스팅은 Face Detection and Tracking with SSD Network 시리즈 12 편 중 6 번째 글 입니다.

  • Part 1 - 01: Overview & Plans
  • Part 2 - 02: Paper Research - SSD
  • Part 3 - 03: Paper Research - DeepSort
  • Part 4 - 04: Trial and Error
  • Part 5 - 05: Project Design
  • Part 6 - This Post
  • Part 7 - 07: 중간 점검 및 추후 방향성 검토
  • Part 8 - 08: 중간 보고서
  • Part 9 - 09: Yolov3 사용
  • Part 10 - 10: Arcface
  • Part 11 - 11: Face Recognition with Tracking
  • Part 12 - 12: 중간 정리
▼ 목록 보기

Video_to_images.py

opencv를 통해 video data를 읽어 image로 변환하는 과정을 거쳤다. 이 때, 영상의 정보를 sequence.ini라는 파일에 저장하였다.

KakaoTalk_Photo_2021-04-18-18-37-33

KakaoTalk_Photo_2021-04-16-11-07-21

Generate_detections.py

MTCNN을 통해 이미지들에서 얼굴을 찾았다. inference time이 장당 0.5초 나오기 때문에 다른 방법을 추후에 강구해야 할 것 같다. 당장은 일단 내가 원하는 영상에 대해서 tracking 함을 확인하는 것을 우선으로 한다.

이 부분에서는 box 처리외에도 feature를 추가로 붙여줘야 한다. 이 부분에서 tensorflow api를 사용하여 추출한다.

Mobilenetv3를 사용했으며, 추후 다른 네트워크를 사용할 수 있도록 옵션을 만들 생각이다. 또한 기회가 된다면 사람 얼굴에 맞춘 Feature extractor를 custom으로 학습할 예정이다.

Error 수정

sklearn 에 있는 linear_sum_assignment 함수의 output 모양이 변경되어 에러를 수정하였다.

KakaoTalk_Photo_2021-04-18-18-43-59