작성
·
340
0
keras를 이용해서 pre-trained된 모델을 학습 및 detection을 하다가
궁금한점이 생겨서 질문을 남깁니다.
이렇게 라쿤을 잘 detection도하고,
score도 출력해주고, bndbox 영역도 잘 나타내주는데.. 전에 배웠던 tensorflow나 opencv로 detection할 때 처럼 score랑 class name, bndbox의 좌표 값을 따로 얻을 순 없는 건가요 .. ?
답변 3
0
0
저도 위와 같은 방법으로 따라서 실행하였는데 에러가 나네요.
질문하신 분께서는 잘 실행이 되시나요?
기존에 받아져 있는 yolo.py의 함수를 수정한 이후, __pycache__ 삭제 하였는데,
다시 패키지 로드 라는 건 어떤 의미 일까요?
그리고 image, out_boxes, out_scores, out_classes = raccoon_yolo.detect_image(img) 를 inference 코드에서 실행을 하면, 차례대로 image 가 없다, out_boxes가 없다..등등의 에러가 나옵니다.
0
안녕하십니까,
원하시는 대로 값을 얻으려면 keras-yolo package의 yolo.py 파일을 변경해야 겠군요.
yolo.py 의 def detect_image(self, image) 에서 현재 object detect된 bounding box를 함께 표현한 image 객체만 반환하는데, 이를 수정해서 아래와 같이 변환해야 할것 같습니다. 아래 소스코드에서
https://github.com/qqwweee/keras-yolo3/blob/master/yolo.py
의 def detect_image(self, image) 의 맨 마지막 return 값을 현재는 return image로만 되어 있는데 이를 return image, out_boxes, out_scores, out_classes 로 변환해야 할것 같습니다. 바뀐 소스 코드로 수정한 뒤에 __pycache__ 삭제한 다음에 다시 패키지 로드한 뒤
image, out_boxes, out_scores, out_classes = raccoon_yolo.detect_image(img) 로 호출하면 원하시는 값을 얻을 수 있을 거 같습니다.
감사합니다.
저도 저대로 했는데 TypeError: Image data of dtype object cannot be converted to float 에러가 발생하는 이유가 뭔지 알려주실 수 있나요...