DS가 되기 위한 여정 👩‍💻

Projects/Comento_cctv_object_detection

[trouble_shooting] streamlit에서 bbox 시각화 에러

Tashapark 2025. 4. 26. 18:32
728x90

 

++  코멘토가 끝난지 벌써 2주일이 흘렀는데 

프리랜서 일이 갑자기 들어와서 제대로 정리를 못했다. 

 

마지막으로 주신 피드백이 streamlit에서 신뢰도 글씨가 코드에 font를 수정해도 커지지 않던 이유가 

1. openCV가 아니라서 폰트의 크기가 제한이 걸릴 수 있을 것 같다고 하셨다.  그래서 그것을 사용해 보던가. 

2. base64로 바꾸면 좋을 것 같다셨음.

-> 분명히 잘 돌아가던 코드를 받았는데도  내 컴퓨터에서는 실시가 되지 않음... 

 

문제) 

 

 

이게 이전에도 계속 에러가 떴었는데 streamlit이 버전 문제로 (use_container_widtr=True)를  쓸 수 없다는 것이었다..

..............아오..

 

 

트러블 슈팅) 

GPT가 설명해주는 원인 요소는 3개였음. 

 

1. 일단 버전은 python 3.12 이고, streamlit 1.37.1 이어서 무조건 (use_container_widtr=True)를 지원해야 한다. 

근데 지금 파이썬이 가상환경을 걸어도 자꾸 전역으로 잡히는 문제가 해결되지 않았고.. 그것의 일환인건지 의심스럽다. 

었쨌든 이 문제는 아님.

 

2. 이미지 렌더 문제가 있을 수 있다는 것 같았는데. pil을 사용하지말고 render로 불러오자고 추천함. 

plt.imshow() 하지 말고,
👉 results.render()[0]에서 바로 Streamlit으로 넘기되, 포맷만 살짝 정리하면 됩니다

numpy array → RGB 변환 → PIL.Image 변환

 

3. fastAPI를 잘못 만듦.

 

 

=================> 3시간 정도 걸려서 해결 

 

1. render로 모델결과 받아서 띄움

2. 그래도 fastAPI에 bbox 계산이 들어가야 함 => 이 부분을 자동으로 해주는 줄 알고 계산이 안 되서 계속.. 에러 떴음

++++ 주피터에서 커널이 계속 죽어서 .. python 파일 따로 분리해서 터미널에서 처리함 

 => 멘토님이 그렇게 하라고 하셨는데.. 너무 귀찮아서.. ㅎ 안 하다가 결국 안 돌아가서 했음 ^^

3. base64로 인코딩한 이미지 계산 결과를 저장함 

4. streamlit에서 받아서 바로 사용 

 

수정 완료..

 

728x90
반응형