Yolov3 (tf1)를 tensorflow 2버전으로 실행해 보자(3)
2021/03/03 - [AI/Github] - Yolov3 (tf1)를 tensorflow 2버전으로 실행해 보자(2)
지난 번 글에서 마지막의 상태가 이러했다.
앞의 1은 batch dimention으로 추가됨
이제 shape을 맞춰 후처리 해야 하니 모델 input/output을 살펴보자
- input_shape = 416, 416 (클래스 초기화 할 때 정의된 값이 나옴.
- 79~80 라인을 보면 모델의 input이 보인다.
- tiny version을 썼으므로 79라인에 적힌 Input값이 모델에 입력될 것이다.
- Input(shape=(416,416,3)), num_anchors(6) // 2 (몫) , num_classes(80)
그럼 이제 tiny_yolo_body를 살펴보자.
- 반환되는 값을 보자
- 자주보이는 compose를 보자
- reduce란 무슨 함수인가.(파이썬 2.ver 대의 함수로 이제는 안쓴다. )
여러번 반복하는 연산을 단순한 한두개의 요소를 설명하는 것만으로 구성하는 함수이다.
인풋으로 어떤 복수개의 인자를 리스트 형태로 받으면, (아마 함수 일 것) reduce함수를 실행한다.
함수 내부는 2중 람다문으로 구성되어있다.

- 그럼 요소를 이해했으니 전반적인 네트워크 구조를 알아보자. 복잡해서 하고 싶지 않았지만(...) 현재 output구조가 이해되지 않으므로 이럴 때는 다른 방법없이 yolov3개념을 파악하면서 네트워크 구조를 일일히 뒤지는 수 밖에 없다.
- 원래 전반적인 object detection 관련 network를 base 부터 차근차근 진행할 예정이었으나 지금은 코드 실행이 우선이므로 이에 관련된 yolov3에 대해 간단히 설명한다.
- 일단 yolov3는 bounding box의 확률과 classification의 확률을 동시에 구한다.
- 이에 대한 설명이 여기 있다. 2021/02/22 - [AI/Baseline] - 1-stage Detector VS 2-stage Detector
- --이러다 그냥 답답해서 다른 github뒤져서 코드 복사했더니 됐다. 왜그런지는 추후 설명
출처 :
[논문] YOLOv3: An Incremental Improvement 분석 taeu.github.io/paper/deeplearning-paper-yolov3/
GstInference with TinyYoloV3 architecture developer.ridgerun.com/wiki/index.php?title=GstInference/Supported_architectures/TinyYoloV3
tiny-yolov3 network architecture
keras API keras.io/guides/functional_api/