작성
·
381
0
pipeline = keras_ocr.pipeline.Pipeline()
images = [
keras_ocr.tools.read('42.jpg')
]
prediction_groups = pipeline.recognize(images)
fig, ax = plt.subplots(figsize=(20, 20))
image, predictions = images[0], prediction_groups[0]
keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax)
plt.show()
이렇게 했을때 결과값은 이런데
강의에서 제공받은 h5을 사용하면 어노테이션을 전혀 그리지 못합니다.
import matplotlib.pyplot as plt
import keras_ocr
detector = keras_ocr.detection.Detector()
detector.model.load_weights('detector_carplate.h5')
recognizer = keras_ocr.recognition.Recognizer()
recognizer.model.load_weights('recognizer_carplate.h5')
pipeline = keras_ocr.pipeline.Pipeline(detector=detector, recognizer=recognizer, scale=1)
images = [
keras_ocr.tools.read('42.jpg')
]
prediction_groups = pipeline.recognize(images)
fig, ax = plt.subplots(figsize=(20, 20))
image, predictions = images[0], prediction_groups[0]
keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax)
plt.show()
이런식으로 ocr 결과값이 잘 수행되지 않는데 어떤 원인들이 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
tax님, 사용하신 코드와 상황 설명에 감사드립니다. 제공 받으신 h5 파일(모델)이 제대로 작동하지 않는 원인에는 몇 가지를 고려해 볼 수 있겠습니다.
h5 파일의 모델이 tax님의 환경에 맞게 올바르게 로드되었는지 확인이 필요할 수 있습니다. 이미 학습된 모델을 로드할 때는 해당 모델을 생성한 환경과 가능한 일치하는 환경에서 로드하는 것이 중요합니다. 예를 들어, Python, Keras, TensorFlow 등의 버전과 일치하는지 확인해 보세요.
h5 파일 자체에 문제가 있을 수도 있습니다. 파일이 손상되지 않았는지, 모델 구조와 가중치가 올바르게 저장되었는지 등을 확인해야 합니다.
모델을 학습할 때 사용한 데이터와 tax님께서 테스트하고자 하는 이미지 데이터 간의 차이가 있을 수 있습니다. 만약 학습 데이터와 테스트 데이터 간의 분포와 특성이 다르다면, 모델이 예상대로 작동하지 않을 수 있습니다.
‘keras_ocr’ 라이브러리와 모델이 호환되는지도 확인해야 합니다. 라이브러리의 버전 또는 모델의 구조가 변경되어 호환 문제가 생기지 않았는지 점검이 필요합니다.
만약 오브젝트 디텍션과 OCR 과정에서 성능 저하가 발생한다면, 이 두 단계 중 어디에서 문제가 발생하는지를 구분하여 디버깅하는 것이 좋습니다. 각각의 단계에 대해 독립적으로 테스트하여 문제점을 찾아보세요.
강의 내용과 관련하여 좀 더 상세한 도움이 필요하시다면, 인프런의 문의하기 기능을 이용하시거나 해당 강의의 질문 게시판에 올려보시는 것을 추천드립니다.
항상 발전하는 프로그래밍 실력을 기원합니다.