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 PDFInfo
- 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
Links
- 238000010191 image analysis Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000006187 pill Substances 0.000 claims description 91
- 230000002776 aggregation Effects 0.000 claims description 21
- 238000004220 aggregation Methods 0.000 claims description 21
- 238000013136 deep learning model Methods 0.000 claims description 12
- 230000001629 suppression Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 description 62
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 10
- 101100480513 Caenorhabditis elegans tag-52 gene Proteins 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- KWORUUGOSLYAGD-YPPDDXJESA-N esomeprazole magnesium Chemical compound [Mg+2].C([S@](=O)C=1[N-]C2=CC=C(C=C2N=1)OC)C1=NC=C(C)C(OC)=C1C.C([S@](=O)C=1[N-]C2=CC=C(C=C2N=1)OC)C1=NC=C(C)C(OC)=C1C KWORUUGOSLYAGD-YPPDDXJESA-N 0.000 description 3
- 229940112641 nexium Drugs 0.000 description 3
- 230000032683 aging Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61J—CONTAINERS 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/00—Devices for administering medicines orally, e.g. spoons; Pill counting devices; Arrangements for time indication or reminder for taking medicine
- A61J7/02—Pill counting devices
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61J—CONTAINERS 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/00—Containers specially adapted for medical or pharmaceutical purposes
- A61J1/03—Containers specially adapted for medical or pharmaceutical purposes for pills or tablets
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61J—CONTAINERS 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/00—Devices or methods specially adapted for bringing pharmaceutical products into particular physical or administering forms
- A61J3/07—Devices 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/22—Social work or social welfare, e.g. community support activities or counselling services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting 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
본 발명은 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템에 관한 것이다.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.
본 발명의 실시예들은 상기와 같은 문제를 해결하기 위해 제안된 것으로서, 복잡하고 고가의 장비의 도입없이 간단하게 객체(예를 들어, 알약)의 개수를 카운팅 할 수 있는 이미지 분석 서버, 이미지 분석 서버를 이용한 객체 카운팅 방법 및 객체 카운팅 시스템을 제공하고자 한다. 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
여기서, 이미지 분석 서버(10)와 사용자 단말기(20)와 관리자 단말기(30)는 서로 독립적인 장치로 제공되어 통신망(40)을 통해 데이터 통신하거나, 또는 이미지 분석 서버(10)와 관리자 단말기(30)는 하나의 물리적인 장치로 구성되어 직접 데이터 통신 가능하게 제공될 수 있다. Here, the
본 실시예에서는 이미지 분석 서버(10)와 사용자 단말기(20)와 관리자 단말기(30)는 별개의 독립적인 장치로 제공되는 것을 예로 들어 설명한다. In the present embodiment, the
본 실시예의 객체 카운팅 시스템(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
본 실시예에서 객체는 일정 형상을 갖는 알약인 것을 예로 들어 설명한다. 사용자 단말기(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
다만, 본 발명의 사상은 이에 한정되지 않으며, 객체는 일정 형상을 갖는 모든 물건을 포함할 수 있다. 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
하나의 이미지에 포함된 객체는 동일한 크기 및 형상을 갖는 동일한 종류의 객체일 수 있다. 즉, 이미지 분석 서버(10)는 하나의 이미지에 포함된 동일한 객체를 카운팅 할 수 있다. Objects included in one image may be objects of the same type having the same size and shape. That is, the
다만, 본 발명의 사상은 이에 한정되는 것은 아니며, 하나의 이미지에 포함된 객체는 서로 다른 크기 및 형상을 갖는 서로 다른 종류의 객체일 수 있으며, 이 경우 이미지 분석 서버(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
사용자 단말기(20)는 후술하는 객체 플레이트에 놓여진 객체를 촬영하여 이미지로 나타낼 수 있다. The
또한, 사용자 단말기(20)는 이미지 분석 서버(10)와 통신 가능한 장치로서, 이동형 단말 또는 컴퓨팅 장치로 구현되는 고정형 단말일 수 있다. In addition, the
예를 들어, 사용자 단말기(20)는 객체를 촬영할 수 있는 카메라를 포함하는 스마트폰, 노트북, 태블릿 PC, 웨어러블 기기, 컴퓨터 등을 포함할 수 있다. 다만, 사용자 단말기(20)는 이러한 예에 한정되지 않으며, 별도의 카메라로 제공될 수도 있다. For example, the
관리자 단말기(30)는 이미지 분석 서버(10)를 통해 사용자 단말기(20)에 제공하는 기능을 업데이트하거나, 일정 명령을 입력할 수 있는 장치로 이해될 수 있다. 예를 들어, 관리자 단말기(30)는 이미지 분석 서버(10)와 통신 가능한 스마트폰, 노트북, 태블릿 PC, 웨어러블 기기, 컴퓨터 등을 포함할 수 있다. The
도 2는 도 1의 이미지 분석 서버(10)의 구성을 개략적으로 나타내는 도면이고, 도 3은 도 2의 이미지 분석 서버(10)의 제2 박스 제거모듈(330)의 하위 구성을 개략적으로 나타내는 도면이다.2 is a diagram schematically showing the configuration of the
도 2 및 도 3을 참조하면 이미지 분석 서버(10)는 메모리(200), 프로세서(300) 및 통신 모듈(400)을 포함할 수 있다. Referring to FIGS. 2 and 3 , the
프로세서(300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(200) 또는 통신 모듈(400)로부터 프로세서(300)로 제공될 수 있다. 그 외에 명령은 이미지 분석 서버(10)를 구성하는 각각의 구성요소들 간의 통신 채널을 통해 프로세서(300)로 제공될 수 있다.The
프로세서(300)는 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하기 위해 필요한 데이터의 입출력, 데이터의 처리, 데이터의 관리, 통신망(40)을 이용한 통신 등 다양한 기능을 수행할 수 있다. 이를 실행하기 위한 프로세서(300)의 구체적인 구성요소들은 후술한다. The
또한, 프로세서(300)의 구성요소들은 딥러닝으로 미리 학습된 인공신경망을 포함할 수 있다. 예를 들어, 프로세서(300)의 구성요소들 중 적어도 하나는 후술하는 RetinaNet을 실현하는 인공신경망일 수 있으며, 이에 대한 자세한 설명은 후술한다.In addition, components of the
메모리(200)는 컴퓨터에서 판독 가능한 기록매체로서 RAM(Random Access Memory), ROM(Read Only Memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. The
프로세서(300)는 메모리(200)에 저장된 프로그램 코드를 로딩하여 객체를 카운팅 하는데 이용하거나, 객체의 종류를 판단하는데 이용할 수 있다. 이러한 프로그램 코드는 별도의 컴퓨터에서 판독 가능한 기록 매체(예를 들어 DVD, 메모리 카드 등)로부터 로딩되거나, 다른 장치로부터 통신 모듈(400)을 통해 전달되어 메모리(200)에 저장될 수 있다. The
또한, 메모리(200)에는 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하기 위해 필요한 데이터를 저장할 수 있는 데이터베이스(210)가 제공될 수 있다. In addition, the
통신 모듈(400)은 통신망(40)을 통해 사용자 단말기(20)와 이미지 분석 서버(10), 또는 관리자 단말기(30)와 이미지 분석 서버(10)가 서로 통신하기 위한 기능을 제공할 수 있다. The
이미지 분석 서버(10)는 물리적인 구성인 박스 설정모듈(310), 제1 박스 제거모듈(320), 제2 박스 제거모듈(330), 알약 계수 판단모듈(340), 카운팅 모듈(350), 및 종류 판단모듈(360)을 포함할 수 있다. 또한, 제2 박스 제거모듈(330)은 기준 박스 설정부(331), 집합 박스 설정부(332), 비교 공간 설정부(333) 및 알약 계수 비교에 의한 박스 제거부(334)를 포함할 수 있으며, 이에 대한 자세한 설명은 후술한다The
도 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
도 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
이미지 분석 서버(10)에 의해 카운팅될 수 있는 하나의 이미지에 포함된 객체는 동일한 크기 및 형상을 갖는 동일한 종류의 객체, 또는 서로 다른 크기 및 형상을 갖는 복수 개의 종류의 객체를 포함할 수 있다. Objects included in one image that can be counted by the
본 실시예에서는 이미지 분석 서버(10)에 의해 카운팅되는 하나의 이미지에 포함된 객체는 동일한 종류의 객체인 것을 예를 들어 설명한다.In this embodiment, an object included in one image counted by the
또한, 이하에서는 객체는 알약인 것을 예를 들어 상술한 과정에 대해 보다 자세히 설명한다. 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
사용자는 객체 플레이트(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
다만 본 발명의 사상은 이에 한정되는 것은 아니며, 객체 카운팅 시스템(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
객체 플레이트(50)는 알약이 놓여질 수 있는 평평한 판일 수 있고, 알약과 대비되는 색상 또는 알약과 다른 색상으로 제공될 수 있다. 예를 들어, 알약이 흰색으로 제공되는 경우, 객체 플레이트(50)는 검정색으로 제공될 수 있다. The
그 후, 사용자 단말기(20)에 의해 촬영된 알약을 포함하고 있는 이미지는 이미지 분석 서버(10)로 전송될 수 있다. After that, the image including the pill photographed by the
본 실시예에서는 사용자가 사용자 단말기(20)를 파지하여 이미지를 촬영하는 것을 예로 들어 설명하나, 본 발명의 사상은 이에 한정되는 것은 아니며 사용자 단말기(20)를 후술하는 멀티 분석 보조기구(60)에 놓고 이미지를 촬영할 수도 있으며(도 14 참조), 이에 대한 자세한 설명은 후술한다. In the present embodiment, a case where a user holds the
다음으로, 이미지 분석 서버(10)에 의해 각각의 상기 객체(예를 들어, 알약)에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계(S2)에 대해 구체적으로 설명하면 다음과 같다. Next, a plurality of boxes are formed for each of the objects (eg, pills) by the
이미지 분석 서버(10)는 사용자 단말기(20)로부터 동일한 종류의 복수 개의 알약를 포함하고 있는 이미지를 전송받을 수 있다. The
그 후, 이미지 분석 서버(10)의 박스 설정모듈(310)에 의해 하나의 객체에 대해 복수 개의 박스를 형성할 수 있다(S32). Thereafter, a plurality of boxes may be formed for one object by the
예를 들어, 박스 설정모듈(310)은 객체 인식 딥러닝 모델인 RetinaNet을 실행하는 인공 신경망으로 제공될 수 있다. RetinaNet이 실행되는 경우, 각각의 알약에 대해 복수 개의 박스를 형성할 수 있다. 다만, 박스 설정모듈(310)에 의해 실행될 수 있는 객체 인식 딥러닝 모델은 RetinaNet에 한정되지 않으며, 박스 설정모듈(310)은 YOLO 중 CenterNet 하나 이상을 실행하는 것을 포함할 수 있다. For example, the
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
박스 설정모듈(310)에 의해 RetinaNet이 실행되는 경우, 알약이 밀접하게 붙어있는 경우, 하나의 알약에 대해 복수 개의 박스가 형성되는바, 알약의 개수와 박스의 개수가 동일하지 않다. 따라서, 알약이 밀접하게 붙어 있는 경우에도 알약의 개수를 정확하게 카운팅하기 위해서는, RetinaNet이 실행된 후, RetinaNet에 의해 형성된 복수 개의 박스 중 일부를 제거하는 단계를 거쳐야 한다. When RetinaNet is executed by the
구체적으로, 박스 설정모듈(310)에 의해 RetinaNet이 실행된 후, 이미지 분석 서버(10)의 제1 박스 제거모듈(320)에 의해 하나의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘이 실행될 수 있다(S34). Specifically, after RetinaNet is executed by the
예를 들어, 제1 박스 제거모듈(320)에 의해 실행되는 알고리즘은 NMS(non maximum suppression) 일 수 있다. 여기서, NMS(non maximum suppression)는 현재 픽셀을 기준으로 주변의 픽셀과 비교했을 때, 최대값인 경우는 남기고, 아닐 경우는 제거하는 비최대값 억제 알고리즘으로 이해될 수 있다. For example, an algorithm executed by the first
도 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
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
구체적으로, 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
도 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
이 경우, 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
구체적으로, 객체(알약)의 크기 및 형상에 따른 알약 계수는 데이터베이스(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
마찬가지로, 제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
구체적으로, 이미지 분석 서버(10)의 카운팅 모듈(350)은 남아 있는 박스를 카운팅하여 사용자 단말기(20)에 전송하고, 사용자 단말기(20)는 카운팅된 개수를 디스플레이하거나, 스피커를 통해 사용자에게 음성으로 전달할 수 있다. Specifically, the
또한, 이미지 분석 서버(10)에 의해 분석된 객체의 종류 및 카운팅된 객체의 개수는 매칭되어 데이터베이스(210)에 저장될 수 있으며, 사용자는 사용자 단말기(20)를 통해 객체의 종류 및 카운팅된 객체의 개수에 대한 이력을 조회할 수도 있다. In addition, the types of objects analyzed by the
이와 같은 과정을 거쳐, 사용자는 수십개 내지 수만개의 알약에 대해 이미지를 찍어 이미지 분석 서버(10)로 전송하기만 하면, 알약의 정확학 개수가 카운팅되어 사용자에게 알려줄 수 있는바, 약국 또는 병원에서 알약의 재고 조사에 소요되는 시간을 줄 일 수 있다.Through this process, the user only needs to take images of tens to tens of thousands of pills and transmit them to the
또한, 상술한 프로세서는 사용자 단말기(20)에 어플리케이션 형태로 설치되거나, 웹페이지로 제공될 수 있고, 사용자는 어플리케이션을 다운받거나 웹 페이지에 접속하여, 이미지를 업로드 하기만 하면, 이미지에 포함된 알약의 개수가 사용자에게 자동으로 전달될 수 있다. In addition, the above-described processor may be installed in the
이하에서는, 상술한 이미지 분석 서버(10)의 하위 구성인 박스 설정모듈(310), 제1 박스 제거모듈(320), 제2 박스 제거모듈(330), 알약 계수 판단모듈(340) 및 카운팅 모듈(350)에 대해 보다 자세히 설명한다.Hereinafter, the
상술한 바와 같이 박스 설정모듈(310)은 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성할 수 있다. As described above, the
제1 박스 제거모듈(320)은 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘을 실행할 수 있다. The first
제2 박스 제거모듈(330)은 하나의 객체에 대해 하나의 박스만을 남기고 나머지 박스를 삭제할 수 있다.The second
구체적으로, 제2 박스 제거모듈(330)은 기준 박스 설정부(331), 집합 박스 설정부(332), 비교 공간 설정부(333) 및 알약 계수 비교에 의한 박스 제거부(334)를 포함할 수 있으며,Specifically, the second
기준 박스 설정부(331)는 남아있는 박스 중에서 임의의 박스를 기준 박스로 설정할 수 있다.The reference
집합 박스 설정부(332)는 기준 박스와 겹치는 박스들의 집합인 집합 박스를 설정할 수 있다. The set
비교 공간 설정부(333)는 기준 박스가 차지하는 공간 중 집합 박스와 겹치는 공간을 제거하여, 기준 박스에서 남아 있는 공간을 비교 공간으로 설정할 수 있다. The comparison
알약 계수 비교에 의한 박스 제거부(334)는 비교 공간과 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 큰 경우, 기준 박스로 설정된 박스를 남기고, 비교 공간과 기준 박스가 차지하는 공간의 비율이 알약 계수 보다 작은 경우, 기준 박스로 설정된 박스를 제거할 수 있다. If the ratio of the space occupied by the comparison space and the reference box is greater than the pill coefficient, the
알약 계수 판단모듈(340)은 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스(210)에 저장된 알약 계수를 매칭시킬 수 있다. The pill
카운팅 모듈(350)은 객체에 대응되는 개수의 박스를 카운팅하여 사용자 단말기(20)에 전송할 수 있다. The
도 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
상술한 실시예의 객체 카운팅 시스템(1)에서는 사용자 단말기(20)를 통해 하나의 이미지를 이미지 분석 서버(10)로 전송하고, 하나의 이미지에 포함된 복수 개의 객체를 이미지 분석 서버(10)로 분석하는것을 예로 들어 설명하였으나, 이하에서는 복수 개의 이미지를 이미지 분석 서버(10)로 전송하고, 복수 개의 이미지 각각에 포함된 복수 개의 객체를 분석하는 실시예에 대한 객체 카운팅 시스템(1)에 대해 설명한다. In the object counting system 1 of the above-described embodiment, one image is transmitted to the
이미지 분석 서버를 이용한 복수 개의 이미지에 포함된 객체의 카운팅 방법의 설명에 앞서, 도 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
사용자 단말기(20)의 화면은 이미지 확대부(111), 단일 분석버튼(112), 멀티 분석버튼(113), 이미지 입력버튼(114), 멀티 분석창(115) 및 토탈 개수 표시부(119)를 포함할 수 있다.The screen of the
이미지 확대부(111)에는 사용자 단말기(20)에 의해 촬영 중이거나 촬영된 이미지가 표시될 수 있다.An image being photographed or photographed by the
멀티 분석창(115)에는 사용자 단말기(20)에 의해 촬영된 복수 개의 이미지가 표시될 수 있고, 이미지 분석 서버(10)에 의해 분석된 이미지 각각에 대한 객체의 개수가 표시될 수 있다. A plurality of images captured by the
또한, 멀티 분석창(115)에는 각각의 이미지를 선택할 수 있는 이미지 선택창(115a)과 이미지 분석 서버(10)에 의해 분석이 완료된 각각의 이미지의 개수를 표시할 수 있는 개수 표시부(115b)가 제공될 수 있다. 또한, 멀티 분석창(115)은 각각의 이미지를 삭제할 수 있는 삭제 버튼(116)이 제공될 수 있다. In addition, the
종류 표시부(118)는 이미지 선택창(115a)에 의해 선택된 이미지가 포함하고 있는 객체의 종류를 표시할 수 있다. The
토탈 개수 표시부(119)는 멀티 분석창(115)에 표시된 복수 개의 이미지 모두에 포함된 객체의 합을 표시할 수 있다. The total
도 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
먼저, 사용자 단말기(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
사용자는 사용자 단말기(20)를 통해 단일 분석 모드 또는 멀티 분석 모드를 선택할 수 있다. A user may select a single analysis mode or a multi-analysis mode through the
구체적으로, 사용자는 사용자 단말기(20)의 화면에 나타난 단일 분석버튼(112)을 터치 또는 클릭함으로써 단일 분석 모드를 실행시킬 수 있고, 멀티 분석버튼(113)을 터치 또는 클릭함으로써 멀티 분석 모드를 실행시킬 수 있다. Specifically, the user can execute the single analysis mode by touching or clicking the
여기서, 단일 분석 모드가 선택되는 경우, 사용자 단말기(20)를 통해 하나의 이미지만이 촬영되고, 하나의 이미지가 이미지 분석 서버(10)로 전송되어 하나의 이미지만이 분석되는 것으로 이해될 수 있다. Here, when the single analysis mode is selected, it can be understood that only one image is captured through the
또한, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에 의해 복수 개의 이미지가 촬영되고, 복수 개의 이미지가 이미지 분석 서버(10)로 전송되어 복수 개의 이미지 모두가 분석되는 것으로 이해될 수 있다. In addition, when the multi-analysis mode is selected, it can be understood that a plurality of images are captured by the
또한, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에는 촬영할 이미지의 수를 선택할 수 있는 입력창(도면 미도시)이 제공될 수 있으며, 이 경우 사용자가 선택할 이미지의 수 만큼 이미지를 촬영하여 생성할 수 있다. In addition, when the multi-analysis mode is selected, the
예를 들어, 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
다음으로, 멀티 분석 모드가 선택되는 경우, 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되고, 입력된 복수 개의 이미지가 이미지 분석 서버(10)로 전송되는 단계(S20)에 대해 구체적으로 설명하면 다음과 같다. Next, when the multi-analysis mode is selected, a plurality of images including one or more objects are input by the
사용자가 멀티 분석 모드를 선택하는 경우, 사용자 단말기(20)의 화면 상에는 멀티 분석창(115)이 활성화 되고, 촬영된 복수 개의 이미지는 멀티 분석창(115)에 표시될 수 있다. When the user selects the multi-analysis mode, the
사용자는 멀티 분석창(115)에 표시된 복수 개의 이미지를 편집할 수 있다. 예를 들어, 사용자는 멀티 분석창(115)의 삭제 버튼(116)을 터치 또는 클릭하여 분석을 원하지 않는 이미지를 삭제할 수 있다. A user can edit a plurality of images displayed on the
사용자 단말기(20)에 의해 하나 이상의 알약을 포함하고 있는 복수 개의 이미지가 입력(촬영)되는 경우, 사용자는 사용자 단말기(20)를 통해 이미지에 나타난 알약의 종류를 입력할 수 있다. 다만 본 발명의 사상은 이에 한정되는 것은 아니며, 알약의 종류는 후술하는 멀티 분석 보조기구(60) 및/또는 이미지 분석 서버(10) 등에 의해 자동적으로 파악될수도 있다. 이에 대한 자세한 설명은 후술한다. When a plurality of images including one or more pills are input (captured) by the
이와 같이 입력된 복수 개의 이미지는 이미지 분석 서버(10)에 전송될 수 있다. A plurality of images input in this way may be transmitted to the
다음으로, 이미지 분석 서버(10)에 의해 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 카운팅되는 단계(S30)에 대해 설명한다. Next, a step (S30) of counting the number of objects included in each of a plurality of images by the
구체적으로, 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
여기서, 각각의 이미지에 포함된 객체의 카운팅 방법은 상술한 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
구체적으로, S40 단계는, 사용자 단말기(20)의 멀티 분석창(115)에 복수 개의 이미지가 표시되는 단계: 사용자 단말기(20)의 멀티 분석창(115)에 복수 개의 이미지 각각이 포함하고 있는 객체의 개수가 표시되는 단계; 사용자 단말기(20)의 종류 표시부(118)에 복수 개의 이미지 각각이 포함하고 있는 객체의 종류가 표시되는 단계; 사용자 단말기(20)의 토탈 개수 표시부(119)에 복수 개의 이미지 모두에 포함된 객체의 합이 표시되는 단계를 포함할 수 있다(도 13 참조). Specifically, in step S40, a plurality of images are displayed on the
예를 들어, 멀티 분석창(115)에는 4개의 이미지가 표시되고, 각각의 이미지의 일측(예를 들어, 하단)에는 알약의 개수가 표시된다. For example, four images are displayed on the
또한, 멀티 분석창(115)의 일측에는 종류 표시부(118)가 제공되고, 종류 표시부(118)에는 선택된 이미지의 종류(예를 들어, 넥시움정)가 표시될 수 있다. 이때, 멀티 분석창(115)에 나타난 복수 개의 이미지 중 선택된 이미지는 선택되지 않은 이미지와 다른 색상으로 표시될 수 있다. In addition, a
한편, 본 실시예의 객체 카운팅 시스템(1)은 상술한 S10단계의 멀티 분석 모드에서 복수 개의 이미지를 입력하기 위한 멀티 분석 보조기구(60) 및 이동벨트(70)를 더 포함할 수 있다. Meanwhile, the object counting system 1 of this embodiment may further include a multi-analysis
도 14는 도 1의 사용자 단말기(20)가 안착될 수 있는 멀티 분석 보조기구(60)를 개략적으로 나타내는 도면이고, 도 15는 멀티 분석 모드를 용이하게 실시하기 위한 도 14의 멀티 분석 보조기구(60) 및 이동벨트(70)를 개략적으로 나타내는 도면이다. FIG. 14 is a diagram schematically showing the multi-analysis
도 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
멀티 분석 보조기구(60)는 사용자 단말기(20)가 안착될 수 있는 기구로 이해될 수 있으며, 이동벨트(70)는 복수 개의 객체 플레이트(50)를 이동시킬 수 있는 장치로 이해될 수 있다. The multi-analysis
도 14와 도 15에 도시된 멀티 분석 보조기구(60)와 이동벨트(70)가 제공되는 경우, S20에서 상술한 사용자 단말기(20)에 의해 하나 이상의 객체를 포함하고 있는 복수 개의 이미지가 입력되는 단계가 용이하게 실현될 수 있다. When the multi-analysis
구체적으로, 사용자 단말기(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
또한, 상술한 실시예에서는 동일한 종류의 객체의 개수만 카운팅하는 실시예에 대해서 서술하였으나, 종류 인식표(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
구체적으로, 객체 플레이트(50)의 일측에는 문자, 바코드 및 일정 기호 중 하나 이상으로 제공되는 종류 인식표(52)가 제공될 수 있다. 이러한 종류 인식표(52)에 의해 객체(알약)의 종류가 판별될 수 있다.Specifically, a
예를 들어, 사용자는 객체 플레이트(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
이 경우, 상술한 이미지 분석 서버(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
구체적으로, 종류 인식표(52)에 따른 객체의 종류에 대한 데이터는 데이터베이스(210)에 저장되어 있고, 종류 판단모듈(360)은 데이터베이스(210)에 저장된 객체의 종류에 대한 데이터를 받아와 객체의 종류를 판단할 수 있다. Specifically, data on the type of object according to the type identification table 52 is stored in the
예를 들어, 종류 인식표(52)가 기호1234로 제공되고 데이터베이스(210)에는 기호1234에 대응되는 객체의 종류가 넥시움정으로 저장되어 있는 경우, 사용자는 기호 1234가 표시된 객체 플레이트(50)에 넥시움정을 놓음으로써, 이미지 분석 서버(10)에 의해 별도의 번거로운 작업 없이 용이하게 객체의 종류를 인식할 수 있다. For example, if the
이하에서는, 상술한 객체의 종류를 판단할 수 있는 물리적 장치에 대해 보다 자세히 설명한다. 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
객체 플레이트(50)는, 객체가 놓여질 수 있는 평편한 안착부(55); 및 상기 안착부(55)의 외측에 배치되고, 문자, 바코드 및 일정 기호 중 하나 이상으로 제공되는 종류 인식표(52)를 포함할 수 있다.The
또한, 객체 카운팅 시스템(1)은 객체 플레이트(50)와 기 설정된 거리 이격되어 사용자 단말기(20)가 놓여질 수 있는 단말기 안착부(67)를 포함하는 멀티 분석 보조기구(60)를 더 포함할 수 있다. In addition, the object counting system 1 may further include a multi-analysis
멀티 분석 보조기구(60)는 객체 플레이트(50)가 이동하는 하단부(62); 사용자 단말기(20)가 놓여 질 수 있는 단말기 안착부(67)를 포함하는 상면부(66); 및 상기 하단부(62)와 상면부(66)를 연결하는 측면부(64)를 포함할 수 있다. 여기서, 측면부(64)의 높이는 객체 플레이트(50)와 사용자 단말기(20)가 이격된 거리로 이해될 수 있으며, 측면부(64)는 높이 조절이 가능하게 제공될 수 있다. The
이러한 멀티 분석 보조기구(60)를 이용하는 경우, 사용자 단말기(20)를 단말기 안착부(67)에 놓고 객체를 촬영하여 이미지를 생성할 수 있는바, 객체 플레이트(50)에 놓여진 객체의 이미지를 용이하게 촬영할 수 있다. In the case of using such a
또한, 멀티 분석 보조기구(60)는 객체 플레이트(50)에 놓여진 객체의 겹쳐짐을 판단할 수 있는 센서(69)를 포함할 수 있다. In addition, the multi-analysis
예를 들어, 센서(69)는 멀티 분석 보조기구(60)의 측면부(64)에 제공되고, 객체 플레이트(50)는 센서(69) 전면을 지나가고, 센서(69)는 객체 플레이트(50)가 이동됨에 따라 객체 플레이트(50)에 놓여진 객체의 높이를 스캔할 수 있다. 여기서, 객체의 높이는 객체 플레이트(50)의 안착부(55)로부터 수직방향으로 측정한 길이로 이해될 수 있다. For example, the
즉, 사용자 단말기(20)에 의해 촬영된 이미지는 객체의 일측면(상면)을 촬영하는 것으로 이해될 수 있고, 멀티 분석 보조기구(60)에 부착된 센서(69)는 객체의 다른면(측면)을 스캔하는 것으로 이해될 수 있다. That is, the image captured by the
객체 플레이트(50)가 센서(69)의 전면을 지나감에 따라, 센서(69)는 객체 플레이트(50)에 놓여진 모든 객체들을 스캔할 수 있고, 객체 플레이트(50)에 놓여진 객체들 중에서 일정 범위를 초과하는 객체가 스캔되는 경우, 사용자에게 알려줄 수 있다.As the
이때, 멀티 분석 보조기구(60)에는 센서(69)와 연결된 스피커(도면 미도시)가 제공되어, 경고음을 통해 알려주거나, 또는 센서(69)로부터 사용자 단말기(20)로 신호를 전송하여, 사용자 단말기(20)를 통해 사용자에게 경고음 또는 경고표시를 해줄 수 있다. At this time, the multi-analysis
이 경우, 사용자는 객체 플레이트(50)에 놓여진 객체를 점검하여, 객체들이 겹쳐짐이 없이 다시 놓을 수 있다. In this case, the user can check the objects placed on the
또한, 객체 카운팅 시스템(1)은, 복수 개의 객체 플레이트(50)가 안착하고, 상기 복수 개의 객체 플레이트(50)를 상기 사용자 단말기(20) 하단으로 이동시킬 수 있는 이동벨트(70)를 더 포함할 수 있다. In addition, the object counting system 1 further includes a moving
여기서, 이동벨트(70)는 폐곡선을 이루게 제공될 수 있다. 이 경우, 폐곡선을 이루는 이동벨트(70)에 복수 개의 객체 플레이트(50)를 올려놓음으로써, 다수의 객체 플레이트(50)를 활용하여 알약의 개수를 카운팅 할 수 있다. Here, the moving
또한, 복수 개의 객체 플레이트(50)가 제공되는 경우, 복수 개의 객체 플레이트(50)의 안착부(55)의 색상은 서로 다르게 제공될 수 있다. Also, when a plurality of
예를 들어, 빨간색 계열의 객체가 놓여지는 객체 플레이트(50)는 녹색 계열로 제공될 수 있고, 흰색 계열의 객체가 놓여지는 객체 플레이트(50)의 안착부(55)의 색상은 검정색 계열로 제공될 수 있다. 이 경우, 이미지 분석 서버(10)는 객체와 바탕색을 구분하여, 더욱 용이하게 객체를 인식할 수 있다. For example, the
이상 본 발명의 실시예에 따른 이미지 분석 서버(10), 이를 포함하는 객체 카운팅 시스템(1), 이미지 분석 서버를 이용한 객체 카운팅 방법 및 이미지 분석 서버를 이용한 복수 개의 이미지에 포함된 객체의 카운팅 방법을 구체적인 실시 형태로서 설명하였으나, 이는 예시에 불과한 것으로서 본 발명은 이에 한정되지 않는 것이며, 본 명세서에 개시된 기초 사상에 따르는 최광의 범위를 갖는 것으로 해석되어야 한다. 당업자는 개시된 실시 형태들을 조합, 치환하여 적시되지 않은 실시 형태를 실시할 수 있으나, 이 역시 본 발명의 권리범위를 벗어나지 않는 것이다. 이외에도 당업자는 본 명세서에 기초하여 개시된 실시형태를 용이하게 변경 또는 변형할 수 있으며, 이러한 변경 또는 변형도 본 발명의 권리범위에 속함은 명백하다.Above, the
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.
이미지 분석 서버에 의해 각각의 상기 객체에 대해 복수 개의 박스를 형성하고, 복수 개의 상기 박스 중에서 상기 객체에 대응하는 개수의 박스만을 남기고 나머지 박스를 삭제하는 단계는,
박스 설정모듈에 의해 객체 인식 딥러닝 모델을 실행하여, 각각의 상기 객체에 대해 복수 개의 박스를 형성하는 단계를 포함하는
이미지 분석 서버를 이용한 객체 카운팅 방법.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.
상기 제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.
상기 박스 설정모듈에 의해 실행되는 객체 인식 딥러닝 모델은 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 박스 제거모듈에 의해 각각의 객체에 형성된 복수 개의 박스 중 일부를 제거하는 알고리즘은 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.
상기 알약 계수는 상기 객체의 크기 및 형상에 따라 데이터베이스에 저장되어 있고,
알약 계수 판단모듈은 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는
이미지 분석 서버를 이용한 객체 카운팅 방법.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.
상기 제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.
상기 이미지 분석 서버는,
상기 객체의 크기 및 형상에 따른 알약 계수를 저장하고 있는 데이터베이스; 및
상기 이미지에 나타난 객체의 크기 및 형상에 따라 상기 데이터베이스에 저장된 알약 계수를 매칭시키는 알약 계수 판단모듈을 더 포함하는
이미지 분석 서버.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.
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)
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)
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 |
-
2020
- 2020-11-17 KR KR1020200153982A patent/KR102505705B1/en active IP Right Grant
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 |