본문 바로가기

분류 전체보기124

AI기반 OCR프로젝트 2 - 모델 선정 및 학습 https://junyealim.tistory.com/126 AI기반 OCR 프로젝트_주제선정 웹개발 프로젝트와 자연어 처리 프로젝트가 끝나고, 이어서 진행이 된 OCR 프로젝트. 총 5명의 구성으로 팀을 짜서 진행을 하게 되었다. 프로젝트는 AI 기반이지만 당시 수업 진도는 CV(computer vision junyealim.tistory.com ✅ 주제 선정 : 과적 차량을 자동으로 감지하고 기록하는 시스템 ✅ 활용 데이터 : 과적차량 도로위험 데이터 ▶️ 과적 차량 탐지 가능 자동차 차종/연식/번호판 인식용 영상 ▶️ 번호판 위치 탐지 가능 ✅ OCR모델 테스트 : 번호판 위치에서 perspective로 확대 후 번호 읽어올 수 있음을 확인 ▶️ Paddle 모델 선정 1. 모델 선정(YOLO) 과.. 2024. 3. 12.
AI기반 OCR 프로젝트 1_주제선정 웹개발 프로젝트와 자연어 처리 프로젝트가 끝나고, 이어서 진행이 된 OCR 프로젝트. 총 5명의 구성으로 팀을 짜서 진행을 하게 되었다. 프로젝트는 AI 기반이지만 당시 수업 진도는 CV(computer vision) 단계였고, AI 모델들에 대한 지식이 없는 상태에서 기획을 먼저 시작하다보니 🤔 , 다들 주제를 잡는데 어려움을 느끼고있었다. 우선 강사님께서 "아무래도 시간이 정해져있는 프로젝트다 보니" 자연어 처리때처럼 데이터를 직접 만드는데는 한계가 있다고 하시면서, "최대한 데이터를 충분히 구할 수 있는 주제"를 잡으라고 힌트를 주셨다. 그리고 이전 기수가 진행했던 프로젝트를 보면서 대충 어떤 방식으로 진행이 되는지 감을 잡아갔다. 그 당시 cv로 다양한 영상 처리 기법을 배우고 있었기 때문에, 전.. 2024. 3. 12.
OCR 1. OCR( Optical Character Recognition ) 광학 문자 인식(OCR)은 광학적 또는 전자적 장치를 사용하여 이미지의 문자를 컴퓨터가 이해할 수 있는 텍스트로 변환하는 프로세스입니다. 이 프로세스는 다음과 같은 주요 단계로 이루어집니다. 이미지 획득: OCR 프로세스의 첫 번째 단계는 문서나 사진 등의 이미지를 디지털 형식으로 획득하는 것입니다. 이를 위해 스캐너, 디지털 카메라 또는 이미지 스캔 앱과 같은 장치를 사용합니다. 전처리: 획득된 이미지에는 종종 노이즈, 왜곡, 그림자 또는 회전된 문자와 같은 문제가 있을 수 있습니다. 전처리 과정에서는 이미지를 정제하고 보정하여 후속 단계에서 문자를 올바르게 인식할 수 있도록 합니다. 문자 인식: 문자 인식 단계에서는 전처리된 이미.. 2024. 2. 27.
필터링/컨투어링 1. 필터링 필터링은 커널(필터)이라 불리는 행렬을 정의하여 이미지 위를 이동하면서 커널과 겹치는 부분의 픽셀에 대해 연산을 수행하는 작업을 말합니다. 이 과정에서 연산된 결과값은 기존의 이미지 픽셀을 대체하여 새로운 이미지를 생성합니다. filter2D(영상, 이미지깊이, 커널, 중심점 좌표, 추가될 값, 가장자리 화소 처리) - 이미지 깊이: -1 (입력과 동일) - 커널: 3x3, 5x5 등 크기에 따라 결과가 달라짐 - 중심점 좌표: 커널의 중심점 위치 - 추가될 값: 가장자리 화소 처리 방법에 따라 추가되는 값 - 가장자리 화소 처리: - BORDER_CONSTANT: 0 또는 검은색으로 처리되는 가장자리 픽셀 (000abcdef000) - BORDER_REPLICATE: 이미지 가장자리 화소를.. 2024. 2. 26.
영상의 변환/ 적응형 이진화/ 유사도 1. 적응형 이진화 적응형 이진화는 노이즈를 제거한 후 Otsu 이진화를 적용하는 방법입니다. 이를 통해 영상을 여러 영역으로 나눈 뒤, 해당 영역의 주변 픽셀 값만을 활용하여 임계값을 도출합니다. cv2.adaptiveTreshold(영상, 임계값을 만족하는 픽셀에 적용할 값, 임계값 결정 방법, Threshold 적용방법, 블록사이즈, 가감할 상수) 임계값 결정 방법 cv2.ADAPTIVE_THRESH_MEAN_C: 이웃 픽셀의 평균으로 결정합니다. 선명하지만 잡티가 많아질 수 있습니다. cv2.ADAPTIVE_THRESH_GAUSSIAN_C: 가우시안 분포에 따른 가중치의 합으로 결정합니다. 선명도는 조금 떨어지지만 잡티가 적습니다. 블록사이즈: 이 매개변수는 이미지를 작은 블록들로 나누는 데 사용.. 2024. 2. 25.
관심 영역/ 이진화 1. 관심 영역(ROI, Region of Interest) ROI(Region of Interest)는 영상 내에서 주요 관심이 있는 영역을 가리킵니다. cv2.selectROI() 함수를 사용하여 사용자가 마우스로 관심 있는 영역을 선택할 수 있습니다. cv2.selectROI(창이름, 영상, 중앙좌표여부=False) 중앙좌표여부: True일 경우, 선택한 ROI의 중앙좌표로 계산되며, 기본값은 False(왼쪽 상단)입니다. import cv2 img1 = cv2.imread('./sun.jpg') # x, y, w, h x = 182 y = 21 w = 121 h = 112 # 관심 영역만 지정해서 img2에 저장 roi = img1[y: y+h, x: x+w] img2 = roi.copy() # .. 2024. 2. 18.