OCI 비전을 사용하여 이미지 및 스캔한 문서에서 데이터 추출
OCI(Oracle Cloud Infrastructure) 비전은 Oracle Cloud Infrastructure에서 사용할 수 있는 여러 AI 서비스 중 하나입니다.
OCI 비전은 데이터 과학 전문 지식 없이도 머신 러닝 및 인공 지능을 적용할 수 있는 역량을 제공합니다. OCR, 이미지 분류 및 객체 감지, 문서 분류, 변형 감지 등을 신속하게 수행할 수 있는 사전 학습 모델을 제공합니다.
이전 학습을 사용하여 사전 학습된 모델을 맞춤형 데이터로 조정할 수 있습니다. 기존 레이블이 지정된 데이터 세트를 튜닝에 사용하거나 데이터에 레이블이 아직 지정되어 있지 않은 경우 Oracle Data Labeling 서비스를 사용하여 작업을 쉽게 수행할 수 있습니다.
구조
이 구조는 OCI 비전이 핵심 시스템에 있는 다양한 구성 요소의 관계를 보여줍니다.
이 시스템에서 일반 사용자가 웹 애플리케이션을 사용하여 비즈니스 문서의 사진 또는 이미지를 업로드합니다. 애플리케이션이 파일을 오브젝트 스토리지에 저장합니다. Oracle Events는 새 파일을 감지하고 Vision 서비스에 대한 REST API 호출을 생성하는 서버리스 기능을 트리거합니다. Vision은 오브젝트 스토리지에서 파일을 검색하여 이미지를 분석합니다. 결과는 응용 프로그램에서 사용할 수 있는 데이터베이스에 저장됩니다.
다음 다이어그램은 이 참조 아키텍처를 보여줍니다.

architecture-ai-vision.png에 대한 설명
architecture-ai-vision-oracle.zip
구조에는 다음과 같은 구성 요소가 있습니다.
- 영역
Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 현지화된 지리적 영역입니다. 지역은 다른 지역에 독립적이며, 거리가 먼 나라 전체나 대륙을 구분할 수 있습니다.
- 가용성 도메인
가용성 도메인은 한 지역 내의 독립형 독립적인 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 내결함성을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인에서 장애가 발생해도 해당 지역의 다른 가용성 도메인에 영향을 주지 않습니다.
- 결함 도메인
장애 도메인은 한 가용성 도메인 내 하드웨어와 인프라의 그룹입니다. 각 가용성 도메인에는 독립적인 전원 및 하드웨어의 3개의 장애 도메인이 있습니다. 여러 장애 도메인에 걸쳐 리소스를 분배할 경우 응용 프로그램은 결함 도메인 내에서 물리적 서버 오류, 시스템 유지 관리 및 전원 오류를 허용할 수 있습니다.
- VCN(가상 클라우드 네트워크) 및 서브넷
VCN은 Oracle Cloud Infrastructure 지역에서 설정하는 사용자 정의 가능한 소프트웨어 정의 네트워크입니다. 기존의 데이터 센터 네트워크와 마찬가지로 VCN은 네트워크 환경에 대한 완벽한 제어를 제공합니다. VCN에는 VCN을 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN을 영역 또는 가용성 도메인으로 범위가 지정될 수 있는 서브넷으로 분할할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속 주소 범위로 구성됩니다. 서브넷 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.
- 구획
구획은 Oracle Cloud Infrastructure 테넌시 내에서 지역 간 논리적 파티션입니다. 구획을 통해 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용 할당량을 설정할 수 있습니다. 지정된 구획의 리소스에 대한 액세스를 제어하려면 리소스에 액세스할 수 있는 사람과 수행할 수 있는 작업을 지정하는 정책을 정의합니다.
- 로드 밸런서
Oracle Cloud Infrastructure Load Balancing 서비스는 단일 시작점에서 백엔드의 여러 서버로 자동화된 트래픽 분배를 제공합니다.
로드 밸런서는 여러 애플리케이션에 대한 액세스를 제공합니다.
- 보안 목록
각 서브넷에 대해 서브넷 내부/외부에서 허용해야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.
- 객체 스토리지
오브젝트 스토리지를 사용하면 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 컨텐츠를 비롯한 모든 컨텐츠 유형의 대규모 정형 및 비정형 데이터에 빠르게 접근할 수 있습니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 안전하게 데이터를 저장하고 검색할 수 있습니다. 성능 또는 서비스 신뢰성이 저하되지 않고 스토리지를 원활하게 확장할 수 있습니다. 빠르고 즉시 자주 액세스해야 하는 "핫" 스토리지에 대해 표준 스토리지를 사용합니다. 오래 보존되고 거의 액세스되지 않는 "콜드" 스토리지에 대해 아카이브 스토리지를 사용합니다.
- FastConnect
Oracle Cloud Infrastructure FastConnect를 사용하면 데이터 센터와 Oracle Cloud Infrastructure 간에 전용 개인 연결을 간편하게 생성할 수 있습니다. FastConnect는 더 높은 대역폭 옵션과 인터넷 기반 연결보다 더 신뢰할 수 있는 네트워킹 환경을 제공합니다.
- Oracle Infrastructure Cloud 비전
OCI Vision은 PDF 및 이미지에서 정보를 추출하는 데 사용됩니다. Vision은 OCR, 문서 이해, 테이블 분류, 객체 감지 및 이미지 분류를 지원합니다.
- 애플리케이션
이 아키텍처의 애플리케이션을 사용하면 사용자가 이미지를 업로드하고 이미지의 메타데이터를 사용하여 검색 및 컨텍스트를 향상시킬 수 있습니다.
권장 사항
요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용합니다.
- VCN
VCN을 생성할 때 VCN의 서브넷에 연결하려는 리소스 수를 기반으로 필요한 CIDR 블록 수 및 각 블록의 크기를 확인하십시오. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.
전용 접속을 설정할 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.
VCN을 생성한 후에는 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.
서브넷을 설계할 때는 트래픽 플로우와 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결하여 보안 경계 역할을 할 수 있습니다.
지역별 서브넷 사용.
- 보안
Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 사전에 모니터링 및 유지보수합니다. Cloud Guard는 리소스에 대한 보안 취약점을 검사하고 운영자와 사용자의 위험한 작업을 모니터하기 위해 정의할 수 있는 감지기 레시피를 사용합니다. 잘못된 구성이나 비보안 활동이 감지되면 Cloud Guard는 사용자가 정의할 수 있는 응답기 레시피를 기반으로 수정 작업을 수행하고 해당 작업을 수행할 수 있도록 지원합니다.
최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책의 레시피와 연관된 구획입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 생성 및 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 정책을 위반하는 작업을 거부합니다.
- Cloud Guard
Oracle에서 제공하는 기본 레시피를 복제하고 사용자정의하여 사용자정의 감지기 및 응답기 레시피를 생성합니다. 이러한 레시피를 사용하면 경고를 생성하는 보안 위반 유형과 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어, 가시성이 공용으로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.
테넌시 레벨에서 Cloud Guard를 적용하여 가장 광범위한 범위를 다루고 여러 구성을 유지 관리하는 관리 부담을 줄일 수 있습니다.
관리 목록 기능을 사용하여 특정 구성을 감지기에 적용할 수도 있습니다.
- 보안 영역
Oracle에서 제공하는 기본 레시피를 복제하고 사용자정의하여 사용자정의 감지기 및 응답기 레시피를 생성합니다. 이러한 레시피를 사용하면 경고를 생성하는 보안 위반 유형과 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어, 가시성이 공용으로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.
테넌시 레벨에서 Cloud Guard를 적용하여 가장 광범위한 범위를 다루고 여러 구성을 유지 관리하는 관리 부담을 줄일 수 있습니다.
관리 목록 기능을 사용하여 특정 구성을 감지기에 적용할 수도 있습니다.
- 로드 밸런서 대역폭
로드 밸런서를 생성하는 동안 고정 대역폭을 제공하는 미리 정의된 구성을 선택하거나, 대역폭 범위를 설정할 수 있는 커스터마이징 가능한 구성을 지정하여 트래픽 패턴을 기반으로 서비스 대역폭을 자동으로 확장할 수 있습니다. 두 방법 중 하나로 로드 밸런서를 생성한 후 언제든지 구성을 변경할 수 있습니다.
- Oracle Functions
이 아키텍처는 함수를 사용하여 특정 이미지와 함께 OCI Vision REST API를 호출한 다음 Vision에서 반환되는 메타데이터를 저장합니다. 이 기능은 Java 또는 Python SDK를 사용하여 작성할 수 있습니다.
- 이벤트
이 아키텍처에서는 오브젝트 스토리지 생성 시 변경사항을 수신하도록 Oracle Cloud Infrastructure Events 서비스가 구성됩니다. 이 서비스는 오브젝트 스토리지에 오브젝트가 업로드된 후 호출되어 처리를 위해 함수를 호출합니다.
고려 사항
이 구조를 배치할 때는 다음 사항을 고려하십시오.
- 성능
성능 및 확장성상의 이유로 Vision REST API를 호출하는 데 함수를 사용하고 있습니다. 응용 프로그램에서 직접 Vision REST API를 사용할 수도 있습니다. 이 경우 REST API 호출이 백그라운드 작업으로 실행되도록 고려합니다.
- 액세스
OCI 비전은 OCI 콘솔, Java 및 Python SDK 클라이언트 및 OCI CLI를 통한 액세스를 지원합니다. 테스트할 때 CLI 도구나 콘솔을 사용하는 것이 좋습니다.
- 가용성
이 예제에서는 데이터베이스의 가용성이 높지 않습니다. 중요한 애플리케이션의 경우 복제본이 3개인 HA 모드에서 MySQL Database Service를 실행하는 것이 좋습니다.
- 통합
영수증 및 신청 양식과 같은 비즈니스 문서를 PDF 형식으로 스캔할 때 Oracle Integration Cloud를 사용하여 전자메일과 같은 시스템에서 PDF를 가져온 다음 Vision AI를 호출하고 최종적으로 ERP 또는 CRM 시스템과 같은 대상 시스템으로 콘텐츠를 푸시하는 것이 좋습니다.