WO2024075961A1 - 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스 - Google Patents

영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스 Download PDF

Info

Publication number
WO2024075961A1
WO2024075961A1 PCT/KR2023/011439 KR2023011439W WO2024075961A1 WO 2024075961 A1 WO2024075961 A1 WO 2024075961A1 KR 2023011439 W KR2023011439 W KR 2023011439W WO 2024075961 A1 WO2024075961 A1 WO 2024075961A1
Authority
WO
WIPO (PCT)
Prior art keywords
inference
distributed
surgery
image
inference engine
Prior art date
Application number
PCT/KR2023/011439
Other languages
English (en)
French (fr)
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 주식회사 엠티이지
Publication of WO2024075961A1 publication Critical patent/WO2024075961A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • the technical field of the present disclosure relates to methods and devices for performing inference on objects included in images, and relates to the technical field of performing more efficient inference using an inference engine.
  • the problem to be solved in this disclosure is to provide a method and device for performing inference on objects included in an image, and to provide a method for efficiently performing inference on objects using an inference engine.
  • a method of performing inference on an object included in an image according to the first aspect of the present disclosure uses a first distributed inference engine to infer the object included in the image of the first surgery. 1 performing inference on an object; performing inference on the first object included in the image of the second surgery using the first distributed inference engine; Obtaining a second distributed inference engine used to infer a second object included in the image of the second surgery; and inferring the second object included in the image of the second surgery using the second distributed inference engine.
  • the step of acquiring the second distributed inference engine includes acquiring second surgery object information indicating the type of object corresponding to the second surgery; transmitting a provision request to one or more distributed inference engines including the second distributed inference engine based on the second surgical object information; and acquiring one or more distributed inference engines including the second distributed inference engine based on the provision request.
  • obtaining a non-inference notification message indicating that inference has not been performed for a third object included in the image of the second surgery transmitting a provision request to a third distributed inference engine for inferring the third object based on the non-inferred notification message; It may include performing inference on the third object based on the third distributed inference engine obtained according to the provision request.
  • the step of obtaining the new object notification message includes determining the number of targeting engines, which is the number of distributed inference engines targeting the fifth object; And the new object notification message can be obtained based on the number of targeting engines.
  • the notification level of the new object notification message when the number of targeting engines is large may be higher than the notification level of the new object notification message when the number of targeting engines is small.
  • a device that performs inference about an object included in an image according to a second aspect of the present disclosure includes a receiver that receives an image of a first surgery or an image of a second surgery; And performing inference on the first object included in the image of the first surgery using the first distributed inference engine, and performing inference on the first object included in the image of the second surgery using the first distributed inference engine.
  • Perform inference on an object obtain a second distributed inference engine used for inference of a second object included in the image of the second surgery, and use the second distributed inference engine to infer the image of the second surgery. It may include a processor that infers the included second object.
  • the processor acquires second surgery object information indicating the type of object corresponding to the second surgery, and sends information to one or more distributed inference engines including the second distributed inference engine based on the second surgery object information.
  • a provision request may be transmitted, and one or more distributed inference engines including the second distributed inference engine may be obtained based on the provision request.
  • the processor obtains a non-inferred notification message indicating that inference has not been performed for the third object included in the image of the second surgery, and infers the third object based on the non-inferred notification message.
  • a provision request for a third distributed inference engine may be transmitted, and inference for the third object may be performed based on the third distributed inference engine obtained according to the provision request.
  • the processor obtains a misinference notification message indicating that the inference for the fourth object included in the image of the second surgery was performed incorrectly, and a second device for inferring the fourth object based on the misinference notification message.
  • a provision request for four distributed inference engines may be transmitted, and inference for the fourth object may be performed based on the fourth distributed inference engine obtained according to the provision request.
  • the processor obtains a new object notification message indicating that the fifth object included in the image of the second surgery is a new object, and performs a fifth distributed inference for inferring the fifth object based on the new object notification message.
  • a provision request for the engine may be transmitted, and inference about the fifth object may be performed based on the fifth distributed inference engine obtained according to the provision request.
  • the processor may determine the number of targeting engines, which is the number of distributed inference engines targeting the fifth object, and obtain the new object notification message based on the number of targeting engines.
  • it may include a computer-readable non-transitory recording medium on which a program for implementing the first aspect is recorded.
  • the resources required when performing inference on an object included in a new image can be reduced, so accurate inference can be performed while requiring only relatively few resources.
  • FIG. 1 is a diagram illustrating an example of a device or server implemented on a system according to an embodiment.
  • Figure 2 is a block diagram schematically showing the configuration of a device according to an embodiment.
  • Figure 3 is a flowchart showing each step in which a device operates according to an embodiment.
  • FIG. 4 is a diagram illustrating an example in which a device performs inference on a plurality of objects using a plurality of distributed inference engines according to an embodiment.
  • FIG. 5 is a diagram illustrating an example in which a device performs inference on an object for which inference is missing, according to an embodiment.
  • FIG. 6 is a diagram illustrating a method in which a device performs inference on a surgery image including a plurality of objects according to an embodiment.
  • FIG. 7 is a diagram illustrating how a device operates when a misinference is performed, according to an embodiment.
  • FIG. 8 is a diagram illustrating a method in which a device performs inference on an image of a surgery including a new object, according to an embodiment.
  • Spatially relative terms such as “below”, “beneath”, “lower”, “above”, “upper”, etc. are used as a single term as shown in the drawing. It can be used to easily describe the correlation between a component and other components. Spatially relative terms should be understood as terms that include different directions of components during use or operation in addition to the directions shown in the drawings. For example, if a component shown in a drawing is flipped over, a component described as “below” or “beneath” another component will be placed “above” the other component. You can. Accordingly, the illustrative term “down” may include both downward and upward directions. Components can also be oriented in other directions, so spatially relative terms can be interpreted according to orientation.
  • FIG. 1 is a diagram illustrating an example in which a device 100 or a server according to an embodiment is implemented on a system.
  • the medical information system includes a device 100, an external server 130, a storage medium 140, a communication device 150, a virtual server 160, a user terminal 170, and a network. It can be included.
  • the medical information system may further include a blockchain server (not shown) that operates in conjunction with the network.
  • a blockchain server not shown
  • those skilled in the art may understand that some of the components shown in FIG. 1 may be omitted.
  • the device 100 may obtain information related to medical procedures such as surgery from various sources.
  • the device 100 may obtain information (eg, video) related to medical procedures such as surgery from an information acquisition device (not shown).
  • Information acquisition devices may include, but are not limited to, imaging devices, recording devices, and biological signal acquisition devices.
  • the device 100 may obtain information (eg, video) related to medical procedures such as surgery from the network.
  • Biological signals may include signals obtained from living organisms, such as body temperature signals, pulse signals, respiration signals, blood pressure signals, electromyography signals, and brain wave signals, without limitation.
  • the imaging device which is an example of an information acquisition device (not shown), includes a first imaging device (e.g. CCTV, etc.) that photographs the operating room situation as a whole and a second imaging device (e.g., endoscope, etc.) that focuses on photographing the surgical site. It can be done, but is not limited to this.
  • the device 100 may acquire images (videos, still images, etc.) related to medical procedures such as surgery from an information acquisition device (not shown) or a network.
  • Video can be understood as a concept that includes both moving images and still images.
  • the device 100 may perform image processing on the acquired image.
  • Image processing according to an embodiment may include naming, encoding, storage, transmission, editing, and metadata creation for each image, but is not limited thereto.
  • the device 100 may transmit medical treatment-related information obtained from an information acquisition device (not shown) or a network as is or as updated information to the network.
  • Transmission information transmitted by the device 100 to the network may be transmitted to external devices 130, 140, 150, 160, and 170 through the network.
  • the device 100 may transmit the updated video to the external server 130, storage medium 140, communication device 150, virtual server 160, user terminal 170, etc. through the network.
  • Device 100 may receive various information (eg, feedback information, update request, etc.) from external devices 130, 140, 150, 160, and 170.
  • the communication device 150 may refer to a device used for communication without limitation (eg, a gateway), and the communication device 150 may communicate with a device that is not directly connected to the network, such as the user terminal 180.
  • the device 100 may include an input unit, an output processor, memory, etc., and may also include a display device (not shown). For example, through the display device, the user can view communication status, memory usage status, power status (e.g., battery state of charge, external power supply, etc.), thumbnail images for stored videos, currently operating mode, etc. You can check, etc.
  • display devices include liquid crystal display, thin film transistor-liquid crystal display, organic light-emitting diode, flexible display, and 3D display. display), electrophoretic display, etc.
  • the display device may include two or more displays depending on the implementation type. Additionally, when the touchpad of the display has a layered structure and is configured as a touch screen, the display can be used as an input device in addition to an output device.
  • networks may communicate with each other through wired or wireless communication.
  • a network may be implemented as a type of server and may include a Wi-Fi chip, Bluetooth chip, wireless communication chip, NFC chip, etc.
  • the device 100 can communicate with various external devices using a Wi-Fi chip, Bluetooth chip, wireless communication chip, NFC chip, etc.
  • Wi-Fi chips and Bluetooth chips can communicate using Wi-Fi and Bluetooth methods, respectively.
  • various connection information such as SSID and session key are first transmitted and received, and various information can be transmitted and received after establishing a communication connection using this.
  • Wireless communication chips can perform communication according to various communication standards such as IEEE, ZigBee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), and LTE (Long Term Evolution).
  • the NFC chip can operate in the NFC (Near Field Communication) method using the 13.56MHz band among various RF-ID frequency bands such as 135kHz, 13.56MHz, 433MHz, 860 ⁇ 960MHz, 2.45GHz, etc.
  • the input unit may refer to a means through which a user inputs data to control the device 100.
  • the input unit includes a key pad, dome switch, and touch pad (contact capacitive type, pressure resistance type, infrared detection type, surface ultrasonic conduction type, integral tension measurement type, There may be a piezo effect method, etc.), a jog wheel, a jog switch, etc., but it is not limited thereto.
  • the output unit may output an audio signal, a video signal, or a vibration signal, and the output unit may include a display device, a sound output device, and a vibration motor.
  • the user terminal 170 may include, but is not limited to, various wired and wireless communication devices such as a smartphone, SmartPad, and tablet PC.
  • the device 100 may update medical treatment-related information (eg, video) obtained from an information acquisition device (not shown). For example, the device 100 may perform naming, encoding, storage, transmission, editing, and metadata creation on images acquired from an information acquisition device (not shown). As an example, the device 100 may name an image file using metadata (eg, creation time) of the acquired image. As another example, the device 100 may classify images related to medical procedures obtained from an information acquisition device (not shown). The device 100 can use learned AI to classify images related to medical procedures based on various criteria such as type of surgery, operator, and location of surgery.
  • medical treatment-related information eg, video
  • the device 100 may perform naming, encoding, storage, transmission, editing, and metadata creation on images acquired from an information acquisition device (not shown).
  • the device 100 may name an image file using metadata (eg, creation time) of the acquired image.
  • the device 100 may classify images related to medical procedures obtained from an information acquisition device (not shown).
  • the device 100 can use learned AI to classify images related
  • the device 100 in FIG. 1 may be implemented as a server, and the scope of physical devices in which the device 100 can be implemented is not interpreted as being limited.
  • FIG. 2 is a block diagram schematically showing the configuration of the device 100 according to an embodiment.
  • the device 100 may include a receiving unit 210, a processor 220, an output unit 230, and a memory 240.
  • the device 100 may be implemented with more components than those shown in FIG. 2 , or the device 100 may be implemented with fewer components than the components shown in FIG. 2 .
  • the device 100 may further include a communication unit (not shown) or an input unit (not shown) in addition to the receiver 210, processor 220, output unit 230, and memory 240. It may be possible. Additionally, an example of the output unit 230 may include a display (not shown).
  • the receiving unit 210 may receive an image of surgery or a distributed inference engine.
  • the surgery image may include images of multiple surgeries, such as an image of the first surgery and an image of the second surgery.
  • a distributed inference engine may refer to an engine for performing inference on objects, etc.
  • the processor 220 may perform inference on the first object included in the image of the first surgery using the first distributed inference engine.
  • the processor 220 may perform inference on a plurality of objects included in a surgery image using a plurality of distributed inference engines.
  • a plurality of distributed inference engines may each correspond to different objects.
  • the processor 220 may perform inference on the first object included in the image of the second surgery using the first distributed inference engine.
  • the first distributed inference engine may perform inference on the first object. Therefore, in this case, the processor 220 can perform inference about the first object included in the image of the second surgery using the first distributed inference engine that performed inference about the first object in the image of the first surgery. there is.
  • the processor 220 may acquire a second distributed inference engine used for inference of the second object included in the image of the second surgery.
  • the second object included in the image of the second surgery may be an object that is not included in the image of the second surgery. Accordingly, when performing inference on the second surgery image, which is a new image, the processor 220 may acquire a second distributed inference engine to perform inference on the second object determined to be a new object.
  • the second distributed inference engine may be a distributed inference engine used to infer a second object.
  • the processor 220 may infer the second object included in the image of the second surgery using the second distributed inference engine.
  • the processor 220 may use a second distributed inference engine when inferring a second object included in the image of the second surgery, and the second distributed inference engine may use distributed inference that is not used in the first surgery. It could be the engine.
  • FIG. 3 is a flowchart illustrating each step in which the device 100 operates according to an embodiment.
  • the device 100 may perform inference on the first object included in the image of the first surgery using the first distributed inference engine.
  • the device 100 may perform inference on a plurality of objects included in a surgery image using a plurality of distributed inference engines.
  • a plurality of distributed inference engines may each correspond to different objects.
  • a first distributed inference engine may correspond to a first object. Therefore, the first distributed inference engine can perform inference on the first object included in the image of the first surgery.
  • the device 100 may perform inference on the first object included in the image of the second surgery using the first distributed inference engine.
  • the first distributed inference engine may perform inference on the first object. Therefore, in this case, the device 100 can perform inference about the first object included in the image of the second surgery using the first distributed inference engine that performed inference about the first object in the image of the first surgery. there is.
  • the image of the first surgery and the image of the second surgery may be images of different surgeries.
  • the image of the first surgery may be an image of a prostate surgery
  • the image of the second surgery may be an image of an appendix surgery.
  • the device 100 may perform inference on the first object, which is an object used in both the first surgery and the second surgery, using the first distributed inference engine. For example, if the mass, which is an object used in both the first surgery and the second surgery, corresponds to the first distributed inference engine, the device 100 performs inference about the mass using the first distributed inference engine for multiple surgeries. You can do it on video.
  • the device 100 can perform inference about the first object on a plurality of images using the first distributed inference engine, the first distributed inference engine is used for the first object even for the new image. Inference can be performed using . If a distributed inference engine is not used, it may be difficult to use a conventionally used inference engine for a new image because inference must be performed on the image itself. However, since the device 100 provided in the present disclosure uses a distributed inference engine, when the same object is included in the new image, the new image (e.g., the image of the second surgery) is generated using the conventionally used distributed inference engine. Inference can be performed on the same object (e.g., the first object).
  • the new image e.g., the image of the second surgery
  • the device 100 may acquire a second distributed inference engine used for inference of the second object included in the image of the second surgery.
  • the second object included in the image of the second surgery may be an object that is not included in the image of the second surgery. Accordingly, when performing inference on the second surgery image, which is a new image, the device 100 may acquire a second distributed inference engine to perform inference on the second object determined to be a new object.
  • the second distributed inference engine may be a distributed inference engine used to infer a second object.
  • the device 100 may obtain second surgery object information indicating the type of object corresponding to the second surgery. Depending on the type of surgery, the surgical tools expected to be used can be predicted. Accordingly, the device 100 may determine second surgery object information indicating the type of object corresponding to the second surgery according to the second surgery. For example, when the second surgery is an appendectomy, the device 100 may obtain information about a list of surgical tools expected to be used for the appendectomy. Information about the surgical tool list may be second surgical object information.
  • the device 100 may transmit a request to provide one or more distributed inference engines including the second distributed inference engine based on the second surgery object information.
  • a plurality of second surgery objects corresponding to the second surgery may be determined based on the second surgery object information.
  • a distributed inference engine corresponding to each of the plurality of second surgical objects may be determined. For example, a second distributed inference engine, a 2-1 distributed inference engine, a 2-2 distributed inference engine, etc. may be obtained as distributed inference engines corresponding to the second surgical object.
  • the device 100 may acquire one or more distributed inference engines including a second distributed inference engine based on a provision request.
  • the device 100 transmits a provision request for one or more distributed inference engines determined by the second surgery object information to an external device (e.g., a server), and obtains one or more distributed inference engines in response to the transmitted provision request.
  • an external device e.g., a server
  • the device 100 may infer the second object included in the image of the second surgery using the second distributed inference engine.
  • the device 100 may use a second distributed inference engine when inferring a second object included in the image of the second surgery, and the second distributed inference engine may use distributed inference that is not used in the first surgery. It could be the engine.
  • the second distributed inference engine is a distributed inference engine that is not used in the first surgery, it can be used when performing inference on the image of the second surgery after it is obtained through step S330 described above. Additionally, when performing inference on an image of a new surgery, if a second object is included in the image of a new surgery, the previously obtained second distributed inference engine can be used without the step of acquiring an additional distributed inference engine.
  • FIG. 4 is a diagram illustrating an example in which the device 100 performs inference on a plurality of objects 421, 422, and 423 using a plurality of distributed inference engines according to an embodiment.
  • the device 100 may perform inference on a plurality of objects 421, 422, and 423 included in the surgery image 410. For example, the device 100 performs inference on the 1-1 object 421 included in the surgery image 410 using the 1-1 distributed inference engine, and the 1-2 object 422 ), inference can be performed using the 1-2 distributed inference engine, and for the 1-3 object 423, inference can be performed using the 1-3 distributed inference engine.
  • Objects according to one embodiment may include objects on which inference can be performed, such as surgical tools, organs, blood vessels, ROI, etc., without limitation.
  • the device 100 may obtain the first inferred image 440 by performing inference on a plurality of objects 421, 422, and 423 with respect to the surgery image 410.
  • FIG. 5 is a diagram illustrating an example in which the device 100 performs inference on an object for which inference is missing, according to an embodiment.
  • the device 100 may perform inference on a plurality of objects 421, 422, 423, and 510 included in the surgery image 410.
  • the device 100 performs inference on the 1-1 object 421 included in the surgery image 410 using the 1-1 distributed inference engine, and the 1-2 object 422 ), inference is performed using the 1-2 distributed inference engine, for the 1-3 object 423, inference is performed using the 1-3 distributed inference engine, and for the 2-1 object 510 ), inference can be performed using the 2-1 distributed inference engine.
  • the device 100 may obtain a second inferred image 530 by performing inference on a plurality of objects 421, 422, 423, and 510 with respect to the surgery image 410.
  • the device 100 may perform inference again or acquire a new distributed inference engine and perform inference on the uninferred object.
  • the device 100 may obtain an uninferred notification message indicating that inference has not been performed for an object (e.g., the 2-1 object 510) included in the surgery image 410. You can. For example, the device 100 may determine that inference has not been performed for some objects (eg, the 2-1 object 510) through analysis of the first inference image 440. In this case, the device 100 may obtain or provide an uninferred notification message.
  • an object e.g., the 2-1 object 510 included in the surgery image 410.
  • the device 100 may determine that inference has not been performed for some objects (eg, the 2-1 object 510) through analysis of the first inference image 440. In this case, the device 100 may obtain or provide an uninferred notification message.
  • the device 100 may transmit a request for a distributed inference engine to infer a non-inferred object based on the non-inferred notification message.
  • the device 100 may transmit a request for the 2-1 distributed inference engine to an external device (eg, a server) to perform inference on the 2-1 object 510.
  • an external device eg, a server
  • the device 100 performs inference on an uninferred object (2-1 object 510) based on a distributed inference engine (e.g., 2-1 distributed inference engine) obtained in response to a provision request. can be performed.
  • a distributed inference engine e.g., 2-1 distributed inference engine
  • FIG. 6 is a diagram illustrating a method by which the device 100 performs inference on a surgery image 600 including a plurality of objects 610, 620, 630, and 640, according to an embodiment.
  • the device 100 may use a plurality of distributed inference engines when performing inference on the surgery image 600 including a plurality of objects 610, 620, 630, and 640.
  • Each distributed inference engine may correspond to a different object. For example, for inference of the 3-1 object 610, the 3-2 object 620, the 3-3 object 630, and the 3-4 object 640, the 3-1 distributed inference is used, respectively.
  • Engine a 3-2 distributed inference engine, a 3-3 distributed inference engine, and a 3-4 distributed inference engine may be used.
  • FIG. 7 is a diagram illustrating how the device 100 operates when a false inference is performed, according to an embodiment.
  • the device 100 includes a 3-1 object 610, a 3-2 object 620, and a 3-3 object 630, respectively, using the 3-1 distributed inference. Normal inference was performed with the engine, the 3-2 distributed inference engine, and the 3-3 distributed inference engine.
  • the 3-4 object 640 included in the surgery image 600 may be mistakenly inferred to be the 4-1 object 710.
  • the 3-4 object 640 should perform inference using the 3-4 distributed inference engine, but inference may be incorrectly performed using the 4-1 distributed inference engine.
  • the device 100 may obtain a misinference notification message indicating that the inference for the third or fourth object 640 included in the surgery image 600 was performed incorrectly.
  • a variety of methods can be used to determine whether a false inference has been performed. For example, whether a misinference can be determined through boundary comparison between the object that is the object of inference (e.g., 3-4 object 640) and the inferred object (4-1 object 710), but is limited to this. It doesn't work.
  • the device 100 may transmit a request to the 3-4 distributed inference engine for inferring the 3-4 object 640 based on the incorrect inference notification message.
  • the device 100 may transmit a request for provision of the 3-4 distributed inference engine to an external device such as a server.
  • the device 100 may perform inference on the 3-4 object based on the 3-4 distributed inference engine obtained in response to a request for provision of the 3-4 distributed inference engine.
  • FIG. 8 is a diagram illustrating a method by which the device 100 performs inference on an image of a surgery including a new object, according to an embodiment.
  • a new object that is difficult to infer using the distributed inference engine possessed by the device 100 may be included in the surgery image 600.
  • the 3rd and 4th objects 640 included in the surgery image 600 may be new objects.
  • the 3-4 object 640 must perform inference using the 3-4 distributed inference engine, but the device 100 may not have obtained the 3-4 distributed inference engine.
  • the device 100 obtains a new object notification message indicating that the 3rd and 4th objects 640 included in the surgery image 600 are new objects. You can.
  • Various methods may be used to determine whether a new object is included in the surgery image 600. For example, if a plurality of distributed inference engines correspond to an object to be inferred (e.g., object 3-4 640), the device 100 may obtain a new object notification message, but is not limited thereto. .
  • the device 100 may obtain a new object notification message indicating that the 3-4 object 640 included in the surgery image 600 is a new object. For example, if a plurality of distributed inference engines correspond to an object to be inferred (e.g., object 3-4 640), the device 100 may obtain a new object notification message. As an example, referring to FIG. 8, the device 100 displays the 3-4 object 640 included in the surgery image 600 as a plurality of objects (e.g., the 4-1 object 710 and the 4- If it is inferred that the 2nd object 810), a new object notification message indicating that the 3rd-4th object 640 is a new object can be obtained.
  • a plurality of distributed inference engines correspond to an object to be inferred
  • the device 100 may obtain a new object notification message.
  • the device 100 displays the 3-4 object 640 included in the surgery image 600 as a plurality of objects (e.g., the 4-1 object 710 and the 4- If it is inferred that the 2nd object 8
  • the device 100 may obtain a new object notification message based on the number of targeting engines, which is the number of distributed inference engines targeting a new object (eg, the 3-4 object 640).
  • the 3-4 object 640 which is a new object, has been misinferred as the 4-1 object 710 and the 4-2 object 810.
  • the device 100 may obtain a new object notification message based on the number of targeting engines, which is the number of distributed inference engines targeted to the same object. For example, the notification level of a new object notification message when the number of targeting engines is large may be higher than the notification level of a new object notification message when the number of targeting engines is small.
  • a notification level may correspond to a new object notification message according to an embodiment. For example, as the number of targeting engines corresponding to the same object increases, the probability that the object is a new object may increase. Therefore, as the number of targeting engines increases, the notification level of the new object notification message may increase.
  • the device 100 is connected to a distributed inference engine (e.g., the 3-4th distributed inference engine) for inferring a new object (e.g., the 3-4 object 640) based on the new object notification message.
  • a distributed inference engine e.g., the 3-4th distributed inference engine
  • the device 100 may transmit a request for provision of the 3-4 distributed inference engine to an external device such as a server.
  • the device 100 performs inference about a new object (e.g., the 3-4 object 640) based on a distributed inference engine (e.g., the 3-4th distributed inference engine) obtained in response to a provision request. can be performed.
  • a distributed inference engine e.g., the 3-4th distributed inference engine
  • Various embodiments of the present disclosure are implemented as software including one or more instructions stored in a storage medium (e.g., memory) that can be read by a machine (e.g., a display device or computer). It can be.
  • a storage medium e.g., memory
  • the device's processor e.g., processor 220
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.
  • methods according to various embodiments disclosed in the present disclosure may be included and provided in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행하는 단계, 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 1 객체에 대한 추론을 수행하는 단계, 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득하는 단계 및 제 2 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 2 객체를 추론하는 단계를 포함하는, 영상에 포함된 객체에 대한 추론을 수행하는 방법, 그 방법에 대한 디바이스 및 기록매체가 개시된다.

Description

영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스
본 개시의 기술 분야는 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스에 관한 것으로, 추론 엔진을 이용하여 보다 효율적인 추론을 수행하는 기술 분야와 관련된다.
최근 들어 영상 처리에 대한 니즈가 급증하고 있으며, 영상 처리를 수행하기 위한 다양한 알고리즘이 개발되고 있다. 영상 처리에 대한 다양한 방식이 존재하고 있으며, 특히 영상에 포함된 객체가 무엇인지 결정하는 추론 기술이 지속적으로 개발되고 있다.
따라서 영상에 포함된 수 많은 객체를 정확하게 추론하기 위한 다양한 알고리즘이 제안되고 있으며 보다 빠르고 정확할 뿐 아니라 보다 적은 리소스만을 이용하여 영상 처리를 수행하는 방법에 대한 사회적 니즈가 지속적으로 증가하고 있다.
따라서 제한된 리소스만을 제공할 수 있는 환경에서 다양한 객체에 대한 추론을 보다 정확하게 수행할 수 있는 다양한 영상 처리 방식이 제안되고 있는 상황이다.
본 개시에서 해결하고자 하는 과제는 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스에 대한 것으로, 추론 엔진을 이용하여 효율적으로 객체에 대한 추론을 수행하는 방법을 제공하는데 있다.
본 개시에서 해결하고자 하는 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로써, 본 개시의 제 1 측면에 따른 영상에 포함된 객체에 대한 추론을 수행하는 방법은 제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행하는 단계; 상기 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 상기 제 1 객체에 대한 추론을 수행하는 단계; 상기 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득하는 단계; 및 상기 제 2 분산 추론 엔진을 이용하여 상기 제 2 수술의 영상에 포함된 상기 제 2 객체를 추론하는 단계;를 포함할 수 없다.
또한, 상기 제 2 분산 추론 엔진을 획득하는 단계는 상기 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 획득하는 단계; 상기 제 2 수술 객체 정보에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및 상기 제공 요청에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진을 획득하는 단계;를 포함할 수 있다.
또한, 상기 제 2 수술의 영상에 포함된 제 3 객체에 대한 추론이 수행되지 않았음을 나타내는 미추론 알림 메시지를 획득하는 단계; 상기 미추론 알림 메시지에 기초하여 상기 제 3 객체를 추론하기 위한 제 3 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 상기 제공 요청에 따라 획득된 상기 제 3 분산 추론 엔진에 기초하여 상기 제 3 객체에 대한 추론을 수행하는 단계;를 포함할 수 있다.
또한, 상기 제 2 수술의 영상에 포함된 제 4 객체에 대한 추론이 잘못 수행되었음을 나타내는 오추론 알림 메시지를 획득하는 단계; 상기 오추론 알림 메시지에 기초하여 상기 제 4 객체를 추론하기 위한 제 4 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및 상기 제공 요청에 따라 획득된 상기 제 4 분산 추론 엔진에 기초하여 상기 제 4 객체에 대한 추론을 수행하는 단계;를 포함할 수 있다.
또한, 상기 제 2 수술의 영상에 포함된 제 5 객체가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득하는 단계; 상기 신규 객체 알림 메시지에 기초하여 상기 제 5 객체를 추론하기 위한 제 5 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및 상기 제공 요청에 따라 획득된 상기 제 5 분산 추론 엔진에 기초하여 상기 제 5 객체에 대한 추론을 수행하는 단계;를 포함할 수 있다.
또한, 상기 신규 객체 알림 메시지를 획득하는 단계는 상기 제 5 객체를 타게팅하는 분산 추론 엔진의 개수인 타게팅 엔진 개수를 결정하는 단계; 및 상기 타게팅 엔진 개수에 기초하여 상기 신규 객체 알림 메시지를 획득할 수 있다.
또한, 상기 타게팅 엔진 개수가 작은 경우의 상기 신규 객체 알림 메시지의 알림 레벨보다 상기 타게팅 엔진 개수가 큰 경우의 상기 신규 객체 알림 메시지의 알림 레벨이 더 높을 수 있다.
본 개시의 제 2 측면에 따른 영상에 포함된 객체에 대한 추론을 수행하는 디바이스는 제 1 수술의 영상 또는 제 2 수술의 영상을 수신하는 수신부; 및 제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행하고, 상기 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 상기 제 1 객체에 대한 추론을 수행하고, 상기 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득하고, 상기 제 2 분산 추론 엔진을 이용하여 상기 제 2 수술의 영상에 포함된 상기 제 2 객체를 추론하는 프로세서;를 포함할 수 있다.
또한, 상기 프로세서는 상기 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 획득하고, 상기 제 2 수술 객체 정보에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 송신하고, 상기 제공 요청에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진을 획득할 수 있다.
또한, 상기 프로세서는 상기 제 2 수술의 영상에 포함된 제 3 객체에 대한 추론이 수행되지 않았음을 나타내는 미추론 알림 메시지를 획득하고, 상기 미추론 알림 메시지에 기초하여 상기 제 3 객체를 추론하기 위한 제 3 분산 추론 엔진에 대한 제공 요청을 송신하고, 상기 제공 요청에 따라 획득된 상기 제 3 분산 추론 엔진에 기초하여 상기 제 3 객체에 대한 추론을 수행할 수 있다.
또한, 상기 프로세서는 상기 제 2 수술의 영상에 포함된 제 4 객체에 대한 추론이 잘못 수행되었음을 나타내는 오추론 알림 메시지를 획득하고, 상기 오추론 알림 메시지에 기초하여 상기 제 4 객체를 추론하기 위한 제 4 분산 추론 엔진에 대한 제공 요청을 송신하고, 상기 제공 요청에 따라 획득된 상기 제 4 분산 추론 엔진에 기초하여 상기 제 4 객체에 대한 추론을 수행할 수 있다.
또한, 상기 프로세서는 상기 제 2 수술의 영상에 포함된 제 5 객체가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득하고, 상기 신규 객체 알림 메시지에 기초하여 상기 제 5 객체를 추론하기 위한 제 5 분산 추론 엔진에 대한 제공 요청을 송신하고, 상기 제공 요청에 따라 획득된 상기 제 5 분산 추론 엔진에 기초하여 상기 제 5 객체에 대한 추론을 수행할 수 있다.
또한, 상기 프로세서는 상기 제 5 객체를 타게팅하는 분산 추론 엔진의 개수인 타게팅 엔진 개수를 결정하고, 상기 타게팅 엔진 개수에 기초하여 상기 신규 객체 알림 메시지를 획득할 수 있다.
본 개시의 제 3 측면에 따라 제 1 측면을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 비일시적 기록 매체를 포함할 수 있다.
본 개시의 일 실시 예에 따르면 신규 영상에 포함된 객체에 대한 추론을 수행함에 있어서 요구되는 리소스를 감소시킬 수 있기 때문에 상대적으로 적은 리소스만을 요구하면서도 정확한 추론을 수행할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 디바이스 또는 서버가 시스템 상에서 구현되는 일 예를 도시하는 도면이다.
도 2는 일 실시 예에 따른 디바이스의 구성을 개략적으로 도시한 블록도이다.
도 3은 일 실시 예에 따른 디바이스가 동작하는 각 단계를 도시한 흐름도이다.
도 4는 일 실시 예에 따른 디바이스가 복수의 분산 추론 엔진을 이용하여 복수의 객체에 대한 추론을 수행하는 일 예를 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 디바이스가 추론이 누락된 객체에 대한 추론을 수행하는 일 예를 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 디바이스가 복수의 객체를 포함하는 수술의 영상에 대해 추론을 수행하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 디바이스가 오추론이 수행된 경우 동작하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 디바이스가 신규 객체를 포함하는 수술의 영상에 대해 추론을 수행하는 방법을 설명하기 위한 도면이다.
본 개시에서 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시 예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 개시가 완전 하도록 하고, 해당 기술 분야에 속하는 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 해당 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 디바이스(100) 또는 서버가 시스템 상에서 구현되는 일 예를 도시하는 도면이다.
도 1에 도시된 바와 같이, 의료 정보 시스템은 디바이스(100), 외부 서버(130), 저장 매체(140), 통신 디바이스(150), 가상 서버(160), 사용자 단말(170) 및 네트워크 등을 포함할 수 있다.
그러나, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 의료 정보 시스템에 더 포함될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들면, 의료 정보 시스템은 네트워크와 연동하여 동작하는 블록체인 서버(미도시)를 더 포함할 수 있다. 또는 다른 실시 예에 따를 경우, 도 1에 도시된 구성요소들 중 일부 구성요소는 생략될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
일 실시 예에 따른 디바이스(100)는 수술 등 의료 행위와 관련된 정보를 다양한 소스로부터 획득할 수 있다. 예를 들면 디바이스(100)는 수술 등 의료 행위와 관련된 정보(예: 동영상)를 정보 획득 장치(미도시)로부터 획득할 수 있다. 정보 획득 장치(미도시) 는 촬영 장치, 녹음 장치, 생체 신호 획득 장치 등을 포함할 수 있으나, 이에 제한되지 않는다. 다른 예로 디바이스(100)는 수술 등 의료 행위와 관련된 정보(예: 동영상)를 네트워크로부터 획득할 수 있다.
생체 신호는 체온 신호, 맥박 신호, 호흡 신호, 혈압 신호, 근전도 신호, 뇌파 신호 등 생명체로부터 획득되는 신호를 제한 없이 포함할 수 있다. 정보 획득 장치(미도시)의 일 예인 촬영 장치는 수술실 상황을 전체적으로 촬영하는 제 1 촬영 장치(예: CCTV 등)와 수술 부위를 집중적으로 촬영하는 제 2 촬영 장치(예: 내시경 등) 등을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시 예에 따른 디바이스(100)는 정보 획득 장치(미도시) 또는 네트워크로부터 수술 등 의료 행위와 관련된 영상(동영상, 정지영상 등)을 획득할 수 있다. 영상은 동영상과 정지 영상을 모두 포함하는 개념으로 이해될 수 있다. 디바이스(100)는 획득한 영상에 대한 영상 처리를 수행할 수 있다. 일 실시 예에 따른 영상 처리는 각각의 영상에 대한 네이밍, 인코딩, 저장, 전송, 편집, 메타 데이터 생성 등을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시 예에 따른 디바이스(100)는 정보 획득 장치(미도시) 또는 네트워크로부터 획득한 의료 행위 관련 정보를 그대로 또는 갱신하여 네트워크로 전송할 수 있다. 디바이스(100)가 네트워크로 전송하는 전송 정보는 네트워크를 통해서 외부 디바이스(130, 140, 150, 160, 170)로 전송될 수 있다. 예를 들면, 디바이스(100)는 네트워크를 통해서 외부 서버(130), 저장 매체(140), 통신 디바이스(150), 가상 서버(160), 사용자 단말(170) 등으로 갱신된 동영상을 전송할 수 있다. 디바이스(100)는 외부 디바이스(130, 140, 150, 160, 170)로부터 다양한 정보(예: 피드백 정보, 갱신 요청 등)를 수신할 수 있다. 통신 디바이스(150)는 통신에 이용되는 디바이스를 제한 없이 의미할 수 있으며(예: 게이트웨이), 통신 디바이스(150)는 사용자 단말(180) 등 네트워크와 직접 연결되지 않는 디바이스와 통신할 수 있다.
일 실시 예에 따른 디바이스(100)는 입력부, 출력부 프로세서, 메모리 등을 포함할 수 있으며, 디스플레이 장치(미도시)도 포함할 수 있다. 예컨대, 사용자는 디스플레이 장치를 통해서 통신 상태, 메모리 사용 현황, 전력 상태(예: 배터리의 충전상태(State Of Charge), 외부 전력 공급 여부 등), 저장된 동영상에 대한 썸네일 영상, 현재 동작 중인 동작 모드 등을 등을 확인 할 수 있다. 한편, 디스플레이 장치는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 등일 수 있다. 또한, 디스플레이 장치는 구현 형태에 따라 2개 이상의 디스플레이를 포함할 수 있다. 또한, 디스플레이의 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
또한, 네트워크는 유선 통신 또는 무선 통신을 통해 상호 통신을 수행할 수 있다. 예컨대 네트워크는 일종의 서버로 구현될 수도 있으며, 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC 칩 등을 포함할 수 있다. 물론, 디바이스(100)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC 칩 등을 이용하여 각종 외부기기와 통신을 수행할 수 있다. 와이파이 칩, 블루투스 칩은 각각 Wi-Fi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행할 수 있다. NFC 칩은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작할 수 있다.
일 실시 예에 따른 입력부는 사용자가 디바이스(100)를 제어하기 위한 데이터를 입력하는 수단을 의미할 수 있다. 예를 들어, 입력부에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 따른 출력부는 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부는 디스플레이 장치, 음향 출력 장치, 및 진동 모터 등을 포함할 수 있다.
일 실시 예에 따른 사용자 단말(170)은 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC 등 다양한 유무선 통신 디바이스를 포함할 수 있으나 이에 제한되지 않는다.
일 실시 예에 따른 디바이스(100)는 정보 획득 장치(미도시)로부터 획득한 의료 행위 관련 정보(예: 동영상)를 갱신할 수 있다. 예를 들면, 디바이스(100)는 정보 획득 장치(미도시)로부터 획득한 영상에 대한 네이밍, 인코딩, 저장, 전송, 편집, 메타 데이터 생성 등을 수행할 수 있다. 일 예로, 디바이스(100)는 획득한 영상의 메타 데이터(예: 생성 시간)을 이용하여 영상 파일의 네이밍을 수행할 수 있다. 다른 예로, 디바이스(100)는 정보 획득 장치(미도시)로부터 획득한 의료 행위와 관련된 영상을 분류할 수 있다. 디바이스(100)는 학습된 AI를 이용하여, 의료 행위와 관련된 영상을 수술 종류, 수술자, 수술 장소 등 다양한 기준에 기초하여 분류할 수 있다.
또한 도 1에서 디바이스(100)는 서버로 구현될 수도 있으며, 디바이스(100)가 구현될 수 있는 물리적 장치의 범위는 제한하여 해석되지 않는다.
도 2는 일 실시 예에 따른 디바이스(100)의 구성을 개략적으로 도시한 블록도이다.
도 2에 도시된 바와 같이, 일 실시 예에 따른 디바이스(100)는 수신부(210), 프로세서(220), 출력부(230) 및 메모리(240)를 포함할 수 있다. 그러나 도 2에 도시된 구성요소 모두가 디바이스(100)의 필수 구성요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(100)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(100)가 구현될 수도 있다.
예를 들어, 일 실시 예에 따른 디바이스(100)는 수신부(210), 프로세서(220), 출력부(230), 메모리(240) 외에 통신부(미도시) 또는 입력부(미도시)를 더 포함할 수도 있다. 또한 출력부(230)의 일 예로서 디스플레이(미도시)가 포함될 수 있다.
일 실시 예에 따른 수신부(210)는 수술의 영상 또는 분산 추론 엔진을 수신할 수 있다. 수술의 영상은 제 1 수술의 영상, 제 2 수술의 영상 등 다수의 수술에 대한 영상을 포함할 수 있다. 분산 추론 엔진은 객체 등에 대한 추론을 수행하기 위한 엔진을 의미할 수 있다.
일 실시 예에 따른 프로세서(220)는 제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행할 수 있다.
일 실시 예에 따른 프로세서(220)는 복수의 분산 추론 엔진을 이용하여 수술의 영상에 포함된 복수의 객체에 대한 추론을 수행할 수 있다. 복수의 분산 추론 엔진은 각각 서로 상이한 객체에 대응될 수 있다.
일 실시 예에 따른 프로세서(220)는 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 1 객체에 대한 추론을 수행할 수 있다.
일 실시 예에 따라 제 1분산 추론 엔진은 제 1객체에 대한 추론을 수행할 수 있다. 따라서 이 경우 프로세서(220)는 제 1수술의 영상에서 제 1객체에 대한 추론을 수행했던 제 1분산 추론 엔진을 이용하여, 제 2 수술의 영상에 포함된 제 1객체에 대한 추론을 수행할 수 있다.
일 실시 예에 따른 프로세서(220)는 는 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득할 수 있다.
일 실시 예에 따를 때, 제 2 수술의 영상에 포함된 제 2 객체는 제 2 수술의 영상에 포함되지 않은 객체일 수 있다. 따라서 프로세서(220)는 새로운 영상인 제 2 수술의 영상에 대한 추론을 수행함에 있어서 새로운 객체라고 결정된 제 2 객체에 대한 추론을 수행하기 위해서 제 2 분산 추론 엔진을 획득할 수 있다. 제 2 분산 추론 엔진은 제 2 객체를 추론하기 위해 이용되는 분산 추론 엔진일 수 있다.
일 실시 예에 따른 프로세서(220)는 제 2 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 2 객체를 추론할 수 있다.
일 실시 예에 따른 프로세서(220)는 제 2 수술의 영상에 포함된 제 2 객체를 추론할 때 제 2 분산 추론 엔진을 이용할 수 있으며, 제 2 분산 추론 엔진은 제 1 수술에서는 이용되지 않는 분산 추론 엔진일 수 있다.
도 3은 일 실시 예에 따른 디바이스(100)가 동작하는 각 단계를 도시한 흐름도이다.
단계 S310을 참조하면, 일 실시 예에 따른 디바이스(100)는 제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행할 수 있다.
일 실시 예에 따른 디바이스(100)는 복수의 분산 추론 엔진을 이용하여 수술의 영상에 포함된 복수의 객체에 대한 추론을 수행할 수 있다. 복수의 분산 추론 엔진은 각각 서로 상이한 객체에 대응될 수 있다. 예를 들면 제 1분산 추론 엔진은 제 1객체에 대응될 수 있다. 따라서 제 1분산 추론 엔진은 제 1수술의 영상에 포함된 제 1객체에 대한 추론을 수행할 수 있다.
단계 S320을 참조하면, 일 실시 예에 따른 디바이스(100)는 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 1 객체에 대한 추론을 수행할 수 있다.
일 실시 예에 따라 제 1분산 추론 엔진은 제 1객체에 대한 추론을 수행할 수 있다. 따라서 이 경우 디바이스(100)는 제 1수술의 영상에서 제 1객체에 대한 추론을 수행했던 제 1분산 추론 엔진을 이용하여, 제 2 수술의 영상에 포함된 제 1객체에 대한 추론을 수행할 수 있다.
제 1수술의 영상과 제 2수술의 영상은 서로 상이한 수술에 대한 영상일 수 있다. 예를 들면 제 1 수술의 영상은 전립선 수술에 대한 영상이고 제 2 수술은 맹장 수술에 대한 영상일 수 있다. 제 1 수술 및 제 2 수술에서 모두 이용되는 객체인 제 1 객체에 대해서 디바이스(100)는 제 1 분산 추론 엔진을 이용하여 추론을 수행할 수 있다. 예를 들면, 제 1수술 및 제 2수술에서 모두 이용되는 객체인 매스가 제 1 분산 추론 엔진에 대응되는 경우, 디바이스(100)는 제 1분산 추론 엔진을 이용하여 매스에 대한 추론을 다수의 수술 영상에서 수행할 수 있다.
일 실시 예에 따른 디바이스(100)는 제 1분산 추론 엔진을 이용하여 제 1객체에 대한 추론을 복수의 영상에서 수행할 수 있기 때문에, 새로운 영상에 대해서도 제 1 객체에 대해서는 제 1분산 추론 엔진을 이용하여 추론을 수행할 수 있다. 분산 추론 엔진이 이용되지 않을 경우, 영상 자체에 대한 추론이 수행되어야 하기 때문에, 새로운 영상에 대해서 종래 사용하던 추론엔진을 사용하는 것은 어려울 수 있다. 그러나, 본 개시에서 제공되는 디바이스(100)는 분산 추론 엔진을 이용하기 때문에 동일한 객체가 새로운 영상에 포함되는 경우, 종래 이용하된 분산 추론 엔진을 이용하여 새로운 영상(예: 제 2수술의 영상)의 동일한 객체(예: 제 1객체)에 대한 추론을 수행할 수 있다.
단계 S330을 참조하면, 일 실시 예에 따른 디바이스(100)는 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득할 수 있다.
일 실시 예에 따를 때, 제 2 수술의 영상에 포함된 제 2 객체는 제 2 수술의 영상에 포함되지 않은 객체일 수 있다. 따라서 디바이스(100)는 새로운 영상인 제 2 수술의 영상에 대한 추론을 수행함에 있어서 새로운 객체라고 결정된 제 2 객체에 대한 추론을 수행하기 위해서 제 2 분산 추론 엔진을 획득할 수 있다. 제 2 분산 추론 엔진은 제 2 객체를 추론하기 위해 이용되는 분산 추론 엔진일 수 있다.
일 실시 예에 따른 디바이스(100)는 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 획득할 수 있다. 수술 종류에 따라 사용될 것으로 예상되는 수술 도구가 예상될 수 있다. 따라서 디바이스(100)는 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 제 2 수술에 따라 결정할 수 있다. 예를 들면, 디바이스(100)는 제 2 수술이 맹장 수술인 경우, 맹장 수술에 이용될 것으로 예상되는 수술 도구 리스트에 대한 정보를 획득할 수 있다. 수술 도구 리스트에 대한 정보가 제 2수술 객체 정보일 수 있다.
일 실시 예에 따른 디바이스(100)는 제 2 수술 객체 정보에 기초하여 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 송신할 수 있다. 제 2수술 객체 정보에 기초하여 제 2 수술에 대응되는 복수의 제 2 수술 객체를 결정할 수 있다. 또한 복수의 제 2 수술 객체 각각에 대응하는 분산 추론 엔진을 결정할 수 있다. 예를 들면, 제 2 수술 객체에 대응하는 분산 추론 엔진으로 제 2 분산 추론 엔진, 제 2-1 분산 추론 엔진, 제 2-2 분산 추론 엔진 등이 획득될 수 있다.
일 실시 예에 따른 디바이스(100)는 제공 요청에 기초하여 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진을 획득할 수 있다. 디바이스(100)는 제 2 수술 객체 정보로 결정되는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 외부 디바이스(예: 서버)로 송신하고, 송신된 제공 요청에 대한 응답으로 하나 이상의 분산 추론 엔진을 획득할 수 있다.
단계 S340을 참조하면, 일 실시 예에 따른 디바이스(100)는 제 2 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 제 2 객체를 추론할 수 있다.
일 실시 예에 따른 디바이스(100)는 제 2 수술의 영상에 포함된 제 2 객체를 추론할 때 제 2 분산 추론 엔진을 이용할 수 있으며, 제 2 분산 추론 엔진은 제 1 수술에서는 이용되지 않는 분산 추론 엔진일 수 있다.
제 2 분산 추론 엔진은 제 1 수술에서는 이용되지 않는 분산 추론 엔진이기 때문에 상술된 단계 S330을 통해서 획득된 이후 제 2 수술의 영상에 대한 추론을 수행할 때 이용될 수 있다. 또한 신규 수술의 영상에 대한 추론을 수행할 때, 제 2 객체가 신규 수술의 영상에 포함되는 경우, 추가적인 분산 추론 엔진을 획득하는 단계 없이, 기획득된 제 2 분산 추론 엔진이 이용될 수 있다.
도 4는 일 실시 예에 따른 디바이스(100)가 복수의 분산 추론 엔진을 이용하여 복수의 객체(421, 422, 423)에 대한 추론을 수행하는 일 예를 설명하기 위한 도면이다.
수술의 영상(410)이 획득되면, 디바이스(100)는 수술의 영상(410)에 포함되는 복수개의 객체(421, 422, 423)에 대해서 추론을 수행할 수 있다. 예를 들면, 디바이스(100)는 수술의 영상(410)에 포함된 제 1-1 객체(421)에 대해서는 제 1-1 분산 추론 엔진을 이용하여 추론을 수행하고, 제 1-2 객체(422)에 대해서는 제 1-2 분산 추론 엔진을 이용하여 추론을 수행하고, 제 1-3 객체(423)에 대해서는 제 1-3 분산 추론 엔진을 이용하여 추론을 수행할 수 있다.
일 실시 예에 따른 객체는 수술 도구, 장기, 혈관, ROI 등 추론이 수행될 수 있는 대상을 제한 없이 포함할 수 있다.
일 실시 예에 따른 디바이스(100)는 수술의 영상(410)에 대해서 복수개의 객체(421, 422, 423)에 대해서 추론을 수행하여 제 1 추론 영상(440)을 획득할 수 있다.
도 5는 일 실시 예에 따른 디바이스(100)가 추론이 누락된 객체에 대한 추론을 수행하는 일 예를 설명하기 위한 도면이다.
수술의 영상(410)이 획득되면, 디바이스(100)는 수술의 영상(410)에 포함되는 복수개의 객체(421, 422, 423, 510)에 대해서 추론을 수행할 수 있다. 예를 들면, 디바이스(100)는 수술의 영상(410)에 포함된 제 1-1 객체(421)에 대해서는 제 1-1 분산 추론 엔진을 이용하여 추론을 수행하고, 제 1-2 객체(422)에 대해서는 제 1-2 분산 추론 엔진을 이용하여 추론을 수행하고, 제 1-3 객체(423)에 대해서는 제 1-3 분산 추론 엔진을 이용하여 추론을 수행하고, 제 2-1 객체(510)에 대해서는 제 2-1 분산 추론 엔진을 이용하여 추론을 수행할 수 있다.
일 실시 예에 따른 디바이스(100)는 수술의 영상(410)에 대해서 복수개의 객체(421, 422, 423, 510)에 대해서 추론을 수행하여 제 2 추론 영상(530)을 획득할 수 있다.
도 4 및 도 5를 참조하면, 동일한 수술의 영상(410)에 대해서 제 1 추론 영상(440)에서는 제 2-1 객체(510)에 대해서는 추론이 수행되지 않았으나, 제 2 추론 영상(530)에서는 제 2-1 객체(510)에 대해서까지 추론이 수행되었음을 확인할 수 있다.
일 실시 예에 따른 디바이스(100)는 추론을 수행 결과 미추론된 객체가 있다고 결정된 경우에는 다시 추론을 수행하거나 새로운 분산 추론 엔진을 획득하여 미추론된 객체에 대해서까지 추론을 수행할 수 있다.
이하에서는 미추론된 객체에 대한 추론을 수행하는 방법에 대해서 설명한다.
일 실시 예에 따른 디바이스(100)는 수술의 영상(410)에 포함된 어떤 객체(예: 제 2-1 객체(510))에 대한 추론이 수행되지 않았음을 나타내는 미추론 알림 메시지를 획득할 수 있다. 예를 들면, 디바이스(100)는 제 1 추론 영상(440)에 대한 분석을 통해서 일부 객체(예: 제 2-1 객체(510))에 대한 추론이 수행되지 않았다는 것을 결정할 수 있다. 이 경우, 디바이스(100)는 미추론 알림 메시지를 획득 또는 제공할 수 있다.
일 실시 예에 따른 디바이스(100)는 미추론 알림 메시지에 기초하여 미추론된 객체를 추론하기 위한 분산 추론 엔진에 대한 제공 요청을 송신할 수 있다. 예를 들면, 디바이스(100)는 제 2-1 객체(510)에 대한 추론을 수행하기 위해 제 2-1 분산 추론 엔진에 대한 제공 요청을 외부 디바이스(예: 서버)로 송신할 수 있다.
일 실시 예에 따른 디바이스(100)는 제공 요청에 따라 획득된 분산 추론 엔진(예: 제 2-1 분산 추론 엔진)에 기초하여 미추론된 객체(제 2-1 객체(510))에 대한 추론을 수행할 수 있다.
도 6은 일 실시 예에 따른 디바이스(100)가 복수의 객체(610, 620, 630, 640)를 포함하는 수술의 영상(600)에 대해 추론을 수행하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따른 디바이스(100)는 복수의 객체(610, 620, 630, 640)를 포함하는 수술의 영상(600)에 대한 추론을 수행할 때 복수의 분산 추론 엔진을 이용할 수 있다. 각각의 분산 추론 엔진은 각각 서로 다른 객체에 대응될 수 있다. 예를 들면, 제 3-1 객체(610), 제 3-2 객체(620), 제 3-3 객체(630) 및 제 3-4 객체(640)의 추론을 위해서는 각각 제 3-1 분산 추론 엔진, 제 3-2 분산 추론 엔진, 제 3-3 분산 추론 엔진 및 제 3-4 분산 추론 엔진이 이용될 수 있다.
도 7은 일 실시 예에 따른 디바이스(100)가 오추론이 수행된 경우 동작하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시 예에 따른 디바이스(100)는 제 3-1 객체(610), 제 3-2 객체(620) 및 제 3-3 객체(630)는 각각 제 3-1 분산 추론 엔진, 제 3-2 분산 추론 엔진 및 제 3-3 분산 추론 엔진으로 정상적인 추론을 수행하였다.
그러나 일 실시 예에 따른 디바이스(100)가 추론을 수행하는 과정에서 오추론이 발생할 수 있다. 예를 들면, 수술의 영상(600)에 포함된 제 3-4객체(640)가 제 4-1객체(710)로 오추론될 수 있다. 제 3-4객체(640)는 제 3-4 분산 추론 엔진으로 추론이 수행되어야 하는데, 제 4-1 분산 추론 엔진으로 잘못 추론이 수행될 수 있다.
이처럼 오추론이 수행된 경우, 디바이스(100)는 수술의 영상(600)에 포함된 제 3-4객체(640)에 대한 추론이 잘못 수행되었음을 나타내는 오추론 알림 메시지를 획득할 수 있다. 오추론이 수행되었는지 여부를 결정하기 위해서는 다양한 방식이 이용될 수 있다. 예를 들면, 추론 대상이 되는 객체(예: 제 3-4객체(640))와 추론이 된 객체(제 4-1객체(710))간의 바운더리 비교를 통해 오추론 여부가 결정될 수 있으나 이에 제한되지 않는다.
일 실시 예에 따른 디바이스(100)는 오추론 알림 메시지에 기초하여 제 3-4객체(640)를 추론하기 위한 제 3-4 분산 추론 엔진에 대한 제공 요청을 송신할 수 있다. 예를 들면, 디바이스(100)는 서버와 같은 외부 디바이스로 제 3-4 분산 추론 엔진에 대한 제공 요청을 송신할 수 있다.
또한, 디바이스(100)는 제 3-4 분산 추론 엔진에 대한 제공 요청에 따라 획득된 제 3-4 분산 추론 엔진에 기초하여 제 3-4 객체에 대한 추론을 수행할 수 있다.
도 8은 일 실시 예에 따른 디바이스(100)가 신규 객체를 포함하는 수술의 영상에 대해 추론을 수행하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따른 디바이스(100)가 추론을 수행하는 과정에서 디바이스(100)가 보유하고 있는 분산 추론 엔진으로는 추론하기 어려운 신규 객체가 수술의 영상(600)에 포함될 수 있다. 예를 들면, 수술의 영상(600)에 포함된 제 3-4객체(640)가 신규 객체일 수 있다. 제 3-4객체(640)는 제 3-4 분산 추론 엔진으로 추론이 수행되어야 하는데, 디바이스(100)는 제 3-4 분산 추론 엔진을 획득하지 못한 상태일 수 있다.
이처럼 신규 객체가 수술의 영상(600)에 포함되어 있는 경우, 디바이스(100)는 수술의 영상(600)에 포함된 제 3-4객체(640)가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득할 수 있다. 신규 객체가 수술의 영상(600)에 포함되었는지 여부를 결정하기 위해서는 다양한 방식이 이용될 수 있다. 예를 들면, 추론 대상이 되는 객체(예: 제 3-4객체(640))에 복수의 분산 추론 엔진이 대응되는 경우, 디바이스(100)는 신규 객체 알림 메시지를 획득할 수 있으나 이에 제한되지 않는다.
일 실시 예에 따른 디바이스(100)는 수술의 영상(600)에 포함된 제 3-4객체(640)가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득할 수 있다. 예를 들면, 추론 대상이 되는 객체(예: 제 3-4객체(640))에 복수의 분산 추론 엔진이 대응되는 경우, 디바이스(100)는 신규 객체 알림 메시지를 획득할 수 있다. 일 예로, 도 8을 참조하면, 디바이스(100)는 수술의 영상(600)에 포함된 제 3-4객체(640)가 복수의 객체(예: 제 4-1객체(710) 및 제 4-2객체(810))로 추론되는 경우, 제 3-4객체(640)가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 신규 객체(예: 제 3-4객체(640))를 타게팅하는 분산 추론 엔진의 개수인 타게팅 엔진 개수에 기초하여 신규 객체 알림 메시지를 획득할 수 있다. 도 8을 참조하면, 신규 객체인 제 3-4객체(640)에 대해서 제 4-1객체(710) 및 제 4-2객체(810)로 오추론된 상태임을 확인할 수 있다. 하나의 객체에 대해서 복수의 분산 추론 엔진이 타게팅된 경우 수술의 영상(600)에 신규 객체가 포함되었을 확률이 존재한다. 따라서, 디바이스(100)는 동일한 객체에 대해서 복수의 분산 추론 엔진이 타게팅된 경우, 동일한 객체에 타게팅된 분산 추론 엔진의 개수인 타게팅 엔진 개수에 기초하여 신규 객체 알림 메시지를 획득할 수 있다. 예를 들면, 타게팅 엔진 개수가 작은 경우의 신규 객체 알림 메시지의 알림 레벨보다 타게팅 엔진 개수가 큰 경우의 신규 객체 알림 메시지의 알림 레벨이 더 높을 수 있다.
일 실시 예에 따른 신규 객체 알림 메시지에는 알림 레벨이 대응될 수 있다. 예를 들면, 동일한 객체에 대응되는 타게팅 인젠 개수가 많을수록 해당 객체가 신규 객체일 확률이 높을 수 있기 때문에, 타게팅 엔진 개수가 많을수록 신규 객체 알림 메시지의 알림 레벨이 높아질 수 있다.
일 실시 예에 따른 디바이스(100)는 신규 객체 알림 메시지에 기초하여 신규 객체(예: 제 3-4객체(640))를 추론하기 위한 분산 추론 엔진(예: 제 3-4 분산 추론 엔진)에 대한 제공 요청을 송신할 수 있다. 예를 들면, 디바이스(100)는 서버와 같은 외부 디바이스로 제 3-4 분산 추론 엔진에 대한 제공 요청을 송신할 수 있다.
일 실시 예에 따른 디바이스(100)는 제공 요청에 따라 획득된 분산 추론 엔진(예: 제 3-4 분산 추론 엔진)에 기초하여 신규 객체(예: 제 3-4객체(640))에 대한 추론을 수행할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예를 들어, 디스플레이 장치 또는 컴퓨터)에 의해 읽을 수 있는 저장 매체(storage medium)(예를 들어, 메모리)에 저장된 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서(예를 들어, 프로세서(220))는, 저장 매체로부터 저장된 하나 이상의 인스트럭션들 중 적어도 하나의 인스트럭션을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 인스트럭션에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 인스트럭션들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 대하여 예시한 도면을 참조로 하여 설명하였으나 개시된 실시 예와 도면에 의해 한정되는 것은 아니며 본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 실시 예를 설명하며 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을지라도, 해당 구성에 의해 예측이 가능한 효과 또한 인정될 수 있다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (14)

  1. 영상에 포함된 객체에 대한 추론을 수행하는 방법에 있어서,
    제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행하는 단계;
    상기 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 상기 제 1 객체에 대한 추론을 수행하는 단계;
    상기 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득하는 단계; 및
    상기 제 2 분산 추론 엔진을 이용하여 상기 제 2 수술의 영상에 포함된 상기 제 2 객체를 추론하는 단계;를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 2 분산 추론 엔진을 획득하는 단계는
    상기 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 획득하는 단계;
    상기 제 2 수술 객체 정보에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및
    상기 제공 요청에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진을 획득하는 단계;를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 2 수술의 영상에 포함된 제 3 객체에 대한 추론이 수행되지 않았음을 나타내는 미추론 알림 메시지를 획득하는 단계;
    상기 미추론 알림 메시지에 기초하여 상기 제 3 객체를 추론하기 위한 제 3 분산 추론 엔진에 대한 제공 요청을 송신하는 단계;
    상기 제공 요청에 따라 획득된 상기 제 3 분산 추론 엔진에 기초하여 상기 제 3 객체에 대한 추론을 수행하는 단계;를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 제 2 수술의 영상에 포함된 제 4 객체에 대한 추론이 잘못 수행되었음을 나타내는 오추론 알림 메시지를 획득하는 단계;
    상기 오추론 알림 메시지에 기초하여 상기 제 4 객체를 추론하기 위한 제 4 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및
    상기 제공 요청에 따라 획득된 상기 제 4 분산 추론 엔진에 기초하여 상기 제 4 객체에 대한 추론을 수행하는 단계;를 더 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 제 2 수술의 영상에 포함된 제 5 객체가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득하는 단계;
    상기 신규 객체 알림 메시지에 기초하여 상기 제 5 객체를 추론하기 위한 제 5 분산 추론 엔진에 대한 제공 요청을 송신하는 단계; 및
    상기 제공 요청에 따라 획득된 상기 제 5 분산 추론 엔진에 기초하여 상기 제 5 객체에 대한 추론을 수행하는 단계;를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 신규 객체 알림 메시지를 획득하는 단계는
    상기 제 5 객체를 타게팅하는 분산 추론 엔진의 개수인 타게팅 엔진 개수를 결정하는 단계; 및
    상기 타게팅 엔진 개수에 기초하여 상기 신규 객체 알림 메시지를 획득하는 단계;를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 타게팅 엔진 개수가 작은 경우의 상기 신규 객체 알림 메시지의 알림 레벨보다 상기 타게팅 엔진 개수가 큰 경우의 상기 신규 객체 알림 메시지의 알림 레벨이 더 높은, 방법.
  8. 영상에 포함된 객체에 대한 추론을 수행하는 디바이스에 있어서,
    제 1 수술의 영상 또는 제 2 수술의 영상을 수신하는 수신부; 및
    제 1 분산 추론 엔진을 이용하여 제 1 수술의 영상에 포함된 제 1 객체에 대한 추론(inference)을 수행하고,
    상기 제 1 분산 추론 엔진을 이용하여 제 2 수술의 영상에 포함된 상기 제 1 객체에 대한 추론을 수행하고,
    상기 제 2 수술의 영상에 포함된 제 2 객체의 추론에 이용되는 제 2 분산 추론 엔진을 획득하고,
    상기 제 2 분산 추론 엔진을 이용하여 상기 제 2 수술의 영상에 포함된 상기 제 2 객체를 추론하는 프로세서;를 포함하는, 디바이스.
  9. 제 8 항에 있어서,
    상기 프로세서는
    상기 제 2 수술에 대응되는 객체의 종류를 나타내는 제 2 수술 객체 정보를 획득하고,
    상기 제 2 수술 객체 정보에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진에 대한 제공 요청을 송신하고,
    상기 제공 요청에 기초하여 상기 제 2 분산 추론 엔진을 포함하는 하나 이상의 분산 추론 엔진을 획득하는, 디바이스.
  10. 제 8 항에 있어서,
    상기 프로세서는
    상기 제 2 수술의 영상에 포함된 제 3 객체에 대한 추론이 수행되지 않았음을 나타내는 미추론 알림 메시지를 획득하고,
    상기 미추론 알림 메시지에 기초하여 상기 제 3 객체를 추론하기 위한 제 3 분산 추론 엔진에 대한 제공 요청을 송신하고,
    상기 제공 요청에 따라 획득된 상기 제 3 분산 추론 엔진에 기초하여 상기 제 3 객체에 대한 추론을 수행하는, 디바이스.
  11. 제 8 항에 있어서,
    상기 프로세서는
    상기 제 2 수술의 영상에 포함된 제 4 객체에 대한 추론이 잘못 수행되었음을 나타내는 오추론 알림 메시지를 획득하고,
    상기 오추론 알림 메시지에 기초하여 상기 제 4 객체를 추론하기 위한 제 4 분산 추론 엔진에 대한 제공 요청을 송신하고,
    상기 제공 요청에 따라 획득된 상기 제 4 분산 추론 엔진에 기초하여 상기 제 4 객체에 대한 추론을 수행하는, 디바이스.
  12. 제 8 항에 있어서,
    상기 프로세서는
    상기 제 2 수술의 영상에 포함된 제 5 객체가 신규 객체임을 나타내는 신규 객체 알림 메시지를 획득하고,
    상기 신규 객체 알림 메시지에 기초하여 상기 제 5 객체를 추론하기 위한 제 5 분산 추론 엔진에 대한 제공 요청을 송신하고,
    상기 제공 요청에 따라 획득된 상기 제 5 분산 추론 엔진에 기초하여 상기 제 5 객체에 대한 추론을 수행하는, 디바이스.
  13. 제 12 항에 있어서,
    상기 프로세서는
    상기 제 5 객체를 타게팅하는 분산 추론 엔진의 개수인 타게팅 엔진 개수를 결정하고,
    상기 타게팅 엔진 개수에 기초하여 상기 신규 객체 알림 메시지를 획득하는, 디바이스.
  14. 제 1 항 내지 제 7 항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 비일시적 기록 매체.
PCT/KR2023/011439 2022-10-05 2023-08-03 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스 WO2024075961A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220127286A KR20240048075A (ko) 2022-10-05 2022-10-05 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스
KR10-2022-0127286 2022-10-05

Publications (1)

Publication Number Publication Date
WO2024075961A1 true WO2024075961A1 (ko) 2024-04-11

Family

ID=90608572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011439 WO2024075961A1 (ko) 2022-10-05 2023-08-03 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스

Country Status (2)

Country Link
KR (1) KR20240048075A (ko)
WO (1) WO2024075961A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5843414B2 (ja) * 2012-05-21 2016-01-13 テラリコン インコーポレイテッド 医療記録ソフトウエアと高度画像処理の統合
KR102179584B1 (ko) * 2020-04-16 2020-11-18 주식회사 딥노이드 의료영상 판독을 위한 인공지능 기반의 클라우드 플랫폼 시스템
US10977796B2 (en) * 2019-03-29 2021-04-13 Fujifilm Medical Systems U.S.A., Inc. Platform for evaluating medical information and method for using the same
KR102386496B1 (ko) * 2020-01-09 2022-04-14 주식회사 엠티이지 도구 인식 기반의 수술 동영상 간 유사도 비교 장치 및 방법
KR20220103656A (ko) * 2021-01-15 2022-07-22 주식회사 엠티이지 인공지능 기반의 수술 동영상 분석과 수술 비교 평가를 위한 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102238610B1 (ko) 2020-07-22 2021-04-09 이노뎁 주식회사 딥러닝 객체 검출기의 추론 정보를 이용한 정지객체 검출 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5843414B2 (ja) * 2012-05-21 2016-01-13 テラリコン インコーポレイテッド 医療記録ソフトウエアと高度画像処理の統合
US10977796B2 (en) * 2019-03-29 2021-04-13 Fujifilm Medical Systems U.S.A., Inc. Platform for evaluating medical information and method for using the same
KR102386496B1 (ko) * 2020-01-09 2022-04-14 주식회사 엠티이지 도구 인식 기반의 수술 동영상 간 유사도 비교 장치 및 방법
KR102179584B1 (ko) * 2020-04-16 2020-11-18 주식회사 딥노이드 의료영상 판독을 위한 인공지능 기반의 클라우드 플랫폼 시스템
KR20220103656A (ko) * 2021-01-15 2022-07-22 주식회사 엠티이지 인공지능 기반의 수술 동영상 분석과 수술 비교 평가를 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20240048075A (ko) 2024-04-15

Similar Documents

Publication Publication Date Title
WO2018128355A1 (en) Robot and electronic device for performing hand-eye calibration
WO2013125801A1 (en) Method of controlling image diagnosis apparatus and mobile terminal for the same, and method of operating image diagnosis apparatus and image diagnosis apparatus for the same
WO2016099193A1 (en) Method and apparatus for supporting facility control of terminal
WO2016085246A1 (en) Discovery method and an electronic device thereof
WO2020235939A2 (ko) 이동통신 단말기에서의 안면 인식을 이용한 관련 질환 모니터링 방법 및 시스템
EP3087455A1 (en) Method of controlling a medical apparatus and mobile apparatus therefor
WO2016117907A1 (ko) 개인 정보 데이터 보안을 강화하는 장치 및 방법
WO2015126060A1 (ko) 이미지를 처리하기 위한 전자 장치 및 방법
WO2015167236A1 (en) Electronic device and method for providing emergency video call service
WO2021167374A1 (ko) 영상 검색 장치 및 이를 포함하는 네트워크 감시 카메라 시스템
WO2015099357A1 (en) User terminal for a telemedicine image service and control method thereof
EP3105919A1 (en) Photographing method of an electronic device and the electronic device thereof
EP3210338A1 (en) Method of controlling device and device thereof
WO2013005985A2 (en) Proxy communication system and proxy communication system controlling method in ban environment
WO2024075961A1 (ko) 영상에 포함된 객체에 대한 추론을 수행하는 방법 및 디바이스
WO2015111805A1 (ko) 웨어러블 단말기 및 이를 포함하는 시스템
WO2012141435A2 (ko) 의료 영상 데이터 공유 장치, 의료 영상 데이터 공유 시스템 및 의료 영상 데이터 공유 방법
WO2018151518A1 (ko) 전자 장치의 통신 설정 방법 및 그 장치
WO2015093754A1 (ko) 전자 장치에서 연결 정보를 공유하는 방법 및 장치
WO2020189953A1 (ko) 인공지능에 기반하여 영상을 분석하는 카메라 및 그것의 동작 방법
WO2018070557A1 (ko) 영상획득장치 및 그의 구동 방법
WO2019225998A1 (ko) 이동 단말 및 이동 단말의 전자 기기 등록 방법
WO2019164326A1 (ko) 실시간 콘텐트 데이터를 공유하는 전자 장치
WO2024075962A1 (ko) 음성 입력을 이용한 어노테이션을 제공하는 방법 및 디바이스
WO2024090746A1 (ko) 초음파 영상 처리 방법 및 디바이스

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23875031

Country of ref document: EP

Kind code of ref document: A1