머신러닝 11

[Computer Vision] Extraction of Table Text Information in Documents Using Deep Learning Object Detection (2023)

0. 요약 본 논문에서는 딥러닝 객체 인식을 기반으로 한글 문서 내 표 및 박스의 텍스트 정보를 추출하고 이를 재배열하여 문장화하는 방안을 제시하였습니다. 객체 감지 모델 Yolo를 통해 추출한 문서 내 표 및 박스의 좌표 정보를 토대로 OpenCV와 Google Cloud Platform의 Vision API를 적용하여 문서로부터 표 및 박스 이미지를 분리하고 텍스트를 감지하였습니다. 추출한 표 및 박스 내 텍스트를 문장화하기 위한 규칙 기반의 텍스트 재배열 방법을 제안하였으며 이를 통해 표의 텍스트 정보가 원래 의도된 문장으로 도출되는지 확인하였습니다. 1. 서론 문서 내에는 본문의 텍스트 정보뿐만 아니라 다양한 형태의 그림이나 표 등의 자료를 포함하고 있는 경우가 많습니다. 이러한 자료 중 표 내부..

DL/Computer Vision 2024.02.22

[Computer Vision] Methods of Classification and Character Recognitionfor Table Items through Deep Learning (2021) 리뷰 및 구현

1. 서론 문서 내 표 영역의 경우, 표 내부 항목명과 항목 내용을 인식하는 것은 업무 자동화를 위한 문서 처리 에 있어서 중요한 부분입니다. 하지만 OCR만을 통해서는 표 내부의 문자를 인식하는 것에만 국한되어있고, 해당 내용이 무슨 의미를 가지는지는 인식을하지 못합니다. 따라서 문서 인식을 수행한 후, 사람의 손으로 항목을 분류해야 한다는 불편함이 있으며, 표 영역 내 구분자는 문자 인식의 정확도를 떨어뜨리는 요인이 되기도 합니다. 본 논문에서는 딥러닝 신경망을 통해 표 항목 내의 문자를 인식하고, 이를 통해 문서를 디지털화하는 방법을 제안합니다. 먼저 스캔된 문서 이미지 파일에서 CNN을 통해 표 영역을 검출합니다. 그 후, 표 영역 내 수직선과 수평선의 구분자로 분리된 각 영역을 검출한 후, 각각..

DL/Computer Vision 2024.02.22

[Computer Vision] LayoutLM: Pre-training of Text and Layout for Document Image Understanding (2019) 리뷰

0. 요약 NLP 사전 학습 모델이 널리 사용되고 있지만, 대부분 텍스트에만 집중하고 문서 이미지 이해에 필수적인 레이아웃과 스타일 정보는 간과하고 있습니다. 본 논문에서는 스캔된 문서 이미지 전반에 걸쳐 텍스트와 레이아웃 그리고 이미지 정보를 고려한 joint 모델 LayoutLM을 제안합니다. (BERT + Fast R-CNN) LayoutLM이 문서 이미지 이해를 위해 텍스트와 레이아웃의 정보를 단일 프레임워크에서 학습하는 첫 번째 사례입니다. 이는 여러 Downstream task에서 최고 성능을 달성했습니다. form understanding (70.72 → 79.27) receipt understanding(94.02 → 95.24) document image classification (93..

DL/Computer Vision 2024.02.22

[ML] 머신러닝 기초 (5) Linear Regression. 회귀 실습

https://mz-moonzoo.tistory.com/52 [ML] 머신러닝 기초 (4) Linear Regression 회귀 이론 https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드M 빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다. mcode.co.kr 이전 ML 카테고리의 포스팅에 이어 mz-moonzoo.tistory.com 선형 회귀의 이론을 포스팅하고 실습 강의 리뷰는 굳이 하지 않으려했지만 간단하게 코드 리뷰를 해보겠습니다. 실습 강의 및 코드는 메타코드 링크에서 받아보실 수 있습니다. https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드..

ML 2024.02.19

[ML] 머신러닝 기초 (3) 머신러닝 기본 수학 이론

https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드M 빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다. mcode.co.kr 이전 ML 카테고리의 포스팅에 이어 머신러닝 강의를 들으면서 내용을 정리하고 있습니다. 현재 무료로 강의를 보실 수 있으니 궁금하신 부분은 강의를 수강하시면 좋을 것 같습니다. 함수 두 집합 사이의 관계 혹은 규칙 y = f(x)의 식으로 표현, 이 때의 x는 입력값, y는 출력값 일차 함수 y가 x에 대한 일차식으로 표현된 경우 y = ax + b (a != 0) a를 기울기, b를 절편이라고 표현 이차 함수 y가 x에대한 이차식으로 표현된 경우 y=a(x-p)^2 +q(a!=..

ML 2024.02.14

[ML] 머신러닝 기초 (2) 머신러닝 기본 용어 정리

행렬(Matrix) vs 벡터(Vector) VS 스칼라(Scalar) 머신러닝에서 벡터와 행렬은 그리고 스칼라는 데이터를 표현하고 처리하는 데 사용되는 기본적인 수학적 구조입니다. 행렬(Matrix) 정의 : 행렬이란 숫자들을 행과 열로 구성된 직사각형 형태로 배열한 것입니다. 이는 여러 숫자들을 모아서 한번에 표현할 수 있다는 것인데, 다량의 데이터를 한번에 표현할 수 있는 좋은 수단이라는 것을 의미합니다. 이로 인해 머신러닝에서 행렬은 데이터 세트를 표현하거나 여러 데이터 포인트를 동시에 처리하는 데 자주 사용됩니다. 예를 들어, 여러 데이터 포인트가 각각의 행으로 구성되고, 각 행의 열이 다양한 특성을 나타내는 형식입니다. 표현 : 행렬은 행(row)과 열(column)로 구성됩니다. 예를 들어,..

ML 2024.01.31

[ML] 머신러닝 기초 (1) 머신러닝 소개

머신러닝 공부를 시작하며... 데이터 사이언티스트, AI 엔지니어, ML 엔지니어 직무를 준비하면서 학부 시절에 배운 머신러닝, 딥러닝 기초 이론들을 많이 잊어버린거 같아 다시 기초부터 다지고자 합니다. 다음과 같은 커리큘럼으로 블로그 글을 작성해보려고 합니다. 1. 머신러닝 기초 이론 2. 딥러닝 기초 이론 3. NLP 전통적인 논문 리뷰 및 구현 4. LLM 논문 리뷰 (현재 리소스로 구현이 가능하다면.. 구현까지) 5. NLP 분야 최신 논문에서 구현체가 없는 모델 구현 NLP 도메인에 대한 관심으로 공부를 시작하는 것이기 때문에 논문을 읽고 소스코드 없이 구현할 수 있는 수준까지 역량을 키워볼 생각입니다. 그럼 머신러닝 기초 이론부터 다뤄보겠습니다. 학부 시절에 사용한 머신러닝 교재를 모두 버린 ..

ML 2024.01.29

[Dash]Python Dash Layout 구성 (1) feat. dash-bootstrap-components

dash-bootstrap-components dash-bootstrap-components은 Dash 웹 프레임워크를 사용하여 Bootstrap CSS 프레임워크를 통합하는 파이썬 라이브러리입니다. 이를 통해 개발자들은 파이썬 코드로 웹 애플리케이션을 구축하면서 Bootstrap의 여러 디자인 및 레이아웃 기능을 활용할 수 있습니다. 다음은 dash-bootstrap-components의 주요 기능 및 특징입니다. 레이아웃(Grid System): dbc.Row와 dbc.Col을 사용하여 Bootstrap의 그리드 시스템을 파이썬으로 편리하게 다룰 수 있습니다. 이를 통해 반응형 및 레이아웃을 쉽게 작성할 수 있습니다. 컴포넌트(Component): Bootstrap의 다양한 UI 컴포넌트를 파이썬 코..

개발/Dash 2024.01.15

[Dash]Python Dash를 활용한 Dashboard 구축하기

1. DASH? Dash는 Flask, Plotly.js 및 React.js 위에 작성된 Python 웹서비스 개발용 프레임워크로 Plotly에 기반하고 있음 Dash는 Python과 HTML을 이용하여 쉽게 웹사이트나 대시보드 같은 대화형 웹응용프로그램을 작성할 수 있음 Dash는 데이터 시각화 및 웹 애플리케이션을 구현하는데 유용하게 사용할 수 있습니다. 2. Dash 설치 (feat. anaconda) 우선 가상환경을 먼저 구축하도록 하겠습니다. 가상환경을 구축하는 방법은 아래 게시글을 참고하시면 될 것 같습니다. https://mz-moonzoo.tistory.com/4 [Environment]아나콘다 가상환경 구성 및 주피터 노트북 커널 연결 INTRO 가상환경은 개발을 진행할 때 각 프로젝트 ..

개발/Dash 2024.01.12

[NLP]파이썬 re 모듈을 활용한 정규표현식

정규표현식? 정규표현식(Regular Expression 또는 Regex)은 문자열 패턴을 검색하고 조작하기 위해 쓰이는 형식 언어입니다. 주로 텍스트 처리 작업에서 사용되며, 특정 규칙에 맞는 문자열을 찾거나 변환하는 데에 유용합니다. 예를 들어, 이메일 주소, 전화번호, URL 등과 같은 특정 형식을 갖춘 문자열을 찾거나, 특정 단어나 패턴을 추출하거나 대체할 때 자주 사용됩니다. 메타 문자와 정규 문자 정규 표현식의 모든 문자는 메타 문자와 정규 문자 두가지로 분류됩니다. 메타 문자는 약속된 용법으로 사용되는 문자로, 특별한 의미를 가지고 있는 문자들을 의미합니다. 이러한 메타문자들은 특정 문자열 패턴을 찾거나 조작하는데 유용하게 쓰입니다. 정규 문자는 알파벳, 숫자 등 약속된 의미 없이 문자 그대..

DL/NLP 2024.01.12