인프런 커뮤니티 질문&답변

한번해보쟈님의 프로필 이미지
한번해보쟈

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

YOLO opencv 코드 질문있습니다.

작성

·

147

0

안녕하세요 선생님~

YOLO openCV jupyter코드에 대해 질문이 있습니다.

jupyter 이름은 'OpenCV_Yolo_이미지와_영상_Detection' 이구요

궁금한 코드 부분은 아래 입니다.

'''

for ix, output in enumerate(cv_outs):   # 결국 3번 도는 것

    for jx, detection in enumerate(output):  

        scores = detection[5:]    # 80개의 클래스 확률

        class_id = np.argmax(scores) 

        confidence = scores[class_id]    # ???

        if confidence > conf_threshold:

            ...

'''

여기서 confidence라고 함은 이 전 모델에서도 나온 confidence score이고 YOLO에선 objectness score가 아닌가요?

그렇다면 'confidence = scores[class_id]' 가 아니라 'confidence = scores[4]' 로 해야 하는게 아닌가 해서요

현재 코드를 보았을 때는 class probability를  confidence 로 두는게 이해가 가질않습니다.

도와주세요~ 선생님. 감사합니다.

좋은 강의 감사합니다.

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까

YOLO V1 개념 동영상과 V3 opencv 소스코드에서 Confidence score 용어에 대한 일관성이 헷갈리는 부분이 있는것 같습니다.

말씀하신대로 confidence score는 yolo에서 object score가 맞습니다. 이 object score는 object일 확률 x IOU입니다. 즉 백그라운드가 아니라 어떤 클래스인지는 모르지만 Object가 될 확률입니다. 그리고 opencv 예제 코드에서 confidence 변수 즉 scores[class_id]는 해당 Object가 특정 클래스가 될 확률입니다.

소스코드 변수명과 YOLO 설명상의 Confidence 개념이 혼동될 수 있음을 사과드리며, 위 내용대로 이해 하시면 도움이 될 것 같습니다.

감사합니다.

한번해보쟈님의 프로필 이미지
한번해보쟈

작성한 질문수

질문하기