Nothing Special   »   [go: up one dir, main page]

KR102505705B1 - Image analysis server, object counting method using the same and object counting system - Google Patents

Image analysis server, object counting method using the same and object counting system Download PDF

Info

Publication number
KR102505705B1
KR102505705B1 KR1020200153982A KR20200153982A KR102505705B1 KR 102505705 B1 KR102505705 B1 KR 102505705B1 KR 1020200153982 A KR1020200153982 A KR 1020200153982A KR 20200153982 A KR20200153982 A KR 20200153982A KR 102505705 B1 KR102505705 B1 KR 102505705B1
Authority
KR
South Korea
Prior art keywords
box
boxes
analysis server
image analysis
image
Prior art date
Application number
KR1020200153982A
Other languages
Korean (ko)
Other versions
KR20220067363A (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 KR1020200153982A priority Critical patent/KR102505705B1/en
Priority to CA3198777A priority patent/CA3198777A1/en
Priority to JP2023528639A priority patent/JP7474546B2/en
Priority to PCT/KR2021/010824 priority patent/WO2022108044A1/en
Publication of KR20220067363A publication Critical patent/KR20220067363A/en
Application granted granted Critical
Publication of KR102505705B1 publication Critical patent/KR102505705B1/en
Priority to US18/198,188 priority patent/US20230306630A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61JCONTAINERS SPECIALLY ADAPTED FOR MEDICAL OR PHARMACEUTICAL PURPOSES; DEVICES OR METHODS SPECIALLY ADAPTED FOR BRINGING PHARMACEUTICAL PRODUCTS INTO PARTICULAR PHYSICAL OR ADMINISTERING FORMS; DEVICES FOR ADMINISTERING FOOD OR MEDICINES ORALLY; BABY COMFORTERS; DEVICES FOR RECEIVING SPITTLE
    • A61J7/00Devices for administering medicines orally, e.g. spoons; Pill counting devices; Arrangements for time indication or reminder for taking medicine
    • A61J7/02Pill counting devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61JCONTAINERS SPECIALLY ADAPTED FOR MEDICAL OR PHARMACEUTICAL PURPOSES; DEVICES OR METHODS SPECIALLY ADAPTED FOR BRINGING PHARMACEUTICAL PRODUCTS INTO PARTICULAR PHYSICAL OR ADMINISTERING FORMS; DEVICES FOR ADMINISTERING FOOD OR MEDICINES ORALLY; BABY COMFORTERS; DEVICES FOR RECEIVING SPITTLE
    • A61J1/00Containers specially adapted for medical or pharmaceutical purposes
    • A61J1/03Containers specially adapted for medical or pharmaceutical purposes for pills or tablets
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61JCONTAINERS SPECIALLY ADAPTED FOR MEDICAL OR PHARMACEUTICAL PURPOSES; DEVICES OR METHODS SPECIALLY ADAPTED FOR BRINGING PHARMACEUTICAL PRODUCTS INTO PARTICULAR PHYSICAL OR ADMINISTERING FORMS; DEVICES FOR ADMINISTERING FOOD OR MEDICINES ORALLY; BABY COMFORTERS; DEVICES FOR RECEIVING SPITTLE
    • A61J3/00Devices or methods specially adapted for bringing pharmaceutical products into particular physical or administering forms
    • A61J3/07Devices or methods specially adapted for bringing pharmaceutical products into particular physical or administering forms into the form of capsules or similar small containers for oral use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Child & Adolescent Psychology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Chemical & Material Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템에 관한 것이다.
본 발명의 일 측면에 따르면, 사용자 단말기에 의해 하나 이상의 객체를 포함하고 있는 이미지를 입력 받는 단계; 이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계; 및 이미지 분석 서버에 의해 남아 있는 박스의 개수를 카운팅하고, 박스에 대응하는 개수를 사용자 단말기에 전송하는 단계를 포함하는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.
The present invention relates to an image analysis server, an object counting method and an object counting system using the image analysis server.
According to one aspect of the present invention, the step of receiving an image including one or more objects by the user terminal; forming a plurality of boxes for each of the objects by an image analysis server, and deleting the remaining boxes leaving only the boxes corresponding to the object among the plurality of boxes; and counting the number of remaining boxes by the image analysis server and transmitting the number corresponding to the box to the user terminal.

Description

이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템 {Image analysis server, object counting method using the same and object counting system}Image analysis server, object counting method using the image analysis server, and object counting system {Image analysis server, object counting method using the same and object counting system}

본 발명은 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템에 관한 것이다.The present invention relates to an image analysis server, an object counting method and an object counting system using the image analysis server.

고령화 사회로 진입함에 따라 병원을 찾는 환자의 수요가 증가하고 있으며, 그에 따라 투약되는 약의 종류나 개수도 증가하고 있다. BACKGROUND As we enter an aging society, the demand for patients visiting hospitals is increasing, and accordingly, the types and number of drugs to be administered are also increasing.

그러나, 소규모 약국이나 병원에서 환자에게 알약을 투약하거나 재고조사를 하는 경우 수작업으로 알약의 개수를 세어야 하는 불편함이 있다. 뿐만 아니라, 사람이 수작업으로 알약을 세는 경우, 정해진 개수의 약보다 적게 투약되거나 많게 투약되는 실수가 많이 발생하고 있다.However, when administering pills to patients or conducting inventory at small pharmacies or hospitals, it is inconvenient to manually count the number of pills. In addition, when a person manually counts pills, many mistakes occur in administering less than or more than a predetermined number of pills.

이러한 문제점을 해소하고자 대규모 약국이나 병원에서는 알약을 세는 장치를 도입하여 사용하고 있으나, 이러한 장치는 고가여서 소규모 약국이나 병원에서는 현실적으로 구매가 어렵다는 문제점이 있다. In order to solve this problem, large-scale pharmacies and hospitals introduce and use pill-counting devices, but these devices are expensive and thus difficult to purchase in small pharmacies and hospitals.

특허문헌: 한국공개공보 10-2016-0057187 (2016.05.23 공개)Patent Document: Korean Publication No. 10-2016-0057187 (published on May 23, 2016)

본 발명의 실시예들은 상기와 같은 문제를 해결하기 위해 제안된 것으로서, 복잡하고 고가의 장비의 도입없이 간단하게 객체(예를 들어, 알약)의 개수를 카운팅 할 수 있는 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템을 제공하고자 한다. Embodiments of the present invention are proposed to solve the above problems, and an image analysis server and an image analysis server capable of simply counting the number of objects (eg, pills) without introducing complex and expensive equipment. It is intended to provide an object counting method and an object counting system using

또한, 밀접하게 붙어 있는 객체(예를 들어, 알약)의 개수를 정확하게 카운팅 할 수 있는 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템을 제공하고자 한다.In addition, it is intended to provide an image analysis server capable of accurately counting the number of closely attached objects (eg, pills), an object counting method using the image analysis server, and an object counting system.

본 발명의 일 실시예에 따르면, 사용자 단말기에 의해 하나 이상의 객체를 포함하고 있는 이미지를 입력 받는 단계; 이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계; 및 이미지 분석 서버에 의해 남아 있는 박스의 개수를 카운팅하고, 박스에 대응하는 개수를 사용자 단말기에 전송하는 단계를 포함하는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다. According to one embodiment of the present invention, the step of receiving an image including one or more objects by the user terminal; forming a plurality of boxes for each of the objects by an image analysis server, and deleting the remaining boxes leaving only the boxes corresponding to the object among the plurality of boxes; and counting the number of remaining boxes by the image analysis server and transmitting the number corresponding to the box to the user terminal.

또한, 이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계는, 박스 설정모듈에 의해 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 단계를 포함하는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, the step of forming a plurality of boxes for each of the objects by the image analysis server, leaving only the boxes corresponding to the number of boxes among the plurality of boxes and deleting the remaining boxes, the object recognition by the box setting module An object counting method using an image analysis server including forming a plurality of boxes for each of the objects by executing a deep learning model may be provided.

또한, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 단계 이후에,제1 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘이 실행되는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, after the step of forming a plurality of boxes for each object, an object counting method using an image analysis server in which an algorithm for removing some of the plurality of boxes formed in each object by the first box removal module is executed. this can be provided.

또한, 제1 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘이 실행된 후, 제2 박스 제거모듈에 의해 하나의 객체에 하나의 박스만을 남기고 나머지 박스를 삭제하는 단계가 실행되는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, after an algorithm for removing some of the plurality of boxes formed in each object is executed by the first box removal module, leaving only one box in one object and deleting the remaining boxes by the second box removal module. An object counting method using an image analysis server in which is executed may be provided.

또한, 상기 제2 박스 제거모듈에 의해 하나의 객체에 의해 하나의 박스만을 남기고 나머지 박스를 단계는, 기준 박스 설정부에 의해 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정하는 단계; 집합 박스 설정부에 의해 상기 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정하는 단계; 비교 공간 설정부에 의해 상기 기준 박스가 차지하는 공간 중 상기 집합 박스와 겹치는 공간을 제거하여, 상기 기준 박스에서 남아 있는 공간을 비교 공간으로 설정하는 단계; 알약 계수 비교에 의한 박스 제거부에 의해 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 상기 기준 박스로 설정된 박스를 남기고, 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 상기 기준 박스로 설정된 박스를 제거하는 단계를 포함하는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, the step of leaving only one box by one object by the second box removal module and setting the remaining boxes as a reference box among the remaining boxes by a reference box setting unit; setting an aggregation box that is a set of boxes overlapping the reference box by an aggregation box setting unit; setting a space remaining in the reference box as a comparison space by removing a space overlapping the aggregation box among spaces occupied by the reference box by a comparison space setting unit; When the ratio of the comparison space and the space occupied by the standard box is greater than the approximate coefficient by the box removal unit by the coarse coefficient comparison, the box set as the standard box is left, and the ratio of the space occupied by the comparison space and the standard box An object counting method using an image analysis server may be provided, including the step of removing a box set as the reference box when the approximate coefficient is smaller than the approximate coefficient.

또한, 상기 박스 설정모듈에 의해 실행되는 객체 인식 딥러닝 모델은 RetinaNet인 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, an object counting method using an image analysis server in which the object recognition deep learning model executed by the box setting module is RetinaNet may be provided.

또한, 상기 제1 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘은 NMS(non maximum suppression)인 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, an object counting method using an image analysis server may be provided in which an algorithm for removing some of a plurality of boxes formed in each object by the first box removal module is non-maximum suppression (NMS).

또한 상기 알약 계수는 상기 객체의 크기 및 형상에 따라 데이터베이스에 저장되어 있고, 알약 계수 판단모듈은 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는 이미지 분석 서버를 이용한 객체 카운팅 방법이 제공될 수 있다.In addition, the pill count is stored in the database according to the size and shape of the object, and the pill count determination module performs object counting using an image analysis server matching the pill count stored in the database according to the size and shape of the object shown in the image. A method may be provided.

본 발명의 다른 실시예에 따르면, 사용자 단말기로부터 하나 이상의 객체를 포함하는 이미지를 입력받고, 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하고, 남아 있는 박스의 개수를 카운팅하여 박스에 대응하는 개수를 사용자 단말기에 전송하는 이미지 분석 서버가 제공될 수 있다.According to another embodiment of the present invention, an image including one or more objects is received from a user terminal, a plurality of boxes are formed for each of the objects, and only a number of boxes corresponding to the objects are selected from among the plurality of boxes. An image analysis server may be provided that deletes remaining boxes, counts the number of remaining boxes, and transmits the number corresponding to the boxes to the user terminal.

또한, 상기 이미지 분석 서버는, 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 박스 설정모듈; 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘을 실행할 수 있는 제1 박스 제거모듈; 및 하나의 객체에 대해 하나의 박스만을 남기고 나머지 박스를 삭제하는 제2 박스 제거모듈을 포함하는 이미지 분석 서버가 제공될 수 있다.In addition, the image analysis server may include a box setting module for executing an object recognition deep learning model to form a plurality of boxes for each of the objects; A first box removal module capable of executing an algorithm for removing some of a plurality of boxes formed in each object; and a second box removal module for leaving only one box for one object and deleting the other boxes.

또한, 상기 제2 박스 제거모듈은, 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정하는 기준 박스 설정부; 상기 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정하는 집합 박스 설정부; 상기 기준 박스가 차지하는 공간 중 상기 집합 박스와 겹치는 공간을 제거하여, 상기 기준 박스에서 남아 있는 공간을 비교 공간으로 설정하는 비교 공간 설정부; 및 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 상기 기준 박스로 설정된 박스를 남기고, 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 상기 기준 박스로 설정된 박스를 제거하는 알약 계수 비교에 의한 박스 제거부를 포함하는 이미지 분석 서버가 제공될 수 있다.In addition, the second box removal module, a reference box setting unit for setting an arbitrary box among the remaining boxes as a reference box; an aggregation box setting unit that sets an aggregation box that is a set of boxes overlapping the reference box; a comparison space setting unit configured to set a space remaining in the reference box as a comparison space by removing a space overlapping the aggregation box from among spaces occupied by the reference box; and when the ratio of the comparison space to the space occupied by the reference box is greater than the Orbit coefficient, leaving the box set as the reference box, and when the ratio of the comparison space to the space occupied by the reference box is less than the Orbit coefficient, the criterion An image analysis server including a box removal unit by pill coefficient comparison that removes a box set as a box may be provided.

또한, 상기 이미지 분석 서버는, 상기 객체의 크기 및 형상에 따른 알약 계수를 저장하고 있는 데이터베이스; 및 상기 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는 알약 계수 판단모듈을 더 포함하는 이미지 분석 서버가 제공될 수 있다.In addition, the image analysis server may include a database storing pill coefficients according to the size and shape of the object; and a pill count determining module matching the pill count stored in the database according to the size and shape of the object appearing in the image.

본 발명의 또 다른 실시예에 따르면, 하나 이상의 객체를 포함하고 있는 이미지를 입력 받을 수 있는 사용자 단말기; 및 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하고, 남아 있는 박스를 카운팅할 수 있는 상술한 이미지 분석 서버를 포함하는 객체 카운팅 시스템이 제공될 수 있다.According to another embodiment of the present invention, a user terminal capable of receiving an image including one or more objects; and the above-described image analysis server capable of forming a plurality of boxes for each of the objects, deleting the remaining boxes except for the boxes corresponding to the number of boxes among the plurality of boxes, and counting the remaining boxes. An object counting system may be provided.

본 발명의 실시예들에 따른 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템은 복잡하고 고가의 장비의 도입없이 간단하게 객체(예를 들어, 알약)의 개수를 카운팅 할 수 있는 효과가 있다. An image analysis server according to embodiments of the present invention, an object counting method using the image analysis server, and an object counting system can simply count the number of objects (eg, pills) without introducing complicated and expensive equipment. It works.

또한, 밀접하게 붙어 있는 객체(예를 들어, 알약)의 개수를 정확하게 카운팅 할 수 있는 장점이 있다. In addition, there is an advantage in that the number of closely attached objects (eg, pills) can be accurately counted.

도 1은 본 발명의 일 실시예에 따른 객체 카운팅 시스템을 개략적으로 나타내는 도면이다.
도 2는 도 1의 이미지 분석 서버의 구성을 개략적으로 나타내는 도면이다.
도 3은 도 2의 이미지 분석 서버의 제2 박스 제거모듈의 하위 구성을 개략적으로 나타내는 도면이다.
도 4는 도 1의 객체 카운팅 시스템에 의해 실행되는 이미지 분석 서버를 이용한 객체 카운팅 방법을 개략적으로 나타내는 순서도이고,
도 5는 도 4의 S1 내지 S3 단계 중 S2 단계에 대해 보다 자세히 도시한 순서도이다.
도 6는 도 5의 S32 내지 S36 단계 중 S36 단계에 대해 보다 자세히 도시한 순서도이다.
도 7는 도 1에 도시된 사용자 단말기에 의해 객체를 입력받는 것을 개념적으로 나타낸 도면이다.
도 8는 도 1의 이미지 분석 서버에 의해 객체 인식 딥러닝 모델인 RetinaNet이 실행되어 하나의 알약에 대해 복수 개의 박스가 형성된 것을 개념적으로 나타낸 도면이다.
도 9은 도 1의 이미지 분석 서버에 의해 박스를 제거하는 알고리즘인 NMS(non maximum suppression)가 실행됨으로써, 하나의 알약(객체)에 형성된 박스를 개념적으로 나타낸 도면이다.
도 10은 도 6에 도시된 S36 단계의 이해를 돕기 위해 개념적으로 도시한 도면이다.
도 11은 도 1의 객체 카운팅 시스템을 이용하여 복수 개의 이미지를 이미지 분석 서버로 전송하고, 복수 개의 이미지 각각에 포함된 하나 이상의 객체를 카운팅하는 순서도를 개략적으로 나타내는 도면이고,
도 12는 단일 분석 모드와 멀티 분석 모드인 경우 도 1의 사용자 단말기에 나타나는 화면을 나타내는 도면이다.
도 13은 멀티 분석 모드인 경우 이미지 분석 서버에 의해 분석이 완료된 복수 개의 이미지 각각에 포함된 객체의 개수 및 종류가 도 1의 사용자 단말기의 화면에 나타나는 도면이다.
도 14는 도 1의 사용자 단말기가 안착될 수 있는 멀티 분석 보조기구를 개략적으로 나타내는 도면이다.
도 15는 멀티 분석 모드를 용이하게 실시하기 위한 도 14의 멀티 분석 보조기구 및 이동벨트를 개략적으로 나타내는 도면이다.
1 is a diagram schematically illustrating an object counting system according to an embodiment of the present invention.
Figure 2 is a diagram schematically showing the configuration of the image analysis server of Figure 1;
Figure 3 is a diagram schematically showing the sub-configuration of the second box removal module of the image analysis server of Figure 2;
4 is a flowchart schematically illustrating an object counting method using an image analysis server executed by the object counting system of FIG. 1;
FIG. 5 is a flowchart illustrating in detail step S2 among steps S1 to S3 of FIG. 4 .
FIG. 6 is a flowchart illustrating in more detail step S36 among steps S32 to S36 of FIG. 5 .
7 is a diagram conceptually illustrating receiving an object through the user terminal shown in FIG. 1 .
FIG. 8 conceptually shows that a plurality of boxes are formed for one pill by executing RetinaNet, an object recognition deep learning model, by the image analysis server of FIG. 1 .
FIG. 9 conceptually shows a box formed in one pill (object) by executing NMS (non maximum suppression), which is an algorithm for removing boxes by the image analysis server of FIG. 1 .
FIG. 10 is a conceptual diagram to aid understanding of step S36 shown in FIG. 6 .
11 is a diagram schematically illustrating a flowchart of transmitting a plurality of images to an image analysis server and counting one or more objects included in each of the plurality of images using the object counting system of FIG. 1;
12 is a diagram illustrating a screen displayed on the user terminal of FIG. 1 in case of a single analysis mode and a multi-analysis mode.
FIG. 13 is a diagram showing the number and type of objects included in each of a plurality of images analyzed by the image analysis server on the screen of the user terminal of FIG. 1 in case of multi-analysis mode.
FIG. 14 is a diagram schematically illustrating a multi-analysis auxiliary device on which the user terminal of FIG. 1 can be seated.
FIG. 15 is a diagram schematically illustrating the multi-analysis auxiliary device and moving belt of FIG. 14 for easily performing the multi-analysis mode.

도 1은 본 발명의 일 실시예에 따른 객체 카운팅 시스템(1)을 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating an object counting system 1 according to an embodiment of the present invention.

도 1을 참조하면, 객체 카운팅 시스템(1)은 이미지 분석 서버(10)와 사용자 단말기(20)와 관리자 단말기(30)를 포함할 수 있다. Referring to FIG. 1 , an object counting system 1 may include an image analysis server 10 , a user terminal 20 and a manager terminal 30 .

여기서, 이미지 분석 서버(10)와 사용자 단말기(20)와 관리자 단말기(30)는 서로 독립적인 장치로 제공되어 통신망(40)을 통해 데이터 통신하거나, 또는 이미지 분석 서버(10)와 관리자 단말기(30)는 하나의 물리적인 장치로 구성되어 직접 데이터 통신 가능하게 제공될 수 있다. Here, the image analysis server 10, the user terminal 20, and the manager terminal 30 are provided as independent devices and communicate data through the communication network 40, or the image analysis server 10 and the manager terminal 30 ) is composed of one physical device and may be provided for direct data communication.

본 실시예에서는 이미지 분석 서버(10)와 사용자 단말기(20)와 관리자 단말기(30)는 별개의 독립적인 장치로 제공되는 것을 예로 들어 설명한다. In the present embodiment, the image analysis server 10, the user terminal 20, and the manager terminal 30 are provided as separate and independent devices as an example.

본 실시예의 객체 카운팅 시스템(1)은 이미지에 포함된 객체의 개수를 정확하게 카운팅할 수 있는 시스템으로 이해될 수 있다. The object counting system 1 of this embodiment can be understood as a system capable of accurately counting the number of objects included in an image.

구체적으로, 사용자는 사용자 단말기(20)를 통해 객체를 촬영하면, 촬영된 객체를 포함하는 이미지는 이미지 분석 서버(10)에 전송되고, 이미지 분석 서버(10)에 의해 기 설정된 알고리즘을 거쳐 이미지에 나타난 객체의 개수가 카운팅될 수 있다. Specifically, when the user photographs an object through the user terminal 20, the image including the photographed object is transmitted to the image analysis server 10, and the image is converted into an image through a preset algorithm by the image analysis server 10. The number of displayed objects may be counted.

본 실시예에서 객체는 일정 형상을 갖는 알약인 것을 예로 들어 설명한다. 사용자 단말기(20)에 의해 촬영된 객체가 알약인 경우, 본 실시예의 객체 카운팅 시스템(1)은 약국 및 병원에서 사용 가능한 알약의 개수를 카운팅 하는 시스템으로 이해될 수 있다. In this embodiment, the object is described as an example of a pill having a certain shape. If the object photographed by the user terminal 20 is a pill, the object counting system 1 of this embodiment may be understood as a system for counting the number of pills usable in pharmacies and hospitals.

다만, 본 발명의 사상은 이에 한정되지 않으며, 객체는 일정 형상을 갖는 모든 물건을 포함할 수 있다. However, the spirit of the present invention is not limited thereto, and the object may include any object having a certain shape.

이미지 분석 서버(10)는 사용자 단말기(20)로부터 이미지 데이터를 수신하고, 이미지에 나타난 객체의 개수를 카운팅하는데 필요한 데이터를 처리하는 서버로 이해될 수 있다. The image analysis server 10 may be understood as a server that receives image data from the user terminal 20 and processes data necessary for counting the number of objects appearing in the image.

하나의 이미지에 포함된 객체는 동일한 크기 및 형상을 갖는 동일한 종류의 객체일 수 있다. 즉, 이미지 분석 서버(10)는 하나의 이미지에 포함된 동일한 객체를 카운팅 할 수 있다. Objects included in one image may be objects of the same type having the same size and shape. That is, the image analysis server 10 may count the same object included in one image.

다만, 본 발명의 사상은 이에 한정되는 것은 아니며, 하나의 이미지에 포함된 객체는 서로 다른 크기 및 형상을 갖는 서로 다른 종류의 객체일 수 있으며, 이 경우 이미지 분석 서버(10)는 하나의 이미지에 포함된 서로 다른 종류의 객체를 카운팅 할 수도 있다. However, the spirit of the present invention is not limited thereto, and the objects included in one image may be different types of objects having different sizes and shapes. In this case, the image analysis server 10 is included in one image. You can also count different types of objects included.

사용자 단말기(20)는 후술하는 객체 플레이트에 놓여진 객체를 촬영하여 이미지로 나타낼 수 있다. The user terminal 20 may photograph an object placed on an object plate, which will be described later, and display it as an image.

또한, 사용자 단말기(20)는 이미지 분석 서버(10)와 통신 가능한 장치로서, 이동형 단말 또는 컴퓨팅 장치로 구현되는 고정형 단말일 수 있다. In addition, the user terminal 20 is a device capable of communicating with the image analysis server 10, and may be a mobile terminal or a fixed terminal implemented as a computing device.

예를 들어, 사용자 단말기(20)는 객체를 촬영할 수 있는 카메라를 포함하는 스마트폰, 노트북, 태블릿 PC, 웨어러블 기기, 컴퓨터 등을 포함할 수 있다. 다만, 사용자 단말기(20)는 이러한 예에 한정되지 않으며, 별도의 카메라로 제공될 수도 있다. For example, the user terminal 20 may include a smart phone, a laptop computer, a tablet PC, a wearable device, a computer, and the like including a camera capable of photographing an object. However, the user terminal 20 is not limited to this example and may be provided as a separate camera.

관리자 단말기(30)는 이미지 분석 서버(10)를 통해 사용자 단말기(20)에 제공하는 기능을 업데이트하거나, 일정 명령을 입력할 수 있는 장치로 이해될 수 있다. 예를 들어, 관리자 단말기(30)는 이미지 분석 서버(10)와 통신 가능한 스마트폰, 노트북, 태블릿 PC, 웨어러블 기기, 컴퓨터 등을 포함할 수 있다. The manager terminal 30 may be understood as a device capable of updating functions provided to the user terminal 20 through the image analysis server 10 or inputting a certain command. For example, the manager terminal 30 may include a smart phone, a laptop computer, a tablet PC, a wearable device, and a computer capable of communicating with the image analysis server 10 .

도 2는 도 1의 이미지 분석 서버(10)의 구성을 개략적으로 나타내는 도면이고, 도 3은 도 2의 이미지 분석 서버(10)의 제2 박스 제거모듈(330)의 하위 구성을 개략적으로 나타내는 도면이다.2 is a diagram schematically showing the configuration of the image analysis server 10 of FIG. 1, and FIG. 3 is a diagram schematically showing the sub-configuration of the second box removal module 330 of the image analysis server 10 of FIG. am.

도 2 및 도 3을 참조하면 이미지 분석 서버(10)는 메모리(200), 프로세서(300) 및 통신 모듈(400)을 포함할 수 있다. Referring to FIGS. 2 and 3 , the image analysis server 10 may include a memory 200 , a processor 300 and a communication module 400 .

프로세서(300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(200) 또는 통신 모듈(400)로부터 프로세서(300)로 제공될 수 있다. 그 외에 명령은 이미지 분석 서버(10)를 구성하는 각각의 구성요소들 간의 통신 채널을 통해 프로세서(300)로 제공될 수 있다.The processor 300 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processor 300 from the memory 200 or the communication module 400 . In addition, commands may be provided to the processor 300 through a communication channel between respective components constituting the image analysis server 10 .

프로세서(300)는 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하기 위해 필요한 데이터의 입출력, 데이터의 처리, 데이터의 관리, 통신망(40)을 이용한 통신 등 다양한 기능을 수행할 수 있다. 이를 실행하기 위한 프로세서(300)의 구체적인 구성요소들은 후술한다. The processor 300 forms a plurality of boxes for an object, and inputs/outputs data necessary for deleting the remaining boxes leaving only the number of boxes corresponding to the object among the plurality of boxes, data processing, data management, communication network ( 40) can be used to perform various functions such as communication. Specific components of the processor 300 for executing this will be described later.

또한, 프로세서(300)의 구성요소들은 딥러닝으로 미리 학습된 인공신경망을 포함할 수 있다. 예를 들어, 프로세서(300)의 구성요소들 중 적어도 하나는 후술하는 RetinaNet을 실현하는 인공신경망일 수 있으며, 이에 대한 자세한 설명은 후술한다.In addition, components of the processor 300 may include an artificial neural network pre-learned through deep learning. For example, at least one of the components of the processor 300 may be an artificial neural network realizing RetinaNet, which will be described in detail later.

메모리(200)는 컴퓨터에서 판독 가능한 기록매체로서 RAM(Random Access Memory), ROM(Read Only Memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. The memory 200 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive.

프로세서(300)는 메모리(200)에 저장된 프로그램 코드를 로딩하여 객체를 카운팅 하는데 이용하거나, 객체의 종류를 판단하는데 이용할 수 있다. 이러한 프로그램 코드는 별도의 컴퓨터에서 판독 가능한 기록 매체(예를 들어 DVD, 메모리 카드 등)로부터 로딩되거나, 다른 장치로부터 통신 모듈(400)을 통해 전달되어 메모리(200)에 저장될 수 있다. The processor 300 may load program codes stored in the memory 200 and use them to count objects or determine the types of objects. These program codes may be loaded from a recording medium (for example, a DVD, memory card, etc.) readable by a separate computer, or transferred from another device through the communication module 400 and stored in the memory 200 .

또한, 메모리(200)에는 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하기 위해 필요한 데이터를 저장할 수 있는 데이터베이스(210)가 제공될 수 있다. In addition, the memory 200 will be provided with a database 210 capable of storing data necessary for forming a plurality of boxes for an object and deleting the remaining boxes leaving only the boxes corresponding to the object among the plurality of boxes. can

통신 모듈(400)은 통신망(40)을 통해 사용자 단말기(20)와 이미지 분석 서버(10), 또는 관리자 단말기(30)와 이미지 분석 서버(10)가 서로 통신하기 위한 기능을 제공할 수 있다. The communication module 400 may provide a function for the user terminal 20 and the image analysis server 10 or the manager terminal 30 and the image analysis server 10 to communicate with each other through the communication network 40 .

이미지 분석 서버(10)는 물리적인 구성인 박스 설정모듈(310), 제1 박스 제거모듈(320), 제2 박스 제거모듈(330), 알약 계수 판단모듈(340), 카운팅 모듈(350), 및 종류 판단모듈(360)을 포함할 수 있다. 또한, 제2 박스 제거모듈(330)은 기준 박스 설정부(331), 집합 박스 설정부(332), 비교 공간 설정부(333) 및 알약 계수 비교에 의한 박스 제거부(334)를 포함할 수 있으며, 이에 대한 자세한 설명은 후술한다The image analysis server 10 includes a box setting module 310 as a physical component, a first box removal module 320, a second box removal module 330, a pill counting module 340, a counting module 350, and a type determination module 360. In addition, the second box removal module 330 may include a reference box setting unit 331, an aggregation box setting unit 332, a comparison space setting unit 333, and a box removal unit 334 by comparing pill counts. , and a detailed description of this will be given later.

도 4는 도 1의 객체 카운팅 시스템(1)에 의해 실행되는 이미지 분석 서버를 이용한 객체 카운팅 방법을 개략적으로 나타내는 순서도이고, 도 5는 도 4의 S1 내지 S3 단계 중 S2 단계에 대해 보다 자세히 도시한 순서도이고, 도 6는 도 5의 S32 내지 S36 단계 중 S36 단계에 대해 보다 자세히 도시한 순서도이고, 도 7는 도 1에 도시된 사용자 단말기(20)에 의해 객체를 입력받는 것을 개념적으로 나타낸 도면이고, 도 8는 도 1의 이미지 분석 서버(10)에 의해 객체 인식 딥러닝 모델인 RetinaNet이 실행되어 하나의 알약에 대해 복수 개의 박스가 형성된 것을 개념적으로 나타낸 도면이며, 도 9은 도 1의 이미지 분석 서버(10)에 의해 박스를 제거하는 알고리즘인 NMS(non maximum suppression)가 실행됨으로써, 하나의 알약(객체)에 형성된 박스를 개념적으로 나타낸 도면이다. FIG. 4 is a flowchart schematically illustrating an object counting method using an image analysis server executed by the object counting system 1 of FIG. 1 , and FIG. 5 is a more detailed view of step S2 among steps S1 to S3 of FIG. 4 . 6 is a flowchart showing step S36 in more detail among steps S32 to S36 of FIG. 5, and FIG. 7 is a diagram conceptually showing that an object is received by the user terminal 20 shown in FIG. , FIG. 8 conceptually shows that a plurality of boxes are formed for one pill by executing RetinaNet, an object recognition deep learning model, by the image analysis server 10 of FIG. 1, and FIG. It is a diagram conceptually showing a box formed in one pill (object) by executing non-maximum suppression (NMS), which is an algorithm for removing boxes by the server 10.

도 4및 도 9를 참조하면, 이미지 분석 서버를 이용한 객체 카운팅 방법은 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 이미지를 입력 받는 단계(S1); 이미지 분석 서버(10)에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계(S2); 이미지 분석 서버(10)에 의해 남아 있는 박스를 카운팅하고, 박스에 대응하는 개수를 사용자 단말기(20)에 전송하는 단계(S3)를 포함할 수 있다.Referring to FIGS. 4 and 9 , the object counting method using an image analysis server includes the steps of receiving an image including one or more objects by a user terminal 20 (S1); Forming a plurality of boxes for each of the objects by the image analysis server 10 and deleting the remaining boxes leaving only the number of boxes corresponding to the object among the plurality of boxes (S2); Counting the remaining boxes by the image analysis server 10 and transmitting the number corresponding to the boxes to the user terminal 20 (S3).

이미지 분석 서버(10)에 의해 카운팅될 수 있는 하나의 이미지에 포함된 객체는 동일한 크기 및 형상을 갖는 동일한 종류의 객체, 또는 서로 다른 크기 및 형상을 갖는 복수 개의 종류의 객체를 포함할 수 있다. Objects included in one image that can be counted by the image analysis server 10 may include objects of the same type having the same size and shape, or a plurality of types of objects having different sizes and shapes.

본 실시예에서는 이미지 분석 서버(10)에 의해 카운팅되는 하나의 이미지에 포함된 객체는 동일한 종류의 객체인 것을 예를 들어 설명한다.In this embodiment, an object included in one image counted by the image analysis server 10 is an object of the same type, for example.

또한, 이하에서는 객체는 알약인 것을 예를 들어 상술한 과정에 대해 보다 자세히 설명한다. In addition, hereinafter, the above-described process will be described in more detail by taking that the object is a pill as an example.

먼저, 사용자 단말기(20)에 의해 하나 이상의 객체(예를 들어, 알약)를 포함하고 있는 이미지를 입력 받는 단계(S1)에 대해 구체적으로 설명하면 다음과 같다. First, the step (S1) of receiving an image including one or more objects (eg, pills) by the user terminal 20 will be described in detail as follows.

사용자는 객체 플레이트(50)에 동일한 크기 및 형상을 갖는 동일한 종류의 알약을 놓고(도 7의(a) 참조), 사용자 단말기(20)를 통해 알약에 대한 이미지를 촬영할 수 있다(도 7의(b) 참조).The user may place the same type of pill having the same size and shape on the object plate 50 (see (a) of FIG. 7) and take an image of the pill through the user terminal 20 (see (a) of FIG. 7). see b)).

이때, 객체 플레이트(50)에는 알약이 포개지지 않게 놓여야 한다.At this time, the pills should be placed on the object plate 50 so that they do not overlap.

다만 본 발명의 사상은 이에 한정되는 것은 아니며, 객체 카운팅 시스템(1)은 후술하는 멀티 분석 보조기구(60) 또는 이미지 분석 서버(10)에 의해 알약이 포개짐을 경고하는 기능을 포함하고 있을 수 있다. 이에 대한 자세한 설명은 후술한다. However, the concept of the present invention is not limited thereto, and the object counting system 1 may include a function of warning that pills are overlapped by the multi-analysis aid 60 or the image analysis server 10, which will be described later. . A detailed description of this will be given later.

객체 플레이트(50)는 알약이 놓여질 수 있는 평평한 판일 수 있고, 알약과 대비되는 색상 또는 알약과 다른 색상으로 제공될 수 있다. 예를 들어, 알약이 흰색으로 제공되는 경우, 객체 플레이트(50)는 검정색으로 제공될 수 있다. The object plate 50 may be a flat plate on which pills can be placed, and may be provided in a color contrasting with the pill or a color different from that of the pill. For example, if the pill is provided in white, the object plate 50 may be provided in black.

그 후, 사용자 단말기(20)에 의해 촬영된 알약을 포함하고 있는 이미지는 이미지 분석 서버(10)로 전송될 수 있다. After that, the image including the pill photographed by the user terminal 20 may be transmitted to the image analysis server 10 .

본 실시예에서는 사용자가 사용자 단말기(20)를 파지하여 이미지를 촬영하는 것을 예로 들어 설명하나, 본 발명의 사상은 이에 한정되는 것은 아니며 사용자 단말기(20)를 후술하는 멀티 분석 보조기구(60)에 놓고 이미지를 촬영할 수도 있으며(도 14 참조), 이에 대한 자세한 설명은 후술한다. In the present embodiment, a case where a user holds the user terminal 20 to capture an image is described as an example, but the spirit of the present invention is not limited thereto, and the user terminal 20 is attached to the multi-analysis assistant 60 described below. It is also possible to take an image while placing it (refer to FIG. 14), and a detailed description thereof will be described later.

다음으로, 이미지 분석 서버(10)에 의해 각각의 상기 객체(예를 들어, 알약)에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계(S2)에 대해 구체적으로 설명하면 다음과 같다. Next, a plurality of boxes are formed for each of the objects (eg, pills) by the image analysis server 10, and only the boxes corresponding to the object are left among the plurality of boxes, and the remaining boxes are deleted. The detailed description of the step (S2) is as follows.

이미지 분석 서버(10)는 사용자 단말기(20)로부터 동일한 종류의 복수 개의 알약를 포함하고 있는 이미지를 전송받을 수 있다. The image analysis server 10 may receive images including a plurality of pills of the same type from the user terminal 20 .

그 후, 이미지 분석 서버(10)의 박스 설정모듈(310)에 의해 하나의 객체에 대해 복수 개의 박스를 형성할 수 있다(S32). Thereafter, a plurality of boxes may be formed for one object by the box setting module 310 of the image analysis server 10 (S32).

예를 들어, 박스 설정모듈(310)은 객체 인식 딥러닝 모델인 RetinaNet을 실행하는 인공 신경망으로 제공될 수 있다. RetinaNet이 실행되는 경우, 각각의 알약에 대해 복수 개의 박스를 형성할 수 있다. 다만, 박스 설정모듈(310)에 의해 실행될 수 있는 객체 인식 딥러닝 모델은 RetinaNet에 한정되지 않으며, 박스 설정모듈(310)은 YOLO 중 CenterNet 하나 이상을 실행하는 것을 포함할 수 있다. For example, the box setting module 310 may be provided as an artificial neural network that executes RetinaNet, which is an object recognition deep learning model. When RetinaNet is running, multiple boxes can be formed for each pill. However, the object recognition deep learning model that can be executed by the box setting module 310 is not limited to RetinaNet, and the box setting module 310 may include executing one or more CenterNet among YOLO.

RetinaNet을 이용하는 경우 박스를 사용하여 객체를 검출하는 방법에서 신경 회로망을 학습함에 있어 객체 샘플의 수가 배경의 샘플의 수에 비하여 매우 적고 이로 인하여 나타나는 문제점을 해결할 수 있다. In the case of using RetinaNet, the number of object samples is very small compared to the number of background samples in learning the neural network in the method of detecting an object using a box, and problems caused by this can be solved.

구체적으로, RetinaNet은 backbone 네트워크와 두개의 task-specific subnetworks로 구성된 통합된 하나의 네트워크일 수 있다. backbone 네트워크는 입력된 전체 이미지에 대해서 convolutional feature map을 계산하는 역할을 수행한다. 첫번째 subnet은 backbone의 결과에서 convolutional 하게 객체 구분(object classification)을 수행하는 단계이며, 두번째 subnet은 convolutional하게 박스(bounding box)를 추정하는 역할을 수행할 수 있다.Specifically, RetinaNet may be an integrated network composed of a backbone network and two task-specific subnetworks. The backbone network plays a role in calculating convolutional feature maps for all input images. The first subnet is a step of performing object classification in a convolutional way from the results of the backbone, and the second subnet can perform a role of convolutionally estimating a bounding box.

도 8은 박스 설정모듈(310)에 의해 객체 인식 딥러닝 모델인 RetinaNet이 실행됨으로써, 하나의 알약(객체)에 대해 복수 개의 박스(B)가 형성된 것을 개념적으로 나타낸 도면이다.FIG. 8 conceptually shows that a plurality of boxes B are formed for one pill (object) by executing RetinaNet, which is an object recognition deep learning model, by the box setting module 310 .

박스 설정모듈(310)에 의해 RetinaNet이 실행되는 경우, 알약이 밀접하게 붙어있는 경우, 하나의 알약에 대해 복수 개의 박스가 형성되는바, 알약의 개수와 박스의 개수가 동일하지 않다. 따라서, 알약이 밀접하게 붙어 있는 경우에도 알약의 개수를 정확하게 카운팅하기 위해서는, RetinaNet이 실행된 후, RetinaNet에 의해 형성된 복수 개의 박스 중 일부를 제거하는 단계를 거쳐야 한다. When RetinaNet is executed by the box setting module 310, when pills are closely attached to each other, a plurality of boxes are formed for one pill, so the number of pills and the number of boxes are not the same. Therefore, in order to accurately count the number of pills even when the pills are closely attached to each other, after RetinaNet is executed, some of the boxes formed by RetinaNet must be removed.

구체적으로, 박스 설정모듈(310)에 의해 RetinaNet이 실행된 후, 이미지 분석 서버(10)의 제1 박스 제거모듈(320)에 의해 하나의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘이 실행될 수 있다(S34). Specifically, after RetinaNet is executed by the box setting module 310, an algorithm for removing some of a plurality of boxes formed in one object by the first box removal module 320 of the image analysis server 10 is executed. It can (S34).

예를 들어, 제1 박스 제거모듈(320)에 의해 실행되는 알고리즘은 NMS(non maximum suppression) 일 수 있다. 여기서, NMS(non maximum suppression)는 현재 픽셀을 기준으로 주변의 픽셀과 비교했을 때, 최대값인 경우는 남기고, 아닐 경우는 제거하는 비최대값 억제 알고리즘으로 이해될 수 있다. For example, an algorithm executed by the first box removal module 320 may be non maximum suppression (NMS). Here, non-maximum suppression (NMS) may be understood as a non-maximum suppression algorithm that retains a maximum value and removes a non-maximum value when comparing a current pixel with neighboring pixels.

도 9는 제1 박스 제거모듈(320)에 의해 박스를 제거하는 알고리즘인 NMS(non maximum suppression)가 실행됨으로써, 하나의 알약(객체)에 형성된 박스를 개념적으로 나타낸다. FIG. 9 conceptually shows a box formed in one pill (object) by executing non-maximum suppression (NMS), which is an algorithm for removing boxes by the first box removal module 320.

NMS(non maximum suppression)가 실행된 후에도, 알약들이 매우 밀접하게 붙어 있는 경우에는, 알약의 개수와 박스의 개수가 다를 수 있다. Even after non-maximum suppression (NMS) is executed, the number of pills and the number of boxes may be different if the pills are very closely attached.

예를 들어, 도 9을 참조하면 매우 밀접하게 붙어 있는 알약 3개에 5개의 박스(B1, B2, B3, B4, B5)가 형성된 것을 알 수 있다. 이 경우, 제2 박스 제거모듈(330)에 하나의 객체에 하나의 박스만을 남기고 나머지 박스를 삭제하는 단계가 실행될 수 있다(S36). 여기서, 제2 박스 제거모듈(330)는 기준 박스 설정부(331), 집합 박스 설정부(332), 비교 공간 설정부(333), 알약 계수 비교에 의한 박스 제거부(334)를 포함할 수 있으며, 이와 같은 구성에 의해 아래와 같이 S36단계가 실행될 수 있다(도 6 참조). For example, referring to FIG. 9 , it can be seen that five boxes (B1, B2, B3, B4, B5) are formed in three pills that are very closely attached. In this case, a step of deleting the remaining boxes while leaving only one box in one object may be executed in the second box removal module 330 (S36). Here, the second box removal module 330 may include a reference box setting unit 331, an aggregation box setting unit 332, a comparison space setting unit 333, and a box removal unit 334 by comparing pill coefficients. And, with this configuration, step S36 can be executed as follows (see FIG. 6).

구체적으로, S36 단계는, 기준 박스 설정부(331)에 의해 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정하는 단계(S361); 집합 박스 설정부(332)에 의해 상기 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정하는 단계(S362); 비교 공간 설정부(333)에 의해 상기 기준 박스가 차지하는 공간 중 상기 집합 박스와 겹치는 공간을 제거하여, 상기 기준 박스에서 남아 있는 공간을 비교 공간으로 설정하는 단계(S363); 알약 계수 비교에 의한 박스 제거부(334)에 의해 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우 상기 기준 박스로 설정된 박스를 남기고, 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우 상기 기준 박스로 설정된 박스를 제거하는 단계(S364)를 포함할 수 있다(도 5 참조).Specifically, step S36 includes setting an arbitrary box among remaining boxes as a reference box by the reference box setting unit 331 (S361); Setting an aggregation box, which is a set of boxes overlapping the reference box, by the aggregation box setting unit 332 (S362); setting a space remaining in the reference box as a comparison space by removing a space overlapping the aggregation box among spaces occupied by the reference box by a comparison space setting unit 333 (S363); When the ratio of the comparison space and the space occupied by the standard box is greater than the approximate coefficient by the box removal unit 334 by the coarse coefficient comparison, the box set as the standard box is left, and the space occupied by the comparison space and the standard box If the ratio of is smaller than the round-robin coefficient, a step (S364) of removing the box set as the reference box may be included (see FIG. 5).

도 10은 도 6에 도시된 S36 단계의 이해를 돕기 위해 개념적으로 도시한 도면이다. FIG. 10 is a conceptual diagram to aid understanding of step S36 shown in FIG. 6 .

도 1 내지 도 10을 참조하여, S36 단계에 대해 예를 들어 설명하면 아래와 같다. Referring to FIGS. 1 to 10, step S36 is described as an example as follows.

제1 박스 제거모듈(320)에 의해 S34 단계가 실행되는 경우, 밀접하게 붙어있는 알약에 대해 알약 보다 많은 개수의 박스가 형성(예를 들어, 3개의 알약에 의해 5개의 박스(B1 내지 B5)가 형성 )될 수 있다. When step S34 is executed by the first box removing module 320, more boxes than pills are formed for closely attached pills (for example, 5 boxes (B1 to B5) by 3 pills) can be formed).

이 경우, 5개의 남아있는 박스(B1 내지 B5) 중에서 임의의 박스인 제1 박스(B1)를 기준 박스로 설정하고, 제1 박스(B1)와 겹치는 박스들인 제2 박스(B2), 제4 박스(B4) 및 제5 박스(B5)를 집합 박스로 설정한다. In this case, the first box (B1), which is an arbitrary box among the five remaining boxes (B1 to B5), is set as the reference box, and the second box (B2), which is overlapping with the first box (B1), and the fourth box (B1). A box B4 and a fifth box B5 are set as aggregation boxes.

그 후, 제1 박스(B1)가 차지하는 공간 중에서 집합 박스(B2, B4, B5)와 겹치는 공간을 제거하여, 남아 있는 공간을 비교 공간(C)으로 설정한다.Thereafter, among the spaces occupied by the first box B1, spaces overlapping the aggregation boxes B2, B4, and B5 are removed, and the remaining space is set as the comparison space C.

그 후, 비교 공간(C)과 기준 박스인 제1 박스(B1)가 차지하는 공간의 비율이 알약 계수 보다 크므로 (비교 공간(C)/기준 박스(B1)가 차지하는 공간) > 알약 계수), 기준 박스로 설정된 제1 박스(B1)는 남아 있을 수 있다.After that, since the ratio of the space occupied by the comparison space (C) and the first box (B1), which is the reference box, is greater than the circular coefficient (the space occupied by the comparison space (C) / reference box (B1) > the circular coefficient), The first box B1 set as the reference box may remain.

여기서, 알약 계수는 객체(알약)가 존재할 수 있는 공간을 나타내는 것으로서, 객체(알약)의 크기 및 형상에 따라 다르게 설정될 수 있으며, 알약 계수는 0 초과 1 미만(예를 들어, 알약 계수는 0.85)의 값으로 설정될 수 있다. Here, the pill coefficient represents a space in which an object (pill) can exist, and may be set differently according to the size and shape of the object (pill), and the pill coefficient is greater than 0 and less than 1 (for example, the pill coefficient is 0.85 ) can be set to the value of

이와 같은, 알약 계수는 이미지 분석 서버(10)의 알약 계수 판단모듈(340)에 의해 설정될 수 있다. Such a pill coefficient may be set by the pill coefficient determination module 340 of the image analysis server 10 .

구체적으로, 객체(알약)의 크기 및 형상에 따른 알약 계수는 데이터베이스(210)에 저장되어 있을 수 있으며, 사용자 단말기(20)로부터 이미지 분석 서버(10)에 객체(알약)을 포함하는 이미지가 전송되는 경우, 알약 계수 판단모듈(340)은 객체(알약)의 크기 및 형상에 따라 데이터베이스(210)에 저장된 알약 계수를 매칭시켜, 객체의 종류에 따라 알약 계수를 다르게 설정할 수 있다. 개념적으로, 알약의 크기가 커질 수록, 알약 계수는 0과 1 사이에서 커질 수 있다.Specifically, the pill count according to the size and shape of the object (pill) may be stored in the database 210, and an image including the object (pill) is transmitted from the user terminal 20 to the image analysis server 10. In this case, the pill coefficient determination module 340 matches the pill coefficient stored in the database 210 according to the size and shape of the object (pill), and sets the pill coefficient differently according to the type of object. Conceptually, as the size of the pill increases, the pill coefficient may increase between 0 and 1.

마찬가지로, 제4 박스(B4)를 기준 박스로 설정하는 경우, 비교 공간과 기준 박스인 제4 박스(B4)가 차지하는 공간의 비율은 알약 계수 보다 작으므로, 기준 박스로 설정된 제4 박스(B4)는 제거될 수 있다. Similarly, when the fourth box B4 is set as the reference box, the ratio of the comparison space to the space occupied by the reference box fourth box B4 is smaller than the approximate coefficient, so the fourth box B4 set as the reference box can be removed.

이와 같이, S361 내지 S364 단계를 거치는 경우, 밀접하게 붙어 있는 객체가 있더라도, 객체의 개수와 박스의 개수를 동일하게 할 수 있다. In this way, in the case of going through steps S361 to S364, even if there are closely attached objects, the number of objects and the number of boxes can be the same.

그 후, 이미지 분석 서버(10)에 의해 남아 있는 박스를 카운팅하고, 박스에 대응하는 개수를 사용자 단말기(20)에 전송하는 단계(S3)가 실행될 수 있다.Thereafter, a step S3 of counting remaining boxes by the image analysis server 10 and transmitting the number corresponding to the boxes to the user terminal 20 may be executed.

구체적으로, 이미지 분석 서버(10)의 카운팅 모듈(350)은 남아 있는 박스를 카운팅하여 사용자 단말기(20)에 전송하고, 사용자 단말기(20)는 카운팅된 개수를 디스플레이하거나, 스피커를 통해 사용자에게 음성으로 전달할 수 있다. Specifically, the counting module 350 of the image analysis server 10 counts the remaining boxes and transmits them to the user terminal 20, and the user terminal 20 displays the counted number or voices the user through a speaker. can be forwarded to

또한, 이미지 분석 서버(10)에 의해 분석된 객체의 종류 및 카운팅된 객체의 개수는 매칭되어 데이터베이스(210)에 저장될 수 있으며, 사용자는 사용자 단말기(20)를 통해 객체의 종류 및 카운팅된 객체의 개수에 대한 이력을 조회할 수도 있다. In addition, the types of objects analyzed by the image analysis server 10 and the number of counted objects may be matched and stored in the database 210, and the user may view the types of objects and counted objects through the user terminal 20. You can also query the history of the number of .

이와 같은 과정을 거쳐, 사용자는 수십개 내지 수만개의 알약에 대해 이미지를 찍어 이미지 분석 서버(10)로 전송하기만 하면, 알약의 정확학 개수가 카운팅되어 사용자에게 알려줄 수 있는바, 약국 또는 병원에서 알약의 재고 조사에 소요되는 시간을 줄 일 수 있다.Through this process, the user only needs to take images of tens to tens of thousands of pills and transmit them to the image analysis server 10, and the exact number of pills can be counted and notified to the user. can reduce the amount of time spent on inventory.

또한, 상술한 프로세서는 사용자 단말기(20)에 어플리케이션 형태로 설치되거나, 웹페이지로 제공될 수 있고, 사용자는 어플리케이션을 다운받거나 웹 페이지에 접속하여, 이미지를 업로드 하기만 하면, 이미지에 포함된 알약의 개수가 사용자에게 자동으로 전달될 수 있다. In addition, the above-described processor may be installed in the user terminal 20 in the form of an application or provided as a web page, and the user downloads the application or connects to the web page and uploads an image, and the pill included in the image The number of may be automatically transmitted to the user.

이하에서는, 상술한 이미지 분석 서버(10)의 하위 구성인 박스 설정모듈(310), 제1 박스 제거모듈(320), 제2 박스 제거모듈(330), 알약 계수 판단모듈(340) 및 카운팅 모듈(350)에 대해 보다 자세히 설명한다.Hereinafter, the box setting module 310, the first box removal module 320, the second box removal module 330, the pill count determination module 340, and the counting module, which are sub-components of the above-described image analysis server 10, are described. (350) will be described in more detail.

상술한 바와 같이 박스 설정모듈(310)은 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성할 수 있다. As described above, the box setting module 310 may execute an object recognition deep learning model to form a plurality of boxes for each of the objects.

제1 박스 제거모듈(320)은 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘을 실행할 수 있다. The first box removal module 320 may execute an algorithm for removing some of a plurality of boxes formed in each object.

제2 박스 제거모듈(330)은 하나의 객체에 대해 하나의 박스만을 남기고 나머지 박스를 삭제할 수 있다.The second box removal module 330 may leave only one box for one object and delete the remaining boxes.

구체적으로, 제2 박스 제거모듈(330)은 기준 박스 설정부(331), 집합 박스 설정부(332), 비교 공간 설정부(333) 및 알약 계수 비교에 의한 박스 제거부(334)를 포함할 수 있으며,Specifically, the second box removal module 330 may include a reference box setting unit 331, an aggregation box setting unit 332, a comparison space setting unit 333, and a box removal unit 334 by comparing pill counts. can,

기준 박스 설정부(331)는 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정할 수 있다.The reference box setting unit 331 may set an arbitrary box among the remaining boxes as the reference box.

집합 박스 설정부(332)는 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정할 수 있다. The set box setting unit 332 may set an set box, which is a set of boxes overlapping a reference box.

비교 공간 설정부(333)는 기준 박스가 차지하는 공간 중 집합 박스와 겹치는 공간을 제거하여, 기준 박스에서 남아 있는 공간을 비교 공간으로 설정할 수 있다. The comparison space setting unit 333 may set the space remaining in the reference box as the comparison space by removing a space that overlaps with the aggregation box from among spaces occupied by the reference box.

알약 계수 비교에 의한 박스 제거부(334)는 비교 공간과 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 기준 박스로 설정된 박스를 남기고, 비교 공간과 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 기준 박스로 설정된 박스를 제거할 수 있다. If the ratio of the space occupied by the comparison space and the reference box is greater than the pill coefficient, the box removal unit 334 by comparing the approximate coefficient leaves the box set as the reference box, and the ratio of the comparison space to the space occupied by the reference box is the approximate coefficient. If it is smaller than , the box set as the reference box can be removed.

알약 계수 판단모듈(340)은 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스(210)에 저장된 알약 계수를 매칭시킬 수 있다. The pill count determination module 340 may match the pill count stored in the database 210 according to the size and shape of the object appearing in the image.

카운팅 모듈(350)은 객체에 대응되는 개수의 박스를 카운팅하여 사용자 단말기(20)에 전송할 수 있다. The counting module 350 may count the number of boxes corresponding to the object and transmit the count to the user terminal 20 .

도 11은 도 1의 객체 카운팅 시스템(1)을 이용하여 복수 개의 이미지를 이미지 분석 서버(10)로 전송하고, 복수 개의 이미지 각각에 포함된 하나 이상의 객체를 카운팅하는 순서도를 개략적으로 나타내는 도면이고, 도 12는 단일 분석 모드와 멀티 분석 모드인 경우 도 1의 사용자 단말기(20)에 나타나는 화면을 나타내는 도면이며, 도 13은 멀티 분석 모드인 경우 이미지 분석 서버(10)에 의해 분석이 완료된 복수 개의 이미지 각각에 포함된 객체의 개수 및 종류가 도 1의 사용자 단말기(20)의 화면에 나타나는 도면이다. 11 is a diagram schematically illustrating a flowchart of transmitting a plurality of images to the image analysis server 10 and counting one or more objects included in each of the plurality of images using the object counting system 1 of FIG. 1, 12 is a diagram showing a screen displayed on the user terminal 20 of FIG. 1 in case of single analysis mode and multi analysis mode, and FIG. 13 is a view showing a plurality of images analyzed by the image analysis server 10 in case of multi analysis mode. It is a diagram showing the number and type of objects included in each object on the screen of the user terminal 20 of FIG. 1 .

상술한 실시예의 객체 카운팅 시스템(1)에서는 사용자 단말기(20)를 통해 하나의 이미지를 이미지 분석 서버(10)로 전송하고, 하나의 이미지에 포함된 복수 개의 객체를 이미지 분석 서버(10)로 분석하는것을 예로 들어 설명하였으나, 이하에서는 복수 개의 이미지를 이미지 분석 서버(10)로 전송하고, 복수 개의 이미지 각각에 포함된 복수 개의 객체를 분석하는 실시예에 대한 객체 카운팅 시스템(1)에 대해 설명한다. In the object counting system 1 of the above-described embodiment, one image is transmitted to the image analysis server 10 through the user terminal 20, and a plurality of objects included in one image are analyzed by the image analysis server 10. Although it has been described as an example, hereinafter, an object counting system 1 for an embodiment of transmitting a plurality of images to the image analysis server 10 and analyzing a plurality of objects included in each of the plurality of images will be described. .

이미지 분석 서버를 이용한 복수 개의 이미지에 포함된 객체의 카운팅 방법의 설명에 앞서, 도 12 및 도 13을 참조하여 사용자 단말기(20)의 화면을 설명하면 다음과 같다.Prior to the description of the method of counting objects included in a plurality of images using the image analysis server, the screen of the user terminal 20 will be described with reference to FIGS. 12 and 13 as follows.

사용자 단말기(20)의 화면은 이미지 확대부(111), 단일 분석버튼(112), 멀티 분석버튼(113), 이미지 입력버튼(114), 멀티 분석창(115) 및 토탈 개수 표시부(119)를 포함할 수 있다.The screen of the user terminal 20 includes an image enlargement unit 111, a single analysis button 112, a multi analysis button 113, an image input button 114, a multi analysis window 115, and a total number display unit 119. can include

이미지 확대부(111)에는 사용자 단말기(20)에 의해 촬영 중이거나 촬영된 이미지가 표시될 수 있다.An image being photographed or photographed by the user terminal 20 may be displayed on the image enlarger 111 .

멀티 분석창(115)에는 사용자 단말기(20)에 의해 촬영된 복수 개의 이미지가 표시될 수 있고, 이미지 분석 서버(10)에 의해 분석된 이미지 각각에 대한 객체의 개수가 표시될 수 있다. A plurality of images captured by the user terminal 20 may be displayed on the multi-analysis window 115 , and the number of objects for each image analyzed by the image analysis server 10 may be displayed.

또한, 멀티 분석창(115)에는 각각의 이미지를 선택할 수 있는 이미지 선택창(115a)과 이미지 분석 서버(10)에 의해 분석이 완료된 각각의 이미지의 개수를 표시할 수 있는 개수 표시부(115b)가 제공될 수 있다. 또한, 멀티 분석창(115)은 각각의 이미지를 삭제할 수 있는 삭제 버튼(116)이 제공될 수 있다. In addition, the multi-analysis window 115 includes an image selection window 115a for selecting each image and a number display unit 115b for displaying the number of images analyzed by the image analysis server 10. can be provided. In addition, the multi-analysis window 115 may be provided with a delete button 116 capable of deleting each image.

종류 표시부(118)는 이미지 선택창(115a)에 의해 선택된 이미지가 포함하고 있는 객체의 종류를 표시할 수 있다. The type display unit 118 may display the type of object included in the image selected by the image selection window 115a.

토탈 개수 표시부(119)는 멀티 분석창(115)에 표시된 복수 개의 이미지 모두에 포함된 객체의 합을 표시할 수 있다. The total number display unit 119 may display the sum of objects included in all of the plurality of images displayed on the multi-analysis window 115 .

도 11 내지 도 13을 참조하면, 이미지 분석 서버를 이용한 복수 개의 이미지에 포함된 객체의 카운팅 방법은, 사용자 단말기(20)에 의해 하나의 이미지가 입력될 수 있는 단일 분석 모드 또는 복수 개의 이미지가 입력될 수 있는 멀티 분석 모드가 선택되는 단계(S10); 멀티 분석 모드가 선택되는 경우 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되고, 입력된 복수 개의 이미지가 이미지 분석 서버(10)로 전송되는 단계(S20); 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 카운팅되는 단계(S30); 사용자 단말기(20)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 표시되는 단계(S40)를 포함할 수 있다. 11 to 13, the method of counting objects included in a plurality of images using an image analysis server is a single analysis mode in which one image can be input by the user terminal 20 or a plurality of images are input. Selecting a multi-analysis mode that can be used (S10); When the multi-analysis mode is selected, a plurality of images including one or more objects are input by the user terminal 20 and the plurality of input images are transmitted to the image analysis server 10 (S20); Counting the number of objects included in each of the plurality of images by the image analysis server 10 (S30); A step S40 of displaying the number of objects included in each of the plurality of images by the user terminal 20 may be included.

먼저, 사용자 단말기(20)에 의해 하나의 이미지가 입력될 수 있는 단일 분석 모드 또는 복수 개의 이미지가 입력될 수 있는 멀티 분석 모드가 선택되는 단계(S10)에 대해 구체적으로 설명하면 다음과 같다.First, a step (S10) in which a single analysis mode in which one image can be input or a multi-analysis mode in which a plurality of images can be input is selected by the user terminal 20 will be described in detail.

사용자는 사용자 단말기(20)를 통해 단일 분석 모드 또는 멀티 분석 모드를 선택할 수 있다. A user may select a single analysis mode or a multi-analysis mode through the user terminal 20 .

구체적으로, 사용자는 사용자 단말기(20)의 화면에 나타난 단일 분석버튼(112)을 터치 또는 클릭함으로써 단일 분석 모드를 실행시킬 수 있고, 멀티 분석버튼(113)을 터치 또는 클릭함으로써 멀티 분석 모드를 실행시킬 수 있다. Specifically, the user can execute the single analysis mode by touching or clicking the single analysis button 112 displayed on the screen of the user terminal 20, and execute the multi-analysis mode by touching or clicking the multi-analysis button 113. can make it

여기서, 단일 분석 모드가 선택되는 경우, 사용자 단말기(20)를 통해 하나의 이미지만이 촬영되고, 하나의 이미지가 이미지 분석 서버(10)로 전송되어 하나의 이미지만이 분석되는 것으로 이해될 수 있다. Here, when the single analysis mode is selected, it can be understood that only one image is captured through the user terminal 20, one image is transmitted to the image analysis server 10, and only one image is analyzed. .

또한, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에 의해 복수 개의 이미지가 촬영되고, 복수 개의 이미지가 이미지 분석 서버(10)로 전송되어 복수 개의 이미지 모두가 분석되는 것으로 이해될 수 있다. In addition, when the multi-analysis mode is selected, it can be understood that a plurality of images are captured by the user terminal 20, the plurality of images are transmitted to the image analysis server 10, and all of the plurality of images are analyzed.

또한, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에는 촬영할 이미지의 수를 선택할 수 있는 입력창(도면 미도시)이 제공될 수 있으며, 이 경우 사용자가 선택할 이미지의 수 만큼 이미지를 촬영하여 생성할 수 있다. In addition, when the multi-analysis mode is selected, the user terminal 20 may be provided with an input window (not shown) for selecting the number of images to be captured. In this case, as many images as the number of images to be captured by the user can create

예를 들어, A환자에게 5종류의 알약을 제공해야 하는 경우, 사용자는 입력창에 5를 입력할 수 있으며, 5개의 이미지가 입력되는 경우, 5개의 이미지는 이미지 분석 서버(10)로 전송될 수 있다. For example, if 5 types of pills need to be provided to patient A, the user can input 5 in the input window, and if 5 images are input, the 5 images will be transmitted to the image analysis server 10. can

다음으로, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되고, 입력된 복수 개의 이미지가 이미지 분석 서버(10)로 전송되는 단계(S20)에 대해 구체적으로 설명하면 다음과 같다. Next, when the multi-analysis mode is selected, a plurality of images including one or more objects are input by the user terminal 20 and the plurality of input images are transmitted to the image analysis server 10 (S20). ) is described in detail as follows.

사용자가 멀티 분석 모드를 선택하는 경우, 사용자 단말기(20)의 화면 상에는 멀티 분석창(115)이 활성화 되고, 촬영된 복수 개의 이미지는 멀티 분석창(115)에 표시될 수 있다. When the user selects the multi-analysis mode, the multi-analysis window 115 is activated on the screen of the user terminal 20, and a plurality of captured images may be displayed on the multi-analysis window 115.

사용자는 멀티 분석창(115)에 표시된 복수 개의 이미지를 편집할 수 있다. 예를 들어, 사용자는 멀티 분석창(115)의 삭제 버튼(116)을 터치 또는 클릭하여 분석을 원하지 않는 이미지를 삭제할 수 있다. A user can edit a plurality of images displayed on the multi-analysis window 115 . For example, the user may touch or click the delete button 116 of the multi-analysis window 115 to delete an image that is not to be analyzed.

사용자 단말기(20)에 의해 하나 이상의 알약을 포함하고 있는 복수 개의 이미지가 입력(촬영)되는 경우, 사용자는 사용자 단말기(20)를 통해 이미지에 나타난 알약의 종류를 입력할 수 있다. 다만 본 발명의 사상은 이에 한정되는 것은 아니며, 알약의 종류는 후술하는 멀티 분석 보조기구(60) 및/또는 이미지 분석 서버(10) 등에 의해 자동적으로 파악될수도 있다. 이에 대한 자세한 설명은 후술한다. When a plurality of images including one or more pills are input (captured) by the user terminal 20 , the user may input the type of pills displayed in the images through the user terminal 20 . However, the concept of the present invention is not limited thereto, and the type of pill may be automatically identified by the multi-analysis aid 60 and/or the image analysis server 10, which will be described later. A detailed description of this will be given later.

이와 같이 입력된 복수 개의 이미지는 이미지 분석 서버(10)에 전송될 수 있다. A plurality of images input in this way may be transmitted to the image analysis server 10 .

다음으로, 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 카운팅되는 단계(S30)에 대해 설명한다. Next, a step (S30) of counting the number of objects included in each of a plurality of images by the image analysis server 10 will be described.

구체적으로, S30단계는 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각이 포함하고 있는 각각의 객체에 대해 복수 개의 박스를 형성하고, 각각의 이미지에 형성된 복수 개의 박스 중 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계; 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각에 남아 있는 박스의 개수를 카운팅하고, 복수 개의 이미지 각각에 남아 있는 박스에 대응하는 개수를 사용자 단말기(20)에 전송하는 단계를 포함할 수 있다.Specifically, in step S30, a plurality of boxes are formed for each object included in each of the plurality of images by the image analysis server 10, and the number of boxes corresponding to the object is formed among the plurality of boxes formed in each image. deleting the remaining boxes leaving only the boxes; The method may include counting the number of boxes remaining in each of the plurality of images by the image analysis server 10 and transmitting the number corresponding to the number of boxes remaining in each of the plurality of images to the user terminal 20 .

여기서, 각각의 이미지에 포함된 객체의 카운팅 방법은 상술한 S2 및 S3와 동일한바, 이에 대한 자세한 설명은 상술한 S2 및 S3에 갈음한다. Here, the counting method of objects included in each image is the same as the above-described S2 and S3, and a detailed description thereof will be substituted for the above-described S2 and S3.

다음으로, 사용자 단말기(20)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 표시되는 단계(S40)에 대해 설명한다. Next, a step (S40) of displaying the number of objects included in each of a plurality of images by the user terminal 20 will be described.

구체적으로, S40 단계는, 사용자 단말기(20)의 멀티 분석창(115)에 복수 개의 이미지가 표시되는 단계: 사용자 단말기(20)의 멀티 분석창(115)에 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 표시되는 단계; 사용자 단말기(20)의 종류 표시부(118)에 복수 개의 이미지 각각이 포함하고 있는 객체의 종류가 표시되는 단계; 사용자 단말기(20)의 토탈 개수 표시부(119)에 복수 개의 이미지 모두에 포함된 객체의 합이 표시되는 단계를 포함할 수 있다(도 13 참조). Specifically, in step S40, a plurality of images are displayed on the multi-analysis window 115 of the user terminal 20: an object included in each of the plurality of images in the multi-analysis window 115 of the user terminal 20 The step of displaying the number of; displaying the type of object included in each of the plurality of images on the type display unit 118 of the user terminal 20; A step of displaying the sum of objects included in all of the plurality of images on the total number display unit 119 of the user terminal 20 (see FIG. 13).

예를 들어, 멀티 분석창(115)에는 4개의 이미지가 표시되고, 각각의 이미지의 일측(예를 들어, 하단)에는 알약의 개수가 표시된다. For example, four images are displayed on the multi-analysis window 115, and the number of pills is displayed on one side (eg, the bottom) of each image.

또한, 멀티 분석창(115)의 일측에는 종류 표시부(118)가 제공되고, 종류 표시부(118)에는 선택된 이미지의 종류(예를 들어, 넥시움정)가 표시될 수 있다. 이때, 멀티 분석창(115)에 나타난 복수 개의 이미지 중 선택된 이미지는 선택되지 않은 이미지와 다른 색상으로 표시될 수 있다. In addition, a type display unit 118 is provided on one side of the multi-analysis window 115, and the type of the selected image (eg, Nexium tablet) may be displayed on the type display unit 118. At this time, the selected image among the plurality of images displayed on the multi-analysis window 115 may be displayed in a different color from the non-selected images.

한편, 본 실시예의 객체 카운팅 시스템(1)은 상술한 S10단계의 멀티 분석 모드에서 복수 개의 이미지를 입력하기 위한 멀티 분석 보조기구(60) 및 이동벨트(70)를 더 포함할 수 있다. Meanwhile, the object counting system 1 of this embodiment may further include a multi-analysis auxiliary device 60 and a moving belt 70 for inputting a plurality of images in the multi-analysis mode of step S10 described above.

도 14는 도 1의 사용자 단말기(20)가 안착될 수 있는 멀티 분석 보조기구(60)를 개략적으로 나타내는 도면이고, 도 15는 멀티 분석 모드를 용이하게 실시하기 위한 도 14의 멀티 분석 보조기구(60) 및 이동벨트(70)를 개략적으로 나타내는 도면이다. FIG. 14 is a diagram schematically showing the multi-analysis auxiliary device 60 on which the user terminal 20 of FIG. 1 can be seated, and FIG. 15 is the multi-analysis auxiliary device of FIG. 14 for easily performing the multi-analysis mode ( 60) and a schematic view of the moving belt 70.

도 14 및 도 15를 참조하면, 본 실시예의 객체 카운팅 시스템(1)은 멀티 분석 모드를 용이하게 실시하기 위한 멀티 분석 보조기구(60) 및 이동벨트(70)를 더 포함할 수 있다.Referring to FIGS. 14 and 15 , the object counting system 1 of this embodiment may further include a multi-analysis auxiliary device 60 and a moving belt 70 for easily performing a multi-analysis mode.

멀티 분석 보조기구(60)는 사용자 단말기(20)가 안착될 수 있는 기구로 이해될 수 있으며, 이동벨트(70)는 복수 개의 객체 플레이트(50)를 이동시킬 수 있는 장치로 이해될 수 있다. The multi-analysis auxiliary device 60 can be understood as a device on which the user terminal 20 can be seated, and the moving belt 70 can be understood as a device capable of moving a plurality of object plates 50 .

도 14와 도 15에 도시된 멀티 분석 보조기구(60)와 이동벨트(70)가 제공되는 경우, S20에서 상술한 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되는 단계가 용이하게 실현될 수 있다. When the multi-analysis auxiliary device 60 and the moving belt 70 shown in FIGS. 14 and 15 are provided, a plurality of images including one or more objects are input by the user terminal 20 described above in S20. The steps can be easily realized.

구체적으로, 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되는 단계는, 사용자 단말기(20)가 멀티 분석 보조기구(60)의 단말기 안착부(67)에 안착되는 단계; 객체가 놓여진 복수 개의 객체 플레이트(50)가 이동벨트(70)에 안착되는 단계; 이동벨트(70)의 이동에 따라 복수 개의 객체 플레이트(50)가 순차적으로 사용자 단말기(20) 하단에 위치하는 단계; 및 각각의 객체 플레이트(50)가 상기 사용자 단말기(20) 하단에 일정시간 머무른 후 이동함으로써 복수 개의 객체 플레이트(50)가 사용자 단말기(20) 하단을 이동하고, 상기 사용자 단말기(20)가 각각의 객체 플레이트(50)에 놓여진 객체를 촬영하여 복수 개의 이미지를 생성하는 단계를 포함할 수 있다. Specifically, the step of inputting a plurality of images including one or more objects by the user terminal 20 is a step in which the user terminal 20 is seated on the terminal seat 67 of the multi-analysis auxiliary device 60. ; seating the plurality of object plates 50 on which objects are placed on the moving belt 70; Sequentially positioning the plurality of object plates 50 at the bottom of the user terminal 20 according to the movement of the moving belt 70; And each of the object plates 50 stays at the bottom of the user terminal 20 for a certain period of time and moves, so that the plurality of object plates 50 move to the bottom of the user terminal 20, and the user terminal 20 moves to the bottom of the user terminal 20. A step of generating a plurality of images by photographing an object placed on the object plate 50 may be included.

또한, 상술한 실시예에서는 동일한 종류의 객체의 개수만 카운팅하는 실시예에 대해서 서술하였으나, 종류 인식표(52)를 포함하는 객체 플레이트(50)를 이용하는 경우, 객체 카운팅 시스템(1)은 서로 다른 종류의 객체를 판단할 수도 있다. In addition, in the above-described embodiment, an embodiment in which only the number of objects of the same type is counted has been described, but in the case of using the object plate 50 including the type identification tag 52, the object counting system 1 uses different types of objects. It is also possible to determine the object of

구체적으로, 객체 플레이트(50)의 일측에는 문자, 바코드 및 일정 기호 중 하나 이상으로 제공되는 종류 인식표(52)가 제공될 수 있다. 이러한 종류 인식표(52)에 의해 객체(알약)의 종류가 판별될 수 있다.Specifically, a type identification tag 52 provided in one or more of letters, barcodes, and certain symbols may be provided on one side of the object plate 50 . The type of object (pill) can be determined by the type identification tag 52 .

예를 들어, 사용자는 객체 플레이트(50)에 부착된 종류 인식표(52)에 따라 서로 다른 종류의 알약을 객체 플레이트(50)에 놓을 수 있으며, 사용자 단말기(20)는 객체 플레이트(50)의 종류 인식표(52)를 촬영하여, 종류 인식표(52)와 객체를 함께 포함하는 이미지를 생성하거나, 또는 객체를 포함하고 있는 이미지와 종류 인식표(52)를 포함하고 있는 이미지를 각각 생성하여, 이미지 분석 서버(10)에 의해 종류 인식표(52)와 객체를 매칭시켜 분석함으로써 객체의 종류 및 개수를 판단할 수 있다. 이때, 이미지 분석 서버(10)의 프로세서(300)는 종류 인식표(52)를 판별할 수 있는 종류 판단모듈(360)을 더 포함할 수 있다. For example, the user can place different types of pills on the object plate 50 according to the type identification tag 52 attached to the object plate 50, and the user terminal 20 determines the type of the object plate 50. By photographing the identification mark 52, an image including the type identification mark 52 and an object is generated, or an image including an object and an image including the type identification mark 52 are generated, respectively, and the image analysis server In (10), the type and number of objects can be determined by matching and analyzing the object with the type recognition table 52. At this time, the processor 300 of the image analysis server 10 may further include a type determination module 360 capable of determining the type recognition table 52 .

이 경우, 상술한 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 카운팅되는 단계(S30) 이후에, 이미지 분석 서버(10)의 종류 판단모듈(360)에 의해 객체와 종류 인식표(52)가 매칭되어 객체의 종류가 판단되는 단계; 및 사용자 단말기(20)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수 및 종류가 표시되는 단계가 실행될 수 있다. In this case, after the step (S30) of counting the number of objects included in each of the plurality of images by the above-described image analysis server 10, the object type determination module 360 of the image analysis server 10 determining the type of the object by matching the type recognition table 52 with the type identification mark 52; and a step of displaying the number and type of objects included in each of the plurality of images by the user terminal 20 may be executed.

구체적으로, 종류 인식표(52)에 따른 객체의 종류에 대한 데이터는 데이터베이스(210)에 저장되어 있고, 종류 판단모듈(360)은 데이터베이스(210)에 저장된 객체의 종류에 대한 데이터를 받아와 객체의 종류를 판단할 수 있다. Specifically, data on the type of object according to the type identification table 52 is stored in the database 210, and the type determination module 360 receives data on the type of object stored in the database 210 and determines the type of object. type can be determined.

예를 들어, 종류 인식표(52)가 기호1234로 제공되고 데이터베이스(210)에는 기호1234에 대응되는 객체의 종류가 넥시움정으로 저장되어 있는 경우, 사용자는 기호 1234가 표시된 객체 플레이트(50)에 넥시움정을 놓음으로써, 이미지 분석 서버(10)에 의해 별도의 번거로운 작업 없이 용이하게 객체의 종류를 인식할 수 있다. For example, if the type identification mark 52 is provided as a symbol 1234 and the database 210 stores the type of object corresponding to the symbol 1234 as a Nexium tablet, the user writes a Nexium tablet on the object plate 50 marked with the symbol 1234. By setting the definition, the type of object can be easily recognized by the image analysis server 10 without any cumbersome work.

이하에서는, 상술한 객체의 종류를 판단할 수 있는 물리적 장치에 대해 보다 자세히 설명한다. Hereinafter, a physical device capable of determining the type of the above-described object will be described in more detail.

본 발명의 일 실시예에 따른 객체 카운팅 시스템(1)은 객체를 놓을 수 있는 공간을 제공하고, 문자, 바코드 및 일정 기호 중 하나 이상으로 제공되는 종류 인식표(52)를 포함하는 객체 플레이트(50); 객체 플레이트(50)를 촬영하여, 객체 플레이트(50)에 놓여진 하나 이상의 객체를 포함하는 이미지와 종류 인식표(52)를 포함하는 이미지를 생성할 수 있는 사용자 단말기(20); 및 이미지에 포함된 객체의 개수 및 객체의 종류를 판단할 수 있는 이미지 분석 서버(10)를 포함할 수 있다. 여기서, 객체와 종류 인식표(52)는 하나의 이미지로 촬영될 수도 있고, 별개의 이미지로 촬영될수도 있다. An object counting system 1 according to an embodiment of the present invention provides a space in which objects can be placed, and includes an object plate 50 including a type identification tag 52 provided in one or more of letters, barcodes, and certain symbols. ; A user terminal 20 capable of capturing an object plate 50 and generating an image including an image including one or more objects placed on the object plate 50 and an image including the type identification mark 52; and an image analysis server 10 capable of determining the number and type of objects included in the image. Here, the object and the type identification mark 52 may be photographed as one image or may be photographed as separate images.

객체 플레이트(50)는, 객체가 놓여질 수 있는 평편한 안착부(55); 및 상기 안착부(55)의 외측에 배치되고, 문자, 바코드 및 일정 기호 중 하나 이상으로 제공되는 종류 인식표(52)를 포함할 수 있다.The object plate 50 includes a flat seating portion 55 on which an object can be placed; and a type identification tag 52 disposed outside the seating portion 55 and provided with one or more of letters, barcodes, and certain symbols.

또한, 객체 카운팅 시스템(1)은 객체 플레이트(50)와 기 설정된 거리 이격되어 사용자 단말기(20)가 놓여질 수 있는 단말기 안착부(67)를 포함하는 멀티 분석 보조기구(60)를 더 포함할 수 있다. In addition, the object counting system 1 may further include a multi-analysis auxiliary device 60 including a terminal seating portion 67 spaced apart from the object plate 50 by a preset distance and on which the user terminal 20 may be placed. there is.

멀티 분석 보조기구(60)는 객체 플레이트(50)가 이동하는 하단부(62); 사용자 단말기(20)가 놓여 질 수 있는 단말기 안착부(67)를 포함하는 상면부(66); 및 상기 하단부(62)와 상면부(66)를 연결하는 측면부(64)를 포함할 수 있다. 여기서, 측면부(64)의 높이는 객체 플레이트(50)와 사용자 단말기(20)가 이격된 거리로 이해될 수 있으며, 측면부(64)는 높이 조절이 가능하게 제공될 수 있다. The multi-analysis aid 60 includes a lower end 62 to which the object plate 50 moves; an upper surface portion 66 including a terminal seating portion 67 on which the user terminal 20 can be placed; And it may include a side portion 64 connecting the lower portion 62 and the upper surface portion 66. Here, the height of the side portion 64 may be understood as a distance between the object plate 50 and the user terminal 20, and the side portion 64 may be provided to be adjustable in height.

이러한 멀티 분석 보조기구(60)를 이용하는 경우, 사용자 단말기(20)를 단말기 안착부(67)에 놓고 객체를 촬영하여 이미지를 생성할 수 있는바, 객체 플레이트(50)에 놓여진 객체의 이미지를 용이하게 촬영할 수 있다. In the case of using such a multi-analysis aid 60, an image of an object placed on the object plate 50 can be created by placing the user terminal 20 on the terminal seating part 67 and photographing the object. can be filmed

또한, 멀티 분석 보조기구(60)는 객체 플레이트(50)에 놓여진 객체의 겹쳐짐을 판단할 수 있는 센서(69)를 포함할 수 있다. In addition, the multi-analysis auxiliary device 60 may include a sensor 69 capable of determining overlapping of objects placed on the object plate 50 .

예를 들어, 센서(69)는 멀티 분석 보조기구(60)의 측면부(64)에 제공되고, 객체 플레이트(50)는 센서(69) 전면을 지나가고, 센서(69)는 객체 플레이트(50)가 이동됨에 따라 객체 플레이트(50)에 놓여진 객체의 높이를 스캔할 수 있다. 여기서, 객체의 높이는 객체 플레이트(50)의 안착부(55)로부터 수직방향으로 측정한 길이로 이해될 수 있다. For example, the sensor 69 is provided on the side part 64 of the multi-analysis aid 60, the object plate 50 passes through the front of the sensor 69, and the sensor 69 is the object plate 50 As it is moved, the height of the object placed on the object plate 50 may be scanned. Here, the height of the object may be understood as a length measured in a vertical direction from the seating portion 55 of the object plate 50 .

즉, 사용자 단말기(20)에 의해 촬영된 이미지는 객체의 일측면(상면)을 촬영하는 것으로 이해될 수 있고, 멀티 분석 보조기구(60)에 부착된 센서(69)는 객체의 다른면(측면)을 스캔하는 것으로 이해될 수 있다. That is, the image captured by the user terminal 20 may be understood as capturing one side (top surface) of the object, and the sensor 69 attached to the multi-analysis aid 60 may capture the other side (side surface) of the object. ) can be understood as scanning.

객체 플레이트(50)가 센서(69)의 전면을 지나감에 따라, 센서(69)는 객체 플레이트(50)에 놓여진 모든 객체들을 스캔할 수 있고, 객체 플레이트(50)에 놓여진 객체들 중에서 일정 범위를 초과하는 객체가 스캔되는 경우, 사용자에게 알려줄 수 있다.As the object plate 50 passes the front of the sensor 69, the sensor 69 can scan all the objects placed on the object plate 50, and a certain range among the objects placed on the object plate 50. When an object exceeding is scanned, the user may be notified.

이때, 멀티 분석 보조기구(60)에는 센서(69)와 연결된 스피커(도면 미도시)가 제공되어, 경고음을 통해 알려주거나, 또는 센서(69)로부터 사용자 단말기(20)로 신호를 전송하여, 사용자 단말기(20)를 통해 사용자에게 경고음 또는 경고표시를 해줄 수 있다. At this time, the multi-analysis auxiliary device 60 is provided with a speaker (not shown) connected to the sensor 69 to inform the user through a warning sound or to transmit a signal from the sensor 69 to the user terminal 20 so that the user A warning sound or warning display may be given to the user through the terminal 20 .

이 경우, 사용자는 객체 플레이트(50)에 놓여진 객체를 점검하여, 객체들이 겹쳐짐이 없이 다시 놓을 수 있다. In this case, the user can check the objects placed on the object plate 50 and place them again without overlapping the objects.

또한, 객체 카운팅 시스템(1)은, 복수 개의 객체 플레이트(50)가 안착하고, 상기 복수 개의 객체 플레이트(50)를 상기 사용자 단말기(20) 하단으로 이동시킬 수 있는 이동벨트(70)를 더 포함할 수 있다. In addition, the object counting system 1 further includes a moving belt 70 on which a plurality of object plates 50 are seated and which can move the plurality of object plates 50 to the bottom of the user terminal 20. can do.

여기서, 이동벨트(70)는 폐곡선을 이루게 제공될 수 있다. 이 경우, 폐곡선을 이루는 이동벨트(70)에 복수 개의 객체 플레이트(50)를 올려놓음으로써, 다수의 객체 플레이트(50)를 활용하여 알약의 개수를 카운팅 할 수 있다. Here, the moving belt 70 may be provided to form a closed curve. In this case, by placing a plurality of object plates 50 on the moving belt 70 forming a closed curve, the number of pills may be counted using the plurality of object plates 50 .

또한, 복수 개의 객체 플레이트(50)가 제공되는 경우, 복수 개의 객체 플레이트(50)의 안착부(55)의 색상은 서로 다르게 제공될 수 있다. Also, when a plurality of object plates 50 are provided, the color of the seating portions 55 of the plurality of object plates 50 may be provided differently.

예를 들어, 빨간색 계열의 객체가 놓여지는 객체 플레이트(50)는 녹색 계열로 제공될 수 있고, 흰색 계열의 객체가 놓여지는 객체 플레이트(50)의 안착부(55)의 색상은 검정색 계열로 제공될 수 있다. 이 경우, 이미지 분석 서버(10)는 객체와 바탕색을 구분하여, 더욱 용이하게 객체를 인식할 수 있다. For example, the object plate 50 on which a red-type object is placed may be provided in a green-type color, and the color of the seating portion 55 of the object plate 50 on which a white-type object is placed is provided in a black-type color. It can be. In this case, the image analysis server 10 can recognize the object more easily by distinguishing the object and the background color.

이상 본 발명의 실시예에 따른 이미지 분석 서버(10), 이를 포함하는 객체 카운팅 시스템(1), 이미지 분석 서버를 이용한 객체 카운팅 방법 및 이미지 분석 서버를 이용한 복수 개의 이미지에 포함된 객체의 카운팅 방법을 구체적인 실시 형태로서 설명하였으나, 이는 예시에 불과한 것으로서 본 발명은 이에 한정되지 않는 것이며, 본 명세서에 개시된 기초 사상에 따르는 최광의 범위를 갖는 것으로 해석되어야 한다. 당업자는 개시된 실시 형태들을 조합, 치환하여 적시되지 않은 실시 형태를 실시할 수 있으나, 이 역시 본 발명의 권리범위를 벗어나지 않는 것이다. 이외에도 당업자는 본 명세서에 기초하여 개시된 실시형태를 용이하게 변경 또는 변형할 수 있으며, 이러한 변경 또는 변형도 본 발명의 권리범위에 속함은 명백하다.Above, the image analysis server 10 according to an embodiment of the present invention, the object counting system 1 including the same, the object counting method using the image analysis server, and the counting method of objects included in a plurality of images using the image analysis server Although described as a specific embodiment, this is only an example, and the present invention is not limited thereto, and should be interpreted as having the widest scope according to the basic idea disclosed herein. A person skilled in the art may implement an embodiment that is not indicated by combining or substituting the disclosed embodiments, but this also does not deviate from the scope of the present invention. In addition, those skilled in the art can easily change or modify the disclosed embodiments based on this specification, and it is clear that such changes or modifications also fall within the scope of the present invention.

1: 객체 카운팅 시스템 10: 이미지 분석 서버
20: 사용자 단말기 30: 관리자 단말기
50: 객체 플레이트 60: 멀티 분석 보조기구
70:이동벨트
1: object counting system 10: image analysis server
20: user terminal 30: manager terminal
50: object plate 60: multi analysis aid
70: moving belt

Claims (13)

사용자 단말기에 의해 하나 이상의 객체를 포함하고 있는 이미지를 입력 받는 단계;
이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계; 및
이미지 분석 서버에 의해 남아 있는 박스의 개수를 카운팅하고, 박스에 대응하는 개수를 사용자 단말기에 전송하는 단계를 포함하고,
복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계는,
제1 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘이 실행되는 단계; 및
제2 박스 제거모듈에 의해 하나의 객체에 하나의 박스만을 남기고 나머지 박스를 삭제하는 단계를 포함하는
이미지 분석 서버를 이용한 객체 카운팅 방법.
receiving an image including one or more objects by a user terminal;
forming a plurality of boxes for each of the objects by an image analysis server, and deleting the remaining boxes leaving only the boxes corresponding to the object among the plurality of boxes; and
Counting the number of remaining boxes by the image analysis server and transmitting the number corresponding to the boxes to the user terminal;
The step of deleting the remaining boxes leaving only the boxes corresponding to the number of the boxes among the plurality of boxes,
Executing an algorithm for removing some of a plurality of boxes formed in each object by a first box removal module; and
Leaving only one box in one object and deleting the remaining boxes by a second box removal module
Object counting method using image analysis server.
제1 항에 있어서,
이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계는,
박스 설정모듈에 의해 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 단계를 포함하는
이미지 분석 서버를 이용한 객체 카운팅 방법.
According to claim 1,
Forming a plurality of boxes for each of the objects by the image analysis server, and deleting the remaining boxes leaving only the boxes corresponding to the object among the plurality of boxes,
Executing an object recognition deep learning model by a box setting module to form a plurality of boxes for each of the objects
Object counting method using image analysis server.
삭제delete 삭제delete 제1 항에 있어서,
상기 제2 박스 제거모듈에 의해 하나의 객체에 하나의 박스만을 남기고 나머지 박스를 삭제하는 단계는,
기준 박스 설정부에 의해 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정하는 단계;
집합 박스 설정부에 의해 상기 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정하는 단계;
비교 공간 설정부에 의해 상기 기준 박스가 차지하는 공간 중 상기 집합 박스와 겹치는 공간을 제거하여, 상기 기준 박스에서 남아 있는 공간을 비교 공간으로 설정하는 단계;
알약 계수 비교에 의한 박스 제거부에 의해 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 상기 기준 박스로 설정된 박스를 남기고, 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 상기 기준 박스로 설정된 박스를 제거하는 단계를 포함하는
이미지 분석 서버를 이용한 객체 카운팅 방법.
According to claim 1,
The step of leaving only one box in one object and deleting the remaining boxes by the second box removal module,
setting an arbitrary box among remaining boxes as a reference box by a reference box setting unit;
setting an aggregation box that is a set of boxes overlapping the reference box by an aggregation box setting unit;
setting a space remaining in the reference box as a comparison space by removing a space overlapping the aggregation box among spaces occupied by the reference box by a comparison space setting unit;
When the ratio of the comparison space and the space occupied by the standard box is greater than the approximate coefficient by the box removal unit by the coarse coefficient comparison, the box set as the standard box is left, and the ratio of the space occupied by the comparison space and the standard box and removing the box set as the reference box when this is less than the circular coefficient.
Object counting method using image analysis server.
제2 항에 있어서,
상기 박스 설정모듈에 의해 실행되는 객체 인식 딥러닝 모델은 RetinaNet인
이미지 분석 서버를 이용한 객체 카운팅 방법.
According to claim 2,
The object recognition deep learning model executed by the box setting module is RetinaNet.
Object counting method using image analysis server.
제1 항에 있어서,
상기 제1 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘은 NMS(non maximum suppression)인
이미지 분석 서버를 이용한 객체 카운팅 방법.
According to claim 1,
An algorithm for removing some of the plurality of boxes formed in each object by the first box removal module is NMS (non maximum suppression)
Object counting method using image analysis server.
제5 항에 있어서,
상기 알약 계수는 상기 객체의 크기 및 형상에 따라 데이터베이스에 저장되어 있고,
알약 계수 판단모듈은 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는
이미지 분석 서버를 이용한 객체 카운팅 방법.
According to claim 5,
The pill count is stored in a database according to the size and shape of the object,
The pill count determination module matches the pill count stored in the database according to the size and shape of the object shown in the image.
Object counting method using image analysis server.
이미지 분석 서버로서, 상기 이미지 분석 서버는,
사용자 단말기로부터 하나 이상의 객체를 포함하는 이미지를 입력받고, 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하고, 남아 있는 박스의 개수를 카운팅하여 박스에 대응하는 개수를 사용자 단말기에 전송하고,
상기 이미지 분석 서버는,
객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 박스 설정모듈;
각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘을 실행할 수 있는 제1 박스 제거모듈; 및
하나의 객체에 대해 하나의 박스만을 남기고 나머지 박스를 삭제하는 제2 박스 제거모듈을 포함하는
이미지 분석 서버.
As an image analysis server, the image analysis server,
Receiving an image including one or more objects from a user terminal, forming a plurality of boxes for each of the objects, leaving only the boxes corresponding to the object among the plurality of boxes and deleting the remaining boxes, Counting the number of boxes and transmitting the number corresponding to the boxes to the user terminal;
The image analysis server,
a box setting module that executes an object recognition deep learning model to form a plurality of boxes for each of the objects;
A first box removal module capable of executing an algorithm for removing some of a plurality of boxes formed in each object; and
A second box removal module for leaving only one box for one object and deleting the remaining boxes
Image analysis server.
삭제delete 제9 항에 있어서,
상기 제2 박스 제거모듈은,
남아있는 박스 중에서 임의의 박스를 기준 박스로 설정하는 기준 박스 설정부;
상기 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정하는 집합 박스 설정부;
상기 기준 박스가 차지하는 공간 중 상기 집합 박스와 겹치는 공간을 제거하여, 상기 기준 박스에서 남아 있는 공간을 비교 공간으로 설정하는 비교 공간 설정부; 및
상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 상기 기준 박스로 설정된 박스를 남기고, 상기 비교 공간과 상기 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 상기 기준 박스로 설정된 박스를 제거하는 알약 계수 비교에 의한 박스 제거부를 포함하는
이미지 분석 서버.
According to claim 9,
The second box removal module,
a reference box setting unit for setting an arbitrary box among remaining boxes as a reference box;
an aggregation box setting unit that sets an aggregation box that is a set of boxes overlapping the reference box;
a comparison space setting unit configured to set a space remaining in the reference box as a comparison space by removing a space overlapping the aggregation box from among spaces occupied by the reference box; and
If the ratio of the comparison space and the space occupied by the reference box is greater than the Orbit coefficient, the box set as the reference box is left, and if the ratio of the comparison space and the space occupied by the reference box is less than the Orbit coefficient, the reference box Including a box removal unit by pill coefficient comparison that removes the box set to
Image analysis server.
제9 항에 있어서,
상기 이미지 분석 서버는,
상기 객체의 크기 및 형상에 따른 알약 계수를 저장하고 있는 데이터베이스; 및
상기 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는 알약 계수 판단모듈을 더 포함하는
이미지 분석 서버.
According to claim 9,
The image analysis server,
a database storing pill counts according to the size and shape of the object; and
Further comprising a pill count determination module matching the pill count stored in the database according to the size and shape of the object shown in the image.
Image analysis server.
하나 이상의 객체를 포함하고 있는 이미지를 입력 받을 수 있는 사용자 단말기; 및
각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하고, 남아 있는 박스를 카운팅할 수 있는 제9 항, 제11 항 및 제12 항 중 어느 한 항에 기재된 이미지 분석 서버를 포함하는
객체 카운팅 시스템.

a user terminal capable of receiving an image including one or more objects; and
Claims 9, 11, and 11, wherein a plurality of boxes are formed for each of the objects, only the boxes corresponding to the object are left among the plurality of boxes, and the remaining boxes are deleted, and the remaining boxes are counted. Including the image analysis server according to any one of claims 12
object counting system.

KR1020200153982A 2020-11-17 2020-11-17 Image analysis server, object counting method using the same and object counting system KR102505705B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200153982A KR102505705B1 (en) 2020-11-17 2020-11-17 Image analysis server, object counting method using the same and object counting system
CA3198777A CA3198777A1 (en) 2020-11-17 2021-08-13 Image analysis server, object counting method using image analysis server, and object counting system
JP2023528639A JP7474546B2 (en) 2020-11-17 2021-08-13 IMAGE ANALYSIS SERVER, OBJECT COUNTING METHOD USING IMAGE ANALYSIS SERVER, AND OBJECT COUNTING SYSTEM
PCT/KR2021/010824 WO2022108044A1 (en) 2020-11-17 2021-08-13 Image analysis server, object counting method using image analysis server, and object counting system
US18/198,188 US20230306630A1 (en) 2020-11-17 2023-05-16 Image analysis server, object counting method using image analysis server, and object counting syste

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153982A KR102505705B1 (en) 2020-11-17 2020-11-17 Image analysis server, object counting method using the same and object counting system

Publications (2)

Publication Number Publication Date
KR20220067363A KR20220067363A (en) 2022-05-24
KR102505705B1 true KR102505705B1 (en) 2023-03-03

Family

ID=81805461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153982A KR102505705B1 (en) 2020-11-17 2020-11-17 Image analysis server, object counting method using the same and object counting system

Country Status (1)

Country Link
KR (1) KR102505705B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240065541A (en) 2022-11-01 2024-05-14 한국생산기술연구원 Apparatus and method of object counting based on Deep learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160057187A (en) 2014-11-13 2016-05-23 (주)제이브이엠 Drug packing appearatus and method for managing drug
KR20180020017A (en) * 2016-08-17 2018-02-27 한국전자통신연구원 Medication monitoring apparatus and operating method therof

Also Published As

Publication number Publication date
KR20220067363A (en) 2022-05-24

Similar Documents

Publication Publication Date Title
CN108520229B (en) Image detection method, image detection device, electronic equipment and computer readable medium
CN103975342B (en) The system and method for capturing and handling for mobile image
CN109815770B (en) Two-dimensional code detection method, device and system
JP2020507836A (en) Tracking surgical items that predicted duplicate imaging
JP6137916B2 (en) Signal processing apparatus, signal processing method, and signal processing system
CN109117760B (en) Image processing method, image processing device, electronic equipment and computer readable medium
WO2021196389A1 (en) Facial action unit recognition method and apparatus, electronic device, and storage medium
JP5799817B2 (en) Finger position detection device, finger position detection method, and computer program for finger position detection
US11216685B2 (en) Dynamically optimizing photo capture for multiple subjects
US20190379795A1 (en) Image processing device, image processing method, image processing program, and recording medium storing program
CN115862113A (en) Stranger abnormity identification method, device, equipment and storage medium
CN112836653A (en) Face privacy method, device and apparatus and computer storage medium
CN109388935B (en) Document verification method and device, electronic equipment and readable storage medium
CN110110110A (en) One kind is to scheme to search drawing method, device, electronic equipment and storage medium
JP2017120503A (en) Information processing device, control method and program of information processing device
JP4859054B2 (en) Image processing apparatus, image processing method, program, and recording medium
KR102505705B1 (en) Image analysis server, object counting method using the same and object counting system
KR101961462B1 (en) Object recognition method and the device thereof
CN110363111B (en) Face living body detection method, device and storage medium based on lens distortion principle
JP6564136B2 (en) Image processing apparatus, image processing method, and program
KR102607174B1 (en) Counting method of objects included in multiple images using an image analysis server and object counting system
JP2008067321A (en) Data registration management apparatus
JP2010055576A (en) Image processor, image processing program, computer-readable recording medium, electronic apparatus and image processing method
US10002291B2 (en) Method and system of identifying fillable fields of an electronic form
CN113538291A (en) Card image tilt correction method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right