강의

멘토링

로드맵

Inflearn brand logo image

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

이미승리하였다님의 프로필 이미지
이미승리하였다

작성한 질문수

진짜 현장에서 통하는 OCR, 이렇게 만듭니다.

삐뚤어진 문서 자동으로 바로잡기

실무 OCR을 위한 심도 질문

해결된 질문

작성

·

44

1

안녕하세요? 강사님

실무에 적용할 수 있는 상세 내용과 강사님만의 know-how를 알려 주셔서 감사합니다.

더 깊게 이해하고 싶은 마음에 다소 질문이 길고 복잡한 점을 이해해 주시면 감사하겠습니다.

1. 최신 OCR model 성능을 보여주셨는데, 결국은 multi modal LLM을 쓰면 만사 능통한 것처럼 결론이 내려집니다. 그렇다면 OCR model보다는 image처리가 가능한 LLM model 비교하는 게 더 맞다고 생각이 듭니다. 어떻게 생각하시나요?

2. LLM image처리가 좋아짐으로써, 굳이 opencv로 처리하지 않아도 그 결과가 좋을 것 같습니다. 앞으로도 이러한 작업이 필요할까요? (그냥 LLM에 넣는 것과 opencv로 전처리한 것과 비교하는 실험도 첨부해 주셨으면 좋겠습니다.)

3. 보통 기업에서 OCR을 사용할 때는 개인정보를 포함한 문서가 많습니다. 외부 LLM 사용을 꺼릴 때가 많습니다. sLLM으로 처리하고 싶은데, function calling이나, pydantic과 같은 양식 처리가 어렵습니다. 어떻게 해결할 수 있을까요?

4. pipeline을 정리하면,

opencv 전처리 -> cropping -> LLM 구조입니다. 원하는 양식대로 만드는 작업은 LLM 성능과 prompt의 역량으로 보입니다. 문제는 문서의 양식이 다양해서 한 문서 양식을 추출할 때마다 복잡한 prompt를 작성해야 하는 것일까요? 또한 문서 종류가 달라질 때마다 수정해야 할까요?

만약 이러한 것이라면 기존 OCR과 같이 문서 종류별로 OCR format이 다 다르게 정해져야 할텐데, 어떻게 해결할 수 있을까요?

전단지말고 다른 여러 문서들도 똑같이 적용될 수 있는지 다양한 문서들에 대한 OCR 작업 예시 강의를 더 올려주시길 바랍니다.

답변 2

1

데이비드최님의 프로필 이미지
데이비드최
지식공유자

깊은 고민과 사색이 담긴 질문에 감동^^이네요. 그만큼 강의 내용을 꼼꼼히 챙겼다는 반증이기도 하겠죠. 열심히 공부하는 수강생분들이 있어서 행복합니다.

 

각설하고 질문이 방대한 지라 하나 하나 짚어가면 답변을 드려볼게요.

 

1. 최신 OCR model 성능을 보여주셨는데, 결국은 multi modal LLM을 쓰면 만사 능통한 것처럼 결론이 내려집니다. 그렇다면 OCR model보다는 image처리가 가능한 LLM model 비교하는 게 더 맞다고 생각이 듭니다. 어떻게 생각하시나요?

=> 상황에 따라 질문자가 그렇게 느낀 부분도 있을 것 같다는 생각이 드네요. multi-modal LLM 이 만사 능통처럼 느껴졌다면, 현재로서는 단호하게 그렇지 않다고 말할 수 있겠어요. 하지만, 머지 않은 미래 (엄청 빨리 도래할 것 같다는 생각입니다)에 많은 OCR 영역이 LLM을 통해 해결하는 순간이 다가 올 것이니다. 문제는 LLM 이 만능이 된다손 치더라도, 아래 질문에서 언급한 보안 및 네트워크가 불가능한 폐쇄환과 같은 환경에서는 API를 이용할 수 없거나, 이용하더라도 매우 자제해야 하는 상황이 존재합니다. 네트워크 연결없이 사용하는 on-device 에서의 OCR 등등, LLM 자체가 접근이 불가능한 환경이 매우 많습니다. 어찌보면, 만능이라고 하는 LLM은 사실상 API를 던지는 것만으로 대부분 해결되므로, 수준높은 개발자의 역량이 필요없을 겁니다. 개발자로서 무척 위기감을 느낄 수 밖에 없는 환경이 되겠죠. 하지만, 언급한 특수 환경(제조업 등 기술 및 영업보안이 생명인 환경)에서는 역량있는 개발자의 역할이 매우 중요합니다. 그런 의미에서, LLM 이 만능이라는 느낌을 가질 필요는 없다고 생각해요.

2. LLM image처리가 좋아짐으로써, 굳이 opencv로 처리하지 않아도 그 결과가 좋을 것 같습니다. 앞으로도 이러한 작업이 필요할까요? (그냥 LLM에 넣는 것과 opencv로 전처리한 것과 비교하는 실험도 첨부해 주셨으면 좋겠습니다.)

=> 1번 답변에 첨언해서 담변하도록 할게요.

흠, 이 실험은 별도로 정리한 것이 있긴 한데, 결론적으로 말하면 LLM 에 통째로 넣어서 json 추출을 한 결과, accuracy 에 심각한 오류가 많습니다. 전혀, 쓸모가 없을 수준이었습니다. 해당 실험과 개념검증을 제가 직접 E-mart 에게 전달했었었는데요^^, 이 부분을 강의에 직접 담을 수는 없었습니다. 그래서 현재로서는 LLM 에 전적으로 의존하기에는 정보오류가 너무 심해서 opencv 을 가미한 '하이브리드' 접근법을 채택하였답니다.

3. 보통 기업에서 OCR을 사용할 때는 개인정보를 포함한 문서가 많습니다. 외부 LLM 사용을 꺼릴 때가 많습니다. sLLM으로 처리하고 싶은데, function calling이나, pydantic과 같은 양식 처리가 어렵습니다. 어떻게 해결할 수 있을까요?

=> sLM 의 경우 multi-modal 에서 한글의 인식률은 매우 실망스러운 것이 현실인데요. 영문 인식이 아니라면 당분간 이 영역은 우리가 원하는 수준에 이르기까지는 상당히 오래 걸릴 것으로 예상합니다. 한글은 이 분야에서 참 답답한 속도에 참담하기 짝이 없는데요. 따라서, sLM 보다는 opencv 등을 활용한 OCR 방법론이 더 현실적일 것을 판단됩니다.

sLM 에서 multi-modal 모델을 이용할 때는 현재 response format 을 지원하는 것이 없는 것으로 알고 있어요. 이 질문을 한 것으로 보면 multi-modal 이 아닌 sLM 에서의 response format 을 활용하는 법에 대해서는 이미 이해가 있는 것으로 파악되어 답변은 생략하도록 할게요.

 

4. pipeline을 정리하면,

opencv 전처리 -> cropping -> LLM 구조입니다. 원하는 양식대로 만드는 작업은 LLM 성능과 prompt의 역량으로 보입니다. 문제는 문서의 양식이 다양해서 한 문서 양식을 추출할 때마다 복잡한 prompt를 작성해야 하는 것일까요? 또한 문서 종류가 달라질 때마다 수정해야 할까요?

=> Microsoft, Amanzon 등에서 제공하는 LLM 을 통한 OCR 서비스를 보면, layout 을 먼저 인식하는 과정이 backend 로 깔려 있음을 알 수 있어요. 즉, 요청하는 문서는 'tax report'야, 라고 API 에 던질 때 아예 layout template 의 형태를 지정해 주는 거죠. 현재에서 지속해서 이렇게 지원되는 양식들의 개수가 업데이트 되는 형태입니다. 결국, LLM 이전에 layout 을 얼마나 정확하게 인식하는가, 그리고 나서 순수 OCR 엔진을 사용하던 LLM 을 사용하든지 하게 됩니다. 이러한 사용환경에서는 prompt engineering 이 불필요하며, layout 에 대한 정보만 넘겨주면 됩니다. 추출한 결과물에 대한 다양한 요리는 사용하가 알아서 하는 부분이라 이 부분은 언급하지 않을게요.

 

만약 이러한 것이라면 기존 OCR과 같이 문서 종류별로 OCR format이 다 다르게 정해져야 할텐데, 어떻게 해결할 수 있을까요?

=> 앞선 답변을 보면 예상하셨겠지만, 한 방에 모든 문서에 대한 OCR을 처리하는 기법은 현재로서는 존재하지 않습니다. 최고의 IT 기업들에서 OCR의 방법론을 접근하는 부분에 대한 내용을 보면 결국 현재로서는 layout 인식률이 높은 모델들을 꾸준히 만들어서 대응하는 것이 최선이라고 판단하는 것 같습니다. 이들 기업이 하는 것이 그렇듯이, 수요가 많은 형태의 document layout 에 대해서는 선택과 집중이 이루어지겠지만, 그렇지 않은 domain-specific 한 document layout 에 대해서는 여전히 가야할 길이 멀겠죠. 숙련된 개발자가 빛을 발휘해야 하는 부분이 되겠습니다.

전단지말고 다른 여러 문서들도 똑같이 적용될 수 있는지 다양한 문서들에 대한 OCR 작업 예시 강의를 더 올려주시길 바랍니다.

=> 넵, 격려 감사하고요, 참고해서 더 좋은 강의로 만날 수 있길 고대합니다~

1

안녕하세요, 인프런 AI 인턴입니다. 이미승리하였다님.

질문해주신 내용은 OCR 기술과 LLM(대형 언어 모델) 활용에 대한 심도 있는 주제와 관련이 있는데요, 하나씩 설명드리겠습니다.

  1. LLM과 OCR 모델 비교:

    • LLM은 최신 기술로 다양한 역할을 수행할 수 있지만, OCR은 특정 작업에 특화되어 있습니다. LLM 모델이 image 처리 능력을 갖추게 되면 그 활용 범위가 늘어나겠지만, OCR은 여전히 문자 인식 등의 작업에 최적화된 부분이 있습니다. 단기적으로는 특정 작업에 특화된 모델이 적합할 수 있으며, 장기적으로는 발전된 LLM 기술이 더 많은 역할을 할 수 있을 것입니다.
  2. OpenCV와 LLM의 전처리 비교:

    • OpenCV는 이미지 전처리에 강력한 도구입니다. LLM이 발전하며 그 차이가 줄어들 수 있지만, 특정한 전처리 작업에 있어서는 OpenCV가 더 효율적일 수 있습니다. 이 두 가지 방법을 비교하는 실험은 매우 흥미로운 주제일 것이며, 본 강의나 추가 자료에서 더 많은 정보가 제공되기를 기대할 수 있습니다.
  3. 개인정보 보호 및 LLM 사용:

    • 기업에서 개인정보 보호가 중요한 경우, sLLM(보안된 LLM)이나 자체적으로 개발한 모델을 사용하는 것이 바람직합니다. PyDantic 등을 활용한 데이터 구조화는 복잡할 수 있지만, 데이터의 일관성과 유효성을 유지하기 위해서는 필요한 작업입니다. 관련해서 PyDantic 문서를 참조하면 도움을 받을 수 있습니다.
  4. 다양한 문서 양식 대응:

    • OCR과 LLM을 동시에 활용하여 문서의 다양성에 대응할 수 있습니다. 각 문서 종류에 맞는 prompt를 설계하는 것은 처음에는 어려울 수 있지만, 시간이 지나고 사례가 쌓이면 더욱 효율적으로 작성할 수 있습니다. 추후 강의에서 다양한 문서에 대한 예제 및 prompt 작성의 케이스 스터디가 제공되면 유용할 것입니다.

현재 강의에서 다루지 않은 부분에 대한 추가 자료나 실험 결과도 궁금하시다면, 직접 강의 Q&A에 질문을 추가하시거나 관련 강의의 신규 콘텐츠로 요청해보시는 것도 추천드립니다.

저는 질문자님의 이해를 돕고자 유사한 답변 링크를 제공할 수 있는 상황은 아니었습니다. 이 점 양해 부탁드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금하신 사항이 있으시면, 언제든지 이어서 질문해 주세요. 곧 지식공유자께서 상세한 답변을 드릴 것입니다.

이미승리하였다님의 프로필 이미지
이미승리하였다

작성한 질문수

질문하기