Yolov5l 모델을 이용한 객체 탐지 진행 시 FPS 문의

안녕하세요. Yolov5l 모델을 이용해서 객체탐지를 진행하고 있는데요.아래 이미지와 같이 16개의 영상을 동시에 객체탐지하는 것을 해보고 있습니다. 이 떄 FPS가 5정도 나오는데 이게 최적의 값인지, 혹시 더 높은 FPS를 얻을 수 있는 방법이 있는지 궁금해서 문의 드립니다. 현재 모델은 Model Zoo의 Yolov5l 모델을 가져와서 사용하고 있고 session을 하나 열어서 16개의 영상에서 받아온 16개의 이미지를 추론 후 결과를 각 이미지에 그리고 그것을 한 장의 이미지로 합쳐서 내보내는 방식으로 진행하고 있습니다.

안녕하세요, FuriosaAI 김종욱입니다.

FPS 5가 이미지 16장을 합친 이미지의 기준으로 측정이 된 것일까요?
아니면 1개의 작은 이미지 처리를 하시는데 FPS 5가 나오고 계신 상황이신지요.

합친 이미지 기준입니다! 즉 16장의 이미지를 처리하는데 약 200ms의 시간이 소요된다고 보면 될 것 같습니다.

현재 NPU 여러장을 효과적으로 사용하기 위한 가이드를 작성하고 있습니다. 해당 가이드를 통해 더 자세한 설명을 드리겠습니다.

간략하게는 Model Zoo에서 제공되어지는 모델은 NPU의 PE를 fusion 하여 사용하고 있는 모델이기 때문에(자료 참조 - 32~35p), PE를 나누어서 사용하시고 이미지에 대한 처리를 Multiprocessing 기능을 이용하셔서 병렬로 처리하신다면(PE 당 하나의 프로세스) 더 높은 FPS를 얻으실 수 있습니다.

가이드는 빠르게 작성해서 공유 드리겠습니다.

2 Likes

안녕하세요 지성님, FuirosaAI 김종욱입니다.
현재 가이드(PDF 파일) 작성이 늦어져,
우선적으로 코드 레벨에서 PE를 나누어 테스트하실 수 있도록 테스트 파일 공유 드립니다.

  • settings.py 수정
    (1) IMAGE_PATH (입력 이미지 디렉토리 경로)
    (2) DETECTION_IMAGE_PATH (디텍션 결과 이미지 경로)
    (3) NPU_DEVICES : 1개의 NPU, PE 2개 사용시 [“npu0pe0”, “npu0pe1”]

  • preproc.py를 이용하여 입력 이미지 디렉토리 경로에 이미지 파일들을 옮겨주시면 됩니다.
    (이미지 처리시 번호로 이미지 파일 이름을 설정하였습니다.)

가이드는 빠른 시일 내에 마무리하여 공유드리도록 하겠습니다 :slight_smile:
기다려주셔서 감사합니다.

1 Like