Giter Club home page Giter Club logo

diareat_ocr's Introduction

Diareat OCR Server

OCR Server for nutrition facts recognition.

Architecture

무제 002

Tech Stack

OCR Server

  • Pororo OCR (KakaoBrain)
  • FastAPI
  • OpenCV
  • AWS S3

CI/CD

  • Github actions
  • Docker Compose
  • Dockerhub

diareat_ocr's People

Contributors

synoti21 avatar win-luck avatar

Forkers

synoti21

diareat_ocr's Issues

feat: 2차 이미지 전처리 로직 구현

Summary

  • ocr 정확도 향상을 위한 이미지 전처리 로직 구현

Description

  • 현재 전처리 없이 ocr 추론 정확도는 72%
  • 이를 높이기 위한 전처리 로직 구현

feat: 이미지 전처리 로직 구현

Summary

OCR 인식률 향상을 위한 이미지 전처리 로직 구현

Description

  • 영양성분표를 인식한 후, 해당 영역만 크롭
  • OpenCV를 이용하여 테이블 양식을 인식

feat: AWS S3와 연동

Summary

  • AWS S3와 연동하여 이미지 불러온 후, 반환

Description

  • S3와 연동하여 프론트엔드에서 받은 URL로 이미지 로드
  • 적절히 파싱 후 프론트엔드에 응답 반환

Refactor: 파싱로직 모니터링 및 추가 개선점 마련 (#27)

  • 탄수화율, 단백집 등 반복되는 오타 하드코딩으로 대처
  • ,나 ' 등 파싱에 방해되는 문자가 지속적으로 나타나 replace 함수로 제거
  • Fuzzywuzzy 함수 인자값 조정
  • 50/10이고 len 1일 때 일치도: 일치도: 358/416, 정확도: 86.06%
  • 50/50이고 len 1일 때 일치도: 358/416, 정확도: 86.06%
  • 50/100이고 len 1일 때 일치도: 358/416, 정확도: 86.06%
  • 50/100이고 len 2일 때 일치도: 355/416, 정확도: 85.34%
  • 50/100이고 len 1일 때 일치도: 358/416, 정확도: 86.06%
  • 60/100 len 1일 때 일치도: 359/416, 정확도: 86.30%

Feat: Clova OCR API 도입

  • Pororo OCR 보다 성능이 좋은 것으로 알려진 Clova OCR 새로 도입
  • 오픈소스가 아니며, 건당 3원이 발생하는 유료 API

feat: 이미지 정확도 테스트 코드 작성

Summary

  • 이미지 정확도를 측정하는 테스트 코드 작성

Description

  • 정확도가 높게 나오는 이미지 전처리 기법을 찾기 위해 테스트 코드 작성
  • 10개의 데이터 셋별 일치 여부 확인 예정

Fix: 9와 g의 잘못된 판정 및 데이터 유실되는 문제 수정 (#15)

  • 6g -> 69로 인식하는 등의 문제를 일부 해결하기 위해, 9와 g를 교체하는 원포인트 로직 추가
  • 현재 글자가 9고 다음 2글자가 g나 k가 아니다 -> 9를 g로 수정
  • 여러 문자열 중 하나의 문자열만 파싱 시도하여 정확도가 떨어지는 현상 확인 및 보완
  • 탄수화물 -> 탄수화를로 인식하는 문제 확인 -> '를'도 차선으로 감지하도록 수정
  • 일부 테스트 이미지 추가

Todo

  • 위 수정사항을 반영한 시점에서, 현재 크롭을 하지 않은 이미지에 대한 정확도가 더 높게 나오는 문제 확인됨
  • Original + gray 일치도: 44/52, 정확도: 84.62%
  • Cropped + gray 일치도: 39/52, 정확도: 75.00%
  • Original 일치도: 44/52, 정확도: 84.62%
  • Cropped 일치도: 39/52, 정확도: 75.00%
  • 다만 이미지가 10개 전후라, 약 100개 정도의 영양성분 데이터까진 늘린 상태에서 다시 살펴보아야 할 것으로 보임

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.