79 분 소요

안녕하세요, 이번 포스팅에서는 OCR 의 “신흥강자” Upstage 의 OCR API를 사용하여 테스트 이미지를 인식해보겠습니다. OCR 테스를 위해서는 먼저 Upstage 에 회원 가입 후 Console에 접속하여 API 사용을 위한 준비를 마치고, Colab과 같은 jupyter notebook 환경에서 테스트를 진행해 보고자 합니다. 8가지 이상의 여러 OCR 서비스들을 테스트 해보았을 때, Upstage의 Document AI 서비스는 신생 서비스이지만, 신청 및 사용 절차가 상대적으로 간편하여 사용 복잡도나 난이도가 쉬운 편이라고 생각됩니다.

0. Upstage OCR API 신청 하기


0-1.회원가입

Upstage 홈페이지에 접속하면, Document AI 라는 서비스가 보입니다.

logo

해당 서비스를 클릭하면, 아래와 같은 “무료 크레딧 증정 이벤트” 팝업창을 볼 수 있을 겁니다.

credit

0-2. 콘솔 이동

팝업창을 클릭하면 회원가입을 진행한 후, 로그인을 하면, Console로 이동하게 됩니다.

console

0-3. 결제 수단 등록

서비스 사용을 위해서는 카드 정보를 입력하여 결제 수단을 먼저 등록해야 합니다. Billing 페이지에서는 각 프로젝트 별로 서비스 이용에 대한 요금이 나옵니다.

credit

0-4. 프로젝트 생성

Upstage의 OCR 서비스인 Document AI 를 사용하기 위해 Create New Project를 클릭해 새로운 프로젝트를 생성합니다.

아래 두 프로젝트는 기존에 제가 생성해놓은 프로젝트입니다. 새롭게 생성된 프로젝트는 아래 리스트에 추가되겠죠?

Project명은 랜덤하게 assign 되나 원하는 이름으로 변경해도 됩니다. Create 를 클릭해 생성합니다.

create_2

0-5. Token 생성

새로운 프로젝트가 생성되면, 해당 프로젝트 페이지로 자동으로 이동하게 됩니다. Access Token을 클릭해 새로운 토큰을 생성합니다.

토큰명 또한 자동으로 생성됩니다. Create 을 눌러 생성합니다.

이제 토큰 Key 정보가 생성된 것을 확인할 수 있습니다. 이 토큰을 가지고, 코랩이나 주피터 노트북에서 API를 호출 하면 됩니다.

Token 키는 공개되지 않도록 유의 해야 합니다

자 이제 API 사용을 위한 모든 준비가 끝났습니다!!! 이제 코랩이나 jupyter notebook 환경으로 가볼게요~

1. OCR API 사용 하기


맛보기. Basic How-To-Use: From Official Documentation

구글 코랩 환경에서 Python 으로 Upstage의 Document AI API를 호출해보겠습니다. Upstage 에서 공식적으로 안내하는 API 호출 방법은 아래와 같습니다. api_key 에는 방금 만든 토큰을, filename에는 테스트 하고자 하는 이미지 경로를 넣으면 됩니다.

import requests

api_key = "YOUR_API_KEY"
filename = "YOUR_FILE_NAME"

url = "https://ap-northeast-2.apistage.ai/v1/document-ai/ocr"
headers = {"Authorization": f"Bearer {api_key}"}
files = {"image": open(filename, "rb")}
response = requests.post(url, headers=headers, files=files)
print(response.json())

아래는 이미지 1건에 대한 Upstage OCR 인식 결과, 5건의 multiple 이미지에 대한 결과, 그리고 이미지별 소요시간을 출력한 상세 코드 입니다.

5건의 이미지와 서비스별, 이미지별 소요시간 비교 그래프는 OCR 비교평가 포스팅에 별도로 정리해놓았으니, 서비스별 비교평가가 필요한 독자 분들은 해당 포스팅에서 확인할 수 있습니다.

1-0. 라이브러리 임포트

import time
import pandas as pd
import cv2
import json
import matplotlib.pyplot as plt
import requests
import shutil
import os
import random
try:
 from PIL import Image
except ImportError:
 import Image

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 5000)
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive

1-1. Basic Usage

  • json 형식으로 결과가 출력된다
api_key = "BZlH..."
filename = "/content/drive/MyDrive/ocr_test_images/한글_영수증.png"

url = "https://ap-northeast-2.apistage.ai/v1/document-ai/ocr"
headers = {"Authorization": f"Bearer {api_key}"}
files = {"image": open(filename, "rb")}
response = requests.post(url, headers=headers, files=files)
print(response.json())

1-2. 개별 이미지에 대한 결과 확인 하기

  • OpenCV cv2 라이브러리를 활용하여 원본 이미지 에서 OCR이 인식된 영역을 bounding box로 표시해보겠습니다.
# Step 1: 테스트할 이미지 로드
test_image_path = '/content/drive/MyDrive/ocr_test_images/영문_Form_I-20.png'
image = cv2.imread(test_image_path)

# API 호출 (response)
with open(test_image_path, "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files)

# Request 가 성공적이었는지 확인
if response.status_code == 200:
    ocr_result = response.json()
    print("OCR Result:")
    print(ocr_result['pages'])
else:
    print("Failed to get OCR results")
    ocr_result = {}

# Detect된 텍스트 주변에 빨간색 박스로 표시 (bounding box information 활용)
highlighted_image = image.copy()
for page in ocr_result['pages']:
    for word in page['words']:
        vertices = word['boundingBox']['vertices']
        start_point = (vertices[0]['x'], vertices[0]['y'])
        end_point = (vertices[2]['x'], vertices[2]['y'])
        highlighted_image = cv2.rectangle(highlighted_image, start_point, end_point, (0, 0, 255), 2)

# 원본과 highlighted 이미지를 나란히 display 하기
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
axs[0].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
axs[0].set_title('Original Image')
axs[0].axis('off')

axs[1].imshow(cv2.cvtColor(highlighted_image, cv2.COLOR_BGR2RGB))
axs[1].set_title('Highlighted Image')
axs[1].axis('off')

plt.tight_layout()
plt.show()
OCR Result:
[{'confidence': 0.9904407914076291, 'height': 1608, 'id': 0, 'text': "Department of Homeland Security I-20, Certificate of Eligibility for Nonimmigrant Student Status \nU.S. Immigration and Customs Enforcement OMB NO. 1653-0038 \nSEVIS ID: N0004705512 \nSURNAME/PRIMARY NAME GIVEN NAME CLASS \nDoe Smi th John \nPREFERRED NAME PASSPORT NAME \nJohn Doe-Smith F-1 \nCOUNTRY OF BIRTH COUNTRY OF CITIZENSHIP \nUNITED KINGDOM UNITED KINGDOM \nDATE OF BIRTH ADMISSION NUMBER \n01 JANUARY 1980 \nACADEMIC AND \nFORM ISSUE REASON LEGACY NAME LANGUAGE \nINITIAL ATTENDANCE John Doe-Smi th \nSCHOOL INFORMATION \nSCHOOL NAME SCHOOL ADDRESS \nSEVP School for Advanced SEVIS Studies 9002 Nancy Lane, Ft. Washington, MD 20744 \nSEVP School for Advanced SEVIS Studies \nSCHOOL OFFICIAL TO CONTACT UPON ARRIVAL SCHOOL CODE AND APPROVAL DATE \nHelene Robertson BAL214F44444000 \nPDSO 03 APRIL 2015 \nPROGRAM OF STUDY \nEDUCATION LEVEL MAJOR 1 MAJOR 2 \nDOCTORATE Economics, General 45 . 0601 None 00 . 0000 \nNORMAL PROGRAM LENGTH PROGRAM ENGLISH PROFICIENCY student PROFICIENCY NOTES \nis proficient \n72 Months Required \nPROGRAM START DATE PROGRAM END DATE \n01 SEPTEMBER 2015 31 MAY 2021 \nFINANCIALS \nESTIMATED AVERAGE COSTS FOR: 9 MONTHS STUDENT'S FUNDING FOR: 9 MONTHS \nPersonal Funds $ 3,000 \nTuition and Fees $ 23, 000 n Scholarship and Teaching Assistantship $ 29,000 \nLiving Expenses $ 6, 000 \nFunds From Another Source $ \nExpenses of Dependents (1) $ 3, 000 \nOn-Campus Employment $ \nOther $ \nTOTAL $ 32, 000 TOTAL $ 32,000 \nREMARKS \nOrientation begins 8/25/2015. Please report to ISSS upon arrival. \nSCHOOL ATTESTATION \nI certify under penalty of perjury that all information provided above was entered before I signed this form and is true and correct. I executed this form in the United \nStates after review and evaluation in the United States by me or other officials of the school of the student's application, transcripts, or other records of courses taken \nand proof of financial responsibility, which were received at the school prior to the execution of this form. The school has determined that the above named student's \nqualifications meet all standards for admission to the school and the student will be required to pursue a full program of study as defined by 8 CFR 214.2(f)(6). I am a \ndesignated school official of the above named school and am authorized to issue this form. \nX DATE ISSUED PLACE ISSUED \nSIGNATURE OF: Helene Robertson, PDSO 21 April 2015 Ft. Washington,MD \nSTUDENT ATTESTATION \nI have read and agreed to comply with the terms and conditions of my admission and those of any extension of stay. I certify that all information provided on this form \nrefers specifically to me and is true and correct to the best of my knowledge. I certify that I seek to enter or remain in the United States temporarily, and solely for the \npurpose of pursuing a full program of study at the school named above. I also authorize the named school to release any information from my records needed by DHS \npursuant to 8 CFR 214.3(g) to determine my nonimmigrant status. Parent or guardian, and student, must sign if student is under 18. \nX \nSIGNATURE OF: John Doe Smi th DATE \nX \nNAME OF PARENT OR GUARDIAN SIGNATURE ADDRESS (city/state or province/country) DATE \nICE Form I-20 A-B (12/2016) Page 1 of 3", 'width': 1292, 'words': [{'boundingBox': {'vertices': [{'x': 100, 'y': 68}, {'x': 207, 'y': 68}, {'x': 207, 'y': 89}, {'x': 100, 'y': 89}]}, 'confidence': 0.9916275722465593, 'id': 0, 'text': 'Department'}, {'boundingBox': {'vertices': [{'x': 209, 'y': 69}, {'x': 229, 'y': 69}, {'x': 229, 'y': 85}, {'x': 209, 'y': 85}]}, 'confidence': 0.9996719244947274, 'id': 1, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 231, 'y': 69}, {'x': 321, 'y': 69}, {'x': 321, 'y': 86}, {'x': 231, 'y': 86}]}, 'confidence': 0.9911932224690573, 'id': 2, 'text': 'Homeland'}, {'boundingBox': {'vertices': [{'x': 324, 'y': 68}, {'x': 399, 'y': 68}, {'x': 399, 'y': 89}, {'x': 324, 'y': 89}]}, 'confidence': 0.9859997710314329, 'id': 3, 'text': 'Security'}, {'boundingBox': {'vertices': [{'x': 652, 'y': 68}, {'x': 694, 'y': 68}, {'x': 694, 'y': 88}, {'x': 652, 'y': 88}]}, 'confidence': 0.9875995077429937, 'id': 4, 'text': 'I-20,'}, {'boundingBox': {'vertices': [{'x': 697, 'y': 69}, {'x': 784, 'y': 69}, {'x': 784, 'y': 86}, {'x': 697, 'y': 86}]}, 'confidence': 0.9902287512878651, 'id': 5, 'text': 'Certificate'}, {'boundingBox': {'vertices': [{'x': 786, 'y': 68}, {'x': 808, 'y': 68}, {'x': 807, 'y': 87}, {'x': 786, 'y': 86}]}, 'confidence': 0.9997720046228357, 'id': 6, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 808, 'y': 68}, {'x': 892, 'y': 69}, {'x': 892, 'y': 89}, {'x': 808, 'y': 89}]}, 'confidence': 0.9939595385414002, 'id': 7, 'text': 'Eligibility'}, {'boundingBox': {'vertices': [{'x': 894, 'y': 69}, {'x': 921, 'y': 69}, {'x': 921, 'y': 85}, {'x': 894, 'y': 85}]}, 'confidence': 0.9995207700089245, 'id': 8, 'text': 'for'}, {'boundingBox': {'vertices': [{'x': 922, 'y': 68}, {'x': 1045, 'y': 68}, {'x': 1045, 'y': 89}, {'x': 922, 'y': 89}]}, 'confidence': 0.9836613588997957, 'id': 9, 'text': 'Nonimmigrant'}, {'boundingBox': {'vertices': [{'x': 1047, 'y': 69}, {'x': 1110, 'y': 69}, {'x': 1110, 'y': 86}, {'x': 1047, 'y': 86}]}, 'confidence': 0.9944305021936818, 'id': 10, 'text': 'Student'}, {'boundingBox': {'vertices': [{'x': 1113, 'y': 69}, {'x': 1164, 'y': 69}, {'x': 1164, 'y': 86}, {'x': 1113, 'y': 86}]}, 'confidence': 0.99828870397054, 'id': 11, 'text': 'Status'}, {'boundingBox': {'vertices': [{'x': 101, 'y': 94}, {'x': 137, 'y': 94}, {'x': 137, 'y': 111}, {'x': 101, 'y': 111}]}, 'confidence': 0.9976264680565033, 'id': 12, 'text': 'U.S.'}, {'boundingBox': {'vertices': [{'x': 139, 'y': 94}, {'x': 244, 'y': 95}, {'x': 243, 'y': 115}, {'x': 139, 'y': 114}]}, 'confidence': 0.9908923184361006, 'id': 13, 'text': 'Immigration'}, {'boundingBox': {'vertices': [{'x': 246, 'y': 95}, {'x': 277, 'y': 94}, {'x': 277, 'y': 111}, {'x': 246, 'y': 111}]}, 'confidence': 0.9972684101747769, 'id': 14, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 281, 'y': 94}, {'x': 352, 'y': 94}, {'x': 352, 'y': 111}, {'x': 281, 'y': 111}]}, 'confidence': 0.9913043807089227, 'id': 15, 'text': 'Customs'}, {'boundingBox': {'vertices': [{'x': 356, 'y': 94}, {'x': 462, 'y': 96}, {'x': 462, 'y': 113}, {'x': 356, 'y': 112}]}, 'confidence': 0.9926941444402566, 'id': 16, 'text': 'Enforcement'}, {'boundingBox': {'vertices': [{'x': 654, 'y': 94}, {'x': 696, 'y': 94}, {'x': 696, 'y': 109}, {'x': 654, 'y': 109}]}, 'confidence': 0.9784776187717846, 'id': 17, 'text': 'OMB'}, {'boundingBox': {'vertices': [{'x': 699, 'y': 94}, {'x': 731, 'y': 94}, {'x': 731, 'y': 109}, {'x': 699, 'y': 109}]}, 'confidence': 0.9988431025047378, 'id': 18, 'text': 'NO.'}, {'boundingBox': {'vertices': [{'x': 740, 'y': 94}, {'x': 818, 'y': 94}, {'x': 818, 'y': 109}, {'x': 740, 'y': 109}]}, 'confidence': 0.9974917066026834, 'id': 19, 'text': '1653-0038'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 136}, {'x': 171, 'y': 136}, {'x': 171, 'y': 157}, {'x': 100, 'y': 157}]}, 'confidence': 0.9979793216254939, 'id': 20, 'text': 'SEVIS'}, {'boundingBox': {'vertices': [{'x': 176, 'y': 137}, {'x': 211, 'y': 137}, {'x': 211, 'y': 156}, {'x': 176, 'y': 156}]}, 'confidence': 0.9993606128205051, 'id': 21, 'text': 'ID:'}, {'boundingBox': {'vertices': [{'x': 227, 'y': 135}, {'x': 414, 'y': 135}, {'x': 414, 'y': 157}, {'x': 227, 'y': 157}]}, 'confidence': 0.9971115813937345, 'id': 22, 'text': 'N0004705512'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 173}, {'x': 267, 'y': 173}, {'x': 267, 'y': 189}, {'x': 102, 'y': 189}]}, 'confidence': 0.9952601619399191, 'id': 23, 'text': 'SURNAME/PRIMARY'}, {'boundingBox': {'vertices': [{'x': 269, 'y': 174}, {'x': 320, 'y': 174}, {'x': 320, 'y': 189}, {'x': 269, 'y': 189}]}, 'confidence': 0.9968767268496677, 'id': 24, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 174}, {'x': 704, 'y': 174}, {'x': 704, 'y': 188}, {'x': 651, 'y': 188}]}, 'confidence': 0.9956103979862307, 'id': 25, 'text': 'GIVEN'}, {'boundingBox': {'vertices': [{'x': 706, 'y': 174}, {'x': 758, 'y': 174}, {'x': 758, 'y': 189}, {'x': 706, 'y': 189}]}, 'confidence': 0.9961344992851341, 'id': 26, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 975, 'y': 175}, {'x': 1041, 'y': 175}, {'x': 1041, 'y': 192}, {'x': 975, 'y': 192}]}, 'confidence': 0.9992589485741759, 'id': 27, 'text': 'CLASS'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 194}, {'x': 132, 'y': 194}, {'x': 132, 'y': 207}, {'x': 103, 'y': 207}]}, 'confidence': 0.9990857860453506, 'id': 28, 'text': 'Doe'}, {'boundingBox': {'vertices': [{'x': 141, 'y': 194}, {'x': 171, 'y': 194}, {'x': 171, 'y': 206}, {'x': 141, 'y': 206}]}, 'confidence': 0.9986055296451731, 'id': 29, 'text': 'Smi'}, {'boundingBox': {'vertices': [{'x': 171, 'y': 194}, {'x': 191, 'y': 194}, {'x': 191, 'y': 206}, {'x': 171, 'y': 206}]}, 'confidence': 0.9984929657650529, 'id': 30, 'text': 'th'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 193}, {'x': 690, 'y': 193}, {'x': 690, 'y': 207}, {'x': 651, 'y': 207}]}, 'confidence': 0.9981251409237938, 'id': 31, 'text': 'John'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 221}, {'x': 202, 'y': 221}, {'x': 202, 'y': 235}, {'x': 103, 'y': 235}]}, 'confidence': 0.9934338403607841, 'id': 32, 'text': 'PREFERRED'}, {'boundingBox': {'vertices': [{'x': 204, 'y': 221}, {'x': 255, 'y': 221}, {'x': 255, 'y': 235}, {'x': 204, 'y': 235}]}, 'confidence': 0.9940399843391986, 'id': 33, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 650, 'y': 221}, {'x': 735, 'y': 221}, {'x': 735, 'y': 235}, {'x': 650, 'y': 235}]}, 'confidence': 0.9982872783529692, 'id': 34, 'text': 'PASSPORT'}, {'boundingBox': {'vertices': [{'x': 737, 'y': 221}, {'x': 789, 'y': 221}, {'x': 789, 'y': 235}, {'x': 737, 'y': 235}]}, 'confidence': 0.994587196198932, 'id': 35, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 239}, {'x': 142, 'y': 239}, {'x': 142, 'y': 253}, {'x': 103, 'y': 253}]}, 'confidence': 0.9975135316911148, 'id': 36, 'text': 'John'}, {'boundingBox': {'vertices': [{'x': 151, 'y': 239}, {'x': 239, 'y': 239}, {'x': 239, 'y': 253}, {'x': 151, 'y': 253}]}, 'confidence': 0.996815365339387, 'id': 37, 'text': 'Doe-Smith'}, {'boundingBox': {'vertices': [{'x': 1003, 'y': 227}, {'x': 1145, 'y': 227}, {'x': 1145, 'y': 295}, {'x': 1003, 'y': 295}]}, 'confidence': 0.9659613134509576, 'id': 38, 'text': 'F-1'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 266}, {'x': 185, 'y': 266}, {'x': 185, 'y': 282}, {'x': 103, 'y': 282}]}, 'confidence': 0.9976511466329098, 'id': 39, 'text': 'COUNTRY'}, {'boundingBox': {'vertices': [{'x': 188, 'y': 267}, {'x': 211, 'y': 267}, {'x': 211, 'y': 281}, {'x': 188, 'y': 281}]}, 'confidence': 0.9978867223712296, 'id': 40, 'text': 'OF'}, {'boundingBox': {'vertices': [{'x': 214, 'y': 267}, {'x': 268, 'y': 267}, {'x': 268, 'y': 282}, {'x': 214, 'y': 282}]}, 'confidence': 0.9942757431251729, 'id': 41, 'text': 'BIRTH'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 266}, {'x': 733, 'y': 266}, {'x': 733, 'y': 282}, {'x': 651, 'y': 282}]}, 'confidence': 0.9970222240921968, 'id': 42, 'text': 'COUNTRY'}, {'boundingBox': {'vertices': [{'x': 736, 'y': 267}, {'x': 759, 'y': 267}, {'x': 759, 'y': 281}, {'x': 736, 'y': 281}]}, 'confidence': 0.9975052285557866, 'id': 43, 'text': 'OF'}, {'boundingBox': {'vertices': [{'x': 762, 'y': 266}, {'x': 868, 'y': 266}, {'x': 868, 'y': 282}, {'x': 762, 'y': 282}]}, 'confidence': 0.9891553369540775, 'id': 44, 'text': 'CITIZENSHIP'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 286}, {'x': 162, 'y': 286}, {'x': 162, 'y': 300}, {'x': 103, 'y': 300}]}, 'confidence': 0.9993472786260138, 'id': 45, 'text': 'UNITED'}, {'boundingBox': {'vertices': [{'x': 169, 'y': 286}, {'x': 240, 'y': 286}, {'x': 240, 'y': 300}, {'x': 169, 'y': 300}]}, 'confidence': 0.9969410579335509, 'id': 46, 'text': 'KINGDOM'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 286}, {'x': 710, 'y': 286}, {'x': 710, 'y': 300}, {'x': 651, 'y': 300}]}, 'confidence': 0.9989283851935439, 'id': 47, 'text': 'UNITED'}, {'boundingBox': {'vertices': [{'x': 717, 'y': 286}, {'x': 787, 'y': 286}, {'x': 787, 'y': 300}, {'x': 717, 'y': 300}]}, 'confidence': 0.9962632148513695, 'id': 48, 'text': 'KINGDOM'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 314}, {'x': 149, 'y': 314}, {'x': 149, 'y': 328}, {'x': 103, 'y': 328}]}, 'confidence': 0.9965183781829137, 'id': 49, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 151, 'y': 314}, {'x': 175, 'y': 314}, {'x': 175, 'y': 328}, {'x': 151, 'y': 328}]}, 'confidence': 0.9975792499527885, 'id': 50, 'text': 'OF'}, {'boundingBox': {'vertices': [{'x': 178, 'y': 314}, {'x': 231, 'y': 314}, {'x': 231, 'y': 328}, {'x': 178, 'y': 328}]}, 'confidence': 0.9950225198269489, 'id': 51, 'text': 'BIRTH'}, {'boundingBox': {'vertices': [{'x': 650, 'y': 314}, {'x': 744, 'y': 314}, {'x': 744, 'y': 328}, {'x': 650, 'y': 328}]}, 'confidence': 0.9970267271273354, 'id': 52, 'text': 'ADMISSION'}, {'boundingBox': {'vertices': [{'x': 747, 'y': 314}, {'x': 820, 'y': 314}, {'x': 820, 'y': 328}, {'x': 747, 'y': 328}]}, 'confidence': 0.994393487645189, 'id': 53, 'text': 'NUMBER'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 332}, {'x': 123, 'y': 332}, {'x': 123, 'y': 346}, {'x': 103, 'y': 346}]}, 'confidence': 0.9936943834157462, 'id': 54, 'text': '01'}, {'boundingBox': {'vertices': [{'x': 131, 'y': 332}, {'x': 201, 'y': 332}, {'x': 201, 'y': 345}, {'x': 131, 'y': 346}]}, 'confidence': 0.9977444142018647, 'id': 55, 'text': 'JANUARY'}, {'boundingBox': {'vertices': [{'x': 209, 'y': 332}, {'x': 248, 'y': 332}, {'x': 248, 'y': 346}, {'x': 209, 'y': 346}]}, 'confidence': 0.9960232013365786, 'id': 56, 'text': '1980'}, {'boundingBox': {'vertices': [{'x': 997, 'y': 337}, {'x': 1111, 'y': 336}, {'x': 1111, 'y': 354}, {'x': 997, 'y': 354}]}, 'confidence': 0.9944727068561955, 'id': 57, 'text': 'ACADEMIC'}, {'boundingBox': {'vertices': [{'x': 1115, 'y': 337}, {'x': 1159, 'y': 337}, {'x': 1159, 'y': 354}, {'x': 1115, 'y': 354}]}, 'confidence': 0.9962725622218451, 'id': 58, 'text': 'AND'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 360}, {'x': 154, 'y': 360}, {'x': 154, 'y': 374}, {'x': 103, 'y': 374}]}, 'confidence': 0.9940550620137328, 'id': 59, 'text': 'FORM'}, {'boundingBox': {'vertices': [{'x': 155, 'y': 360}, {'x': 203, 'y': 360}, {'x': 203, 'y': 374}, {'x': 155, 'y': 374}]}, 'confidence': 0.9961783866096158, 'id': 60, 'text': 'ISSUE'}, {'boundingBox': {'vertices': [{'x': 206, 'y': 360}, {'x': 275, 'y': 360}, {'x': 275, 'y': 374}, {'x': 206, 'y': 374}]}, 'confidence': 0.9984649178926871, 'id': 61, 'text': 'REASON'}, {'boundingBox': {'vertices': [{'x': 650, 'y': 360}, {'x': 720, 'y': 360}, {'x': 720, 'y': 374}, {'x': 650, 'y': 374}]}, 'confidence': 0.9963064035363701, 'id': 62, 'text': 'LEGACY'}, {'boundingBox': {'vertices': [{'x': 723, 'y': 360}, {'x': 774, 'y': 360}, {'x': 774, 'y': 374}, {'x': 723, 'y': 374}]}, 'confidence': 0.9959170124560148, 'id': 63, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 1019, 'y': 359}, {'x': 1137, 'y': 359}, {'x': 1137, 'y': 375}, {'x': 1019, 'y': 375}]}, 'confidence': 0.9941486009332563, 'id': 64, 'text': 'LANGUAGE'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 380}, {'x': 171, 'y': 380}, {'x': 171, 'y': 393}, {'x': 103, 'y': 393}]}, 'confidence': 0.9995486390299028, 'id': 65, 'text': 'INITIAL'}, {'boundingBox': {'vertices': [{'x': 179, 'y': 379}, {'x': 277, 'y': 379}, {'x': 277, 'y': 393}, {'x': 179, 'y': 393}]}, 'confidence': 0.9941582621268326, 'id': 66, 'text': 'ATTENDANCE'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 379}, {'x': 690, 'y': 379}, {'x': 690, 'y': 393}, {'x': 651, 'y': 393}]}, 'confidence': 0.9981250221611006, 'id': 67, 'text': 'John'}, {'boundingBox': {'vertices': [{'x': 698, 'y': 379}, {'x': 766, 'y': 379}, {'x': 766, 'y': 393}, {'x': 698, 'y': 393}]}, 'confidence': 0.9977579430072681, 'id': 68, 'text': 'Doe-Smi'}, {'boundingBox': {'vertices': [{'x': 767, 'y': 379}, {'x': 786, 'y': 379}, {'x': 786, 'y': 393}, {'x': 767, 'y': 393}]}, 'confidence': 0.998684232457028, 'id': 69, 'text': 'th'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 408}, {'x': 188, 'y': 408}, {'x': 188, 'y': 425}, {'x': 100, 'y': 425}]}, 'confidence': 0.9988971012887792, 'id': 70, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 191, 'y': 408}, {'x': 341, 'y': 408}, {'x': 341, 'y': 425}, {'x': 191, 'y': 425}]}, 'confidence': 0.9966273002862304, 'id': 71, 'text': 'INFORMATION'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 435}, {'x': 173, 'y': 435}, {'x': 173, 'y': 450}, {'x': 102, 'y': 450}]}, 'confidence': 0.9984668193935623, 'id': 72, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 175, 'y': 435}, {'x': 226, 'y': 435}, {'x': 226, 'y': 449}, {'x': 175, 'y': 449}]}, 'confidence': 0.9945146792910767, 'id': 73, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 655, 'y': 435}, {'x': 725, 'y': 435}, {'x': 725, 'y': 449}, {'x': 655, 'y': 449}]}, 'confidence': 0.9984305732799448, 'id': 74, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 728, 'y': 435}, {'x': 805, 'y': 435}, {'x': 805, 'y': 449}, {'x': 728, 'y': 449}]}, 'confidence': 0.9970392884403408, 'id': 75, 'text': 'ADDRESS'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 454}, {'x': 142, 'y': 454}, {'x': 142, 'y': 467}, {'x': 103, 'y': 467}]}, 'confidence': 0.9988137267637555, 'id': 76, 'text': 'SEVP'}, {'boundingBox': {'vertices': [{'x': 151, 'y': 454}, {'x': 209, 'y': 454}, {'x': 209, 'y': 468}, {'x': 151, 'y': 468}]}, 'confidence': 0.9989860811835293, 'id': 77, 'text': 'School'}, {'boundingBox': {'vertices': [{'x': 219, 'y': 454}, {'x': 249, 'y': 454}, {'x': 249, 'y': 467}, {'x': 219, 'y': 467}]}, 'confidence': 0.9994995715379168, 'id': 78, 'text': 'for'}, {'boundingBox': {'vertices': [{'x': 256, 'y': 454}, {'x': 336, 'y': 454}, {'x': 336, 'y': 468}, {'x': 256, 'y': 468}]}, 'confidence': 0.9953936123809067, 'id': 79, 'text': 'Advanced'}, {'boundingBox': {'vertices': [{'x': 343, 'y': 454}, {'x': 393, 'y': 454}, {'x': 393, 'y': 467}, {'x': 343, 'y': 467}]}, 'confidence': 0.9987704393473696, 'id': 80, 'text': 'SEVIS'}, {'boundingBox': {'vertices': [{'x': 401, 'y': 453}, {'x': 470, 'y': 454}, {'x': 470, 'y': 469}, {'x': 401, 'y': 468}]}, 'confidence': 0.998154357404982, 'id': 81, 'text': 'Studies'}, {'boundingBox': {'vertices': [{'x': 656, 'y': 454}, {'x': 696, 'y': 454}, {'x': 696, 'y': 467}, {'x': 656, 'y': 467}]}, 'confidence': 0.9968987619766542, 'id': 82, 'text': '9002'}, {'boundingBox': {'vertices': [{'x': 703, 'y': 454}, {'x': 754, 'y': 455}, {'x': 753, 'y': 470}, {'x': 703, 'y': 469}]}, 'confidence': 0.9984955804775172, 'id': 83, 'text': 'Nancy'}, {'boundingBox': {'vertices': [{'x': 761, 'y': 454}, {'x': 810, 'y': 455}, {'x': 809, 'y': 469}, {'x': 761, 'y': 468}]}, 'confidence': 0.993294093087456, 'id': 84, 'text': 'Lane,'}, {'boundingBox': {'vertices': [{'x': 809, 'y': 454}, {'x': 838, 'y': 454}, {'x': 838, 'y': 468}, {'x': 809, 'y': 468}]}, 'confidence': 0.9744522210916907, 'id': 85, 'text': 'Ft.'}, {'boundingBox': {'vertices': [{'x': 848, 'y': 454}, {'x': 953, 'y': 454}, {'x': 953, 'y': 470}, {'x': 848, 'y': 470}]}, 'confidence': 0.9847735091177688, 'id': 86, 'text': 'Washington,'}, {'boundingBox': {'vertices': [{'x': 953, 'y': 454}, {'x': 976, 'y': 454}, {'x': 976, 'y': 468}, {'x': 953, 'y': 468}]}, 'confidence': 0.9979759972523149, 'id': 87, 'text': 'MD'}, {'boundingBox': {'vertices': [{'x': 983, 'y': 454}, {'x': 1032, 'y': 454}, {'x': 1032, 'y': 467}, {'x': 983, 'y': 467}]}, 'confidence': 0.9966910070720961, 'id': 88, 'text': '20744'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 471}, {'x': 142, 'y': 471}, {'x': 142, 'y': 484}, {'x': 103, 'y': 484}]}, 'confidence': 0.9988137267637555, 'id': 89, 'text': 'SEVP'}, {'boundingBox': {'vertices': [{'x': 151, 'y': 471}, {'x': 209, 'y': 471}, {'x': 209, 'y': 485}, {'x': 151, 'y': 485}]}, 'confidence': 0.998497244392579, 'id': 90, 'text': 'School'}, {'boundingBox': {'vertices': [{'x': 219, 'y': 471}, {'x': 249, 'y': 471}, {'x': 249, 'y': 484}, {'x': 219, 'y': 484}]}, 'confidence': 0.9994993333579576, 'id': 91, 'text': 'for'}, {'boundingBox': {'vertices': [{'x': 256, 'y': 471}, {'x': 336, 'y': 471}, {'x': 336, 'y': 485}, {'x': 256, 'y': 485}]}, 'confidence': 0.9975153109523833, 'id': 92, 'text': 'Advanced'}, {'boundingBox': {'vertices': [{'x': 343, 'y': 471}, {'x': 393, 'y': 471}, {'x': 393, 'y': 484}, {'x': 343, 'y': 484}]}, 'confidence': 0.9987703204310642, 'id': 93, 'text': 'SEVIS'}, {'boundingBox': {'vertices': [{'x': 401, 'y': 471}, {'x': 470, 'y': 471}, {'x': 470, 'y': 485}, {'x': 401, 'y': 485}]}, 'confidence': 0.998154357404982, 'id': 94, 'text': 'Studies'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 498}, {'x': 173, 'y': 499}, {'x': 172, 'y': 514}, {'x': 102, 'y': 514}]}, 'confidence': 0.9990572289199674, 'id': 95, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 176, 'y': 499}, {'x': 255, 'y': 499}, {'x': 255, 'y': 513}, {'x': 176, 'y': 513}]}, 'confidence': 0.9935841007744373, 'id': 96, 'text': 'OFFICIAL'}, {'boundingBox': {'vertices': [{'x': 258, 'y': 499}, {'x': 282, 'y': 499}, {'x': 282, 'y': 513}, {'x': 258, 'y': 513}]}, 'confidence': 0.9969261295389503, 'id': 97, 'text': 'TO'}, {'boundingBox': {'vertices': [{'x': 286, 'y': 499}, {'x': 367, 'y': 499}, {'x': 367, 'y': 513}, {'x': 286, 'y': 513}]}, 'confidence': 0.9969303947489297, 'id': 98, 'text': 'CONTACT'}, {'boundingBox': {'vertices': [{'x': 370, 'y': 499}, {'x': 416, 'y': 499}, {'x': 416, 'y': 513}, {'x': 370, 'y': 513}]}, 'confidence': 0.996717178948264, 'id': 99, 'text': 'UPON'}, {'boundingBox': {'vertices': [{'x': 419, 'y': 499}, {'x': 496, 'y': 499}, {'x': 496, 'y': 513}, {'x': 419, 'y': 513}]}, 'confidence': 0.9918153966642989, 'id': 100, 'text': 'ARRIVAL'}, {'boundingBox': {'vertices': [{'x': 655, 'y': 499}, {'x': 726, 'y': 499}, {'x': 726, 'y': 513}, {'x': 655, 'y': 513}]}, 'confidence': 0.9984306921153616, 'id': 101, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 729, 'y': 499}, {'x': 777, 'y': 499}, {'x': 777, 'y': 513}, {'x': 729, 'y': 513}]}, 'confidence': 0.9965834917954144, 'id': 102, 'text': 'CODE'}, {'boundingBox': {'vertices': [{'x': 779, 'y': 499}, {'x': 814, 'y': 499}, {'x': 814, 'y': 513}, {'x': 779, 'y': 513}]}, 'confidence': 0.99618441994039, 'id': 103, 'text': 'AND'}, {'boundingBox': {'vertices': [{'x': 818, 'y': 499}, {'x': 908, 'y': 499}, {'x': 908, 'y': 513}, {'x': 818, 'y': 513}]}, 'confidence': 0.991491613945782, 'id': 104, 'text': 'APPROVAL'}, {'boundingBox': {'vertices': [{'x': 911, 'y': 499}, {'x': 957, 'y': 499}, {'x': 957, 'y': 513}, {'x': 911, 'y': 513}]}, 'confidence': 0.9960474458482983, 'id': 105, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 518}, {'x': 161, 'y': 519}, {'x': 161, 'y': 532}, {'x': 103, 'y': 531}]}, 'confidence': 0.9968770822472126, 'id': 106, 'text': 'Helene'}, {'boundingBox': {'vertices': [{'x': 169, 'y': 518}, {'x': 258, 'y': 518}, {'x': 258, 'y': 532}, {'x': 169, 'y': 532}]}, 'confidence': 0.9948154281511412, 'id': 107, 'text': 'Robertson'}, {'boundingBox': {'vertices': [{'x': 656, 'y': 518}, {'x': 801, 'y': 518}, {'x': 801, 'y': 532}, {'x': 656, 'y': 532}]}, 'confidence': 0.9962163623209541, 'id': 108, 'text': 'BAL214F44444000'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 535}, {'x': 142, 'y': 535}, {'x': 142, 'y': 548}, {'x': 103, 'y': 548}]}, 'confidence': 0.9994917116592004, 'id': 109, 'text': 'PDSO'}, {'boundingBox': {'vertices': [{'x': 656, 'y': 535}, {'x': 676, 'y': 535}, {'x': 676, 'y': 548}, {'x': 656, 'y': 548}]}, 'confidence': 0.9908561520053106, 'id': 110, 'text': '03'}, {'boundingBox': {'vertices': [{'x': 684, 'y': 535}, {'x': 734, 'y': 535}, {'x': 734, 'y': 548}, {'x': 684, 'y': 548}]}, 'confidence': 0.9990616313703576, 'id': 111, 'text': 'APRIL'}, {'boundingBox': {'vertices': [{'x': 742, 'y': 535}, {'x': 782, 'y': 535}, {'x': 782, 'y': 548}, {'x': 742, 'y': 548}]}, 'confidence': 0.9980242028312185, 'id': 112, 'text': '2015'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 565}, {'x': 208, 'y': 565}, {'x': 208, 'y': 582}, {'x': 102, 'y': 582}]}, 'confidence': 0.9949375487099188, 'id': 113, 'text': 'PROGRAM'}, {'boundingBox': {'vertices': [{'x': 212, 'y': 566}, {'x': 240, 'y': 566}, {'x': 240, 'y': 582}, {'x': 212, 'y': 582}]}, 'confidence': 0.9993971646245717, 'id': 114, 'text': 'OF'}, {'boundingBox': {'vertices': [{'x': 244, 'y': 565}, {'x': 313, 'y': 565}, {'x': 313, 'y': 582}, {'x': 244, 'y': 582}]}, 'confidence': 0.9990974473409713, 'id': 115, 'text': 'STUDY'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 592}, {'x': 201, 'y': 592}, {'x': 201, 'y': 606}, {'x': 103, 'y': 606}]}, 'confidence': 0.9949589081390232, 'id': 116, 'text': 'EDUCATION'}, {'boundingBox': {'vertices': [{'x': 205, 'y': 592}, {'x': 261, 'y': 592}, {'x': 261, 'y': 606}, {'x': 205, 'y': 606}]}, 'confidence': 0.9949130042000836, 'id': 117, 'text': 'LEVEL'}, {'boundingBox': {'vertices': [{'x': 460, 'y': 592}, {'x': 521, 'y': 592}, {'x': 521, 'y': 606}, {'x': 460, 'y': 606}]}, 'confidence': 0.9953502665881171, 'id': 118, 'text': 'MAJOR'}, {'boundingBox': {'vertices': [{'x': 524, 'y': 593}, {'x': 532, 'y': 593}, {'x': 532, 'y': 605}, {'x': 524, 'y': 605}]}, 'confidence': 0.9976993208334205, 'id': 119, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 818, 'y': 592}, {'x': 879, 'y': 592}, {'x': 879, 'y': 606}, {'x': 818, 'y': 606}]}, 'confidence': 0.9970786334689379, 'id': 120, 'text': 'MAJOR'}, {'boundingBox': {'vertices': [{'x': 880, 'y': 593}, {'x': 891, 'y': 592}, {'x': 891, 'y': 606}, {'x': 880, 'y': 606}]}, 'confidence': 0.9901537129371416, 'id': 121, 'text': '2'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 610}, {'x': 191, 'y': 610}, {'x': 191, 'y': 624}, {'x': 103, 'y': 624}]}, 'confidence': 0.9916662568517896, 'id': 122, 'text': 'DOCTORATE'}, {'boundingBox': {'vertices': [{'x': 460, 'y': 609}, {'x': 555, 'y': 611}, {'x': 555, 'y': 626}, {'x': 460, 'y': 624}]}, 'confidence': 0.9892369901120028, 'id': 123, 'text': 'Economics,'}, {'boundingBox': {'vertices': [{'x': 566, 'y': 610}, {'x': 635, 'y': 610}, {'x': 635, 'y': 624}, {'x': 566, 'y': 624}]}, 'confidence': 0.998181556398287, 'id': 124, 'text': 'General'}, {'boundingBox': {'vertices': [{'x': 644, 'y': 610}, {'x': 664, 'y': 610}, {'x': 664, 'y': 624}, {'x': 644, 'y': 624}]}, 'confidence': 0.9919337320882795, 'id': 125, 'text': '45'}, {'boundingBox': {'vertices': [{'x': 665, 'y': 612}, {'x': 671, 'y': 612}, {'x': 671, 'y': 623}, {'x': 665, 'y': 623}]}, 'confidence': 0.9826783283121345, 'id': 126, 'text': '.'}, {'boundingBox': {'vertices': [{'x': 673, 'y': 609}, {'x': 711, 'y': 609}, {'x': 711, 'y': 624}, {'x': 673, 'y': 624}]}, 'confidence': 0.9969668874817583, 'id': 127, 'text': '0601'}, {'boundingBox': {'vertices': [{'x': 818, 'y': 610}, {'x': 859, 'y': 611}, {'x': 858, 'y': 625}, {'x': 817, 'y': 624}]}, 'confidence': 0.9993895444839077, 'id': 128, 'text': 'None'}, {'boundingBox': {'vertices': [{'x': 867, 'y': 610}, {'x': 887, 'y': 610}, {'x': 887, 'y': 624}, {'x': 867, 'y': 624}]}, 'confidence': 0.9953417632243129, 'id': 129, 'text': '00'}, {'boundingBox': {'vertices': [{'x': 887, 'y': 611}, {'x': 894, 'y': 611}, {'x': 894, 'y': 623}, {'x': 887, 'y': 623}]}, 'confidence': 0.9779341903121584, 'id': 130, 'text': '.'}, {'boundingBox': {'vertices': [{'x': 896, 'y': 609}, {'x': 935, 'y': 609}, {'x': 935, 'y': 624}, {'x': 896, 'y': 624}]}, 'confidence': 0.9965317553760762, 'id': 131, 'text': '0000'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 638}, {'x': 177, 'y': 638}, {'x': 177, 'y': 653}, {'x': 102, 'y': 653}]}, 'confidence': 0.9949517095549361, 'id': 132, 'text': 'NORMAL'}, {'boundingBox': {'vertices': [{'x': 179, 'y': 638}, {'x': 266, 'y': 638}, {'x': 266, 'y': 652}, {'x': 179, 'y': 652}]}, 'confidence': 0.9969712715287639, 'id': 133, 'text': 'PROGRAM'}, {'boundingBox': {'vertices': [{'x': 268, 'y': 638}, {'x': 339, 'y': 638}, {'x': 339, 'y': 652}, {'x': 268, 'y': 652}]}, 'confidence': 0.9822912331592238, 'id': 134, 'text': 'LENGTH'}, {'boundingBox': {'vertices': [{'x': 460, 'y': 638}, {'x': 547, 'y': 638}, {'x': 547, 'y': 652}, {'x': 460, 'y': 652}]}, 'confidence': 0.9938871131283351, 'id': 135, 'text': 'PROGRAM'}, {'boundingBox': {'vertices': [{'x': 549, 'y': 638}, {'x': 624, 'y': 638}, {'x': 624, 'y': 652}, {'x': 549, 'y': 652}]}, 'confidence': 0.9947106761431644, 'id': 136, 'text': 'ENGLISH'}, {'boundingBox': {'vertices': [{'x': 626, 'y': 637}, {'x': 742, 'y': 637}, {'x': 742, 'y': 653}, {'x': 626, 'y': 653}]}, 'confidence': 0.9948370183000929, 'id': 137, 'text': 'PROFICIENCY'}, {'boundingBox': {'vertices': [{'x': 812, 'y': 635}, {'x': 894, 'y': 635}, {'x': 894, 'y': 673}, {'x': 812, 'y': 673}]}, 'confidence': 0.8000415060595795, 'id': 138, 'text': 'student'}, {'boundingBox': {'vertices': [{'x': 895, 'y': 638}, {'x': 1010, 'y': 638}, {'x': 1010, 'y': 653}, {'x': 895, 'y': 653}]}, 'confidence': 0.9949482873137869, 'id': 139, 'text': 'PROFICIENCY'}, {'boundingBox': {'vertices': [{'x': 1012, 'y': 638}, {'x': 1069, 'y': 638}, {'x': 1069, 'y': 653}, {'x': 1012, 'y': 653}]}, 'confidence': 0.9975384419264939, 'id': 140, 'text': 'NOTES'}, {'boundingBox': {'vertices': [{'x': 895, 'y': 657}, {'x': 916, 'y': 657}, {'x': 916, 'y': 670}, {'x': 895, 'y': 670}]}, 'confidence': 0.9996187948555061, 'id': 141, 'text': 'is'}, {'boundingBox': {'vertices': [{'x': 924, 'y': 658}, {'x': 1022, 'y': 656}, {'x': 1023, 'y': 671}, {'x': 924, 'y': 673}]}, 'confidence': 0.9950199232723013, 'id': 142, 'text': 'proficient'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 657}, {'x': 123, 'y': 657}, {'x': 123, 'y': 670}, {'x': 103, 'y': 670}]}, 'confidence': 0.9983043860325584, 'id': 143, 'text': '72'}, {'boundingBox': {'vertices': [{'x': 130, 'y': 657}, {'x': 190, 'y': 657}, {'x': 190, 'y': 670}, {'x': 130, 'y': 670}]}, 'confidence': 0.9966535872295015, 'id': 144, 'text': 'Months'}, {'boundingBox': {'vertices': [{'x': 460, 'y': 657}, {'x': 540, 'y': 657}, {'x': 540, 'y': 672}, {'x': 460, 'y': 672}]}, 'confidence': 0.9971652745839353, 'id': 145, 'text': 'Required'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 686}, {'x': 189, 'y': 686}, {'x': 189, 'y': 700}, {'x': 103, 'y': 700}]}, 'confidence': 0.9954900023876737, 'id': 146, 'text': 'PROGRAM'}, {'boundingBox': {'vertices': [{'x': 191, 'y': 686}, {'x': 246, 'y': 686}, {'x': 246, 'y': 700}, {'x': 191, 'y': 700}]}, 'confidence': 0.9974394014465628, 'id': 147, 'text': 'START'}, {'boundingBox': {'vertices': [{'x': 249, 'y': 686}, {'x': 295, 'y': 686}, {'x': 295, 'y': 700}, {'x': 249, 'y': 700}]}, 'confidence': 0.9971274635453181, 'id': 148, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 460, 'y': 686}, {'x': 547, 'y': 686}, {'x': 547, 'y': 700}, {'x': 460, 'y': 700}]}, 'confidence': 0.9954898842512406, 'id': 149, 'text': 'PROGRAM'}, {'boundingBox': {'vertices': [{'x': 549, 'y': 686}, {'x': 585, 'y': 686}, {'x': 585, 'y': 700}, {'x': 549, 'y': 700}]}, 'confidence': 0.9955080775922602, 'id': 150, 'text': 'END'}, {'boundingBox': {'vertices': [{'x': 587, 'y': 686}, {'x': 634, 'y': 686}, {'x': 634, 'y': 700}, {'x': 587, 'y': 700}]}, 'confidence': 0.9973806981111302, 'id': 151, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 705}, {'x': 122, 'y': 705}, {'x': 122, 'y': 719}, {'x': 103, 'y': 719}]}, 'confidence': 0.9936941479944955, 'id': 152, 'text': '01'}, {'boundingBox': {'vertices': [{'x': 131, 'y': 705}, {'x': 220, 'y': 705}, {'x': 220, 'y': 719}, {'x': 131, 'y': 719}]}, 'confidence': 0.9960339633887872, 'id': 153, 'text': 'SEPTEMBER'}, {'boundingBox': {'vertices': [{'x': 228, 'y': 705}, {'x': 267, 'y': 705}, {'x': 267, 'y': 718}, {'x': 228, 'y': 718}]}, 'confidence': 0.9978035164196247, 'id': 154, 'text': '2015'}, {'boundingBox': {'vertices': [{'x': 461, 'y': 705}, {'x': 480, 'y': 705}, {'x': 480, 'y': 718}, {'x': 461, 'y': 718}]}, 'confidence': 0.9940075924447153, 'id': 155, 'text': '31'}, {'boundingBox': {'vertices': [{'x': 488, 'y': 705}, {'x': 520, 'y': 705}, {'x': 520, 'y': 718}, {'x': 488, 'y': 718}]}, 'confidence': 0.9996448824703977, 'id': 156, 'text': 'MAY'}, {'boundingBox': {'vertices': [{'x': 528, 'y': 705}, {'x': 567, 'y': 705}, {'x': 567, 'y': 719}, {'x': 528, 'y': 719}]}, 'confidence': 0.9984587380648611, 'id': 157, 'text': '2021'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 736}, {'x': 227, 'y': 736}, {'x': 227, 'y': 753}, {'x': 102, 'y': 753}]}, 'confidence': 0.9936288229076201, 'id': 158, 'text': 'FINANCIALS'}, {'boundingBox': {'vertices': [{'x': 105, 'y': 761}, {'x': 202, 'y': 761}, {'x': 202, 'y': 775}, {'x': 105, 'y': 775}]}, 'confidence': 0.9933019734110866, 'id': 159, 'text': 'ESTIMATED'}, {'boundingBox': {'vertices': [{'x': 205, 'y': 761}, {'x': 287, 'y': 761}, {'x': 287, 'y': 775}, {'x': 205, 'y': 775}]}, 'confidence': 0.995636394970288, 'id': 160, 'text': 'AVERAGE'}, {'boundingBox': {'vertices': [{'x': 290, 'y': 761}, {'x': 343, 'y': 761}, {'x': 343, 'y': 775}, {'x': 290, 'y': 775}]}, 'confidence': 0.9985185192238973, 'id': 161, 'text': 'COSTS'}, {'boundingBox': {'vertices': [{'x': 346, 'y': 761}, {'x': 387, 'y': 761}, {'x': 387, 'y': 775}, {'x': 346, 'y': 775}]}, 'confidence': 0.9796674183757245, 'id': 162, 'text': 'FOR:'}, {'boundingBox': {'vertices': [{'x': 389, 'y': 761}, {'x': 399, 'y': 761}, {'x': 399, 'y': 775}, {'x': 389, 'y': 775}]}, 'confidence': 0.9913524125296539, 'id': 163, 'text': '9'}, {'boundingBox': {'vertices': [{'x': 401, 'y': 761}, {'x': 471, 'y': 761}, {'x': 471, 'y': 775}, {'x': 401, 'y': 775}]}, 'confidence': 0.9992407369068808, 'id': 164, 'text': 'MONTHS'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 760}, {'x': 749, 'y': 760}, {'x': 749, 'y': 776}, {'x': 657, 'y': 776}]}, 'confidence': 0.9874792980458674, 'id': 165, 'text': "STUDENT'S"}, {'boundingBox': {'vertices': [{'x': 751, 'y': 761}, {'x': 828, 'y': 761}, {'x': 828, 'y': 775}, {'x': 751, 'y': 775}]}, 'confidence': 0.9942161153975112, 'id': 166, 'text': 'FUNDING'}, {'boundingBox': {'vertices': [{'x': 830, 'y': 761}, {'x': 870, 'y': 761}, {'x': 870, 'y': 775}, {'x': 830, 'y': 775}]}, 'confidence': 0.9809812422569727, 'id': 167, 'text': 'FOR:'}, {'boundingBox': {'vertices': [{'x': 872, 'y': 761}, {'x': 883, 'y': 761}, {'x': 883, 'y': 775}, {'x': 872, 'y': 775}]}, 'confidence': 0.9948772516242673, 'id': 168, 'text': '9'}, {'boundingBox': {'vertices': [{'x': 885, 'y': 761}, {'x': 955, 'y': 761}, {'x': 955, 'y': 775}, {'x': 885, 'y': 775}]}, 'confidence': 0.9991940799778545, 'id': 169, 'text': 'MONTHS'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 784}, {'x': 736, 'y': 784}, {'x': 736, 'y': 798}, {'x': 657, 'y': 798}]}, 'confidence': 0.9941959661419506, 'id': 170, 'text': 'Personal'}, {'boundingBox': {'vertices': [{'x': 744, 'y': 785}, {'x': 794, 'y': 783}, {'x': 794, 'y': 798}, {'x': 744, 'y': 799}]}, 'confidence': 0.9951819978598258, 'id': 171, 'text': 'Funds'}, {'boundingBox': {'vertices': [{'x': 1037, 'y': 784}, {'x': 1048, 'y': 784}, {'x': 1048, 'y': 798}, {'x': 1037, 'y': 798}]}, 'confidence': 0.9129959824775814, 'id': 172, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 1076, 'y': 784}, {'x': 1125, 'y': 783}, {'x': 1125, 'y': 798}, {'x': 1076, 'y': 799}]}, 'confidence': 0.9982268121566836, 'id': 173, 'text': '3,000'}, {'boundingBox': {'vertices': [{'x': 104, 'y': 784}, {'x': 173, 'y': 784}, {'x': 173, 'y': 798}, {'x': 104, 'y': 798}]}, 'confidence': 0.9976327562316905, 'id': 174, 'text': 'Tuition'}, {'boundingBox': {'vertices': [{'x': 181, 'y': 785}, {'x': 213, 'y': 784}, {'x': 213, 'y': 797}, {'x': 181, 'y': 798}]}, 'confidence': 0.9995935423883097, 'id': 175, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 220, 'y': 785}, {'x': 260, 'y': 785}, {'x': 260, 'y': 798}, {'x': 220, 'y': 798}]}, 'confidence': 0.9994297896655393, 'id': 176, 'text': 'Fees'}, {'boundingBox': {'vertices': [{'x': 495, 'y': 784}, {'x': 505, 'y': 784}, {'x': 505, 'y': 798}, {'x': 495, 'y': 798}]}, 'confidence': 0.8502967815335575, 'id': 177, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 524, 'y': 784}, {'x': 552, 'y': 784}, {'x': 552, 'y': 798}, {'x': 524, 'y': 798}]}, 'confidence': 0.9981892769066467, 'id': 178, 'text': '23,'}, {'boundingBox': {'vertices': [{'x': 554, 'y': 784}, {'x': 583, 'y': 784}, {'x': 583, 'y': 798}, {'x': 554, 'y': 798}]}, 'confidence': 0.9970570644241402, 'id': 179, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 592, 'y': 771}, {'x': 659, 'y': 768}, {'x': 663, 'y': 860}, {'x': 596, 'y': 863}]}, 'confidence': 0.29943687958269777, 'id': 180, 'text': 'n'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 803}, {'x': 765, 'y': 805}, {'x': 765, 'y': 822}, {'x': 657, 'y': 820}]}, 'confidence': 0.9850932652946428, 'id': 181, 'text': 'Scholarship'}, {'boundingBox': {'vertices': [{'x': 773, 'y': 807}, {'x': 804, 'y': 806}, {'x': 804, 'y': 819}, {'x': 773, 'y': 820}]}, 'confidence': 0.9992133611396591, 'id': 182, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 812, 'y': 806}, {'x': 890, 'y': 806}, {'x': 890, 'y': 822}, {'x': 812, 'y': 822}]}, 'confidence': 0.9973949285882273, 'id': 183, 'text': 'Teaching'}, {'boundingBox': {'vertices': [{'x': 898, 'y': 805}, {'x': 1026, 'y': 806}, {'x': 1025, 'y': 822}, {'x': 898, 'y': 820}]}, 'confidence': 0.99366483892022, 'id': 184, 'text': 'Assistantship'}, {'boundingBox': {'vertices': [{'x': 1037, 'y': 806}, {'x': 1048, 'y': 806}, {'x': 1048, 'y': 820}, {'x': 1037, 'y': 820}]}, 'confidence': 0.9519024527300304, 'id': 185, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 1066, 'y': 806}, {'x': 1125, 'y': 805}, {'x': 1125, 'y': 820}, {'x': 1066, 'y': 822}]}, 'confidence': 0.9980638631290556, 'id': 186, 'text': '29,000'}, {'boundingBox': {'vertices': [{'x': 104, 'y': 805}, {'x': 164, 'y': 806}, {'x': 164, 'y': 822}, {'x': 104, 'y': 821}]}, 'confidence': 0.9958270416061237, 'id': 187, 'text': 'Living'}, {'boundingBox': {'vertices': [{'x': 171, 'y': 806}, {'x': 250, 'y': 806}, {'x': 250, 'y': 822}, {'x': 171, 'y': 822}]}, 'confidence': 0.9952006522196657, 'id': 188, 'text': 'Expenses'}, {'boundingBox': {'vertices': [{'x': 496, 'y': 807}, {'x': 505, 'y': 807}, {'x': 505, 'y': 820}, {'x': 496, 'y': 820}]}, 'confidence': 0.7877109471866259, 'id': 189, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 534, 'y': 806}, {'x': 551, 'y': 806}, {'x': 552, 'y': 820}, {'x': 534, 'y': 821}]}, 'confidence': 0.9981498441783037, 'id': 190, 'text': '6,'}, {'boundingBox': {'vertices': [{'x': 554, 'y': 805}, {'x': 583, 'y': 805}, {'x': 583, 'y': 820}, {'x': 554, 'y': 820}]}, 'confidence': 0.9944190674689566, 'id': 191, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 828}, {'x': 707, 'y': 828}, {'x': 707, 'y': 842}, {'x': 657, 'y': 842}]}, 'confidence': 0.9960210726065495, 'id': 192, 'text': 'Funds'}, {'boundingBox': {'vertices': [{'x': 716, 'y': 829}, {'x': 755, 'y': 829}, {'x': 755, 'y': 842}, {'x': 716, 'y': 842}]}, 'confidence': 0.9991713482058682, 'id': 193, 'text': 'From'}, {'boundingBox': {'vertices': [{'x': 763, 'y': 828}, {'x': 833, 'y': 828}, {'x': 833, 'y': 842}, {'x': 763, 'y': 842}]}, 'confidence': 0.9958847345782019, 'id': 194, 'text': 'Another'}, {'boundingBox': {'vertices': [{'x': 841, 'y': 828}, {'x': 901, 'y': 828}, {'x': 901, 'y': 842}, {'x': 841, 'y': 842}]}, 'confidence': 0.9932552813776594, 'id': 195, 'text': 'Source'}, {'boundingBox': {'vertices': [{'x': 1037, 'y': 828}, {'x': 1048, 'y': 828}, {'x': 1048, 'y': 842}, {'x': 1038, 'y': 843}]}, 'confidence': 0.9714143708417087, 'id': 196, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 104, 'y': 829}, {'x': 183, 'y': 829}, {'x': 183, 'y': 843}, {'x': 104, 'y': 843}]}, 'confidence': 0.9957424058184746, 'id': 197, 'text': 'Expenses'}, {'boundingBox': {'vertices': [{'x': 191, 'y': 828}, {'x': 212, 'y': 828}, {'x': 212, 'y': 841}, {'x': 191, 'y': 841}]}, 'confidence': 0.9979534395907783, 'id': 198, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 220, 'y': 828}, {'x': 318, 'y': 828}, {'x': 318, 'y': 844}, {'x': 220, 'y': 844}]}, 'confidence': 0.9931789605290887, 'id': 199, 'text': 'Dependents'}, {'boundingBox': {'vertices': [{'x': 329, 'y': 828}, {'x': 353, 'y': 828}, {'x': 353, 'y': 843}, {'x': 329, 'y': 843}]}, 'confidence': 0.9980139914085171, 'id': 200, 'text': '(1)'}, {'boundingBox': {'vertices': [{'x': 495, 'y': 828}, {'x': 505, 'y': 828}, {'x': 506, 'y': 842}, {'x': 495, 'y': 842}]}, 'confidence': 0.9517255525916191, 'id': 201, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 533, 'y': 828}, {'x': 551, 'y': 828}, {'x': 552, 'y': 843}, {'x': 534, 'y': 843}]}, 'confidence': 0.9938476663273913, 'id': 202, 'text': '3,'}, {'boundingBox': {'vertices': [{'x': 554, 'y': 828}, {'x': 582, 'y': 827}, {'x': 583, 'y': 841}, {'x': 554, 'y': 842}]}, 'confidence': 0.9976494855365581, 'id': 203, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 850}, {'x': 745, 'y': 850}, {'x': 745, 'y': 866}, {'x': 657, 'y': 866}]}, 'confidence': 0.9947040709001372, 'id': 204, 'text': 'On-Campus'}, {'boundingBox': {'vertices': [{'x': 754, 'y': 850}, {'x': 852, 'y': 850}, {'x': 852, 'y': 866}, {'x': 754, 'y': 866}]}, 'confidence': 0.996732456380075, 'id': 205, 'text': 'Employment'}, {'boundingBox': {'vertices': [{'x': 1037, 'y': 850}, {'x': 1048, 'y': 850}, {'x': 1048, 'y': 864}, {'x': 1038, 'y': 865}]}, 'confidence': 0.971414145859051, 'id': 206, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 104, 'y': 850}, {'x': 154, 'y': 850}, {'x': 154, 'y': 864}, {'x': 104, 'y': 864}]}, 'confidence': 0.9964368205896345, 'id': 207, 'text': 'Other'}, {'boundingBox': {'vertices': [{'x': 495, 'y': 850}, {'x': 505, 'y': 850}, {'x': 505, 'y': 864}, {'x': 495, 'y': 864}]}, 'confidence': 0.9028468179754665, 'id': 208, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 105, 'y': 880}, {'x': 154, 'y': 880}, {'x': 154, 'y': 893}, {'x': 105, 'y': 893}]}, 'confidence': 0.9989751362773415, 'id': 209, 'text': 'TOTAL'}, {'boundingBox': {'vertices': [{'x': 496, 'y': 880}, {'x': 505, 'y': 880}, {'x': 505, 'y': 892}, {'x': 496, 'y': 892}]}, 'confidence': 0.9330274334451409, 'id': 210, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 524, 'y': 879}, {'x': 552, 'y': 880}, {'x': 551, 'y': 895}, {'x': 524, 'y': 894}]}, 'confidence': 0.9966014883309371, 'id': 211, 'text': '32,'}, {'boundingBox': {'vertices': [{'x': 553, 'y': 879}, {'x': 583, 'y': 879}, {'x': 583, 'y': 894}, {'x': 553, 'y': 894}]}, 'confidence': 0.9955465929626318, 'id': 212, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 657, 'y': 880}, {'x': 707, 'y': 880}, {'x': 707, 'y': 893}, {'x': 657, 'y': 893}]}, 'confidence': 0.9991028021087307, 'id': 213, 'text': 'TOTAL'}, {'boundingBox': {'vertices': [{'x': 1037, 'y': 880}, {'x': 1048, 'y': 880}, {'x': 1048, 'y': 894}, {'x': 1038, 'y': 894}]}, 'confidence': 0.8850368918001599, 'id': 214, 'text': '$'}, {'boundingBox': {'vertices': [{'x': 1066, 'y': 880}, {'x': 1125, 'y': 879}, {'x': 1125, 'y': 894}, {'x': 1066, 'y': 895}]}, 'confidence': 0.9988044505729433, 'id': 215, 'text': '32,000'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 913}, {'x': 205, 'y': 913}, {'x': 205, 'y': 930}, {'x': 102, 'y': 930}]}, 'confidence': 0.9949707093218962, 'id': 216, 'text': 'REMARKS'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 940}, {'x': 210, 'y': 940}, {'x': 210, 'y': 954}, {'x': 102, 'y': 954}]}, 'confidence': 0.9924580782515642, 'id': 217, 'text': 'Orientation'}, {'boundingBox': {'vertices': [{'x': 218, 'y': 940}, {'x': 277, 'y': 940}, {'x': 277, 'y': 956}, {'x': 218, 'y': 956}]}, 'confidence': 0.9933706669003468, 'id': 218, 'text': 'begins'}, {'boundingBox': {'vertices': [{'x': 286, 'y': 939}, {'x': 380, 'y': 939}, {'x': 380, 'y': 954}, {'x': 286, 'y': 954}]}, 'confidence': 0.9923383264080915, 'id': 219, 'text': '8/25/2015.'}, {'boundingBox': {'vertices': [{'x': 392, 'y': 940}, {'x': 452, 'y': 940}, {'x': 451, 'y': 954}, {'x': 392, 'y': 954}]}, 'confidence': 0.9981838131499162, 'id': 220, 'text': 'Please'}, {'boundingBox': {'vertices': [{'x': 459, 'y': 942}, {'x': 518, 'y': 940}, {'x': 519, 'y': 955}, {'x': 460, 'y': 956}]}, 'confidence': 0.9982799127270512, 'id': 221, 'text': 'report'}, {'boundingBox': {'vertices': [{'x': 527, 'y': 940}, {'x': 547, 'y': 940}, {'x': 547, 'y': 954}, {'x': 527, 'y': 954}]}, 'confidence': 0.9969901115209736, 'id': 222, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 556, 'y': 940}, {'x': 595, 'y': 940}, {'x': 595, 'y': 954}, {'x': 556, 'y': 954}]}, 'confidence': 0.9993921638941541, 'id': 223, 'text': 'ISSS'}, {'boundingBox': {'vertices': [{'x': 604, 'y': 942}, {'x': 644, 'y': 942}, {'x': 644, 'y': 956}, {'x': 604, 'y': 956}]}, 'confidence': 0.9962537493384918, 'id': 224, 'text': 'upon'}, {'boundingBox': {'vertices': [{'x': 652, 'y': 940}, {'x': 727, 'y': 939}, {'x': 727, 'y': 953}, {'x': 652, 'y': 955}]}, 'confidence': 0.9940907555193932, 'id': 225, 'text': 'arrival.'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 1041}, {'x': 188, 'y': 1042}, {'x': 188, 'y': 1059}, {'x': 100, 'y': 1058}]}, 'confidence': 0.9987892284793369, 'id': 226, 'text': 'SCHOOL'}, {'boundingBox': {'vertices': [{'x': 192, 'y': 1041}, {'x': 338, 'y': 1041}, {'x': 338, 'y': 1058}, {'x': 192, 'y': 1058}]}, 'confidence': 0.9914741530383324, 'id': 227, 'text': 'ATTESTATION'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1070}, {'x': 110, 'y': 1070}, {'x': 110, 'y': 1083}, {'x': 102, 'y': 1083}]}, 'confidence': 0.9646005304688414, 'id': 228, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 111, 'y': 1069}, {'x': 156, 'y': 1069}, {'x': 156, 'y': 1085}, {'x': 111, 'y': 1085}]}, 'confidence': 0.9942902386929611, 'id': 229, 'text': 'certify'}, {'boundingBox': {'vertices': [{'x': 157, 'y': 1070}, {'x': 196, 'y': 1069}, {'x': 197, 'y': 1084}, {'x': 157, 'y': 1085}]}, 'confidence': 0.9971395532834276, 'id': 230, 'text': 'under'}, {'boundingBox': {'vertices': [{'x': 197, 'y': 1070}, {'x': 247, 'y': 1069}, {'x': 248, 'y': 1085}, {'x': 198, 'y': 1086}]}, 'confidence': 0.9808247918821468, 'id': 231, 'text': 'penalty'}, {'boundingBox': {'vertices': [{'x': 249, 'y': 1069}, {'x': 266, 'y': 1069}, {'x': 266, 'y': 1084}, {'x': 249, 'y': 1084}]}, 'confidence': 0.999776532530964, 'id': 232, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 266, 'y': 1070}, {'x': 315, 'y': 1070}, {'x': 315, 'y': 1086}, {'x': 266, 'y': 1086}]}, 'confidence': 0.9878768922335988, 'id': 233, 'text': 'perjury'}, {'boundingBox': {'vertices': [{'x': 316, 'y': 1070}, {'x': 344, 'y': 1069}, {'x': 344, 'y': 1083}, {'x': 317, 'y': 1084}]}, 'confidence': 0.9992610911669125, 'id': 234, 'text': 'that'}, {'boundingBox': {'vertices': [{'x': 345, 'y': 1069}, {'x': 363, 'y': 1069}, {'x': 363, 'y': 1083}, {'x': 345, 'y': 1083}]}, 'confidence': 0.9973105003667716, 'id': 235, 'text': 'all'}, {'boundingBox': {'vertices': [{'x': 364, 'y': 1069}, {'x': 443, 'y': 1069}, {'x': 443, 'y': 1084}, {'x': 364, 'y': 1084}]}, 'confidence': 0.9936458889933503, 'id': 236, 'text': 'information'}, {'boundingBox': {'vertices': [{'x': 444, 'y': 1070}, {'x': 505, 'y': 1069}, {'x': 505, 'y': 1084}, {'x': 445, 'y': 1086}]}, 'confidence': 0.9896211740931047, 'id': 237, 'text': 'provided'}, {'boundingBox': {'vertices': [{'x': 505, 'y': 1069}, {'x': 547, 'y': 1069}, {'x': 547, 'y': 1084}, {'x': 505, 'y': 1084}]}, 'confidence': 0.9938872308846673, 'id': 238, 'text': 'above'}, {'boundingBox': {'vertices': [{'x': 549, 'y': 1072}, {'x': 576, 'y': 1072}, {'x': 576, 'y': 1084}, {'x': 549, 'y': 1084}]}, 'confidence': 0.9965606418677909, 'id': 239, 'text': 'was'}, {'boundingBox': {'vertices': [{'x': 577, 'y': 1069}, {'x': 627, 'y': 1069}, {'x': 627, 'y': 1084}, {'x': 577, 'y': 1084}]}, 'confidence': 0.991706585835276, 'id': 240, 'text': 'entered'}, {'boundingBox': {'vertices': [{'x': 629, 'y': 1069}, {'x': 672, 'y': 1069}, {'x': 672, 'y': 1084}, {'x': 629, 'y': 1084}]}, 'confidence': 0.9966426933730441, 'id': 241, 'text': 'before'}, {'boundingBox': {'vertices': [{'x': 674, 'y': 1070}, {'x': 681, 'y': 1070}, {'x': 681, 'y': 1083}, {'x': 674, 'y': 1083}]}, 'confidence': 0.9607284331641224, 'id': 242, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 682, 'y': 1070}, {'x': 727, 'y': 1069}, {'x': 727, 'y': 1085}, {'x': 682, 'y': 1086}]}, 'confidence': 0.9917451593563865, 'id': 243, 'text': 'signed'}, {'boundingBox': {'vertices': [{'x': 728, 'y': 1070}, {'x': 754, 'y': 1069}, {'x': 755, 'y': 1083}, {'x': 729, 'y': 1084}]}, 'confidence': 0.9995493536406197, 'id': 244, 'text': 'this'}, {'boundingBox': {'vertices': [{'x': 755, 'y': 1069}, {'x': 789, 'y': 1069}, {'x': 789, 'y': 1083}, {'x': 755, 'y': 1083}]}, 'confidence': 0.9919898017405865, 'id': 245, 'text': 'form'}, {'boundingBox': {'vertices': [{'x': 791, 'y': 1069}, {'x': 816, 'y': 1069}, {'x': 816, 'y': 1083}, {'x': 791, 'y': 1083}]}, 'confidence': 0.9973511711666082, 'id': 246, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 818, 'y': 1069}, {'x': 832, 'y': 1069}, {'x': 832, 'y': 1083}, {'x': 818, 'y': 1083}]}, 'confidence': 0.9982517580297928, 'id': 247, 'text': 'is'}, {'boundingBox': {'vertices': [{'x': 833, 'y': 1070}, {'x': 861, 'y': 1070}, {'x': 861, 'y': 1084}, {'x': 833, 'y': 1084}]}, 'confidence': 0.995458106568954, 'id': 248, 'text': 'true'}, {'boundingBox': {'vertices': [{'x': 861, 'y': 1070}, {'x': 888, 'y': 1069}, {'x': 888, 'y': 1083}, {'x': 862, 'y': 1084}]}, 'confidence': 0.9969639253096627, 'id': 249, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 889, 'y': 1070}, {'x': 939, 'y': 1070}, {'x': 939, 'y': 1084}, {'x': 889, 'y': 1084}]}, 'confidence': 0.9680458396721623, 'id': 250, 'text': 'correct.'}, {'boundingBox': {'vertices': [{'x': 942, 'y': 1070}, {'x': 950, 'y': 1070}, {'x': 950, 'y': 1082}, {'x': 942, 'y': 1082}]}, 'confidence': 0.9861261124854642, 'id': 251, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 951, 'y': 1069}, {'x': 1010, 'y': 1069}, {'x': 1010, 'y': 1084}, {'x': 951, 'y': 1084}]}, 'confidence': 0.990443526672678, 'id': 252, 'text': 'executed'}, {'boundingBox': {'vertices': [{'x': 1012, 'y': 1069}, {'x': 1038, 'y': 1069}, {'x': 1038, 'y': 1083}, {'x': 1012, 'y': 1083}]}, 'confidence': 0.9981870201303118, 'id': 253, 'text': 'this'}, {'boundingBox': {'vertices': [{'x': 1039, 'y': 1069}, {'x': 1072, 'y': 1068}, {'x': 1073, 'y': 1083}, {'x': 1039, 'y': 1084}]}, 'confidence': 0.9936613078231534, 'id': 254, 'text': 'form'}, {'boundingBox': {'vertices': [{'x': 1074, 'y': 1069}, {'x': 1089, 'y': 1069}, {'x': 1090, 'y': 1083}, {'x': 1074, 'y': 1083}]}, 'confidence': 0.9996309450820781, 'id': 255, 'text': 'in'}, {'boundingBox': {'vertices': [{'x': 1091, 'y': 1069}, {'x': 1113, 'y': 1069}, {'x': 1113, 'y': 1083}, {'x': 1091, 'y': 1083}]}, 'confidence': 0.9991962222924198, 'id': 256, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 1115, 'y': 1069}, {'x': 1161, 'y': 1069}, {'x': 1161, 'y': 1084}, {'x': 1115, 'y': 1084}]}, 'confidence': 0.9971486800446235, 'id': 257, 'text': 'United'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1087}, {'x': 143, 'y': 1088}, {'x': 143, 'y': 1102}, {'x': 102, 'y': 1101}]}, 'confidence': 0.9971899303479795, 'id': 258, 'text': 'States'}, {'boundingBox': {'vertices': [{'x': 143, 'y': 1088}, {'x': 177, 'y': 1087}, {'x': 177, 'y': 1101}, {'x': 144, 'y': 1102}]}, 'confidence': 0.9979092770166912, 'id': 259, 'text': 'after'}, {'boundingBox': {'vertices': [{'x': 177, 'y': 1088}, {'x': 223, 'y': 1087}, {'x': 224, 'y': 1101}, {'x': 177, 'y': 1102}]}, 'confidence': 0.9951086859170891, 'id': 260, 'text': 'review'}, {'boundingBox': {'vertices': [{'x': 225, 'y': 1087}, {'x': 251, 'y': 1087}, {'x': 251, 'y': 1101}, {'x': 225, 'y': 1101}]}, 'confidence': 0.9971977540663949, 'id': 261, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 252, 'y': 1087}, {'x': 321, 'y': 1087}, {'x': 321, 'y': 1102}, {'x': 252, 'y': 1102}]}, 'confidence': 0.9840341820345367, 'id': 262, 'text': 'evaluation'}, {'boundingBox': {'vertices': [{'x': 322, 'y': 1088}, {'x': 338, 'y': 1087}, {'x': 339, 'y': 1101}, {'x': 323, 'y': 1102}]}, 'confidence': 0.9997629489296173, 'id': 263, 'text': 'in'}, {'boundingBox': {'vertices': [{'x': 340, 'y': 1087}, {'x': 362, 'y': 1087}, {'x': 362, 'y': 1101}, {'x': 340, 'y': 1101}]}, 'confidence': 0.9992275249362932, 'id': 264, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 364, 'y': 1087}, {'x': 410, 'y': 1087}, {'x': 410, 'y': 1101}, {'x': 364, 'y': 1101}]}, 'confidence': 0.99673127206629, 'id': 265, 'text': 'United'}, {'boundingBox': {'vertices': [{'x': 411, 'y': 1087}, {'x': 452, 'y': 1088}, {'x': 452, 'y': 1102}, {'x': 411, 'y': 1101}]}, 'confidence': 0.9960499294990723, 'id': 266, 'text': 'States'}, {'boundingBox': {'vertices': [{'x': 453, 'y': 1088}, {'x': 472, 'y': 1087}, {'x': 472, 'y': 1103}, {'x': 453, 'y': 1103}]}, 'confidence': 0.9992475215680903, 'id': 267, 'text': 'by'}, {'boundingBox': {'vertices': [{'x': 473, 'y': 1089}, {'x': 496, 'y': 1089}, {'x': 496, 'y': 1102}, {'x': 473, 'y': 1102}]}, 'confidence': 0.9974002651218309, 'id': 268, 'text': 'me'}, {'boundingBox': {'vertices': [{'x': 497, 'y': 1089}, {'x': 514, 'y': 1089}, {'x': 514, 'y': 1101}, {'x': 497, 'y': 1101}]}, 'confidence': 0.9990358121472426, 'id': 269, 'text': 'or'}, {'boundingBox': {'vertices': [{'x': 515, 'y': 1088}, {'x': 551, 'y': 1087}, {'x': 551, 'y': 1101}, {'x': 515, 'y': 1102}]}, 'confidence': 0.9965639568182166, 'id': 270, 'text': 'other'}, {'boundingBox': {'vertices': [{'x': 552, 'y': 1087}, {'x': 607, 'y': 1087}, {'x': 607, 'y': 1101}, {'x': 552, 'y': 1101}]}, 'confidence': 0.986025848037724, 'id': 271, 'text': 'officials'}, {'boundingBox': {'vertices': [{'x': 608, 'y': 1087}, {'x': 626, 'y': 1087}, {'x': 626, 'y': 1101}, {'x': 608, 'y': 1101}]}, 'confidence': 0.9996754984399971, 'id': 272, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 626, 'y': 1087}, {'x': 648, 'y': 1087}, {'x': 648, 'y': 1101}, {'x': 626, 'y': 1101}]}, 'confidence': 0.9994227643855276, 'id': 273, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 649, 'y': 1087}, {'x': 694, 'y': 1087}, {'x': 694, 'y': 1102}, {'x': 649, 'y': 1102}]}, 'confidence': 0.9962234609059324, 'id': 274, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 695, 'y': 1087}, {'x': 713, 'y': 1087}, {'x': 713, 'y': 1101}, {'x': 695, 'y': 1101}]}, 'confidence': 0.9997591360552349, 'id': 275, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 713, 'y': 1087}, {'x': 735, 'y': 1087}, {'x': 735, 'y': 1101}, {'x': 713, 'y': 1101}]}, 'confidence': 0.9990693654987803, 'id': 276, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 736, 'y': 1087}, {'x': 794, 'y': 1087}, {'x': 794, 'y': 1102}, {'x': 736, 'y': 1102}]}, 'confidence': 0.9731025324932715, 'id': 277, 'text': "student's"}, {'boundingBox': {'vertices': [{'x': 795, 'y': 1087}, {'x': 873, 'y': 1086}, {'x': 874, 'y': 1103}, {'x': 795, 'y': 1104}]}, 'confidence': 0.9730981300887325, 'id': 278, 'text': 'application,'}, {'boundingBox': {'vertices': [{'x': 875, 'y': 1088}, {'x': 949, 'y': 1088}, {'x': 949, 'y': 1103}, {'x': 875, 'y': 1103}]}, 'confidence': 0.9746957666086555, 'id': 279, 'text': 'transcripts,'}, {'boundingBox': {'vertices': [{'x': 950, 'y': 1089}, {'x': 966, 'y': 1089}, {'x': 967, 'y': 1102}, {'x': 950, 'y': 1102}]}, 'confidence': 0.9991147017981451, 'id': 280, 'text': 'or'}, {'boundingBox': {'vertices': [{'x': 968, 'y': 1088}, {'x': 1003, 'y': 1087}, {'x': 1004, 'y': 1101}, {'x': 968, 'y': 1102}]}, 'confidence': 0.9964447508581656, 'id': 281, 'text': 'other'}, {'boundingBox': {'vertices': [{'x': 1004, 'y': 1087}, {'x': 1054, 'y': 1087}, {'x': 1054, 'y': 1102}, {'x': 1004, 'y': 1102}]}, 'confidence': 0.989823071920042, 'id': 282, 'text': 'records'}, {'boundingBox': {'vertices': [{'x': 1056, 'y': 1087}, {'x': 1073, 'y': 1087}, {'x': 1073, 'y': 1101}, {'x': 1056, 'y': 1101}]}, 'confidence': 0.999591636593508, 'id': 283, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 1073, 'y': 1088}, {'x': 1124, 'y': 1088}, {'x': 1124, 'y': 1102}, {'x': 1073, 'y': 1102}]}, 'confidence': 0.9929378449152495, 'id': 284, 'text': 'courses'}, {'boundingBox': {'vertices': [{'x': 1125, 'y': 1088}, {'x': 1162, 'y': 1087}, {'x': 1163, 'y': 1101}, {'x': 1125, 'y': 1102}]}, 'confidence': 0.9903410963065244, 'id': 285, 'text': 'taken'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1107}, {'x': 127, 'y': 1107}, {'x': 127, 'y': 1121}, {'x': 102, 'y': 1121}]}, 'confidence': 0.997017365599903, 'id': 286, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 128, 'y': 1108}, {'x': 167, 'y': 1106}, {'x': 168, 'y': 1121}, {'x': 129, 'y': 1123}]}, 'confidence': 0.9968201034108075, 'id': 287, 'text': 'proof'}, {'boundingBox': {'vertices': [{'x': 168, 'y': 1106}, {'x': 185, 'y': 1106}, {'x': 185, 'y': 1120}, {'x': 168, 'y': 1120}]}, 'confidence': 0.9995005242588886, 'id': 288, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 185, 'y': 1106}, {'x': 244, 'y': 1106}, {'x': 244, 'y': 1121}, {'x': 185, 'y': 1121}]}, 'confidence': 0.9912545965391084, 'id': 289, 'text': 'financial'}, {'boundingBox': {'vertices': [{'x': 245, 'y': 1106}, {'x': 339, 'y': 1106}, {'x': 339, 'y': 1123}, {'x': 245, 'y': 1123}]}, 'confidence': 0.9862179331931629, 'id': 290, 'text': 'responsibility,'}, {'boundingBox': {'vertices': [{'x': 341, 'y': 1106}, {'x': 382, 'y': 1106}, {'x': 382, 'y': 1121}, {'x': 341, 'y': 1121}]}, 'confidence': 0.9982569849421444, 'id': 291, 'text': 'which'}, {'boundingBox': {'vertices': [{'x': 385, 'y': 1108}, {'x': 418, 'y': 1108}, {'x': 418, 'y': 1121}, {'x': 385, 'y': 1121}]}, 'confidence': 0.9986634261268227, 'id': 292, 'text': 'were'}, {'boundingBox': {'vertices': [{'x': 419, 'y': 1107}, {'x': 476, 'y': 1106}, {'x': 477, 'y': 1121}, {'x': 419, 'y': 1122}]}, 'confidence': 0.990145648744496, 'id': 293, 'text': 'received'}, {'boundingBox': {'vertices': [{'x': 477, 'y': 1108}, {'x': 493, 'y': 1107}, {'x': 493, 'y': 1120}, {'x': 477, 'y': 1120}]}, 'confidence': 0.9986405996075965, 'id': 294, 'text': 'at'}, {'boundingBox': {'vertices': [{'x': 493, 'y': 1107}, {'x': 515, 'y': 1107}, {'x': 515, 'y': 1120}, {'x': 493, 'y': 1120}]}, 'confidence': 0.9988929381792244, 'id': 295, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 517, 'y': 1106}, {'x': 562, 'y': 1106}, {'x': 562, 'y': 1121}, {'x': 517, 'y': 1121}]}, 'confidence': 0.997721985674902, 'id': 296, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 563, 'y': 1107}, {'x': 597, 'y': 1107}, {'x': 597, 'y': 1123}, {'x': 563, 'y': 1123}]}, 'confidence': 0.9960504025768145, 'id': 297, 'text': 'prior'}, {'boundingBox': {'vertices': [{'x': 598, 'y': 1107}, {'x': 613, 'y': 1107}, {'x': 613, 'y': 1121}, {'x': 598, 'y': 1121}]}, 'confidence': 0.998020403207663, 'id': 298, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 614, 'y': 1107}, {'x': 637, 'y': 1107}, {'x': 637, 'y': 1120}, {'x': 614, 'y': 1120}]}, 'confidence': 0.9993050163429564, 'id': 299, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 638, 'y': 1107}, {'x': 703, 'y': 1106}, {'x': 703, 'y': 1121}, {'x': 639, 'y': 1122}]}, 'confidence': 0.9945395578840416, 'id': 300, 'text': 'execution'}, {'boundingBox': {'vertices': [{'x': 704, 'y': 1106}, {'x': 722, 'y': 1106}, {'x': 722, 'y': 1120}, {'x': 705, 'y': 1120}]}, 'confidence': 0.9994208592418701, 'id': 301, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 722, 'y': 1106}, {'x': 748, 'y': 1106}, {'x': 748, 'y': 1120}, {'x': 722, 'y': 1120}]}, 'confidence': 0.9987225183699001, 'id': 302, 'text': 'this'}, {'boundingBox': {'vertices': [{'x': 749, 'y': 1106}, {'x': 786, 'y': 1106}, {'x': 786, 'y': 1121}, {'x': 749, 'y': 1121}]}, 'confidence': 0.988288894973287, 'id': 303, 'text': 'form.'}, {'boundingBox': {'vertices': [{'x': 789, 'y': 1106}, {'x': 816, 'y': 1106}, {'x': 816, 'y': 1120}, {'x': 789, 'y': 1120}]}, 'confidence': 0.9989182742115333, 'id': 304, 'text': 'The'}, {'boundingBox': {'vertices': [{'x': 817, 'y': 1107}, {'x': 861, 'y': 1106}, {'x': 862, 'y': 1120}, {'x': 818, 'y': 1122}]}, 'confidence': 0.9974812688545136, 'id': 305, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 863, 'y': 1106}, {'x': 887, 'y': 1106}, {'x': 887, 'y': 1121}, {'x': 863, 'y': 1121}]}, 'confidence': 0.9977628087199671, 'id': 306, 'text': 'has'}, {'boundingBox': {'vertices': [{'x': 889, 'y': 1106}, {'x': 964, 'y': 1106}, {'x': 964, 'y': 1121}, {'x': 889, 'y': 1121}]}, 'confidence': 0.9926217858537035, 'id': 307, 'text': 'determined'}, {'boundingBox': {'vertices': [{'x': 965, 'y': 1106}, {'x': 992, 'y': 1106}, {'x': 992, 'y': 1120}, {'x': 965, 'y': 1120}]}, 'confidence': 0.9991124408353442, 'id': 308, 'text': 'that'}, {'boundingBox': {'vertices': [{'x': 993, 'y': 1106}, {'x': 1015, 'y': 1106}, {'x': 1015, 'y': 1120}, {'x': 993, 'y': 1120}]}, 'confidence': 0.9991542107998265, 'id': 309, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 1017, 'y': 1106}, {'x': 1058, 'y': 1106}, {'x': 1058, 'y': 1121}, {'x': 1017, 'y': 1121}]}, 'confidence': 0.9946980554872749, 'id': 310, 'text': 'above'}, {'boundingBox': {'vertices': [{'x': 1059, 'y': 1107}, {'x': 1105, 'y': 1106}, {'x': 1105, 'y': 1121}, {'x': 1059, 'y': 1122}]}, 'confidence': 0.9876486928731736, 'id': 311, 'text': 'named'}, {'boundingBox': {'vertices': [{'x': 1106, 'y': 1106}, {'x': 1164, 'y': 1106}, {'x': 1164, 'y': 1121}, {'x': 1106, 'y': 1121}]}, 'confidence': 0.9752419501286161, 'id': 312, 'text': "student's"}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1124}, {'x': 192, 'y': 1122}, {'x': 192, 'y': 1139}, {'x': 102, 'y': 1141}]}, 'confidence': 0.9871684464144541, 'id': 313, 'text': 'qualifications'}, {'boundingBox': {'vertices': [{'x': 193, 'y': 1126}, {'x': 228, 'y': 1125}, {'x': 228, 'y': 1138}, {'x': 193, 'y': 1139}]}, 'confidence': 0.9975895711163334, 'id': 314, 'text': 'meet'}, {'boundingBox': {'vertices': [{'x': 228, 'y': 1124}, {'x': 247, 'y': 1124}, {'x': 247, 'y': 1138}, {'x': 228, 'y': 1138}]}, 'confidence': 0.9978875533137624, 'id': 315, 'text': 'all'}, {'boundingBox': {'vertices': [{'x': 248, 'y': 1124}, {'x': 312, 'y': 1124}, {'x': 312, 'y': 1139}, {'x': 248, 'y': 1139}]}, 'confidence': 0.9824965949496917, 'id': 316, 'text': 'standards'}, {'boundingBox': {'vertices': [{'x': 313, 'y': 1124}, {'x': 335, 'y': 1124}, {'x': 335, 'y': 1138}, {'x': 313, 'y': 1138}]}, 'confidence': 0.9996756175719462, 'id': 317, 'text': 'for'}, {'boundingBox': {'vertices': [{'x': 336, 'y': 1124}, {'x': 404, 'y': 1124}, {'x': 404, 'y': 1139}, {'x': 336, 'y': 1139}]}, 'confidence': 0.992443636055604, 'id': 318, 'text': 'admission'}, {'boundingBox': {'vertices': [{'x': 405, 'y': 1126}, {'x': 420, 'y': 1126}, {'x': 420, 'y': 1138}, {'x': 405, 'y': 1138}]}, 'confidence': 0.998191177357791, 'id': 319, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 421, 'y': 1124}, {'x': 444, 'y': 1124}, {'x': 444, 'y': 1138}, {'x': 421, 'y': 1138}]}, 'confidence': 0.9991678968754325, 'id': 320, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 445, 'y': 1125}, {'x': 490, 'y': 1124}, {'x': 490, 'y': 1139}, {'x': 445, 'y': 1140}]}, 'confidence': 0.9974723732188329, 'id': 321, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 490, 'y': 1124}, {'x': 517, 'y': 1124}, {'x': 517, 'y': 1138}, {'x': 490, 'y': 1138}]}, 'confidence': 0.9965007397780844, 'id': 322, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 518, 'y': 1124}, {'x': 541, 'y': 1124}, {'x': 541, 'y': 1138}, {'x': 518, 'y': 1138}]}, 'confidence': 0.9990900697549667, 'id': 323, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 542, 'y': 1124}, {'x': 591, 'y': 1124}, {'x': 591, 'y': 1139}, {'x': 542, 'y': 1139}]}, 'confidence': 0.9926792254917832, 'id': 324, 'text': 'student'}, {'boundingBox': {'vertices': [{'x': 593, 'y': 1124}, {'x': 620, 'y': 1124}, {'x': 620, 'y': 1138}, {'x': 593, 'y': 1138}]}, 'confidence': 0.9984303356091959, 'id': 325, 'text': 'will'}, {'boundingBox': {'vertices': [{'x': 621, 'y': 1125}, {'x': 639, 'y': 1124}, {'x': 639, 'y': 1138}, {'x': 621, 'y': 1138}]}, 'confidence': 0.9984051431514943, 'id': 326, 'text': 'be'}, {'boundingBox': {'vertices': [{'x': 640, 'y': 1125}, {'x': 696, 'y': 1124}, {'x': 697, 'y': 1140}, {'x': 640, 'y': 1141}]}, 'confidence': 0.9945136181465426, 'id': 327, 'text': 'required'}, {'boundingBox': {'vertices': [{'x': 698, 'y': 1126}, {'x': 713, 'y': 1126}, {'x': 713, 'y': 1138}, {'x': 698, 'y': 1138}]}, 'confidence': 0.997843633962099, 'id': 328, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 714, 'y': 1126}, {'x': 760, 'y': 1126}, {'x': 760, 'y': 1141}, {'x': 714, 'y': 1141}]}, 'confidence': 0.992078141897102, 'id': 329, 'text': 'pursue'}, {'boundingBox': {'vertices': [{'x': 762, 'y': 1127}, {'x': 770, 'y': 1127}, {'x': 771, 'y': 1138}, {'x': 762, 'y': 1138}]}, 'confidence': 0.9952788192302217, 'id': 330, 'text': 'a'}, {'boundingBox': {'vertices': [{'x': 772, 'y': 1124}, {'x': 798, 'y': 1124}, {'x': 798, 'y': 1139}, {'x': 772, 'y': 1139}]}, 'confidence': 0.9986383407900385, 'id': 331, 'text': 'full'}, {'boundingBox': {'vertices': [{'x': 799, 'y': 1126}, {'x': 856, 'y': 1126}, {'x': 856, 'y': 1141}, {'x': 799, 'y': 1141}]}, 'confidence': 0.9908212755533161, 'id': 332, 'text': 'program'}, {'boundingBox': {'vertices': [{'x': 857, 'y': 1124}, {'x': 875, 'y': 1124}, {'x': 875, 'y': 1139}, {'x': 857, 'y': 1139}]}, 'confidence': 0.9997055205891876, 'id': 333, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 874, 'y': 1124}, {'x': 912, 'y': 1124}, {'x': 912, 'y': 1141}, {'x': 874, 'y': 1141}]}, 'confidence': 0.9931312218630255, 'id': 334, 'text': 'study'}, {'boundingBox': {'vertices': [{'x': 913, 'y': 1126}, {'x': 930, 'y': 1126}, {'x': 929, 'y': 1139}, {'x': 913, 'y': 1139}]}, 'confidence': 0.9967429968967513, 'id': 335, 'text': 'as'}, {'boundingBox': {'vertices': [{'x': 931, 'y': 1124}, {'x': 982, 'y': 1124}, {'x': 982, 'y': 1140}, {'x': 931, 'y': 1140}]}, 'confidence': 0.9921816360348256, 'id': 336, 'text': 'defined'}, {'boundingBox': {'vertices': [{'x': 983, 'y': 1125}, {'x': 1002, 'y': 1124}, {'x': 1002, 'y': 1141}, {'x': 984, 'y': 1141}]}, 'confidence': 0.9989537230240715, 'id': 337, 'text': 'by'}, {'boundingBox': {'vertices': [{'x': 1004, 'y': 1125}, {'x': 1013, 'y': 1125}, {'x': 1013, 'y': 1138}, {'x': 1004, 'y': 1138}]}, 'confidence': 0.9955240268472942, 'id': 338, 'text': '8'}, {'boundingBox': {'vertices': [{'x': 1016, 'y': 1124}, {'x': 1048, 'y': 1124}, {'x': 1048, 'y': 1139}, {'x': 1016, 'y': 1139}]}, 'confidence': 0.9992563298621977, 'id': 339, 'text': 'CFR'}, {'boundingBox': {'vertices': [{'x': 1049, 'y': 1124}, {'x': 1126, 'y': 1125}, {'x': 1126, 'y': 1141}, {'x': 1049, 'y': 1140}]}, 'confidence': 0.9835065893565521, 'id': 340, 'text': '214.2(f)(6).'}, {'boundingBox': {'vertices': [{'x': 1129, 'y': 1125}, {'x': 1136, 'y': 1125}, {'x': 1136, 'y': 1138}, {'x': 1129, 'y': 1138}]}, 'confidence': 0.9797850469101749, 'id': 341, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 1138, 'y': 1126}, {'x': 1160, 'y': 1126}, {'x': 1160, 'y': 1139}, {'x': 1138, 'y': 1139}]}, 'confidence': 0.9950254704736798, 'id': 342, 'text': 'am'}, {'boundingBox': {'vertices': [{'x': 1162, 'y': 1128}, {'x': 1171, 'y': 1128}, {'x': 1171, 'y': 1138}, {'x': 1162, 'y': 1138}]}, 'confidence': 0.9948229786977681, 'id': 343, 'text': 'a'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1143}, {'x': 173, 'y': 1143}, {'x': 173, 'y': 1160}, {'x': 102, 'y': 1160}]}, 'confidence': 0.9886380859241953, 'id': 344, 'text': 'designated'}, {'boundingBox': {'vertices': [{'x': 174, 'y': 1143}, {'x': 220, 'y': 1143}, {'x': 220, 'y': 1157}, {'x': 174, 'y': 1158}]}, 'confidence': 0.9966719415480254, 'id': 345, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 221, 'y': 1143}, {'x': 270, 'y': 1143}, {'x': 270, 'y': 1157}, {'x': 221, 'y': 1157}]}, 'confidence': 0.9920815444222933, 'id': 346, 'text': 'official'}, {'boundingBox': {'vertices': [{'x': 271, 'y': 1143}, {'x': 289, 'y': 1143}, {'x': 289, 'y': 1157}, {'x': 270, 'y': 1157}]}, 'confidence': 0.9995918748174608, 'id': 347, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 287, 'y': 1143}, {'x': 310, 'y': 1143}, {'x': 310, 'y': 1157}, {'x': 287, 'y': 1157}]}, 'confidence': 0.9991542107998265, 'id': 348, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 312, 'y': 1143}, {'x': 353, 'y': 1143}, {'x': 353, 'y': 1157}, {'x': 312, 'y': 1157}]}, 'confidence': 0.9938873486410275, 'id': 349, 'text': 'above'}, {'boundingBox': {'vertices': [{'x': 353, 'y': 1144}, {'x': 399, 'y': 1143}, {'x': 399, 'y': 1157}, {'x': 354, 'y': 1158}]}, 'confidence': 0.9915725984092253, 'id': 350, 'text': 'named'}, {'boundingBox': {'vertices': [{'x': 400, 'y': 1143}, {'x': 446, 'y': 1143}, {'x': 446, 'y': 1157}, {'x': 401, 'y': 1158}]}, 'confidence': 0.9964498404999944, 'id': 351, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 447, 'y': 1144}, {'x': 473, 'y': 1144}, {'x': 473, 'y': 1157}, {'x': 447, 'y': 1157}]}, 'confidence': 0.9972578585427824, 'id': 352, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 473, 'y': 1145}, {'x': 496, 'y': 1145}, {'x': 496, 'y': 1157}, {'x': 473, 'y': 1157}]}, 'confidence': 0.9921806972154482, 'id': 353, 'text': 'am'}, {'boundingBox': {'vertices': [{'x': 497, 'y': 1143}, {'x': 568, 'y': 1142}, {'x': 568, 'y': 1157}, {'x': 497, 'y': 1158}]}, 'confidence': 0.9869127071448807, 'id': 354, 'text': 'authorized'}, {'boundingBox': {'vertices': [{'x': 569, 'y': 1144}, {'x': 585, 'y': 1144}, {'x': 585, 'y': 1157}, {'x': 569, 'y': 1157}]}, 'confidence': 0.9959140565193688, 'id': 355, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 585, 'y': 1143}, {'x': 621, 'y': 1143}, {'x': 621, 'y': 1157}, {'x': 585, 'y': 1157}]}, 'confidence': 0.9912328102166622, 'id': 356, 'text': 'issue'}, {'boundingBox': {'vertices': [{'x': 622, 'y': 1143}, {'x': 648, 'y': 1143}, {'x': 648, 'y': 1157}, {'x': 622, 'y': 1157}]}, 'confidence': 0.9984580250127268, 'id': 357, 'text': 'this'}, {'boundingBox': {'vertices': [{'x': 649, 'y': 1143}, {'x': 686, 'y': 1143}, {'x': 686, 'y': 1157}, {'x': 649, 'y': 1157}]}, 'confidence': 0.988288894973287, 'id': 358, 'text': 'form.'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 1165}, {'x': 118, 'y': 1165}, {'x': 118, 'y': 1179}, {'x': 103, 'y': 1179}]}, 'confidence': 0.8685026207455204, 'id': 359, 'text': 'X'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 1165}, {'x': 697, 'y': 1165}, {'x': 697, 'y': 1179}, {'x': 651, 'y': 1179}]}, 'confidence': 0.9974262370672753, 'id': 360, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 698, 'y': 1165}, {'x': 759, 'y': 1165}, {'x': 759, 'y': 1179}, {'x': 698, 'y': 1179}]}, 'confidence': 0.9989894122895373, 'id': 361, 'text': 'ISSUED'}, {'boundingBox': {'vertices': [{'x': 939, 'y': 1165}, {'x': 996, 'y': 1165}, {'x': 996, 'y': 1179}, {'x': 939, 'y': 1179}]}, 'confidence': 0.996453273078492, 'id': 362, 'text': 'PLACE'}, {'boundingBox': {'vertices': [{'x': 997, 'y': 1165}, {'x': 1058, 'y': 1165}, {'x': 1058, 'y': 1179}, {'x': 997, 'y': 1179}]}, 'confidence': 0.998236671567049, 'id': 363, 'text': 'ISSUED'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1187}, {'x': 200, 'y': 1187}, {'x': 200, 'y': 1202}, {'x': 102, 'y': 1202}]}, 'confidence': 0.996190098436114, 'id': 364, 'text': 'SIGNATURE'}, {'boundingBox': {'vertices': [{'x': 202, 'y': 1187}, {'x': 232, 'y': 1187}, {'x': 232, 'y': 1201}, {'x': 202, 'y': 1201}]}, 'confidence': 0.9956737384684756, 'id': 365, 'text': 'OF:'}, {'boundingBox': {'vertices': [{'x': 234, 'y': 1188}, {'x': 293, 'y': 1189}, {'x': 293, 'y': 1202}, {'x': 234, 'y': 1202}]}, 'confidence': 0.9964325596019595, 'id': 366, 'text': 'Helene'}, {'boundingBox': {'vertices': [{'x': 301, 'y': 1187}, {'x': 396, 'y': 1189}, {'x': 396, 'y': 1203}, {'x': 301, 'y': 1202}]}, 'confidence': 0.9919679830890468, 'id': 367, 'text': 'Robertson,'}, {'boundingBox': {'vertices': [{'x': 407, 'y': 1188}, {'x': 448, 'y': 1188}, {'x': 448, 'y': 1202}, {'x': 407, 'y': 1202}]}, 'confidence': 0.9994252648976009, 'id': 368, 'text': 'PDSO'}, {'boundingBox': {'vertices': [{'x': 651, 'y': 1190}, {'x': 671, 'y': 1190}, {'x': 671, 'y': 1203}, {'x': 651, 'y': 1203}]}, 'confidence': 0.9986372708273934, 'id': 369, 'text': '21'}, {'boundingBox': {'vertices': [{'x': 679, 'y': 1191}, {'x': 728, 'y': 1189}, {'x': 729, 'y': 1204}, {'x': 679, 'y': 1205}]}, 'confidence': 0.9959600528813133, 'id': 370, 'text': 'April'}, {'boundingBox': {'vertices': [{'x': 738, 'y': 1190}, {'x': 777, 'y': 1190}, {'x': 777, 'y': 1204}, {'x': 738, 'y': 1204}]}, 'confidence': 0.9982869219492126, 'id': 371, 'text': '2015'}, {'boundingBox': {'vertices': [{'x': 939, 'y': 1190}, {'x': 967, 'y': 1190}, {'x': 967, 'y': 1204}, {'x': 939, 'y': 1204}]}, 'confidence': 0.9627583667714974, 'id': 372, 'text': 'Ft.'}, {'boundingBox': {'vertices': [{'x': 978, 'y': 1190}, {'x': 1105, 'y': 1190}, {'x': 1105, 'y': 1205}, {'x': 978, 'y': 1205}]}, 'confidence': 0.9908306381181347, 'id': 373, 'text': 'Washington,MD'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 1216}, {'x': 197, 'y': 1217}, {'x': 197, 'y': 1234}, {'x': 100, 'y': 1233}]}, 'confidence': 0.996029942375034, 'id': 374, 'text': 'STUDENT'}, {'boundingBox': {'vertices': [{'x': 201, 'y': 1216}, {'x': 346, 'y': 1216}, {'x': 346, 'y': 1233}, {'x': 201, 'y': 1233}]}, 'confidence': 0.9941397646401299, 'id': 375, 'text': 'ATTESTATION'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1245}, {'x': 109, 'y': 1245}, {'x': 109, 'y': 1257}, {'x': 102, 'y': 1257}]}, 'confidence': 0.9929763967394193, 'id': 376, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 111, 'y': 1244}, {'x': 144, 'y': 1244}, {'x': 144, 'y': 1258}, {'x': 111, 'y': 1258}]}, 'confidence': 0.9950455353355533, 'id': 377, 'text': 'have'}, {'boundingBox': {'vertices': [{'x': 145, 'y': 1245}, {'x': 175, 'y': 1244}, {'x': 176, 'y': 1258}, {'x': 145, 'y': 1258}]}, 'confidence': 0.9951954572643884, 'id': 378, 'text': 'read'}, {'boundingBox': {'vertices': [{'x': 176, 'y': 1244}, {'x': 203, 'y': 1244}, {'x': 203, 'y': 1258}, {'x': 176, 'y': 1258}]}, 'confidence': 0.996500858154559, 'id': 379, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 204, 'y': 1246}, {'x': 250, 'y': 1244}, {'x': 250, 'y': 1259}, {'x': 204, 'y': 1261}]}, 'confidence': 0.9927385515233373, 'id': 380, 'text': 'agreed'}, {'boundingBox': {'vertices': [{'x': 251, 'y': 1245}, {'x': 266, 'y': 1245}, {'x': 266, 'y': 1258}, {'x': 251, 'y': 1258}]}, 'confidence': 0.9969437830062166, 'id': 381, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 267, 'y': 1244}, {'x': 318, 'y': 1244}, {'x': 318, 'y': 1261}, {'x': 267, 'y': 1261}]}, 'confidence': 0.9918379122308351, 'id': 382, 'text': 'comply'}, {'boundingBox': {'vertices': [{'x': 320, 'y': 1244}, {'x': 351, 'y': 1244}, {'x': 351, 'y': 1258}, {'x': 320, 'y': 1258}]}, 'confidence': 0.9992126470092855, 'id': 383, 'text': 'with'}, {'boundingBox': {'vertices': [{'x': 352, 'y': 1244}, {'x': 375, 'y': 1244}, {'x': 375, 'y': 1258}, {'x': 352, 'y': 1258}]}, 'confidence': 0.9987499861592429, 'id': 384, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 375, 'y': 1246}, {'x': 414, 'y': 1246}, {'x': 414, 'y': 1258}, {'x': 375, 'y': 1258}]}, 'confidence': 0.9948104731672053, 'id': 385, 'text': 'terms'}, {'boundingBox': {'vertices': [{'x': 416, 'y': 1244}, {'x': 441, 'y': 1244}, {'x': 441, 'y': 1258}, {'x': 416, 'y': 1258}]}, 'confidence': 0.9971137147876651, 'id': 386, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 443, 'y': 1244}, {'x': 512, 'y': 1244}, {'x': 512, 'y': 1259}, {'x': 443, 'y': 1259}]}, 'confidence': 0.9749778472450155, 'id': 387, 'text': 'conditions'}, {'boundingBox': {'vertices': [{'x': 514, 'y': 1244}, {'x': 531, 'y': 1245}, {'x': 531, 'y': 1259}, {'x': 513, 'y': 1259}]}, 'confidence': 0.9996895562059979, 'id': 388, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 531, 'y': 1245}, {'x': 554, 'y': 1245}, {'x': 554, 'y': 1260}, {'x': 531, 'y': 1260}]}, 'confidence': 0.997734564512935, 'id': 389, 'text': 'my'}, {'boundingBox': {'vertices': [{'x': 555, 'y': 1244}, {'x': 624, 'y': 1244}, {'x': 624, 'y': 1260}, {'x': 555, 'y': 1260}]}, 'confidence': 0.9916172568615579, 'id': 390, 'text': 'admission'}, {'boundingBox': {'vertices': [{'x': 625, 'y': 1244}, {'x': 651, 'y': 1244}, {'x': 651, 'y': 1258}, {'x': 625, 'y': 1258}]}, 'confidence': 0.9967949921455206, 'id': 391, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 652, 'y': 1244}, {'x': 689, 'y': 1244}, {'x': 689, 'y': 1258}, {'x': 652, 'y': 1258}]}, 'confidence': 0.9960021509617527, 'id': 392, 'text': 'those'}, {'boundingBox': {'vertices': [{'x': 690, 'y': 1244}, {'x': 707, 'y': 1244}, {'x': 707, 'y': 1259}, {'x': 690, 'y': 1259}]}, 'confidence': 0.9996210581106195, 'id': 393, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 708, 'y': 1246}, {'x': 733, 'y': 1246}, {'x': 733, 'y': 1261}, {'x': 708, 'y': 1261}]}, 'confidence': 0.9969116754876497, 'id': 394, 'text': 'any'}, {'boundingBox': {'vertices': [{'x': 735, 'y': 1244}, {'x': 798, 'y': 1244}, {'x': 798, 'y': 1259}, {'x': 735, 'y': 1259}]}, 'confidence': 0.9899378949861534, 'id': 395, 'text': 'extension'}, {'boundingBox': {'vertices': [{'x': 800, 'y': 1244}, {'x': 817, 'y': 1244}, {'x': 817, 'y': 1258}, {'x': 800, 'y': 1258}]}, 'confidence': 0.9995543559442482, 'id': 396, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 818, 'y': 1245}, {'x': 849, 'y': 1245}, {'x': 849, 'y': 1260}, {'x': 818, 'y': 1260}]}, 'confidence': 0.9973993164005721, 'id': 397, 'text': 'stay.'}, {'boundingBox': {'vertices': [{'x': 852, 'y': 1245}, {'x': 859, 'y': 1245}, {'x': 859, 'y': 1258}, {'x': 852, 'y': 1258}]}, 'confidence': 0.9897812609805486, 'id': 398, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 861, 'y': 1244}, {'x': 906, 'y': 1244}, {'x': 906, 'y': 1260}, {'x': 861, 'y': 1260}]}, 'confidence': 0.9930484543636865, 'id': 399, 'text': 'certify'}, {'boundingBox': {'vertices': [{'x': 906, 'y': 1244}, {'x': 934, 'y': 1244}, {'x': 934, 'y': 1259}, {'x': 906, 'y': 1259}]}, 'confidence': 0.9987100335105554, 'id': 400, 'text': 'that'}, {'boundingBox': {'vertices': [{'x': 934, 'y': 1244}, {'x': 954, 'y': 1244}, {'x': 954, 'y': 1258}, {'x': 934, 'y': 1258}]}, 'confidence': 0.9985191135059444, 'id': 401, 'text': 'all'}, {'boundingBox': {'vertices': [{'x': 955, 'y': 1244}, {'x': 1033, 'y': 1244}, {'x': 1033, 'y': 1259}, {'x': 955, 'y': 1259}]}, 'confidence': 0.9932455201219468, 'id': 402, 'text': 'information'}, {'boundingBox': {'vertices': [{'x': 1035, 'y': 1245}, {'x': 1094, 'y': 1244}, {'x': 1095, 'y': 1259}, {'x': 1035, 'y': 1260}]}, 'confidence': 0.9894426991663476, 'id': 403, 'text': 'provided'}, {'boundingBox': {'vertices': [{'x': 1096, 'y': 1246}, {'x': 1114, 'y': 1246}, {'x': 1114, 'y': 1258}, {'x': 1096, 'y': 1258}]}, 'confidence': 0.9979410926710537, 'id': 404, 'text': 'on'}, {'boundingBox': {'vertices': [{'x': 1116, 'y': 1244}, {'x': 1142, 'y': 1244}, {'x': 1142, 'y': 1258}, {'x': 1116, 'y': 1258}]}, 'confidence': 0.998723350704955, 'id': 405, 'text': 'this'}, {'boundingBox': {'vertices': [{'x': 1143, 'y': 1244}, {'x': 1177, 'y': 1244}, {'x': 1177, 'y': 1258}, {'x': 1143, 'y': 1258}]}, 'confidence': 0.9933833715318476, 'id': 406, 'text': 'form'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1262}, {'x': 141, 'y': 1262}, {'x': 140, 'y': 1277}, {'x': 101, 'y': 1276}]}, 'confidence': 0.9955942096411824, 'id': 407, 'text': 'refers'}, {'boundingBox': {'vertices': [{'x': 142, 'y': 1262}, {'x': 218, 'y': 1262}, {'x': 218, 'y': 1278}, {'x': 142, 'y': 1278}]}, 'confidence': 0.9919291576473638, 'id': 408, 'text': 'specifically'}, {'boundingBox': {'vertices': [{'x': 220, 'y': 1263}, {'x': 235, 'y': 1263}, {'x': 235, 'y': 1277}, {'x': 220, 'y': 1276}]}, 'confidence': 0.9966622314372341, 'id': 409, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 237, 'y': 1264}, {'x': 259, 'y': 1264}, {'x': 259, 'y': 1276}, {'x': 237, 'y': 1276}]}, 'confidence': 0.9961708154743943, 'id': 410, 'text': 'me'}, {'boundingBox': {'vertices': [{'x': 260, 'y': 1263}, {'x': 285, 'y': 1262}, {'x': 286, 'y': 1276}, {'x': 260, 'y': 1277}]}, 'confidence': 0.9973932683449751, 'id': 411, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 287, 'y': 1263}, {'x': 301, 'y': 1263}, {'x': 301, 'y': 1276}, {'x': 287, 'y': 1276}]}, 'confidence': 0.9986363197514114, 'id': 412, 'text': 'is'}, {'boundingBox': {'vertices': [{'x': 302, 'y': 1263}, {'x': 330, 'y': 1263}, {'x': 330, 'y': 1276}, {'x': 302, 'y': 1276}]}, 'confidence': 0.9951874288038187, 'id': 413, 'text': 'true'}, {'boundingBox': {'vertices': [{'x': 330, 'y': 1264}, {'x': 357, 'y': 1262}, {'x': 358, 'y': 1276}, {'x': 331, 'y': 1277}]}, 'confidence': 0.9979718418169861, 'id': 414, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 358, 'y': 1263}, {'x': 406, 'y': 1263}, {'x': 406, 'y': 1276}, {'x': 358, 'y': 1276}]}, 'confidence': 0.9971450056141804, 'id': 415, 'text': 'correct'}, {'boundingBox': {'vertices': [{'x': 407, 'y': 1263}, {'x': 422, 'y': 1263}, {'x': 422, 'y': 1276}, {'x': 407, 'y': 1277}]}, 'confidence': 0.9977334964860632, 'id': 416, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 423, 'y': 1263}, {'x': 446, 'y': 1263}, {'x': 446, 'y': 1276}, {'x': 423, 'y': 1276}]}, 'confidence': 0.9994331237312897, 'id': 417, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 447, 'y': 1263}, {'x': 477, 'y': 1263}, {'x': 477, 'y': 1276}, {'x': 447, 'y': 1276}]}, 'confidence': 0.9982224170606075, 'id': 418, 'text': 'best'}, {'boundingBox': {'vertices': [{'x': 477, 'y': 1262}, {'x': 494, 'y': 1262}, {'x': 494, 'y': 1277}, {'x': 477, 'y': 1276}]}, 'confidence': 0.9998226480364468, 'id': 419, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 494, 'y': 1263}, {'x': 517, 'y': 1263}, {'x': 517, 'y': 1278}, {'x': 494, 'y': 1278}]}, 'confidence': 0.9973689582732167, 'id': 420, 'text': 'my'}, {'boundingBox': {'vertices': [{'x': 519, 'y': 1262}, {'x': 595, 'y': 1262}, {'x': 595, 'y': 1278}, {'x': 519, 'y': 1278}]}, 'confidence': 0.989823071920042, 'id': 421, 'text': 'knowledge.'}, {'boundingBox': {'vertices': [{'x': 598, 'y': 1263}, {'x': 605, 'y': 1263}, {'x': 605, 'y': 1276}, {'x': 598, 'y': 1276}]}, 'confidence': 0.979785275786995, 'id': 422, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 606, 'y': 1263}, {'x': 651, 'y': 1262}, {'x': 651, 'y': 1278}, {'x': 607, 'y': 1278}]}, 'confidence': 0.9954296383237791, 'id': 423, 'text': 'certify'}, {'boundingBox': {'vertices': [{'x': 654, 'y': 1263}, {'x': 680, 'y': 1263}, {'x': 680, 'y': 1276}, {'x': 654, 'y': 1276}]}, 'confidence': 0.9991864629337981, 'id': 424, 'text': 'that'}, {'boundingBox': {'vertices': [{'x': 681, 'y': 1263}, {'x': 689, 'y': 1263}, {'x': 689, 'y': 1275}, {'x': 681, 'y': 1275}]}, 'confidence': 0.992976514280046, 'id': 425, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 690, 'y': 1263}, {'x': 722, 'y': 1263}, {'x': 722, 'y': 1276}, {'x': 690, 'y': 1276}]}, 'confidence': 0.9975006025832062, 'id': 426, 'text': 'seek'}, {'boundingBox': {'vertices': [{'x': 723, 'y': 1264}, {'x': 738, 'y': 1264}, {'x': 738, 'y': 1276}, {'x': 723, 'y': 1276}]}, 'confidence': 0.9981498441783037, 'id': 427, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 739, 'y': 1264}, {'x': 774, 'y': 1264}, {'x': 774, 'y': 1276}, {'x': 739, 'y': 1276}]}, 'confidence': 0.9964645178978213, 'id': 428, 'text': 'enter'}, {'boundingBox': {'vertices': [{'x': 776, 'y': 1264}, {'x': 792, 'y': 1265}, {'x': 792, 'y': 1277}, {'x': 775, 'y': 1276}]}, 'confidence': 0.9987692501855888, 'id': 429, 'text': 'or'}, {'boundingBox': {'vertices': [{'x': 792, 'y': 1263}, {'x': 839, 'y': 1262}, {'x': 840, 'y': 1276}, {'x': 793, 'y': 1277}]}, 'confidence': 0.9918223154014656, 'id': 430, 'text': 'remain'}, {'boundingBox': {'vertices': [{'x': 841, 'y': 1263}, {'x': 856, 'y': 1262}, {'x': 857, 'y': 1276}, {'x': 842, 'y': 1276}]}, 'confidence': 0.9997764133749615, 'id': 431, 'text': 'in'}, {'boundingBox': {'vertices': [{'x': 858, 'y': 1263}, {'x': 880, 'y': 1263}, {'x': 880, 'y': 1276}, {'x': 858, 'y': 1276}]}, 'confidence': 0.999165278640662, 'id': 432, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 882, 'y': 1262}, {'x': 928, 'y': 1262}, {'x': 928, 'y': 1276}, {'x': 882, 'y': 1276}]}, 'confidence': 0.9969898745355176, 'id': 433, 'text': 'United'}, {'boundingBox': {'vertices': [{'x': 929, 'y': 1262}, {'x': 970, 'y': 1262}, {'x': 970, 'y': 1276}, {'x': 929, 'y': 1276}]}, 'confidence': 0.9980694443221603, 'id': 434, 'text': 'States'}, {'boundingBox': {'vertices': [{'x': 971, 'y': 1263}, {'x': 1053, 'y': 1263}, {'x': 1053, 'y': 1278}, {'x': 971, 'y': 1278}]}, 'confidence': 0.9637841941656908, 'id': 435, 'text': 'temporarily,'}, {'boundingBox': {'vertices': [{'x': 1054, 'y': 1263}, {'x': 1080, 'y': 1262}, {'x': 1081, 'y': 1276}, {'x': 1055, 'y': 1277}]}, 'confidence': 0.9972882099070572, 'id': 436, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 1081, 'y': 1263}, {'x': 1123, 'y': 1262}, {'x': 1123, 'y': 1278}, {'x': 1082, 'y': 1279}]}, 'confidence': 0.9932296437905328, 'id': 437, 'text': 'solely'}, {'boundingBox': {'vertices': [{'x': 1124, 'y': 1262}, {'x': 1146, 'y': 1262}, {'x': 1146, 'y': 1276}, {'x': 1124, 'y': 1276}]}, 'confidence': 0.9996756175719462, 'id': 438, 'text': 'for'}, {'boundingBox': {'vertices': [{'x': 1147, 'y': 1263}, {'x': 1169, 'y': 1263}, {'x': 1169, 'y': 1276}, {'x': 1147, 'y': 1276}]}, 'confidence': 0.9991975314891764, 'id': 439, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1282}, {'x': 155, 'y': 1282}, {'x': 155, 'y': 1297}, {'x': 102, 'y': 1297}]}, 'confidence': 0.9925625912193922, 'id': 440, 'text': 'purpose'}, {'boundingBox': {'vertices': [{'x': 156, 'y': 1281}, {'x': 173, 'y': 1281}, {'x': 173, 'y': 1296}, {'x': 156, 'y': 1296}]}, 'confidence': 0.9997114775792099, 'id': 441, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 174, 'y': 1280}, {'x': 233, 'y': 1280}, {'x': 233, 'y': 1297}, {'x': 174, 'y': 1297}]}, 'confidence': 0.9885091197733334, 'id': 442, 'text': 'pursuing'}, {'boundingBox': {'vertices': [{'x': 235, 'y': 1283}, {'x': 243, 'y': 1283}, {'x': 243, 'y': 1295}, {'x': 235, 'y': 1295}]}, 'confidence': 0.9925364021956324, 'id': 443, 'text': 'a'}, {'boundingBox': {'vertices': [{'x': 245, 'y': 1280}, {'x': 271, 'y': 1280}, {'x': 271, 'y': 1295}, {'x': 245, 'y': 1295}]}, 'confidence': 0.9990034507660853, 'id': 444, 'text': 'full'}, {'boundingBox': {'vertices': [{'x': 272, 'y': 1282}, {'x': 328, 'y': 1282}, {'x': 328, 'y': 1297}, {'x': 272, 'y': 1297}]}, 'confidence': 0.9890037311316823, 'id': 445, 'text': 'program'}, {'boundingBox': {'vertices': [{'x': 330, 'y': 1280}, {'x': 348, 'y': 1280}, {'x': 348, 'y': 1294}, {'x': 330, 'y': 1294}]}, 'confidence': 0.9997591360552349, 'id': 446, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 347, 'y': 1281}, {'x': 385, 'y': 1281}, {'x': 385, 'y': 1296}, {'x': 347, 'y': 1296}]}, 'confidence': 0.9938556731859332, 'id': 447, 'text': 'study'}, {'boundingBox': {'vertices': [{'x': 386, 'y': 1282}, {'x': 401, 'y': 1281}, {'x': 402, 'y': 1294}, {'x': 387, 'y': 1295}]}, 'confidence': 0.9983889826215785, 'id': 448, 'text': 'at'}, {'boundingBox': {'vertices': [{'x': 402, 'y': 1281}, {'x': 424, 'y': 1281}, {'x': 424, 'y': 1294}, {'x': 402, 'y': 1294}]}, 'confidence': 0.9991091089088157, 'id': 449, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 425, 'y': 1280}, {'x': 470, 'y': 1280}, {'x': 470, 'y': 1295}, {'x': 425, 'y': 1295}]}, 'confidence': 0.997508668409366, 'id': 450, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 472, 'y': 1280}, {'x': 517, 'y': 1280}, {'x': 517, 'y': 1295}, {'x': 472, 'y': 1295}]}, 'confidence': 0.9855325890054819, 'id': 451, 'text': 'named'}, {'boundingBox': {'vertices': [{'x': 519, 'y': 1280}, {'x': 563, 'y': 1280}, {'x': 563, 'y': 1295}, {'x': 519, 'y': 1295}]}, 'confidence': 0.979687898356222, 'id': 452, 'text': 'above.'}, {'boundingBox': {'vertices': [{'x': 563, 'y': 1282}, {'x': 572, 'y': 1280}, {'x': 574, 'y': 1293}, {'x': 566, 'y': 1294}]}, 'confidence': 0.990913972740737, 'id': 453, 'text': 'I'}, {'boundingBox': {'vertices': [{'x': 573, 'y': 1280}, {'x': 602, 'y': 1280}, {'x': 602, 'y': 1295}, {'x': 573, 'y': 1295}]}, 'confidence': 0.9902831085977802, 'id': 454, 'text': 'also'}, {'boundingBox': {'vertices': [{'x': 603, 'y': 1281}, {'x': 666, 'y': 1280}, {'x': 666, 'y': 1295}, {'x': 604, 'y': 1296}]}, 'confidence': 0.9888025170437608, 'id': 455, 'text': 'authorize'}, {'boundingBox': {'vertices': [{'x': 667, 'y': 1281}, {'x': 690, 'y': 1281}, {'x': 690, 'y': 1294}, {'x': 667, 'y': 1294}]}, 'confidence': 0.9992275249362932, 'id': 456, 'text': 'the'}, {'boundingBox': {'vertices': [{'x': 691, 'y': 1281}, {'x': 736, 'y': 1280}, {'x': 737, 'y': 1294}, {'x': 691, 'y': 1295}]}, 'confidence': 0.9891349257707336, 'id': 457, 'text': 'named'}, {'boundingBox': {'vertices': [{'x': 738, 'y': 1280}, {'x': 782, 'y': 1280}, {'x': 782, 'y': 1295}, {'x': 738, 'y': 1295}]}, 'confidence': 0.997381883968712, 'id': 458, 'text': 'school'}, {'boundingBox': {'vertices': [{'x': 784, 'y': 1281}, {'x': 799, 'y': 1281}, {'x': 799, 'y': 1294}, {'x': 784, 'y': 1295}]}, 'confidence': 0.9976268239888314, 'id': 459, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 800, 'y': 1280}, {'x': 848, 'y': 1281}, {'x': 848, 'y': 1296}, {'x': 800, 'y': 1294}]}, 'confidence': 0.9924089999814262, 'id': 460, 'text': 'release'}, {'boundingBox': {'vertices': [{'x': 849, 'y': 1283}, {'x': 875, 'y': 1283}, {'x': 875, 'y': 1297}, {'x': 849, 'y': 1297}]}, 'confidence': 0.9969556313214386, 'id': 461, 'text': 'any'}, {'boundingBox': {'vertices': [{'x': 876, 'y': 1280}, {'x': 955, 'y': 1280}, {'x': 955, 'y': 1296}, {'x': 876, 'y': 1296}]}, 'confidence': 0.9941411784364743, 'id': 462, 'text': 'information'}, {'boundingBox': {'vertices': [{'x': 956, 'y': 1280}, {'x': 990, 'y': 1280}, {'x': 990, 'y': 1295}, {'x': 956, 'y': 1295}]}, 'confidence': 0.9989108992714004, 'id': 463, 'text': 'from'}, {'boundingBox': {'vertices': [{'x': 991, 'y': 1283}, {'x': 1014, 'y': 1283}, {'x': 1014, 'y': 1297}, {'x': 991, 'y': 1297}]}, 'confidence': 0.9979879888454254, 'id': 464, 'text': 'my'}, {'boundingBox': {'vertices': [{'x': 1015, 'y': 1281}, {'x': 1066, 'y': 1280}, {'x': 1066, 'y': 1295}, {'x': 1015, 'y': 1296}]}, 'confidence': 0.9936667221822505, 'id': 465, 'text': 'records'}, {'boundingBox': {'vertices': [{'x': 1067, 'y': 1280}, {'x': 1115, 'y': 1280}, {'x': 1115, 'y': 1296}, {'x': 1067, 'y': 1296}]}, 'confidence': 0.9925479111031179, 'id': 466, 'text': 'needed'}, {'boundingBox': {'vertices': [{'x': 1115, 'y': 1280}, {'x': 1135, 'y': 1279}, {'x': 1136, 'y': 1298}, {'x': 1116, 'y': 1298}]}, 'confidence': 0.9983296922170798, 'id': 467, 'text': 'by'}, {'boundingBox': {'vertices': [{'x': 1137, 'y': 1280}, {'x': 1171, 'y': 1280}, {'x': 1171, 'y': 1295}, {'x': 1137, 'y': 1295}]}, 'confidence': 0.998217546864214, 'id': 468, 'text': 'DHS'}, {'boundingBox': {'vertices': [{'x': 101, 'y': 1301}, {'x': 160, 'y': 1300}, {'x': 160, 'y': 1314}, {'x': 102, 'y': 1316}]}, 'confidence': 0.9924499764801198, 'id': 469, 'text': 'pursuant'}, {'boundingBox': {'vertices': [{'x': 161, 'y': 1300}, {'x': 176, 'y': 1300}, {'x': 176, 'y': 1313}, {'x': 161, 'y': 1313}]}, 'confidence': 0.9969358447925702, 'id': 470, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 178, 'y': 1300}, {'x': 188, 'y': 1300}, {'x': 188, 'y': 1312}, {'x': 178, 'y': 1312}]}, 'confidence': 0.994841855565789, 'id': 471, 'text': '8'}, {'boundingBox': {'vertices': [{'x': 190, 'y': 1299}, {'x': 222, 'y': 1299}, {'x': 222, 'y': 1314}, {'x': 190, 'y': 1314}]}, 'confidence': 0.9992970404820579, 'id': 472, 'text': 'CFR'}, {'boundingBox': {'vertices': [{'x': 224, 'y': 1298}, {'x': 282, 'y': 1300}, {'x': 281, 'y': 1316}, {'x': 224, 'y': 1315}]}, 'confidence': 0.9977016940669834, 'id': 473, 'text': '214.3(g)'}, {'boundingBox': {'vertices': [{'x': 282, 'y': 1300}, {'x': 297, 'y': 1300}, {'x': 298, 'y': 1313}, {'x': 283, 'y': 1314}]}, 'confidence': 0.9978437526578392, 'id': 474, 'text': 'to'}, {'boundingBox': {'vertices': [{'x': 299, 'y': 1299}, {'x': 366, 'y': 1299}, {'x': 366, 'y': 1314}, {'x': 299, 'y': 1314}]}, 'confidence': 0.9897833631222216, 'id': 475, 'text': 'determine'}, {'boundingBox': {'vertices': [{'x': 367, 'y': 1301}, {'x': 390, 'y': 1301}, {'x': 390, 'y': 1316}, {'x': 367, 'y': 1316}]}, 'confidence': 0.9981042391250159, 'id': 476, 'text': 'my'}, {'boundingBox': {'vertices': [{'x': 392, 'y': 1299}, {'x': 487, 'y': 1299}, {'x': 487, 'y': 1315}, {'x': 392, 'y': 1315}]}, 'confidence': 0.9771736752556508, 'id': 477, 'text': 'nonimmigrant'}, {'boundingBox': {'vertices': [{'x': 487, 'y': 1300}, {'x': 530, 'y': 1300}, {'x': 530, 'y': 1314}, {'x': 487, 'y': 1314}]}, 'confidence': 0.9917588777148733, 'id': 478, 'text': 'status.'}, {'boundingBox': {'vertices': [{'x': 533, 'y': 1299}, {'x': 582, 'y': 1300}, {'x': 582, 'y': 1314}, {'x': 532, 'y': 1313}]}, 'confidence': 0.9948059901290331, 'id': 479, 'text': 'Parent'}, {'boundingBox': {'vertices': [{'x': 583, 'y': 1301}, {'x': 600, 'y': 1301}, {'x': 600, 'y': 1314}, {'x': 583, 'y': 1313}]}, 'confidence': 0.997819064551764, 'id': 480, 'text': 'or'}, {'boundingBox': {'vertices': [{'x': 601, 'y': 1300}, {'x': 671, 'y': 1299}, {'x': 671, 'y': 1315}, {'x': 602, 'y': 1316}]}, 'confidence': 0.9702680882662515, 'id': 481, 'text': 'guardian,'}, {'boundingBox': {'vertices': [{'x': 672, 'y': 1301}, {'x': 700, 'y': 1299}, {'x': 701, 'y': 1313}, {'x': 673, 'y': 1314}]}, 'confidence': 0.997430743752598, 'id': 482, 'text': 'and'}, {'boundingBox': {'vertices': [{'x': 702, 'y': 1300}, {'x': 759, 'y': 1300}, {'x': 759, 'y': 1315}, {'x': 702, 'y': 1315}]}, 'confidence': 0.977481224643466, 'id': 483, 'text': 'student,'}, {'boundingBox': {'vertices': [{'x': 762, 'y': 1300}, {'x': 798, 'y': 1300}, {'x': 798, 'y': 1314}, {'x': 762, 'y': 1314}]}, 'confidence': 0.9948643907650353, 'id': 484, 'text': 'must'}, {'boundingBox': {'vertices': [{'x': 799, 'y': 1300}, {'x': 828, 'y': 1300}, {'x': 828, 'y': 1315}, {'x': 799, 'y': 1315}]}, 'confidence': 0.9947927771989339, 'id': 485, 'text': 'sign'}, {'boundingBox': {'vertices': [{'x': 830, 'y': 1300}, {'x': 844, 'y': 1300}, {'x': 844, 'y': 1313}, {'x': 830, 'y': 1313}]}, 'confidence': 0.9994662274481096, 'id': 486, 'text': 'if'}, {'boundingBox': {'vertices': [{'x': 845, 'y': 1299}, {'x': 899, 'y': 1299}, {'x': 899, 'y': 1314}, {'x': 845, 'y': 1314}]}, 'confidence': 0.9909266146101705, 'id': 487, 'text': 'student'}, {'boundingBox': {'vertices': [{'x': 899, 'y': 1300}, {'x': 912, 'y': 1300}, {'x': 912, 'y': 1313}, {'x': 899, 'y': 1313}]}, 'confidence': 0.9973568629716965, 'id': 488, 'text': 'is'}, {'boundingBox': {'vertices': [{'x': 915, 'y': 1300}, {'x': 958, 'y': 1299}, {'x': 958, 'y': 1313}, {'x': 915, 'y': 1314}]}, 'confidence': 0.9949023843548351, 'id': 489, 'text': 'under'}, {'boundingBox': {'vertices': [{'x': 960, 'y': 1300}, {'x': 982, 'y': 1300}, {'x': 982, 'y': 1313}, {'x': 960, 'y': 1313}]}, 'confidence': 0.9983659310063461, 'id': 490, 'text': '18.'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 1327}, {'x': 117, 'y': 1327}, {'x': 117, 'y': 1341}, {'x': 104, 'y': 1341}]}, 'confidence': 0.8685025308263439, 'id': 491, 'text': 'X'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 1349}, {'x': 200, 'y': 1349}, {'x': 200, 'y': 1363}, {'x': 102, 'y': 1363}]}, 'confidence': 0.992968991736038, 'id': 492, 'text': 'SIGNATURE'}, {'boundingBox': {'vertices': [{'x': 202, 'y': 1349}, {'x': 232, 'y': 1349}, {'x': 232, 'y': 1364}, {'x': 202, 'y': 1364}]}, 'confidence': 0.9956737384684756, 'id': 493, 'text': 'OF:'}, {'boundingBox': {'vertices': [{'x': 234, 'y': 1350}, {'x': 274, 'y': 1351}, {'x': 274, 'y': 1364}, {'x': 234, 'y': 1363}]}, 'confidence': 0.998650348305852, 'id': 494, 'text': 'John'}, {'boundingBox': {'vertices': [{'x': 282, 'y': 1350}, {'x': 312, 'y': 1351}, {'x': 312, 'y': 1364}, {'x': 282, 'y': 1363}]}, 'confidence': 0.9991080379371511, 'id': 495, 'text': 'Doe'}, {'boundingBox': {'vertices': [{'x': 321, 'y': 1350}, {'x': 350, 'y': 1350}, {'x': 350, 'y': 1364}, {'x': 321, 'y': 1364}]}, 'confidence': 0.9983687826948624, 'id': 496, 'text': 'Smi'}, {'boundingBox': {'vertices': [{'x': 350, 'y': 1350}, {'x': 370, 'y': 1350}, {'x': 370, 'y': 1363}, {'x': 350, 'y': 1363}]}, 'confidence': 0.9988340636311679, 'id': 497, 'text': 'th'}, {'boundingBox': {'vertices': [{'x': 755, 'y': 1351}, {'x': 802, 'y': 1351}, {'x': 802, 'y': 1365}, {'x': 755, 'y': 1365}]}, 'confidence': 0.9960592728676876, 'id': 498, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 429, 'y': 1377}, {'x': 443, 'y': 1377}, {'x': 444, 'y': 1391}, {'x': 429, 'y': 1391}]}, 'confidence': 0.7524345161222615, 'id': 499, 'text': 'X'}, {'boundingBox': {'vertices': [{'x': 104, 'y': 1403}, {'x': 156, 'y': 1403}, {'x': 156, 'y': 1418}, {'x': 104, 'y': 1418}]}, 'confidence': 0.9943497574462663, 'id': 500, 'text': 'NAME'}, {'boundingBox': {'vertices': [{'x': 158, 'y': 1403}, {'x': 182, 'y': 1403}, {'x': 182, 'y': 1417}, {'x': 158, 'y': 1417}]}, 'confidence': 0.9976494855365581, 'id': 501, 'text': 'OF'}, {'boundingBox': {'vertices': [{'x': 184, 'y': 1403}, {'x': 252, 'y': 1403}, {'x': 252, 'y': 1417}, {'x': 184, 'y': 1417}]}, 'confidence': 0.9910452063671339, 'id': 502, 'text': 'PARENT'}, {'boundingBox': {'vertices': [{'x': 254, 'y': 1403}, {'x': 280, 'y': 1403}, {'x': 280, 'y': 1417}, {'x': 254, 'y': 1417}]}, 'confidence': 0.998303910811319, 'id': 503, 'text': 'OR'}, {'boundingBox': {'vertices': [{'x': 282, 'y': 1403}, {'x': 372, 'y': 1403}, {'x': 372, 'y': 1417}, {'x': 282, 'y': 1417}]}, 'confidence': 0.9886669826840245, 'id': 504, 'text': 'GUARDIAN'}, {'boundingBox': {'vertices': [{'x': 429, 'y': 1403}, {'x': 527, 'y': 1403}, {'x': 527, 'y': 1418}, {'x': 429, 'y': 1418}]}, 'confidence': 0.9920957414171844, 'id': 505, 'text': 'SIGNATURE'}, {'boundingBox': {'vertices': [{'x': 755, 'y': 1403}, {'x': 832, 'y': 1403}, {'x': 832, 'y': 1418}, {'x': 755, 'y': 1418}]}, 'confidence': 0.9958733846129006, 'id': 506, 'text': 'ADDRESS'}, {'boundingBox': {'vertices': [{'x': 833, 'y': 1403}, {'x': 904, 'y': 1403}, {'x': 904, 'y': 1419}, {'x': 833, 'y': 1419}]}, 'confidence': 0.984417800382332, 'id': 507, 'text': '(city/state'}, {'boundingBox': {'vertices': [{'x': 905, 'y': 1405}, {'x': 923, 'y': 1405}, {'x': 923, 'y': 1418}, {'x': 905, 'y': 1418}]}, 'confidence': 0.9981816751744341, 'id': 508, 'text': 'or'}, {'boundingBox': {'vertices': [{'x': 924, 'y': 1403}, {'x': 1049, 'y': 1403}, {'x': 1049, 'y': 1420}, {'x': 924, 'y': 1420}]}, 'confidence': 0.9856915873772, 'id': 509, 'text': 'province/country)'}, {'boundingBox': {'vertices': [{'x': 1080, 'y': 1403}, {'x': 1127, 'y': 1403}, {'x': 1127, 'y': 1417}, {'x': 1080, 'y': 1417}]}, 'confidence': 0.9965789927630895, 'id': 510, 'text': 'DATE'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 1538}, {'x': 137, 'y': 1538}, {'x': 137, 'y': 1555}, {'x': 100, 'y': 1555}]}, 'confidence': 0.9979998619938087, 'id': 511, 'text': 'ICE'}, {'boundingBox': {'vertices': [{'x': 141, 'y': 1538}, {'x': 189, 'y': 1538}, {'x': 189, 'y': 1555}, {'x': 141, 'y': 1555}]}, 'confidence': 0.9974507871359102, 'id': 512, 'text': 'Form'}, {'boundingBox': {'vertices': [{'x': 193, 'y': 1538}, {'x': 230, 'y': 1538}, {'x': 230, 'y': 1555}, {'x': 193, 'y': 1555}]}, 'confidence': 0.9932083585425948, 'id': 513, 'text': 'I-20'}, {'boundingBox': {'vertices': [{'x': 234, 'y': 1539}, {'x': 269, 'y': 1538}, {'x': 270, 'y': 1555}, {'x': 234, 'y': 1556}]}, 'confidence': 0.9965119856687539, 'id': 514, 'text': 'A-B'}, {'boundingBox': {'vertices': [{'x': 272, 'y': 1538}, {'x': 355, 'y': 1538}, {'x': 355, 'y': 1559}, {'x': 272, 'y': 1559}]}, 'confidence': 0.9969207980777984, 'id': 515, 'text': '(12/2016)'}, {'boundingBox': {'vertices': [{'x': 1073, 'y': 1539}, {'x': 1113, 'y': 1540}, {'x': 1113, 'y': 1560}, {'x': 1072, 'y': 1559}]}, 'confidence': 0.9919021810333859, 'id': 516, 'text': 'Page'}, {'boundingBox': {'vertices': [{'x': 1115, 'y': 1541}, {'x': 1124, 'y': 1541}, {'x': 1124, 'y': 1555}, {'x': 1115, 'y': 1555}]}, 'confidence': 0.9989699018417679, 'id': 517, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 1129, 'y': 1540}, {'x': 1147, 'y': 1540}, {'x': 1147, 'y': 1555}, {'x': 1128, 'y': 1555}]}, 'confidence': 0.9994800411582453, 'id': 518, 'text': 'of'}, {'boundingBox': {'vertices': [{'x': 1149, 'y': 1540}, {'x': 1160, 'y': 1540}, {'x': 1160, 'y': 1555}, {'x': 1149, 'y': 1555}]}, 'confidence': 0.9831426923265344, 'id': 519, 'text': '3'}]}]

1-3. 5가지 테스트 이미지 적용

  • 저의 테스트 초기 목적은 8가지 OCR 서비스에 대한 API 호출 및 사용 난이도/복잡도 파악과 서비스별 소요 시간 이었습니다. 이번에는 인식 결과 텍스트와 테스트 이미지별로 소요시간까지 함께 추출해 보겠습니다. 추후에 인식된 텍스트는 원문 텍스트와 함께 오차 등을 비교하며 정량적인 방법으로도 성능 평가가 가능할 것 같네요. 하지만, 이번 포스팅에서는 dataframe 화하여 추출하는 것까지 진행해보겠습니다.
image_paths = {
    'Korean Receipt': '/content/drive/MyDrive/ocr_test_images/한글_영수증.png',
    'English Receipt': '/content/drive/MyDrive/ocr_test_images/whole-foods-market.jpg',
    'English PDF Table': '/content/drive/MyDrive/ocr_test_images/영문_PDF_표.png',
    'Korean PDF Table': '/content/drive/MyDrive/ocr_test_images/한글_pdf_리포트_표.png',
    'English I-20 Document': '/content/drive/MyDrive/ocr_test_images/영문_Form_I-20.png'
}

for image_name, image_path in image_paths.items():
    # Load image
    image = cv2.imread(image_path)

    # Upstage OCR API 호출 (response)
    with open(image_path, "rb") as image_file:
        files = {"image": image_file}
        response = requests.post(url, headers=headers, files=files)

    # Request 가 성공적이었는지 확인
    if response.status_code == 200:
        ocr_result = response.json()
        print(ocr_result['pages'])

        # Detect된 텍스트 주변에 빨간색 박스로 표시 (bounding box information 활용)
        highlighted_image = image.copy()
        for page in ocr_result['pages']:
            for word in page['words']:
                vertices = word['boundingBox']['vertices']
                start_point = (vertices[0]['x'], vertices[0]['y'])
                end_point = (vertices[2]['x'], vertices[2]['y'])
                highlighted_image = cv2.rectangle(highlighted_image, start_point, end_point, (0, 0, 255), 2)

        # 원본과 highlighted 이미지를 나란히 display 하기
        fig, axs = plt.subplots(1, 2, figsize=(10, 5))
        axs[0].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
        axs[0].set_title(f'Original Image: {image_name}')
        axs[0].axis('off')

        axs[1].imshow(cv2.cvtColor(highlighted_image, cv2.COLOR_BGR2RGB))
        axs[1].set_title(f'Highlighted Image: {image_name}')
        axs[1].axis('off')

        plt.tight_layout()
        plt.show()

    else:
        print(f"Failed to get OCR results for {image_name}")
[{'confidence': 0.9224338214900343, 'height': 512, 'id': 0, 'text': '영 수 증 \n 동대문구 장한로 130 1층 106호 \n252-30-00947 \n: 3 \n: 20210220 01 00037 \n품명 단가 수량 금액 \n1 참이슬 후레쉬 4,500 1 4. 500 \n2.처음처럼 4,500 1 4. 500 \n3.마늘보쌈 20,000 1 20,000 \n4. 음료 2,000 4 8,000 \n5. 해산물스튜 18,000 1 18,000 \n55, 000 \n 55, 000 \n- \n화포인트 글 0 과세면 세 50, 000 \n5, 000 \n55, 000 \n영수세액 55방구석코덕 코코밍', 'width': 512, 'words': [{'boundingBox': {'vertices': [{'x': 206, 'y': -1}, {'x': 222, 'y': -1}, {'x': 222, 'y': 15}, {'x': 207, 'y': 15}]}, 'confidence': 0.8753238139898496, 'id': 0, 'text': '영'}, {'boundingBox': {'vertices': [{'x': 248, 'y': -1}, {'x': 263, 'y': -1}, {'x': 263, 'y': 18}, {'x': 247, 'y': 18}]}, 'confidence': 0.9817192041863053, 'id': 1, 'text': '수'}, {'boundingBox': {'vertices': [{'x': 286, 'y': 4}, {'x': 302, 'y': 3}, {'x': 303, 'y': 22}, {'x': 287, 'y': 23}]}, 'confidence': 0.976511865598495, 'id': 2, 'text': '증'}, {'boundingBox': {'vertices': [{'x': 71, 'y': 17}, {'x': 149, 'y': 16}, {'x': 149, 'y': 106}, {'x': 72, 'y': 106}]}, 'confidence': 0.090623541572319, 'id': 3, 'text': ''}, {'boundingBox': {'vertices': [{'x': 121, 'y': 51}, {'x': 193, 'y': 54}, {'x': 192, 'y': 72}, {'x': 121, 'y': 69}]}, 'confidence': 0.9896844553525743, 'id': 4, 'text': '동대문구'}, {'boundingBox': {'vertices': [{'x': 203, 'y': 55}, {'x': 254, 'y': 57}, {'x': 254, 'y': 74}, {'x': 202, 'y': 72}]}, 'confidence': 0.9840780485790558, 'id': 5, 'text': '장한로'}, {'boundingBox': {'vertices': [{'x': 264, 'y': 59}, {'x': 289, 'y': 59}, {'x': 289, 'y': 74}, {'x': 264, 'y': 74}]}, 'confidence': 0.9782437017006772, 'id': 6, 'text': '130'}, {'boundingBox': {'vertices': [{'x': 297, 'y': 60}, {'x': 321, 'y': 61}, {'x': 321, 'y': 76}, {'x': 297, 'y': 75}]}, 'confidence': 0.984569274533722, 'id': 7, 'text': '1층'}, {'boundingBox': {'vertices': [{'x': 330, 'y': 62}, {'x': 369, 'y': 63}, {'x': 369, 'y': 77}, {'x': 330, 'y': 76}]}, 'confidence': 0.9900560164912399, 'id': 8, 'text': '106호'}, {'boundingBox': {'vertices': [{'x': 164, 'y': 24}, {'x': 268, 'y': 30}, {'x': 267, 'y': 45}, {'x': 163, 'y': 38}]}, 'confidence': 0.9882004134402479, 'id': 9, 'text': '252-30-00947'}, {'boundingBox': {'vertices': [{'x': 160, 'y': 75}, {'x': 164, 'y': 75}, {'x': 164, 'y': 85}, {'x': 160, 'y': 85}]}, 'confidence': 0.9744020778303585, 'id': 10, 'text': ':'}, {'boundingBox': {'vertices': [{'x': 176, 'y': 72}, {'x': 185, 'y': 72}, {'x': 185, 'y': 86}, {'x': 176, 'y': 86}]}, 'confidence': 0.9936841426944515, 'id': 11, 'text': '3'}, {'boundingBox': {'vertices': [{'x': 160, 'y': 89}, {'x': 164, 'y': 89}, {'x': 165, 'y': 102}, {'x': 160, 'y': 102}]}, 'confidence': 0.9953724705008196, 'id': 12, 'text': ':'}, {'boundingBox': {'vertices': [{'x': 176, 'y': 88}, {'x': 249, 'y': 89}, {'x': 248, 'y': 106}, {'x': 176, 'y': 105}]}, 'confidence': 0.9905930007655638, 'id': 13, 'text': '20210220'}, {'boundingBox': {'vertices': [{'x': 256, 'y': 90}, {'x': 272, 'y': 90}, {'x': 273, 'y': 105}, {'x': 256, 'y': 105}]}, 'confidence': 0.9831263307809217, 'id': 14, 'text': '01'}, {'boundingBox': {'vertices': [{'x': 282, 'y': 90}, {'x': 324, 'y': 91}, {'x': 324, 'y': 106}, {'x': 282, 'y': 106}]}, 'confidence': 0.9889788955316438, 'id': 15, 'text': '00037'}, {'boundingBox': {'vertices': [{'x': 85, 'y': 122}, {'x': 121, 'y': 122}, {'x': 121, 'y': 141}, {'x': 85, 'y': 141}]}, 'confidence': 0.9865569599500783, 'id': 16, 'text': '품명'}, {'boundingBox': {'vertices': [{'x': 294, 'y': 122}, {'x': 326, 'y': 122}, {'x': 326, 'y': 140}, {'x': 294, 'y': 140}]}, 'confidence': 0.9923862236774378, 'id': 17, 'text': '단가'}, {'boundingBox': {'vertices': [{'x': 336, 'y': 122}, {'x': 367, 'y': 123}, {'x': 367, 'y': 140}, {'x': 336, 'y': 140}]}, 'confidence': 0.9892107429839877, 'id': 18, 'text': '수량'}, {'boundingBox': {'vertices': [{'x': 409, 'y': 123}, {'x': 440, 'y': 123}, {'x': 440, 'y': 140}, {'x': 409, 'y': 140}]}, 'confidence': 0.9887267623914563, 'id': 19, 'text': '금액'}, {'boundingBox': {'vertices': [{'x': 88, 'y': 167}, {'x': 95, 'y': 166}, {'x': 98, 'y': 191}, {'x': 91, 'y': 192}]}, 'confidence': 0.9067567506217017, 'id': 20, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 106, 'y': 161}, {'x': 161, 'y': 159}, {'x': 162, 'y': 193}, {'x': 107, 'y': 195}]}, 'confidence': 0.9939408129107203, 'id': 21, 'text': '참이슬'}, {'boundingBox': {'vertices': [{'x': 171, 'y': 160}, {'x': 223, 'y': 160}, {'x': 224, 'y': 193}, {'x': 172, 'y': 193}]}, 'confidence': 0.9875691619149919, 'id': 22, 'text': '후레쉬'}, {'boundingBox': {'vertices': [{'x': 285, 'y': 160}, {'x': 330, 'y': 160}, {'x': 330, 'y': 191}, {'x': 285, 'y': 191}]}, 'confidence': 0.9947662344269237, 'id': 23, 'text': '4,500'}, {'boundingBox': {'vertices': [{'x': 354, 'y': 162}, {'x': 360, 'y': 162}, {'x': 360, 'y': 186}, {'x': 354, 'y': 186}]}, 'confidence': 0.9615155724889849, 'id': 24, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 403, 'y': 160}, {'x': 416, 'y': 160}, {'x': 416, 'y': 187}, {'x': 403, 'y': 187}]}, 'confidence': 0.9805394329344093, 'id': 25, 'text': '4.'}, {'boundingBox': {'vertices': [{'x': 417, 'y': 159}, {'x': 444, 'y': 158}, {'x': 445, 'y': 187}, {'x': 418, 'y': 189}]}, 'confidence': 0.9857453318564676, 'id': 26, 'text': '500'}, {'boundingBox': {'vertices': [{'x': 90, 'y': 210}, {'x': 181, 'y': 209}, {'x': 181, 'y': 240}, {'x': 91, 'y': 241}]}, 'confidence': 0.9922626158916114, 'id': 27, 'text': '2.처음처럼'}, {'boundingBox': {'vertices': [{'x': 286, 'y': 207}, {'x': 331, 'y': 207}, {'x': 331, 'y': 236}, {'x': 286, 'y': 236}]}, 'confidence': 0.9910720192963851, 'id': 28, 'text': '4,500'}, {'boundingBox': {'vertices': [{'x': 355, 'y': 208}, {'x': 361, 'y': 208}, {'x': 361, 'y': 233}, {'x': 355, 'y': 233}]}, 'confidence': 0.967448992619296, 'id': 29, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 404, 'y': 206}, {'x': 418, 'y': 206}, {'x': 416, 'y': 233}, {'x': 403, 'y': 232}]}, 'confidence': 0.8571199403778759, 'id': 30, 'text': '4.'}, {'boundingBox': {'vertices': [{'x': 418, 'y': 204}, {'x': 446, 'y': 204}, {'x': 446, 'y': 233}, {'x': 419, 'y': 233}]}, 'confidence': 0.988392298733941, 'id': 31, 'text': '500'}, {'boundingBox': {'vertices': [{'x': 96, 'y': 254}, {'x': 184, 'y': 255}, {'x': 184, 'y': 284}, {'x': 96, 'y': 284}]}, 'confidence': 0.9952933440607137, 'id': 32, 'text': '3.마늘보쌈'}, {'boundingBox': {'vertices': [{'x': 277, 'y': 254}, {'x': 331, 'y': 253}, {'x': 331, 'y': 283}, {'x': 277, 'y': 284}]}, 'confidence': 0.9946948708863905, 'id': 33, 'text': '20,000'}, {'boundingBox': {'vertices': [{'x': 355, 'y': 253}, {'x': 362, 'y': 253}, {'x': 362, 'y': 277}, {'x': 355, 'y': 277}]}, 'confidence': 0.954050468432351, 'id': 34, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 395, 'y': 250}, {'x': 447, 'y': 250}, {'x': 447, 'y': 280}, {'x': 395, 'y': 280}]}, 'confidence': 0.9935159661058903, 'id': 35, 'text': '20,000'}, {'boundingBox': {'vertices': [{'x': 100, 'y': 300}, {'x': 112, 'y': 298}, {'x': 116, 'y': 322}, {'x': 104, 'y': 324}]}, 'confidence': 0.9862741702253087, 'id': 36, 'text': '4.'}, {'boundingBox': {'vertices': [{'x': 119, 'y': 298}, {'x': 152, 'y': 297}, {'x': 153, 'y': 326}, {'x': 120, 'y': 327}]}, 'confidence': 0.9970375108768219, 'id': 37, 'text': '음료'}, {'boundingBox': {'vertices': [{'x': 286, 'y': 298}, {'x': 331, 'y': 298}, {'x': 331, 'y': 325}, {'x': 286, 'y': 325}]}, 'confidence': 0.9924515028907137, 'id': 38, 'text': '2,000'}, {'boundingBox': {'vertices': [{'x': 354, 'y': 298}, {'x': 363, 'y': 298}, {'x': 363, 'y': 322}, {'x': 354, 'y': 322}]}, 'confidence': 0.9769443632777066, 'id': 39, 'text': '4'}, {'boundingBox': {'vertices': [{'x': 403, 'y': 295}, {'x': 446, 'y': 295}, {'x': 446, 'y': 322}, {'x': 403, 'y': 322}]}, 'confidence': 0.9914861060763599, 'id': 40, 'text': '8,000'}, {'boundingBox': {'vertices': [{'x': 103, 'y': 341}, {'x': 117, 'y': 339}, {'x': 120, 'y': 365}, {'x': 106, 'y': 366}]}, 'confidence': 0.990395465951543, 'id': 41, 'text': '5.'}, {'boundingBox': {'vertices': [{'x': 121, 'y': 339}, {'x': 205, 'y': 340}, {'x': 205, 'y': 369}, {'x': 121, 'y': 368}]}, 'confidence': 0.9912065741962066, 'id': 42, 'text': '해산물스튜'}, {'boundingBox': {'vertices': [{'x': 279, 'y': 340}, {'x': 330, 'y': 339}, {'x': 330, 'y': 366}, {'x': 280, 'y': 367}]}, 'confidence': 0.9887551981616238, 'id': 43, 'text': '18,000'}, {'boundingBox': {'vertices': [{'x': 354, 'y': 340}, {'x': 361, 'y': 340}, {'x': 361, 'y': 363}, {'x': 354, 'y': 363}]}, 'confidence': 0.956403344934451, 'id': 44, 'text': '1'}, {'boundingBox': {'vertices': [{'x': 395, 'y': 337}, {'x': 444, 'y': 336}, {'x': 445, 'y': 363}, {'x': 395, 'y': 364}]}, 'confidence': 0.9865182088677419, 'id': 45, 'text': '18,000'}, {'boundingBox': {'vertices': [{'x': 392, 'y': 390}, {'x': 413, 'y': 390}, {'x': 413, 'y': 405}, {'x': 392, 'y': 405}]}, 'confidence': 0.9724824118412599, 'id': 46, 'text': '55,'}, {'boundingBox': {'vertices': [{'x': 416, 'y': 389}, {'x': 441, 'y': 389}, {'x': 441, 'y': 404}, {'x': 416, 'y': 404}]}, 'confidence': 0.9806413359696973, 'id': 47, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 102, 'y': 392}, {'x': 166, 'y': 391}, {'x': 167, 'y': 439}, {'x': 103, 'y': 440}]}, 'confidence': 0.03173647529410483, 'id': 48, 'text': ''}, {'boundingBox': {'vertices': [{'x': 391, 'y': 419}, {'x': 412, 'y': 419}, {'x': 412, 'y': 434}, {'x': 391, 'y': 434}]}, 'confidence': 0.9782633236151603, 'id': 49, 'text': '55,'}, {'boundingBox': {'vertices': [{'x': 415, 'y': 419}, {'x': 440, 'y': 419}, {'x': 440, 'y': 433}, {'x': 415, 'y': 433}]}, 'confidence': 0.9785502128554074, 'id': 50, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 432, 'y': 405}, {'x': 440, 'y': 405}, {'x': 440, 'y': 417}, {'x': 432, 'y': 417}]}, 'confidence': 0.7575558187322353, 'id': 51, 'text': '-'}, {'boundingBox': {'vertices': [{'x': 106, 'y': 451}, {'x': 153, 'y': 450}, {'x': 154, 'y': 494}, {'x': 107, 'y': 495}]}, 'confidence': 0.3865358155600262, 'id': 52, 'text': '화포인트'}, {'boundingBox': {'vertices': [{'x': 138, 'y': 453}, {'x': 153, 'y': 453}, {'x': 153, 'y': 475}, {'x': 138, 'y': 475}]}, 'confidence': 0.9786385730178522, 'id': 53, 'text': '글'}, {'boundingBox': {'vertices': [{'x': 248, 'y': 452}, {'x': 257, 'y': 452}, {'x': 257, 'y': 464}, {'x': 248, 'y': 464}]}, 'confidence': 0.9846205852715522, 'id': 54, 'text': '0'}, {'boundingBox': {'vertices': [{'x': 289, 'y': 450}, {'x': 303, 'y': 450}, {'x': 303, 'y': 490}, {'x': 289, 'y': 490}]}, 'confidence': 0.900644180180629, 'id': 55, 'text': '과세면'}, {'boundingBox': {'vertices': [{'x': 321, 'y': 450}, {'x': 334, 'y': 450}, {'x': 334, 'y': 475}, {'x': 321, 'y': 475}]}, 'confidence': 0.6865619896479718, 'id': 56, 'text': '세'}, {'boundingBox': {'vertices': [{'x': 390, 'y': 448}, {'x': 411, 'y': 448}, {'x': 411, 'y': 461}, {'x': 390, 'y': 461}]}, 'confidence': 0.9707904448184749, 'id': 57, 'text': '50,'}, {'boundingBox': {'vertices': [{'x': 413, 'y': 447}, {'x': 438, 'y': 447}, {'x': 438, 'y': 461}, {'x': 413, 'y': 461}]}, 'confidence': 0.9796673039648308, 'id': 58, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 397, 'y': 461}, {'x': 411, 'y': 462}, {'x': 410, 'y': 475}, {'x': 397, 'y': 475}]}, 'confidence': 0.9144973185737972, 'id': 59, 'text': '5,'}, {'boundingBox': {'vertices': [{'x': 413, 'y': 460}, {'x': 438, 'y': 460}, {'x': 437, 'y': 486}, {'x': 412, 'y': 486}]}, 'confidence': 0.9440019427835393, 'id': 60, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 208, 'y': 466}, {'x': 230, 'y': 466}, {'x': 230, 'y': 480}, {'x': 208, 'y': 480}]}, 'confidence': 0.9747659882920359, 'id': 61, 'text': '55,'}, {'boundingBox': {'vertices': [{'x': 232, 'y': 465}, {'x': 258, 'y': 465}, {'x': 257, 'y': 492}, {'x': 232, 'y': 492}]}, 'confidence': 0.9511719498541483, 'id': 62, 'text': '000'}, {'boundingBox': {'vertices': [{'x': 289, 'y': 476}, {'x': 350, 'y': 475}, {'x': 350, 'y': 512}, {'x': 289, 'y': 513}]}, 'confidence': 0.5257375240710545, 'id': 63, 'text': '영수세액'}, {'boundingBox': {'vertices': [{'x': 387, 'y': 490}, {'x': 465, 'y': 486}, {'x': 466, 'y': 508}, {'x': 388, 'y': 512}]}, 'confidence': 0.9194119521905364, 'id': 64, 'text': '55방구석코덕'}, {'boundingBox': {'vertices': [{'x': 470, 'y': 491}, {'x': 506, 'y': 490}, {'x': 507, 'y': 504}, {'x': 470, 'y': 505}]}, 'confidence': 0.9401528702396162, 'id': 65, 'text': '코코밍'}]}]

1-4. 소요 시간 테스트

# 결과를 저장할 dataframe 생성
ocr_results_df = pd.DataFrame(columns=['Image Type', 'OCR Text', 'Processing Time (s)'])

# 각각의 이미지와 인식 결과 처리
for image_type, image_path in image_paths.items():
    start_time = time.time()

    # 이미지를 Upstage OCR API 에 보낸다
    with open(image_path, "rb") as image_file:
        files = {"image": image_file}
        response = requests.post(url, headers=headers, files=files)

    processing_time = time.time() - start_time

    # 정상 호출 확인
    if response.status_code == 200:
        ocr_response = response.json()
        ocr_text = " ".join([word['text'] for page in ocr_response['pages'] for word in page['words']])
    else:
        ocr_text = "Failed to process"

    ocr_results_df = ocr_results_df.append({
        'Image Type': image_type,
        'OCR Text': ocr_text,
        'Processing Time (s)': processing_time
    }, ignore_index=True)

print(ocr_results_df)
              Image Type                                           OCR Text  Processing Time (s)
0         Korean Receipt  영 수 증  동대문구 장한로 130 1층 106호 252-30-00947 : 3 :...             2.463590
1        English Receipt  WHOLE FOODS� M A R KE T SDY Sandy Springs Rd 5...             1.958015
2      English PDF Table  Hugging Face makes AI more accessible with AWS...             2.515448
3       Korean PDF Table  SPRi 이슈리포트 IS-160 생성AI의 부상과 산업의 영향 1. 논의 배경 1....             3.446032
4  English I-20 Document  Department of Homeland Security I-20, Certific...             4.392602


<ipython-input-19-e397f976c761>:33: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
  ocr_results_df = ocr_results_df.append({

ocr_result_df에 각 이미지별 인식 결과 텍스트와 소요시간이 담겼습니다

ocr_results_df
Image Type OCR Text Processing Time (s)
0 Korean Receipt 영 수 증 동대문구 장한로 130 1층 106호 252-30-00947 : 3 :... 2.463590
1 English Receipt WHOLE FOODS� M A R KE T SDY Sandy Springs Rd 5... 1.958015
2 English PDF Table Hugging Face makes AI more accessible with AWS... 2.515448
3 Korean PDF Table SPRi 이슈리포트 IS-160 생성AI의 부상과 산업의 영향 1. 논의 배경 1.... 3.446032
4 English I-20 Document Department of Homeland Security I-20, Certific... 4.392602

2. 사용 후기


8가지 서비스를 비교 평가해본, 서비스 이용자 관점에서의 저의 주관적인 사용 후기는 아래와 같습니다.

  • 인식률: 한글, 영문 모두 뛰어나고, 특히 표 안의 글자 인식도 잘 되는 것으로 확인.
  • 특화 모델은 현재 “영수증” 모델만 제공하는 것으로 알고 있는데, 앞으로 더 많은 특화모델이 나오지 않을까? 지켜봐야할듯.
  • 친절도 측면: 타 서비스에 비해 Documentation 이 충분하지 않고, UI/UX 또한 user-friendly 하지 않은 편인 것 같다. 그러나, API 사용법이 굉장히 간단해서, 처음 사용하는 사람에게도 충분히 테스트해볼 법한 서비스
  • 그 외: Billing 에 대해 궁금해서, Support 에 직접 문의 했었는데, 빠르게 회신이 오고, 내가 했던 문의 사항을 FAQ Documentation에 등록한다는 점을 보고 feedback 을 적극적으로 수용하려 하는 C/S 느낌을 받았다.

3. 유의 사항


  • Upstage 의 billing system 은 서비스를 “사용한 만큼” 지불합니다. 따라서, project 를 생성하고 매번 삭제할 필요는 없기 때문에, 동일한 프로젝트명과 Token을 사용할 수 있어 편리할 것 같네요.

  • 사용량(Usage)은 Console 내 Usage 메뉴에서 조회가 가능하며, 보통 01:00 UTC 기준으로 업데이트 된다고 합니다. 그러나, 실시간 이용량 조회가 지원되지 않기 때문에, 단시간 내에 여러 건의 테스트를 진행한다면, 대략적으로 본인이 몇 건을 호출하는지 감을 잡고 진행하는 것이 좋을 것 같다는 생각이 드네요.

  • 더 자세한 정보나 문의는 Upstage에서 운영하는 Documentation 를 참고해주세요.

댓글남기기