KR102604126B1 - 구독형 영상분석 시스템 및 이의 운용 방법 - Google Patents

구독형 영상분석 시스템 및 이의 운용 방법 Download PDF

Info

Publication number
KR102604126B1
KR102604126B1 KR1020230000266A KR20230000266A KR102604126B1 KR 102604126 B1 KR102604126 B1 KR 102604126B1 KR 1020230000266 A KR1020230000266 A KR 1020230000266A KR 20230000266 A KR20230000266 A KR 20230000266A KR 102604126 B1 KR102604126 B1 KR 102604126B1
Authority
KR
South Korea
Prior art keywords
gpu
user terminal
server
user
video analysis
Prior art date
Application number
KR1020230000266A
Other languages
English (en)
Inventor
고태현
박진희
Original Assignee
(주) 씨이랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 씨이랩 filed Critical (주) 씨이랩
Priority to KR1020230000266A priority Critical patent/KR102604126B1/ko
Application granted granted Critical
Publication of KR102604126B1 publication Critical patent/KR102604126B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

일 실시예에 따르면, 구독형 영상분석 시스템에 포함된 컴퓨팅 장치에서 수행되는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법에 있어서, 사용자 단말로부터 영상분석 요청을 수신하는 동작; 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작; 상기 사용자 단말로부터 영상 데이터를 수신하는 동작; 상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작; 상기 할당된 GPU 인스턴스를 이용하여, 상기 영상 데이터에 대하여 상기 검출 모델을 통한 영상분석을 실행하는 동작; 상기 영상분석의 결과를 상기 사용자 단말에 제공하는 동작을 포함하는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

구독형 영상분석 시스템 및 이의 운용 방법{SUBSCRIPTION-TYPE VIDEO ANALYSIS SYSTEM AND OPERATION METHOD THEREOF}
본 개시는 구독형 영상분석 시스템 및 이의 운용 방법에 관한 것이다. 보다 구체적으로, 본 개시는 회원 등급에 따라 컴퓨팅 자원을 분배하는 구독형 영상분석 시스템 및 이의 운용 방법에 관한 것이다.
산업의 자동화를 달성하기 위한 가장 중요한 현대 기술요소인 인공지능(Artificial Intelligence, AI)는 자연어처리 및 언어지능, 시각지능, 로봇 등에 적용되어 여러 산업에서 활용되고 있다. 특히, 인공지능이 적용될 수 있는 기존의 기술영역 중, 카메라 하드웨어 또는 영상파일에 적용되는 인공지능인, Vision AI, Video Analytics(영상분석) 기술은 영상 데이터의 연산처리를 진행하기 때문에, 영상 데이터 연산에 많은 처리가 가능한 GPU 서버의 구축이 필요로 한다.
따라서, 영상분석 인공지능 서비스를 제공하는 기업들은, 별도의 GPU 서버를 추가로 구축하는 구축형(System Integrated) 시업 모델에 초점을 맞추고 있으나, 이러한 GPU 서버의 구축은 막대한 설치 비용과 운용 비용이 필요로 한다.
또한, 국내 영상분석 기업들이 채택하고 있는 구축형 사업 모델은, 영상분석 기술이 도입될 장소의 구조, 현황 등이 상이하기에 고객의 요구사항에 맞게 제품을 커스터마이징하여 영상분석 기술이 적용된 소프트웨어와 각종 시설물에 부착되는 IoT 디바이스 등을 제품구성(Product Set)에 포함하고 있다.
즉, 구축형 사업 모델은 GPU 서버 구축에 더하여, 소프트웨어 및 하드웨어에 대한 정기적인 관리, 장애요인 발생 시 현장에서의 출동 등을 통해 제품의 유지운영을 진행하고, IoT 디바이스 및 관리비용이 상당히 고가로 분류되어 구독형 비즈니스 모델을 적용하는 것에 한계점이 발생한다. 이와 같이, 영상분석 인공지능 서비스를 제공받으려는 고객의 부담의 증대로 이어지므로, 영상분석 인공지능 서비스는 대중화되지 못하고 있다.
따라서, 영상분석 인공지능 서비스에 대한 소비자의 인식 및 활용 장벽을 낮추기 위하여, 소비자에게 실질적으로 필요한 기능만을 도출하고 요금제 별로 분류한 새로운 사업 모델을 개발이 필요성이 대두되고 있다.
공개특허공보 제10-2021-0136286호(2021.11.17.)
본 개시는, 위와 같은 문제점을 해결하기 위하여, 클라우드 컴퓨팅 환경의 GPU 서버를 구축하되, GPU 인스턴스를 영상 데이터 또는 사용자의 권한 등급에 따라 차별된 서비스를 제공하여, GPU 서버의 운용 비용을 효율화를 제고할 수 있는, 구독형 영상분석 시스템을 제공하고자 한다.
본 개시는, 구체적으로 사용자의 권한 등급에 따라, 인공지능 영상분석 기술이 적용될 영상 데이터의 용량, 크기, 길이 및 해상도에 따라 소모되는 GPU 서버 등의 컴퓨팅 자원을 차등 분배하여, 컴퓨팅 자원의 효율적인 운용이 가능한 구독형 영상분석 시스템을 제공하고자 한다.
또한, 본 개시는 예를 들어, 적은 용량의 영상 데이터에 대해서는 인공지능 영상분석 서비스를 1일 1회 무료로 제공하거나, 큰 용량의 영상 데이터에 대한 다수회의 인공지능 영상분석 서비스는 구독형 요금제 형태로 비용을 책정함으로써, 구축형 사업모델에 비하여 가격 경쟁력을 확보하고, 컴퓨팅 자원의 운용 비용의 예측 가능성 및 효율화를 이룰 수 있는 구독형 영상분석 시스템을 제공하고자 한다.
이상의 간단한 요약 및 효과에 관한 설명은 단순히 예시적인 것으로서 본 개시에서 의도한 기술적 사항을 제한하기 위한 것이 아니다. 이하의 상세한 설명과 첨부된 도면을 참조함으로써, 전술한 예시적인 실시예들과 기술적 특징들에 더하여, 추가적인 실시예와 기술적 특징들이 이해될 수 있을 것이다.
일 실시예에 따르면, 구독형 영상분석 시스템에 포함된 컴퓨팅 장치에서 수행되는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법에 있어서, 사용자 단말로부터 영상분석 요청을 수신하는 동작; 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작; 상기 사용자 단말로부터 영상 데이터를 수신하는 동작; 상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작; 상기 할당된 GPU 인스턴스를 이용하여, 상기 영상 데이터에 대하여 상기 검출 모델을 통한 영상분석을 실행하는 동작; 상기 영상분석의 결과를 상기 사용자 단말에 제공하는 동작을 포함하는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작은, 상기 GPU 서버의 GPU 인스턴스 스케쥴을 확인하는 동작; 상기 영상 데이터의 정보를 확인하여 분석속도 및 분석에 필요한 GPU 인스턴스 개수를 연산하는 동작; 상기 확인된 GPU 인스턴스 스케쥴, 분석속도 및 분석에 필요한 GPU 인스턴스 개수에 기반하여 상기 GPU 인스턴스 스케쥴을 조정하는 동작; 및 상기 조정된 GPU 인스턴스 스케쥴에 따라, 상기 필요한 GPU 인스턴스 개수를 상기 영상 데이터의 영상분석에 할당하는 동작을 포함하고, 상기 GPU 인스턴스 스케쥴을 조정하는 동작은 GPU 인스턴스를 생성하거나 삭제하는 것을 포함하는 것인, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작을 더 포함하고, 상기 영상 데이터의 정보를 확인하여 분석속도 및 분석에 필요한 GPU 인스턴스 개수를 연산하는 동작은 상기 확인된 사용자의 권한 등급에 따라, 상기 분석속도 및 상기 분석에 필요한 GPU 인스턴스 개수가 달리 연산되는 것이고, 상기 확인된 사용자의 권한 등급이 높을수록 상기 분석에 필요한 GPU 인스턴스 개수가 많도록 연산되는 것인, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작을 더 포함하고, 상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신하는 영상 데이터는 미리 정해진 용량 이하로 수신하고, 상기 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 미리 지정된 GPU 인스턴스를 할당하는 것인, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자의 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은, 상기 사용자 단말에 미리 정해진 개수의 검출 모델을 제공하고, 상기 사용자 단말로부터 상기 미리 정해진 개수의 검출 모델 중에서 적어도 하나의 선택을 나타내는 신호를 수신하는 것인, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자의 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은, 상기 사용자 단말로부터 미리 생성된 다른 검출 모델을 수신하는 동작을 포함하는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자의 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은, 상기 사용자 단말로부터 커스텀모델의 생성을 요청하는 신호를 수신하는 동작; 상기 사용자 단말로부터 미지원 객체를 포함하는 영상 데이터를 수신하는 동작; 및 상기 미지원 객체를 포함하는 영상 데이터를 이용하여 새로운 커스텀 모델을 생성하는 동작을 포함하는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
또한, 상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작; 상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신한 영상 데이터를 영상분석을 실행하는 동작후에 제1 시간 후에 삭제하는 동작; 및 상기 사용자의 권한 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 수신한 영상 데이터를 영상분석을 실행한 동작 후에 제2 시간 후에 삭제하는 동작을 더 포함하고, 상기 제1 시간은 상기 제2 시간보다 적은 것인, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법이 제공될 수 있다.
일 실시예에 따르면, 구독형 영상분석 시스템에 포함된 컴퓨팅 장치에 포함되고, 명령어들을 저장하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 구독형 영상분석 시스템은 웹 포털 서버, 시스템 서버 및 사용자 단말을 포함하고, 상기 웹 포털 서버는 상기 사용자 단말을 사용하는 사용자에게 구독형 영상분석 서비스를 제공하는 웹서비스를 제공하고, 상기 시스템 서버는 데이터정보 확인부 및 GPU 인스턴스 관리부를 포함하는 웹 서버 및, GPU 서버를 포함하고, 상기 명령어들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은: 상기 웹 포털 서버의 회원 관리부가 사용자 단말로부터 영상분석 요청을 수신하는 동작; 상기 웹 포털 서버의 검출모델 관리부가 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작; 상기 웹 포털 서버의 영상 수신부가 상기 사용자 단말로부터 영상 데이터를 수신하는 동작; 상기 웹 서버의 데이터정보 확인부가 상기 영상 데이터에 대한 영상분석 시간을 연산하고, 상기 웹 서버의 GPU 인스턴스 관리부가 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작; 상기 GPU 서버가 상기 할당된 GPU 인스턴스를 이용하여, 상기 영상 데이터에 대하여 상기 검출 모델을 통한 영상분석을 실행하는 동작; 상기 웹 포털 서버의 분석결과 제공서버가 상기 영상분석의 결과를 상기 사용자 단말에 제공하는 동작을 수행하도록 구성되는, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 상기 적어도 하나의 동작은: 상기 웹 서버가 상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작은, 상기 GPU 서버의 GPU 인스턴스 스케쥴을 확인하는 동작; 상기 영상 데이터의 정보를 확인하여 분석속도 및 분석에 필요한 GPU 인스턴스 개수를 연산하는 동작; 상기 확인된 GPU 인스턴스 스케쥴, 분석속도 및 분석에 필요한 GPU 인스턴스 개수에 기반하여 상기 GPU 인스턴스 스케쥴을 조정하는 동작; 및 상기 조정된 GPU 인스턴스 스케쥴에 따라, 상기 필요한 GPU 인스턴스 개수를 상기 영상 데이터의 영상분석에 할당하는 동작을 수행하도록 구성되고, 상기 GPU 인스턴스 스케쥴을 조정하는 동작은 GPU 인스턴스를 생성하거나 삭제하는 것을 포함하는 것인, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 상기 적어도 하나의 동작은, 상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작을 더 수행하도록 구성되고, 상기 영상 데이터의 정보를 확인하여 분석속도 및 분석에 필요한 GPU 인스턴스 개수를 연산하는 동작은 상기 확인된 사용자의 권한 등급에 따라, 상기 분석속도 및 상기 분석에 필요한 GPU 인스턴스 개수가 달리 연산되는 것이고, 상기 확인된 사용자의 권한 등급이 높을수록 상기 분석에 필요한 GPU 인스턴스 개수가 많도록 연산되는 것인, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
또한, 상기 적어도 하나의 동작은, 상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작을 더 수행하도록 구성되고, 상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신하는 영상 데이터는 미리 정해진 용량 이하로 수신하고, 상기 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 미리 지정된 GPU 인스턴스를 할당하는 것인, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체가 제공될 수 있다.
도 1은 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템의 환경도이다.
도 2는 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템의 웹 포털 서버 및 시스템 서버의 구성을 도시한 블록도이다.
도 3은 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템에서 동작하는 프로세스를 도시하는 흐름도이다.
도 4는 본 개시의 다양한 실시예에 따라 도 3에서 수행된 동작 307의 구체적인 프로세스를 도시하는 흐름도이다.
도 5는 본 개시의 다른 실시예에 따른 구독형 영상분석 시스템에서 동작하는 프로세스를 도시하는 흐름도이다.
도 6은 본 개시의 다양한 실시예에 따라 도 3에서 수행된 동작 303의 구체적인 프로세스를 도시하는 흐름도이다.
앞서 설명한 본 개시의 특징들과 기타 추가적인 특징들에 대해서는 첨부된 도면을 참조하여 이하에서 자세하게 설명한다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이며, 본 개시의 기술적 사상의 범위를 제한하는 것으로 간주되어서는 안 된다. 본 개시의 기술적 사상은 첨부된 도면을 사용하여 더 구체적이고 상세하게 기술될 것이다.
본 개시에서 사용되는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
앞서 설명한 본 개시의 특징들과 기타 추가적인 특징들에 대해서는 첨부된 도면을 참고하여 이하에서 자세하게 설명한다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이며, 본 개시의 기술적 사상의 범위를 제한하는 것으로 간주되어서는 안 된다. 본 개시의 기술적 사상은 첨부된 도면을 사용하여 더 구체적이고 상세하게 기술될 것이다.
도 1은 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)의 환경도이다.
도 1을 참조하면, 구독형 영상분석 시스템(10)은 웹 포털 서버(100), 시스템 서버(200), 분석결과 제공서버(20), 사용자 단말(30) 및 PG/VAN 서버(40)를 포함할 수 있다.
웹 포털 서버(100)는 사용자 단말(30)을 사용하는 사용자가 접근가능한 웹 포털을 제공할 수 있다. 웹 포털 서버(100)가 제공하는 웹사이트는, 구독형 영상분석 시스템(10)에서 제공되는 구독형 영상분석 서비스를 제공하는 웹사이트를 의미할 수 있다.
사용자는 웹 포털 서버(100)에서 제공되는 웹사이트에서 구독형 영상분석 서비스에 회원가입을 하되, 가입하는 요금제 별로 차등된 영상분석 서비스를 제공받을 수 있다. 사용자는 사용자 단말(30)을 통해, 웹 포털 서버(100)가 제공하는 웹사이트에 로그인한 후, 영상분석을 요청하고, 분석 결과를 제공받을 수 있다.
웹 포털 서버(100)는 애플리케이션 서버, 캐시 서버, 방화벽 서버, 프록시 서버 및 데이터저장소 중 적어도 하나를 더 포함할 수 있다. 이러한 장치들은 적절한 데이터 저장소로부터 데이터를 획득하는 것과 같은 태스크(task)들을 수행하기 위해 상호 작용할 수 있는, 여러 개의 애플리케이션 서버들, 층들, 또는 연쇄되거나 또는 그 외 구성될 수 있는, 다른 요소들, 프로세스들 또는 구성요소들이 포함할 수 있다.
애플리케이션 서버는, 구독형 영상분석 시스템(10)이 사용자 단말(30)에 서비스를 제공하기 위해 사용되는 애플리케이션(예를 들어, 영상분석 요청 어플리케이션)을 위한 데이터 액세스 및 비즈니스 로직의 일부(심지어 대다수)를 핸들링하는, 클라이언트 디바이스(예를 들어, 사용자 단말(30))에 대한 하나 이상의 애플리케이션들의 실시예들을 실행하기 위해 요구된 대로 데이터 저장소와 통합하기 위한 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있다.
애플리케이션 서버는 사용자 단말(30)에 설치된 애플리케이션을 통해 실행되는 각종 그래픽 유저 인터페이스(graphic user interface, GUI)를 통해 사용자에게 구독형 영상분석 서비스를 제공할 수 있다. 또는 애플리케이션 서버는 사용자 단말(30)에서 실행되는 웹 브라우저 애플리케이션을 통해 사용자에게 구독형 영상분석 서비스를 제공할 수 있다. 여기에서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hypertext mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome), 사파리(Safari)등을 포함할 수 있다.
사용자 단말(30)은 웹 포털 서버(100)가 제공하는 웹 포털 사이트에 액세스함으로써 시스템 서버(200)가 제공하는 영상분석 서비스를 이용할 수 있다. 사용자 단말(30)은 웹 포털 서버(100)를 통하여, 영상 데이터를 시스템 서버(200)에 송신하고, 검출 모델을 선택하여 영상 데이터에 대한 영상분석을 요청할 수 있다. 사용자 단말(30)은 웹 포털 서버(100)에서 제공하는 웹 포털 사이트에 가입한 요금제에 기반하여, 시스템 서버(200)에 영상분석을 요청하는 영상 데이터의 용량, 개수, 저장 기간 등을 달리하는 구독형 영상분석 서비스를 제공받을 수 있다.
본 개시의 일 실시예에 있어서, 사용자 단말(30)은 웹 포털 서버(100)를 통하여, 촬영 장치(31)가 획득하는 영상 데이터를 시스템 서버(200)에 송신하고, 촬영 장치(31)가 획득하는 영상 데이터에 대한 영상분석을 요청할 수 있다.
본 개시의 다양한 실시예에 있어서 촬영 장치(31)는 사용자 단말(30)과 다른 카메라 장치, CCTV 장치, 초음파 촬영 장치, 라이더 센서, 및 레이더 센서 등 다양한 포맷의 영상 데이터를 획득할 수 있는, 다양한 촬영 장치를 포함할 수 있다.
PG/VAN 서버(40)는 사용자 단말(30)이 웹 포털 서버(100)가 제공하는 구독형 영상분석 서비스에 대한 이용할 때 발생하는 요금에 대한 전자 결제를 대행할 수 있다.
PG/VAN 서버(40)는 전자 결제를 대행하는 결제 게이트웨이(payment gateway, PG) 및 부가가치 통신망을 의미하는 부가가치 네트워크(value added network, VAN)를 포함할 수 있다. 예를 들어, PG결제 게이트웨이는 온라인 판매자가 인터넷을 통해 고객의 신용 카드 결제를 수락하고 처리할 수 있도록 하는 소프트웨어 유형일 수 있다. 부가 가치 네트워크(VAN)는 일반적으로 정보 교환이나 전자 상거래를 목적으로 기업 간에 전자 데이터를 전송하는 데 사용되는 일종의 사설 데이터 네트워크로서, 결제 게이트웨이는 VAN에 연결되어 판매자가 웹사이트와 결제 프로세서 간에 결제 데이터를 안전하게 전송할 수 있다. VAN은 판매자의 지불 처리 요구를 지원하기 위해 데이터 저장 및 보안과 같은 추가 서비스를 제공할 수도 있다.
본 개시의 다양한 실시예에 있어서, 구독형 영상분석 시스템(10)의 기능 및 서비스의 제공을 위하여, 웹 포털 서버(100), 시스템 서버(200), 분석결과 제공서버(20), 사용자 단말(30) 및 PG/VAN 서버(40)는 매우 다양한 동작 환경들에서 구현될 수 있다.
웹 포털 서버(100), 시스템 서버(200), 사용자 단말(30) 및 PG/VAN 서버(40)는 적절한 네트워크(11)를 통해, 요청, 메시지 또는 정보를 송신 및 수신할 수 있도록 동작 가능한 임의의 적절한 장치들을 포함할 수 있다.
네트워크(11)는 인트라넷, 인터넷, 셀룰러 네트워크, 근거리 네트워크 또는 임의의 이러한 네트워크 또는 그것의 조합을 포함하여, 임의의 적절한 네트워크를 포함할 수 있다. 본 개시의 구독형 영상분석 시스템(10)을 위해 사용된 구성요소들은 네트워크의 유형 및/또는 선택된 환경에 적어도 부분적으로 의존할 수 있다. 네트워크(11)를 통해 통신하기 위한 프로토콜들 및 구성요소들은 잘 알려져 있으며 여기에서 상세히 논의될 필요는 없을 것이다. 네트워크(11)를 통한 통신은 유선 또는 무선 연결들 및 그것의 조합들에 의해 가능해질 수 있다.
본 개시의 다양한 실시예에 따른 시스템 서버(200)는 상술한 기능을 구현하고 서비스를 제공하기 위한 장치들로서, 웹 서버(210) 및 GPU 서버(220)를 포함할 수 있다. 일부 실시예에서, 시스템 서버(200)는 애플리케이션 서버, 캐시 서버, 방화벽 서버, 프록시 서버 및 데이터저장소 중 적어도 하나를 더 포함할 수 있다. 이러한 장치들은 적절한 데이터 저장소로부터 데이터를 획득하는 것과 같은 태스크(task)들을 수행하기 위해 상호 작용할 수 있는, 여러 개의 애플리케이션 서버들, 층들, 또는 연쇄되거나 또는 그 외 구성될 수 있는, 다른 요소들, 프로세스들 또는 구성요소들이 포함할 수 있다.
웹 서버(210) 및 GPU 서버(220)와 같은 서버들은 하드웨어 디바이스들 또는 가상 컴퓨터 시스템들과 같은, 다양한 방식들로 구현될 수 있다. 일부 서버들은 컴퓨터 시스템상에서 실행되는 프로그래밍 모듈로 구현될 수 있다.
웹 서버(210)는, 웹 포털 서버(100) 및 시스템 서버(200) 사이에서의 모든 요청, 응답 및 정보와 같은 데이터의 전달을 핸들링할 수 있다.
GPU 서버(220)는 비디오 인코딩, 트랜스코딩 및 비디오 분석과 같은 작업에 필요한 복잡한 계산을 처리하기 위한 그래픽 처리 장치(graphic processing unit, GPU)에 대한 액세스를 제공할 수 있다. GPU 서버(220)는 사용자 단말(30)이 요청한 영상분석을 수행할 수 있다.
본 개시에서의 GPU 서버(220)는 시스템 서버(200) 내부에서 지역적(local)으로 연결된 서버(들)일 수 있다. 또한, 본 개시의 일 실시예에 있어서, GPU 서버(220)는 네트워크(11)를 통해 강력한 그래픽 처리 장치(GPU)에 대한 액세스를 제공하는 클라우드 컴퓨팅 환경을 포함할 수 있다.
일반적으로 클라우드 컴퓨팅 환경의 GPU 서버(220)는 원격으로 액세스하고 사용할 수 있으며 일반적으로 사용량에 따라 지불하는 방식으로 임대될 수 있다. 클라우드 컴퓨팅 환경의 GPU 서버(220)는 외부의 클라우드 공급자가 제공하는 Amazon Web Services(AWS), Microsoft Azure 및 Google Cloud Platform(GCP)를 포함할 수 있다.
웹 포털 서버(100)에 포함된 애플리케이션 서버는 데이터 저장소와 협력하여 액세스 제어 서비스들을 제공할 수 있으며, 이 예에서 하이퍼텍스트 마크업 언어("HTML"), 확장 가능한 마크업 언어("XML") 또는 또 다른 적절한 구조화 언어의 형태로 웹 서버에 의해 사용자에게 서비스될 수 있는, 사용자 단말(30)에게 전송될 텍스트, 그래픽들, 오디오 및/또는 비디오와 같은 콘텐트를 생성할 수 있다.
여기에 사용된 바와 같이, 용어("데이터 저장소")는 임의의 표준, 분산 또는 클러스터링 환경에서, 임의의 조합 및 수의 데이터 서버들, 데이터베이스들, 데이터 저장 디바이스들 및 데이터 저장 미디어를 포함할 수 있는, 데이터를 저장하고, 액세스하며 검색할 수 있는 임의의 디바이스 또는 디바이스들의 조합을 나타낸다.
웹 포털 서버(100) 및 시스템 서버(200)에 포함된 각각의 서버는 통상적으로 상기 서버의 일반적인 관리 및 동작을 위한 실행 가능한 프로그램 지시들을 제공하는 운영 시스템을 포함할 수 있고, 통상적으로 서버의 프로세서에 의해 실행될 때, 서버가 그것의 의도된 기능들을 수행하도록 허용하는 지시들을 저장한 컴퓨터-판독 가능한 저장 매체(예로서, 하드 디스크, 랜덤 액세스 메모리, 판독 전용 메모리 등)를 포함할 수 있다. 운영 시스템에 대한 적절한 구현들 및 서버들의 일반적인 기능이 알려져 있거나 또는 상업적으로 이용 가능하며, 본 개시의 기술분야의 통상의 기술자들에게 쉽게 구현될 수 있다.
사용자 단말(30)은 표준 운영 시스템을 실행하는 데스크탑, 랩탑, 또는 태블릿 컴퓨터들, 뿐만 아니라 모바일 소프트웨어를 실행하며 다수의 네트워킹 및 메시징 프로토콜들을 지원할 수 있는 셀룰러, 무선 및 핸드헬드 디바이스들과 같은, 다수의 범용 개인용 컴퓨터들 중 임의의 것을 포함할 수 있다.
도 2는 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)의 웹 포털 서버(100) 및 시스템 서버(200)의 구성을 도시한 블록도이다.
도 2를 참조하면, 웹 포털 서버(100)는 회원 관리부(110), 영상 수신부(120), 검출모델 관리부(130), 커스텀모델 생성부(140), 분석 요청부(150), 분석 엔진(160) 및 분석결과 제공서버(170)를 포함할 수 있다.
회원 관리부(110)는 웹 포털 서버(100)가 제공하는 구독형 영상분석 서비스의 웹사이트에 회원으로 가입된 회원의 개인정보, 예를 들어, 휴대폰 번호, 이메일 주소, 소속 등의 정보와, ID, 패스워드 정보를 회원별로 데이터베이스화 하여 저장 및 관리하는 기능을 수행할 수 있다. 회원 관리부(110)는 회원 정보를 포함하는 데이터베이스와 연결될 수 있다.
사용자는 사용자 단말(30)을 통하여 웹 포털 서버(100)가 제공하는 구독형 영상분석 서비스의 웹사이트에 회원 가입을 할 수 있으며, 회원 관리부(110)가 가입된 회원 정보를 관리할 수 있다.
또한, 회원 관리부(110)는 사용자의 회원 등급을 관리할 수 있다. 회원 등급은 비로그인 상태의 방문객, 무료회원 및 유료회원을 포함할 수 있다. 유료회원은 기본 회원, 프리미엄 회원 등과 같이, 결제 요금 및 구독 기간에 따라 회원의 종류가 달라질 수 있고, 회원 종류 마다 제공되는 서비스가 다를 수 있다.
본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)이 제공하는 구독형 영상분석 서비스의 유료 회원은, 정해진 기간동안 회원 등급에 따라 결정된 서비스를 제공받는 것일 수 있다. 회원 등급에 따라, 사용자에게 제공되는 검출 모델의 개수, 영상 데이터의 제한(용량, 크기, 포맷 등), 분석 속도(할당되는 GPU 인스턴스의 개수), 및 저장 기한과 같은 컴퓨팅 자원의 분배가 달라질 수 있다.
예를 들어, 회원 등급은 매월 제한된 기능에서 무료로 사용 할 수 있는 기본 회원, 매월 32.99$ 또는 42,000\의 구독료를 결제하는 프리미엄 회원으로 구분될 수 있다. 다른 예를 들어, 회원 등급은 매년 무료로 사용 할 수 있는 기본회원, 매년395.88$ 또는 504,000\의 구독료를 결제하는 프리미엄 회원으로 구분될 수 있다.
사용자는 사용자 단말(30)을 통해서, 구독형 영상분석 시스템(10)의 유료 회원으로 가입하기 위하여 결제할 수 있다. 사용자의 결제는 웹 포털 서버(100)와 PG/VAN 서버(40)의 통신을 통해서 이뤄질 수 있다.
영상 수신부(120)는 사용자가 영상분석을 요청한 영상에 대한 영상 데이터를 수신할 수 있다. 영상 수신부(120)는 영상 데이터는 사용자 단말(30) 또는 촬영 장치(31)로부터 수신할 수 있다. 사용자는 사용자 단말(30)에 미리-저장된 영상 데이터를 웹 포털 서버(100)에 전송하거나, 또는 사용자 단말(30)이 촬영하는 영상 데이터를 실시간으로 전송할 수 있다.
본 개시의 일 실시예에 있어서 영상 데이터를 실시간으로 수신하는 방법은, 실시간 스트리밍 프로토콜(Real-Time Streaming Protocol, RTSP), WebRTC(Web Real-Time Communication), 또는 P2P(peer-to-peer) 방법을 포함할 수 있다.
검출모델 관리부(130)는 구독형 영상분석 시스템(10)에서 사용자에게 영상 분석에 제공되는 검출 모델을 관리할 수 있다. 예를 들어 검출 모델은 영상내에서 특정 객체(objet)를 검출하는 객체 기술 기법을 의미할 수 있다.
객체 검출 기법(또는 이미지 AI 알고리즘)은 Convolutional Neural Network (CNN), You Only Look Once (YOLO) 또는 Single Shot Detector (SSD)의 알고리즘이 사용될 수 있다.
Convolutional Neural Network (CNN)는 이미지 인식 및 패턴을 찾는데 유용하며, 데이터에 직접 학습하고 패턴을 사용해 객체를 분류할 수 있다. Convolutional Neural Network (CNN)는 자율주행, 얼굴인식 등과 같은 객체 인식 분야에 많이 활용되고 있다.
You Only Look Once (YOLO)는 대표적인 단일 단계 방식의 객체 탐지 알고리즘으로, 이미지 내에 존재하는 객체와 해당 객체의 위치는 이미지를 한번만 보고 예측할 수 있다.
Single Shot Detector (SSD)작은 물체들을 잡아낼 수 있는 CNN, YOLO의 한계점을 극복하고자 하는 시도에서 출발하게 되며, R-CNN, YOLO의 구조를 조합하여 구성되고 다중 스케일 기능을 보유한 객체 탐지 모델을 제공할 수 있다.
검출모델 관리부(130)는 상술한 객체 검출 기법 중 적어도 하나를 이용하여, 미리 정해진 객체들을 검출할 수 있는 검출모델을 저장할 수 있다. 객체는 예를 들어, 사람, 동물 및 차량을 포함할 수 있다
커스텀모델 생성부(140)는 미리 정해진 객체뿐만 아니라 사용자가 커스터마이징(customizing) 가능한 검출모델을 생성할 수 있다. 예를 들어, 커스텀모델 생성부(140)는 사용자의 요청에 의하여, CT촬영 영상 데이터에 기반하여, 해당 이미지에서 특정 질병의 발명을 의미하는 객체를 검출하거나, 또는 일정 공간에서의 화재를 검출하는 등의 커스템모델(또는 사용자지정 객체모델)을 생성할 수 있다.
검출모델 관리부(130)는 사용자 단말(30)을 통하여, 검출모델 관리부(130)에 저장된 복수의 검출모델 중 적어도 하나를 선택하는 GUI를 사용자에게 제공할 수 있다.
사용자는 검출모델 관리부(130)가 제공하는 복수의 검출모델 중 하나를 선택할 수 있으며, 복수의 검출모델 중에서 원하는 검출모델이 없는 경우, 커스텀모델 생성부(140)에 커스텀모델의 생성을 요청할 수 있다. \
시스템 서버(200)는 웹 서버(210) 및 GPU 서버(220)를 포함할 수 있고, 웹 서버(210)는 데이터정보 확인부(211) 및 GPU 인스턴스 관리부(212)를 포함할 수 있다.
분석 요청부(150) 및 분석 엔진(160)은 본 개시의 다양한 실시예에 따라 사용자 단말(30)에서 수신된 영상 데이터에 대한 인공지능 영상분석을 수행하는 엔진일 수 있다.
분석 요청부(150) 및 분석 엔진(160)은 웹 서버(210)를 통해, GPU 서버(220)의 GPU 인스턴스가 인공지능 영상분석을 수행하게 할 수 있다. 분석 요청부(150)는 웹 서버(210)를 통해 GPU 서버(220)가 인공지능 영상분석을 수행하게 할 수 있다. 분석 엔진(160)은 웹 서버(210)로부터 GPU 서버(220)에서 수행된 인공지능 영상분석의 결과를 수신할 수 있다.
본 개시의 일 실시예에 있어서 분석 요청부(150)는 사용자 단말(30)로부터 인공지능 영상분석을 요청하는 신호 및 영상 데이터를 수신하면, 영상분석의 순서를 배정하는 분석요청 대기열에 배정할 수 있다. 분석 요청부(150)가 영상분석 요청을 분석요청 대기열에 배정하는 것은, 가용 GPU 인스턴스를 확인하는 동작, 영상 데이터의 메타 정보를 확인하여 분석속도 및 영상분석에 필요한 인스턴스 개수를 연산하는 동작을 수행하는 것을 의미할 수 있다.
도 3은 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)에서 동작하는 프로세스(300)를 도시하는 흐름도이다. 예컨대, 프로세스(300)는 도 2의 웹 포털 서버(100) 및 시스템 서버(200)에 포함된 컴퓨팅 장치에 의해 프로그램이 실행됨으로써 수행될 수 있다. 도 3에 도시된 프로세스(300)는 동작(301, 303, 305, 307, 309 및/또는 311)에 의하여 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 한편, 도 3에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다.
도 3을 참조하면, 프로세스(300)는 사용자 단말(30)로부터 이미지 분석 요청을 수신하는 301 동작에서 시작할 수 있다.
사용자는 사용자 단말(30)을 통해서 웹 포털 서버(100)가 제공하는 웹서비스를 접속하고, 이미지 분석을 요청할 수 있다.
303 동작에서, 웹 포털 서버(100)는 검출 모델을 설정할 수 있다. 웹 포털 서버(100)는 사용자 단말(30)을 통한 사용자와의 상호작용을 통하여, 복수의 미리 정해진 검출모델 또는 커스텀모델 중 적어도 하나를 검출모델로 설정할 수 있다.
예를 들어, 검출모델 관리부(130)는 사용자 단말(30)에 미리 정해진 개수의 검출 모델 중 적어도 하나를 선택할 수 있는 사용자 인터페이스를 제공할 수 있다. 또한, 검출모델 관리부(130)는 사용자 단말(30)에 사용자가 직접 커스텀모델의 생성하는 것을 요청할 수 있는 사용자 인터페이스를 제공할 수 있다.
사용자 단말(30)로부터 커스텀모델의 생성을 요청하는 신호를 수신하면, 커스텀모델 생성부(140)는 사용자 단말(30)에 커스텀 모델을 생성하기 위한 사용자 인터페이스를 제공할 수 있다.
검출 모델이란, 예를 들어, Convolutional Neural Network (CNN), You Only Look Once (YOLO) 또는 Single Shot Detector (SSD)의 객체 검출 기법(또는 이미지 AI 알고리즘) 중 적어도 하나를 이용하여 미리 정해진 객체를 검출할 수 있도록, 영상 데이터에 적용하는 인공지능 모델을 의미할 수 있다. 검출 모델이 검출하는 객체는 예를 들어, 사람, 동물 및 차량을 포함할 수 있다
305 동작에서, 웹 포털 서버(100)는 사용자 단말(30)로부터 영상 데이터를 수신할 수 있다. 예를 들어, 영상 수신부(120)는 사용자가 영상분석을 요청한 영상에 대한 영상 데이터를 수신할 수 있다. 영상 수신부(120)는 영상 데이터는 사용자 단말(30) 또는 촬영 장치(31)로부터 수신할 수 있다.
사용자는 사용자 단말(30)에 미리-저장된 영상 데이터를 웹 포털 서버(100)에 전송하거나, 또는 사용자 단말(30)이 촬영하는 영상 데이터를 실시간으로 전송할 수 있다.
307 동작에서, 웹 포털 서버(100)는 305 동작에서 수신한 영상 데이터에 대한 분석 예상 시간을 연산하고 GPU 인스턴스를 할당할 수 있다. 데이터정보 확인부(211)는 영상 데이터에 대한 분석 예상시간의 연산할 수 있다. GPU 인스턴스 관리부(212)는 GPU 서버(220)에서의 GPU 인스턴스의 스케쥴을 확인하여, 가용 GPU 인스턴스를 확인할 수 있다.
GPU 인스턴스는, GPU 서버(220)에 포함된 GPU 각각에서, 특정 작업을 수행할 수 있는 최소 단위의 가상의 컴퓨팅 자원을 의미할 수 있다. 예를 들어, 엔비디아(NVIDIATM)는, 신속하게 인공지능(AI) 모델을 개발·배포하도록 자사의 암페어(Ampere) 아키텍처에서 멀티 인스턴스 GPU(MIG)를 지원할 수 있다.
멀티 인스턴스 GPU(Multi Instance GPU, 이하 MIG로 칭함)는 엔비디아 GPU를 최대 7개의 독립된 MIG로 분할할 수 있으며, 분할된 인스턴스들은 각각 고유한 메모리, 캐시, 스트리밍 멀티프로세서를 사용해 동시에 실행될 수 있다. 이와 같이 MIG를 이용하면, 단일 GPU에서 복수의 추론작업, 또는 영상분석을 수행할 수 있다. 예를 들어, GPU 인스턴스 관리부(212)는 영상 데이터의 분석에 하나의 GPU 중 2 개의 MIG가 영상분석을 수행하도록 할당할 수 있다.
GPU 인스턴스 관리부(212)는 할당된 GPU 인스턴스(또는 MIG) 마다 인공지능 영상분석을 실행하는 구동 시간을 기록하고 관리할 수 있다. 본 개시에 다양한 실시예에 따른 구독형 영상분석 시스템 및 이의 운용 방법은 GPU 인스턴스의 구동 시간이 GPU 서버(220)의 운용 비용을 결정하기 때문에, 인공지능 영상분석을 요청한 사용자의 회원 등급에 따른 GPU 인스턴스의 할당을 필요로 한다.
307 동작의 구체적인 동작은 도 4를 통하여 설명하기로 한다.
309 동작에서, 시스템 서버(200)는 할당된 GPU 인스턴스를 이용하여 영상분석을 실행할 수 있다.
GPU 서버(220) 중에서 영상분석에 할당된 GPU 인스턴스는 해당 영상 데이터에 대한 영상분석을 실행할 수 있다. 다시 말하면, GPU 서버(220)는 301 동작에서 수신한 영상 데이터에 대하여, 303 동작에서 설정된 검출 모델에 따른 객체를 검출할 수 있다. 예를 들어, 객체의 검출은 영상 데이터 내에서, 객체가 출력되는 영상의 일부가 경계 박스(bounding box, Bbox)로 표시될 수 있다.
311 동작에서, 웹 포털 서버(100)는 사용자에게 영상분석에 대한 분석 결과를 제공할 수 있다. 웹 포털 서버(100)는 사용자 단말(30)에 분석 결과에 대한 정보를 전송할 수 있다. 분석 결과는 영상 데이터 내에서 검출된 객체가 표시되고, 객체가 검출된 시각에 대한 정보가 포함된 데이터를 포함할 수 있다.
이와 같이 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)은 프로세스(300)의 수행을 통해서, 사용자에게 직접 영상분석을 수행할 GPU 유닛의 구성과, 검출 모델의 준비 없이도, 쉽게 영상분석을 수행할 수 있는 환경을 제공할 수 있다. 또한, 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)은 영상 분석에 있어서, 멀티 인스턴스 GPU가 적용된 GPU 서버(220)를 이용함으로써 컴퓨팅 자원의 절약이 가능하여 효율적으로 경제적으로 구독형 영상분석 서비스를 사용자에게 제공할 수 있다.
도 4는 본 개시의 다양한 실시예에 따라 도 3에서 수행된 동작 307의 구체적인 프로세스(307)를 도시하는 흐름도이다. 예컨대, 프로세스(307)는 도 2의 웹 포털 서버(100) 및 시스템 서버(200)에 포함된 컴퓨팅 장치에 의해 프로그램이 실행됨으로써 수행될 수 있다. 한편, 도 4에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다.
도 4를 참조하면, 프로세스(307)는 가용 GPU 인스턴스 스케쥴을 확인하는 401 동작에서 시작할 수 있다. GPU 인스턴스 관리부(212)는 GPU 서버(220)에 포함된 복수의 GPU 인스턴스를 스케쥴링할 수 있다. GPU 인스턴스를 스케쥴하는 것은 GPU 서버(220)의 그래픽 처리 장치(GPU)가 장착된 컴퓨팅 인스턴스를 일정 시간동안 작동시키거나 정지시키는 것을 계획하는 것을 의미할 수 있다. GPU 인스턴스 관리부(212)는 예를 들어, 영상분석을 수행할 때 필요한 GPU 자원을 절약하기 위해서는 일정 시간동안 GPU 인스턴스를 정지시킬 수 있다. GPU 인스턴스 관리부(212)는 웹 콘솔이나 API를 이용하여 GPU 서버(220)의 멀티 인스턴스 GPU의 작동 상태를 제어할 수 있다.
GPU 인스턴스 관리부(212)는 GPU 인스턴스를 스케쥴 하여, GPU 서버(220)에 포함된 복수의 GPU 인스턴스들 중에서, 현재 가용 GPU 인스턴스를 확인(indentify)할 수 있다.
또한, 프로세스(307)는 영상 데이터의 정보를 확인하여 분석속도 및 인스턴스 개수를 연산하는 403 동작에서 시작할 수 있다. 영상분석은, 영상 데이터의 속성, 예를 들어 영상 데이터의 파일 형식(format), 코덱, 재생속도, 영상 샘플링 주파수, 크기, 트래픽, 해상도 등에 따라 분석 속도가 달라질 수 있다. 영상 데이터의 메타 정보는 상 데이터의 파일 형식(format), 코덱, 재생속도, 영상 샘플링 주파수, 크기, 트래픽, 해상도의 정보를 포함할 수 있다. 메타 정보는 저작권 정보, 제작자 정보, 제목 정보 등을 더 포함할 수 있다. 데이터정보 확인부(211)는 영상 데이터의 메타정보의 확인을 통해서, 분석필요한 시간 및 필요한 GPU 인스턴스를 연산할 수 있다.
이상의 설명에서 동작 401을 설명한 후 동작 403을 설명하였으나, 동작 401과 동작 403은 순서에 상관없이 수행될 수 있다.
다음으로, 405 동작에서, 연산된 분석속도 및 인스턴스 개수에 기반하여, 가용 GPU 인스턴스 스케쥴을 조정할 수 있다. GPU 인스턴스 관리부(212)는 401 동작 및 403 동작에서 확인 또는 연산된, 가용 GPU 인스턴스, 필요한 GPU 인스턴스 개수, 및 분석 속도에 기반하여, GPU 서버(220)의 GPU 인스턴스 스케쥴을 조정할 수 있다. 인스턴스 스케쥴의 조정은 인스턴스의 추가 생성 또는 삭제를 포함할 수 있다.
다시 말하면, 405 동작에서 GPU 인스턴스 관리부(212)는 GPU 서버(220)의 GPU 인스턴스를 생성 또는 삭제하여 스케쥴을 조정할 수 있다.
다음으로, 407 동작에서 조정된 GPU 인스턴스 스케쥴에 따라 해당 영상 데이터 분석을 위한 GPU 인스턴스를 할당할 수 있다. GPU 인스턴스 관리부(212)는 405 동작에서 조정된 GPU 인스턴스 스케쥴에 따라, 영상 데이터의 분석을 위한 GPU 인스턴스를 할당할 수 있다.
이와 같이, 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)은 영상 분석에 있어서, 멀티 인스턴스 GPU가 적용된 GPU 서버(220)를 이용함으로써 컴퓨팅 자원의 절약이 가능하여 효율적으로 경제적으로 구독형 영상분석 서비스를 사용자에게 제공할 수 있다.
도 5는 본 개시의 다른 실시예에 따른 구독형 영상분석 시스템(10)에서 동작하는 프로세스(500)를 도시하는 흐름도이다. 예컨대, 프로세스(500)는 프로세스(300)는 도 2의 웹 포털 서버(100) 및 시스템 서버(200)에 포함된 컴퓨팅 장치에 의해 프로그램이 실행됨으로써 수행될 수 있다. 도 5에 도시된 프로세스(300)는 동작(501 내지 521)에 의하여 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 한편, 도 3에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다.
도 5를 참조하면, 프로세스(500)는 사용자 단말(30)로부터 영상 분석 요청을 수신하는 501 동작에서 시작할 수 있다. 501 동작은 도 3의 301 동작과 실질적으로 동일하거나 유사한 동작이므로 중복되는 설명은 생략하기로 한다.
503 동작에서, 사용자 단말(30)을 통해 웹 포털 서버(100)가 제공하는 웹서비스에 접속한 사용자의 권한이 기준 등급 이상인지 여부를 확인할 수 있다. 예를 들어, 회원 관리부(110)는 사용자 단말(30)을 통해 접속한 사용자의 회원 등급을 확인할 수 있다.
회원 관리부(110)는 사용자의 회원등급이 방문객 또는 무료회원인지 유료회원인지 확인할 수 있다. 예를 들어, 회원 관리부(110)는 사용자의 회원 등급이 무료회원인 경우 즉, 기준 등급 미만인지, 유료회원인 경우 즉, 기준 등급 이상인지 판단할 수 있다. 다른 예를 들어, 회원 관리부(110)는 사용자의 회원 등급이 방문객인 경우를 기준 등급 미만으로 판단하고, 가입된 회원(무료회원 및 유료회원 포함)은 기준 등급 이상으로 판단할 수 있다.
본 개시의 일 실시예에 있어서, 유료회원에도 차등 등급을 포함할 수 있다. 예를 들어, 회원 관리부(110)는 사용자의 회원 등급이 기준 등급 이상인 경우에도, 회원 등급이 프리미엄 등급인지, 프리미엄 등급보다 높은 VIP 등급인지 확인할 수 있다.
503 동작에서, 사용자 단말(30)을 통해 접속한 사용자의 권한이 기준 등급 이상인 것으로 확인되는 경우, 505 동작 내지 511 동작으로 이어질 수 있다. 예를 들어, 503 동작에서 회원 관리부(110)는 사용자가 유료 회원인 경우 505 동작 내지 511 동작으로 이어질 수 있다. 505 내지 511 동작은 도 3의 303 내지 309 동작과 실질적으로 동일하거나 유사한 동작이므로 중복되는 설명은 생략하기로 한다.
503 동작에서, 사용자 단말(30)을 통해 접속한 사용자의 권한이 기준 등급 이상인 아닌 것으로 확인되는 경우, 513 동작으로 이어질 수 있다. 예를 들어, 503 동작에서 회원 관리부(110)는 사용자가 무료 회원인 경우 505 동작 내지 511 동작으로 이어질 수 있다.
513 동작에서, 웹 포털 서버(100)는 사용자 단말(30)로부터 미리 정해진 용량 이하의 영상 데이터를 수신할 수 있다. 미리 정해진 용량은 영상 데이터가 50MB 또는 100MB를 넘지 않도록 설정될 수 있다.
본 개시의 일 실시예에 있어서, 사용자는 사용자 단말(30)에 미리-저장된 영상 데이터를 웹 포털 서버(100)에 전송하거나, 또는 사용자 단말(30)이 촬영하는 영상 데이터를 실시간으로 전송할 수 있다. 이때, 웹 포털 서버(100)는 사용자 단말(30)에 미리 저장된 영상 데이터가 미리 정해진 용량 이하인지 확인하고, 미리 정해진 용량 이하인 경우에만, 영상 데이터를 수신할 수 있다. 또는 웹 포털 서버(100)는 사용자 단말(30)로부터 영상 데이터를 미리 정해진 용량까지만(또는 미리 정해진 용량까지의 시간 동안에만) 실시간으로 수신할 수 있다.
515 동작에서, 웹 포털 서버(100)는 미리 정해진 개수의 검출 모델들 중에서 하나에 대한 선택을 수신할 수 있다. 웹 포털 서버(100)는 사용자 단말(30)에 미리 정해진 개수의 검출 모델들 중 하나에 대한 선택이 가능한 GUI를 제공할 수 있다. 예를 들어, 검출모델 관리부(130)는 30개 이하의 검출 모델 중 하나에 대한 선택이 가능한 사용자 인터페이스를 사용자 단말(30)에 제공할 수 있다.
517 동작에서는 미리 지정된 GPU 인스턴스를 이용하여 수신한 영상 데이터에 대한 영상 분석을 수행할 수 있다. 예를 들어, GPU 서버(220)의 복수의 GPU가 포함하는 복수의 GPU 인스턴스 중에서, 권한이 기준 등급 미만인 사용자의 영상 데이터를 분석하기 위한 적어도 하나의 GPU 인스턴스가 미리 지정될 수 있다. 다시 말하면, 본 개시의 다양한 실시예에 따른 구독형 영상분석 시스템(10)에서는 미리 지정된 GPU 인스턴스를 이용하여, 기준 등급 미만의 사용자의 영상 데이터가 분석될 수 있다.
즉, 본 개시의 다양한 실시예에 따라 웹 포털 서버(100)가 제공하는 구독형 영상분석 서비스는, 사용자가 방문객, 무료회원 또는 유료회원인지에 따라서 등급을 구분하고, 영상분석에 필요한 분석 속도 및 GPU 인스턴스의 개수를 구분하여 구성할 수 있다. 이는 인공지능 영상분석을 소유형태의 구매방식이 아닌 구독형 형태의 공유방식으로 제공하여, GPU 서버(220)의 운영료에 대한 경제적 절감효과를 가져오고, 등급별 제공되는 서비스를 차별화하여, 기업이나 기관, 법인 사용자 뿐만 아니라 개인 사용자도 인공지능 영상분석에 접근성을 제고하는 효과를 가진다.
한편, 유료 회원에 차등 등급이 있는 경우, 제공되는 검출모델의 개수, 분석 속도의 연산 및 할당받는 GPU 인스턴스의 개수가 달라 질 수 있다. 예를 들어, 사용자가 무료회원인 경우, 30개 이하의 검출 모델이 제공될 수 있고, 영상 데이터의 크기가 100 MB로 제한될 수 있다. 사용자가 유료회원인 경우, 30개 초과의 검출 모델이 제공될 수 있고, 영상 데이터의 크기가 1 GB로 제한될 수 있다. 또한, 유료회원에게만, 커스텀모델 생성부(140)가 제공하는 커스텀모델의 생성 기회가 제공될 수 있다.
또다른 예를 들어, 사용자가 유료회원이더더라도, 보다 높은 등급(프리미엄 등급보다 높은 VIP 등급)의 경우, 분석 속도가 더 빠를 수 있고, 이에 따라 할당되는 GPU 인스턴스도 많을 수 있다.
519 동작에서, 웹 포털 서버(100)는 사용자에게 영상분석에 대한 분석 결과를 제공할 수 있다. 웹 포털 서버(100)는 사용자 단말(30)에 분석 결과에 대한 정보를 전송할 수 있다.
521 동작에서, 사용자의 권한 등급에 따라 정해진 기간 후에 영상 데이터를 삭제할 수 있다. 예를 들어, 웹 포털 서버(100)는 사용자의 권한이 방문객 또는 무료회원인 경우, 영상 데이터를 1일 동안 데이터베이스에 저장하고, 이 후에 삭제할 수 있다. 웹 포털 서버(100)는 사용자의 권한이 유료회원인 경우, 영상 데이터를 30일 동안 저장하고, 이 후에 삭제할 수 있다.
즉, 본 개시의 다양한 실시예에 따라 웹 포털 서버(100)가 제공하는 구독형 영상분석 서비스는, 사용자가 방문객, 무료회원 또는 유료회원인지에 따라서 등급을 구분하고, 영상 데이터의 저장 기한을 차등화 함으로써, 웹 포털 서버(100) 및 시스템 서버(200)의 유지 및 운영의 효율화를 제고할 수 있다.
도 6은 본 개시의 다양한 실시예에 따라 도 3에서 수행된 동작 303의 구체적인 프로세스(303)를 도시하는 흐름도이다. 예컨대, 프로세스(303)는 도 2의 웹 포털 서버(100) 및 시스템 서버(200)에 포함된 컴퓨팅 장치에 의해 프로그램이 실행됨으로써 수행될 수 있다. 한편, 도 6에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다.
도 6을 참조하면, 프로세스(303)는 미리 정해진 개수의 검출 모델들을 제공하는 601 동작에서 시작할 수 있다. 검출모델 관리부(130)는 상술한 객체 검출 기법 중 적어도 하나를 이용하여, 미리 정해진 개수의, 검출모델들을 사용자 단말(30)에 제공할 수 있다. 예를 들어, 검출모델 관리부(130)는 30개의 검출 모델을 사용자 단말(30)에 제공할 수 있다. 다른 예를 들어, 검출모델 관리부(130)는 사용자의 회원 등급에 따라 다른 개수의 검출 모델을 제공할 수 있다. 예를 들어, 방문객 또는 무료회원인 등급의 사용자는 미리 정해진 30개의 검출 모델만을 제공받을 수 있다. 유효뢰원 등급의 사용자는 50개 또는 그 이상의 검출 모델을 제공받을 수 있다.
603 동작에서, 웹 포털 서버(100)는 미리 정해진 개수의 검출 모델들 중에서 하나에 대한 선택을 수신할 수 있다. 웹 포털 서버(100)는 사용자 단말(30)에 미리 정해진 개수의 검출 모델들 중 하나에 대한 선택이 가능한 GUI를 제공할 수 있다.
603 동작에서, 사용자가 미리 정해진 개수의 검출 모델 중 하나에 대한 선택을 수신하면, 613 동작에서 선택된 검출 모델을 영상분석을 수행할 검출 모델로 설정할 수 있다.
603 동작에서, 사용자가 미리 정해진 개수의 검출 모델 중 하나에 대한 선택을 수신하지 못하면, 605 동작에서, 사용자 단말(30)에 미리 생선된 다른 검출 모델이 있는지 질문(query)하는 신호를 보낼 수 있다.
605 동작에서, 사용자 단말(30)로부터 다른 검출 모델이 있다는 신호를 수신하는 경우, 상기 다른 검출 모델을 수신하는 607 동작으로 이어질 수 있다. 이어서, 동작 613에서 수신한 다른 검출 모델을 영상분석을 수행할 검출 모델로 설정할 수 있다.
이와 같이, 사용자가 사용자 단말(30)을 통하여, 구독형 영상분석 시스템(10)에서 제공하는 미리 정해진 개수의 검출 모델이 아닌 직접 검출 모델을 구독형 영상분석 시스템(10)에 업로드하고, 이를 이용하여 영상분석을 수행하도록 하는 실시예가 가능하다.
605 동작에서, 사용자 단말(30)로부터 다른 검출 모델이 없는 경우, 다시 말하면, 별도의 커스템 모델의 생성을 요청받는 경우, 609 동작에서, 커스텀모델 생성부(140)는 미지원 객체(objet)를 포함하는 영상 데이터를 수신하고, 611 동작에서, 미지원 객체를 포함하는 영상 데이터를 이용하여 신규 커스텀 모델을 생성할 수 있다. 이어서, 이어서, 동작 613에서 생성된 신규 커스텀 모델을 영상분석을 수행할 검출 모델로 설정할 수 있다.
한편, 본 개시의 일 실시예에 따른 구독형 영상분석 시스템(10)은 사용자의 회원 등급이 유료회원 이상인 경우에만 605 내지 611 동작을 수행하도록 구성할 수 있다. 이와 같이, 본 개시는 사용자의 회원 등급에 따라 검출 모델 설정, GPU 인스턴스의 할당 등에 차등을 두어, 컴퓨팅 자원을 효율적으로 관리할 수 있는 효과를 가진다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수도 있다.
이상, 본 개시에서 청구하고자 하는 대상에 대해 구체적으로 살펴보았다. 본 개시에서 청구된 대상은 앞서 기술한 특정 구현예로 그 범위가 제한되지 않는다. 예컨대, 어떤 구현예에서는 장치 또는 장치의 조합 상에서 동작 가능하게 사용되는 하드웨어의 형태일 수 있으며, 다른 구현예에서는 소프트웨어 및/또는 펌웨어의 형태로 구현될 수 있고, 또 다른 구현예에서는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. 여기서, CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 저장 매체는, 예컨대 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행될 때 앞서 설명한 구현예에 따라 해당 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 이러한 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.
전술한 상세한 설명에서는 블록도, 흐름도 및/또는 기타 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 기타 예시는 하나 이상의 기능 및/또는 동작을 포함하게 되며, 당업자라면 블록도, 흐름도 및/또는 기타 예시 내의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 개별적으로 혹은 집합적으로 구현될 수 있다는 점을 이해할 수 있을 것이다. 다양한 실시예들에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 이와 달리, 본 개시의 실시예의 일부 양상은 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수도 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내에 속하는 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다.
특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 당업자라면, 청구된 대상에서 벗어남이 없이, 다양한 기타의 수정 또는 등가물로의 치환 가능성을 이해할 수 있다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위, 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.

Claims (12)

  1. 구독형 영상분석 시스템에 포함된 컴퓨팅 장치에서 수행되는, 구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법에 있어서,
    사용자 단말로부터 영상분석 요청을 수신하는 동작;
    상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작;
    상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작;
    상기 사용자 단말로부터 영상 데이터를 수신하는 동작;
    상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작;
    상기 할당된 GPU 인스턴스를 이용하여, 상기 영상 데이터에 대하여 상기 검출 모델을 통한 영상분석을 실행하는 동작;
    상기 영상분석의 결과를 상기 사용자 단말에 제공하는 동작을 포함하고,
    상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작은:
    상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신하는 영상 데이터는 미리 정해진 용량 이하로 수신하고, 상기 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 미리 지정된 GPU 인스턴스를 할당하고, 상기 사용자의 권한 등급이 기준 등급 이상인 경우:
    상기 GPU 서버의 GPU 인스턴스 스케쥴을 확인하는 동작;
    상기 영상 데이터의 정보를 확인하여, 상기 확인된 사용자의 권한 등급에 따라 결정되는 분석속도, 및 상기 분석속도에 기반한 GPU 인스턴스 개수를 연산하는 동작;
    상기 확인된 GPU 인스턴스 스케쥴, 상기 연산된 GPU 인스턴스 개수에 기반하여 상기 GPU 인스턴스 스케쥴을 조정하는 동작; 및
    상기 조정된 GPU 인스턴스 스케쥴에 따라, 상기 연산된 GPU 인스턴스 개수를 상기 영상 데이터의 영상분석에 할당하는 동작을 수행하는 것이고,
    상기 GPU 인스턴스 스케쥴을 조정하는 동작은 GPU 인스턴스를 생성하거나 삭제하는 것을 포함하는 것인,
    구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 사용자의 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은,
    상기 사용자 단말에 미리 정해진 개수의 검출 모델을 제공하고, 상기 사용자 단말로부터 상기 미리 정해진 개수의 검출 모델 중에서 적어도 하나의 선택을 나타내는 신호를 수신하는 것인,
    구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법.
  6. 제5항에 있어서,
    상기 사용자의 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은,
    상기 사용자 단말로부터 미리 생성된 다른 검출 모델을 수신하는 동작을 포함하는,
    구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법.
  7. 제5항에 있어서,
    상기 사용자의 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작은,
    상기 사용자 단말로부터 커스텀모델의 생성을 요청하는 신호를 수신하는 동작;
    상기 사용자 단말로부터 미지원 객체를 포함하는 영상 데이터를 수신하는 동작; 및
    상기 미지원 객체를 포함하는 영상 데이터를 이용하여 새로운 커스텀 모델을 생성하는 동작을 포함하는,
    구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법.
  8. 제1항에 있어서,
    상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작;
    상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신한 영상 데이터를 영상분석을 실행하는 동작후에 제1 시간 후에 삭제하는 동작; 및
    상기 사용자의 권한 등급이 기준 등급 이상인 경우, 상기 사용자 단말로부터 수신한 영상 데이터를 영상분석을 실행한 동작 후에 제2 시간 후에 삭제하는 동작을 더 포함하고,
    상기 제1 시간은 상기 제2 시간보다 적은 것인,
    구독형 영상분석 시스템의 컴퓨팅 자원 할당 방법.
  9. 구독형 영상분석 시스템에 포함된 컴퓨팅 장치에 포함되고, 명령어들을 저장하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 구독형 영상분석 시스템은 웹 포털 서버, 시스템 서버 및 사용자 단말을 포함하고,
    상기 웹 포털 서버는 상기 사용자 단말을 사용하는 사용자에게 구독형 영상분석 서비스를 제공하는 웹서비스를 제공하고,
    상기 시스템 서버는 데이터정보 확인부 및 GPU 인스턴스 관리부를 포함하는 웹 서버 및, GPU 서버를 포함하고,
    상기 명령어들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은:
    상기 웹 포털 서버의 회원 관리부가 사용자 단말로부터 영상분석 요청을 수신하는 동작;
    상기 사용자 단말로부터 영상분석 요청을 수신하는 것에 응답하여, 상기 웹 포털 서버의 회원 관리부가 상기 사용자 단말의 사용자의 권한 등급을 확인하는 동작;
    상기 웹 포털 서버의 검출모델 관리부가 상기 사용자 단말로부터 복수의 검출 모델들 중에서 하나의 검출 모델에 대한 선택을 수신하는 동작;
    상기 웹 포털 서버의 영상 수신부가 상기 사용자 단말로부터 영상 데이터를 수신하는 동작;
    상기 웹 서버의 데이터정보 확인부가 상기 영상 데이터에 대한 영상분석 시간을 연산하고, 상기 웹 서버의 GPU 인스턴스 관리부가 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작;
    상기 GPU 서버가 상기 할당된 GPU 인스턴스를 이용하여, 상기 영상 데이터에 대하여 상기 검출 모델을 통한 영상분석을 실행하는 동작;
    상기 웹 포털 서버의 분석결과 제공서버가 상기 영상분석의 결과를 상기 사용자 단말에 제공하는 동작을 수행하도록 구성되되,
    상기 영상 데이터에 대한 영상분석 시간을 연산하고, GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 일부를 할당하는 동작은:
    상기 사용자의 권한 등급이 기준 등급 미만인 경우, 상기 사용자 단말로부터 수신하는 영상 데이터는 미리 정해진 용량 이하로 수신하고, 상기 GPU 서버에 포함된 복수의 GPU 인스턴스 중에서 미리 지정된 GPU 인스턴스를 할당하고, 상기 사용자의 권한 등급이 기준 등급 이상인 경우:
    상기 GPU 서버의 GPU 인스턴스 스케쥴을 확인하는 동작;
    상기 영상 데이터의 정보를 확인하여, 상기 확인된 사용자의 권한 등급에 따라 결정되는 분석속도, 및 상기 분석속도에 기반한 GPU 인스턴스 개수를 연산하는 동작;
    상기 확인된 GPU 인스턴스 스케쥴, 상기 연산된 GPU 인스턴스 개수에 기반하여 상기 GPU 인스턴스 스케쥴을 조정하는 동작; 및
    상기 조정된 GPU 인스턴스 스케쥴에 따라, 상기 연산된 GPU 인스턴스 개수를 상기 영상 데이터의 영상분석에 할당하는 동작을 수행하는 것이고,
    상기 GPU 인스턴스 스케쥴을 조정하는 동작은 GPU 인스턴스를 생성하거나 삭제하는 것을 포함하는 것인,
    프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  10. 삭제
  11. 삭제
  12. 삭제
KR1020230000266A 2023-01-02 2023-01-02 구독형 영상분석 시스템 및 이의 운용 방법 KR102604126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230000266A KR102604126B1 (ko) 2023-01-02 2023-01-02 구독형 영상분석 시스템 및 이의 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230000266A KR102604126B1 (ko) 2023-01-02 2023-01-02 구독형 영상분석 시스템 및 이의 운용 방법

Publications (1)

Publication Number Publication Date
KR102604126B1 true KR102604126B1 (ko) 2023-11-22

Family

ID=88973938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230000266A KR102604126B1 (ko) 2023-01-02 2023-01-02 구독형 영상분석 시스템 및 이의 운용 방법

Country Status (1)

Country Link
KR (1) KR102604126B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191700A (ja) * 2013-03-28 2014-10-06 Fujifilm Corp 関連情報提供システムおよびその動作制御方法
KR20150013945A (ko) * 2010-06-10 2015-02-05 오토이, 인크. 다수의 클라이언트에 걸친 gpu 자원의 할당
JP2019121185A (ja) * 2018-01-05 2019-07-22 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
KR102064882B1 (ko) * 2019-07-12 2020-01-10 (주)웨이브웨어 그래픽 처리 장치의 자원 관리가 가능한 딥러닝 플랫폼 및 이를 이용한 그래픽 처리 장치의 자원 관리 방법
KR102140730B1 (ko) * 2019-12-17 2020-08-04 (주) 씨이랩 Gpu 기반의 딥러닝 개발 환경 제공 시스템 및 방법
KR20210136286A (ko) 2020-05-07 2021-11-17 (주) 씨이랩 비디오 데이터 통합 분석 및 관리 시스템
KR102348852B1 (ko) * 2021-04-27 2022-01-11 김천윤 오브젝트를 추출하는 방법 및 이를 위한 장치
KR20220064806A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 소프트웨어 패키지에 gpu를 할당하는 방법 및 장치
KR102439599B1 (ko) * 2021-07-26 2022-09-01 안상호 클라우드 영상 편집 서비스 시스템 및 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150013945A (ko) * 2010-06-10 2015-02-05 오토이, 인크. 다수의 클라이언트에 걸친 gpu 자원의 할당
JP2014191700A (ja) * 2013-03-28 2014-10-06 Fujifilm Corp 関連情報提供システムおよびその動作制御方法
JP2019121185A (ja) * 2018-01-05 2019-07-22 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
KR102064882B1 (ko) * 2019-07-12 2020-01-10 (주)웨이브웨어 그래픽 처리 장치의 자원 관리가 가능한 딥러닝 플랫폼 및 이를 이용한 그래픽 처리 장치의 자원 관리 방법
KR102140730B1 (ko) * 2019-12-17 2020-08-04 (주) 씨이랩 Gpu 기반의 딥러닝 개발 환경 제공 시스템 및 방법
KR20210136286A (ko) 2020-05-07 2021-11-17 (주) 씨이랩 비디오 데이터 통합 분석 및 관리 시스템
KR20220064806A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 소프트웨어 패키지에 gpu를 할당하는 방법 및 장치
KR102348852B1 (ko) * 2021-04-27 2022-01-11 김천윤 오브젝트를 추출하는 방법 및 이를 위한 장치
KR102439599B1 (ko) * 2021-07-26 2022-09-01 안상호 클라우드 영상 편집 서비스 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
(인터넷) "AI 개발을 위한 클라우드 GPU 서버, 필요한 만큼 빌려쓰세요!(KT HAC)"(2022.02.17.)* *

Similar Documents

Publication Publication Date Title
JP7043512B2 (ja) パイプ漏れを予測する新規な自律的人工知能システム
CN109716323B (zh) 流数据中的空间变化检测器
CN108353090B (zh) 用于改进对分布式网络中的传感器流数据的处理的方法
CN117474104A (zh) 使用机器学习智能地提供支持信息的系统和方法
Melenli et al. Real-time maintaining of social distance in covid-19 environment using image processing and big data
US10541936B1 (en) Method and system for distributed analysis
Ige et al. Implementation of data mining on a secure cloud computing over a web API using supervised machine learning algorithm
Ahmed et al. Big data analytics for intelligent internet of things
US20220171991A1 (en) Generating views for bias metrics and feature attribution captured in machine learning pipelines
Al-Sayed et al. CloudFNF: An ontology structure for functional and non-functional features of cloud services
CA3089074A1 (en) System and method for providing customer specified webpage configuration
CN111563499A (zh) 神经网络中的盲点实施
US20220284404A1 (en) Systems and Methods for Task Assistance
US20210035124A1 (en) System and method for management of sensor data based on high-value data model
US11481281B2 (en) Predictive fog computing in an edge device
Sasikala et al. A proposed framework for cloud-aware multimodal multimedia big data analysis toward optimal resource allocation
Tran et al. Yet another method for heterogeneous data fusion and preprocessing in proactive decision support systems: distributed architecture approach
KR102604126B1 (ko) 구독형 영상분석 시스템 및 이의 운용 방법
US11030015B2 (en) Hardware and software resource optimization
CN115760013A (zh) 运维模型的构建方法、装置、电子设备及存储介质
Kallam et al. The Adaptive Strategies Improving Design in Internet of Things
US11915060B2 (en) Graphics processing management system
US20220292417A1 (en) Using weighted peer groups to selectively trigger a security alert
US11799864B2 (en) Computer systems for regulating access to electronic content using usage telemetry data
Srivastava et al. Enabling edge computing in an iot-based weather monitoring application

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant