[전력계량기OCR인식] 2021/9/24~27 DataSet, Android화면흐름도, 모델훈련

September 27 2021

9/24

  • Android 앱을 만들기 위해서 대략적으로 테이블구조와 화면 흐름도를 그려보았습니다.

1.테이블 구조

전력량 계량기 정보와 모뎀 정보 테이블을 따로 두고 어플리케이션에서 각 이미지 전처리과정에 대한 화면을 표시할 예정이라 파일 테이블을 따로 두는 것이 좋다고 생각했습니다. 컬럼은 아직 확정되지 않았습니다.

image-20210927201823489

2.화면 흐름도

1) 전처리~모델~DB저장 처리

전력량 계량기와 모뎀 2개의 이미지를 각각 서버에 보내 전처리~모델~DB저장처리하도록 하고 Client는 결과만 받아볼 수 있도록 할 생각입니다. Android에서 이미지 전처리와 모델 분류를 하면 더 좋았겠지만, 프로젝트기간이 10일정도밖에 남지않아 Android에서의 이미지 전처리방법을 학습할 시간적 여유가 없어서 파이썬에서 하려고 합니다.

2) 2개의 이미지를 한번에 처리 또는 각각 처리

  • 전력량 계량기와 모뎀이미지를 촬영한 2개의 사진을 한번에 server에 보내서 각각 ocr인식처리후 결과를 반환하는 방식
  • 전력량 계량기 촬영후 ocr인식이 성공해야만 모뎀 촬영이 가능하도록 하는 방식

2개의 이미지를 처리하는 방식에 대해 두 가지를 생각해보았는데 두번째가 더 처리에 대한 이해가 잘되고 ocr인식 실패시에 대한 처리가 더 간결하다고 생각되어 두번째 방식으로 하는 것이 좋을 것 같습니다.

image-20210927201943033

3) 사용불가능한 영상데이터 제거

화질 상태가 매우 안좋거나 전력량계량기나 모뎀 둘 중 한 곳에만 존재하여 매칭이 안되는 파일은 제거하여 모델훈련 데이터셋을 만들 준비를 했습니다.

그 결과 전력량계량기와 모뎀이미지 각각 789장에 대한 이미지를 사용할 수 있게 되었습니다.

9/25

1) 789개의 Roi좌표 데이터셋 생성

  • 팀원준에 한명이 selectROI를 그리면 그 좌표를 csv파일에 저장하는 처리를 구현해주어서 그걸 이용하여 오늘 모든 전력량계량기 이미지에 대해 전력량 8세그먼트 좌표를 저장해보았습니다.

2) 영상데이터 20장과 좌표데이터 20개로 모델 훈련

  1. 모델훈련시킬 영상데이터에서 약 2000개의 Selective Search Segmentation 을 무작위로 그립니다.
  2. 전력량 8세그먼트의 좌표데이터를 불러와 IoU를 계산합니다.
    • 좌표데이터와 겹치는 segmentation 영역에는 가중치 점수를 높게 주고 점수가 높은 30장의 영역에 대해 레이블을 1으로 설정합니다.
    • 좌표데이터와 겹치지 않는 segmentation 영역에는 가중치 점수를 낮게 주고 점수가 낮은 30장의 영역에 대해 레이블을 0으로 설정합니다.
  3. VGG16모델을 훈련시켜서 출력결과를 출력해봅니다.

영상데이터 20장과 좌표데이터 20개로 VGG모델을 훈련시켜보았는데 데이터 수가 너무 적어서 그런지 정확도는 60~70정도 사이였으며, 예측도 거의 맞지 않았습니다. 그리고 Selective Search Segmentation을 2000개나 그려서 좌표와 비교하는데 시간이 너무 많이 걸립니다.

전력량계량기 8세그먼트영역이 작은 편이 아니라서 Selective Search Segmentation의 개수를 150개로 줄여도 괜찮을 것같아 나중에 다시 해보려고 합니다.

9/27

1) 화면 흐름도 작성

image-20210927231243009

  • Main화면
    • 전력량계량기 촬영버튼
      • 촬영하여 OCR인식
    • 전력량계량기 사진선택버튼
      • 사진선택하여 OCR인식
    • 조회버튼
      • 조회버튼 클릭시 조회화면이동
  • 조회화면
    • 전력량계량기 와 모뎀 정보 테이블
      • 행을 클릭하면 해당 정보의 상세화면으로 이동
  • 상세화면
    • 홈버튼
      • 홈버튼 클릭시 Main화면으로 이동
    • 조회버튼
      • 조회버튼 클릭시 조회화면 이동
    • 전력량계량기의 이미지
      • 이미지 클릭시 전처리확인화면으로 이동
    • 모뎀촬영/모뎀사진선택 버튼
      • 모뎀 OCR인식
    • 전력량계량기와 모뎀정보의 상세정보 표시부
  • 전처리확인화면
    • 홈버튼
      • 홈버튼 클릭시 Main화면으로 이동
    • 조회버튼
      • 조회버튼 클릭시 조회화면 이동
    • 전력량계량기의 전처리 결과 이미지
    • 전처리 버튼 3개
      • 전처리 버튼을 누를 때마다 해당 전처리 결과 이미지를 표시

2) 전력량 8세그먼트 영역을 찾는 모델 수행

VGG16을 이용하여 모델을 수행하였고 정확도는 98%정도였습니다.

Leave a comment