WO2018124500A1 - 객체의 인식 결과를 제공하는 방법 및 전자 장치 - Google Patents

객체의 인식 결과를 제공하는 방법 및 전자 장치 Download PDF

Info

Publication number
WO2018124500A1
WO2018124500A1 PCT/KR2017/013792 KR2017013792W WO2018124500A1 WO 2018124500 A1 WO2018124500 A1 WO 2018124500A1 KR 2017013792 W KR2017013792 W KR 2017013792W WO 2018124500 A1 WO2018124500 A1 WO 2018124500A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
data
group
electronic device
images
Prior art date
Application number
PCT/KR2017/013792
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 삼성전자(주)
Priority to US16/466,516 priority Critical patent/US11106913B2/en
Publication of WO2018124500A1 publication Critical patent/WO2018124500A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • Various embodiments relate to a method and an electronic device for providing a result of recognizing an object, and more particularly, to a method and an electronic device for providing a result of recognizing an object in one direction of an object included in an image.
  • a user can receive various services using electronic devices.
  • a user may be provided with a recognition result of an object in a front direction of an object included in an image using an electronic device.
  • the electronic device automatically searches for an image similar to the image to provide the recognition result of the object, and uses the similarities of the plurality of images to more accurately search for an image group corresponding to the object, thereby searching the front of the object.
  • a technique that makes it possible to estimate the direction.
  • Various embodiments provide an electronic device and a method for estimating a front direction of an object included in an image and providing a recognition result of the object in the estimated front direction.
  • An electronic device includes a memory in which computer executable instructions are stored; By executing the computer executable instructions, the object included in the image is detected, the image group corresponding to the detected object is determined by matching the image groups and the image grouped by the same object, and the shooting conditions of the determined image group And at least one processor for estimating a front direction of an object of an image group determined in the image based on shooting conditions of the image; And an output unit configured to output information of the image group in the estimated front direction.
  • a method for providing a result of recognizing an object according to the second aspect includes detecting an object included in an image; Determining an image group corresponding to the detected object through matching between the image groups grouped by the same object and the image; And outputting information of the image group in the frontal direction of the object of the determined image group, estimated in the image, based on the determined shooting condition of the image group and the shooting condition of the image.
  • the method includes receiving user input to select a displayed graphical user interface; And based on the information of the image group, accessing a site from which the object of the image group can be purchased.
  • the method may include multiplying and adding weights based on differences in shooting conditions of the estimated image by first similarities.
  • the method may include learning a criterion for determining first similarities.
  • the method may include determining a three-dimensional model corresponding to the detected object through matching between the three-dimensional models of the plurality of objects and the depth image when the image is a depth image; And outputting information of the 3D model in the front direction of the object of the 3D model in the depth image based on the depth information of the depth image.
  • the method comprises the steps of: tracking the movement of the camera taking the image; And outputting information of the image group in a front direction of an object of the determined image group estimated in the image, based on the determined shooting condition of the image group and the shooting condition of the image changed according to the movement of the camera.
  • the third aspect of the present disclosure can provide a computer readable recording medium having recorded thereon a program for executing the method of the second aspect on a computer.
  • FIG. 1 is a diagram illustrating an example in which an electronic device provides a result of recognizing an object, according to an exemplary embodiment.
  • FIG. 2 is a flowchart of a method of providing, by an electronic device, a recognition result of an object, according to an exemplary embodiment.
  • FIG. 3 is a diagram illustrating an example of determining similarity between images, according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating an example of estimating a front direction of an object, according to an exemplary embodiment.
  • FIG. 5 illustrates an example of determining a similarity between an image and an image group, according to an exemplary embodiment.
  • 6 and 7 are block diagrams illustrating a configuration of an electronic device according to some embodiments.
  • FIG. 8 is a block diagram illustrating in detail a control unit according to an exemplary embodiment.
  • FIG. 9 is a block diagram illustrating in detail a data learner according to an exemplary embodiment.
  • FIG. 10 is a block diagram illustrating in detail a data recognizer according to an exemplary embodiment.
  • FIG. 11 is a diagram illustrating an example in which a device and a server learn and recognize data by interworking with each other, according to an exemplary embodiment.
  • An electronic device includes a memory in which computer executable instructions are stored; By executing the computer executable instructions, the object included in the image is detected, the image group corresponding to the detected object is determined by matching the image groups and the image grouped by the same object, and the shooting conditions of the determined image group And at least one processor for estimating a front direction of an object of an image group determined in the image based on shooting conditions of the image; And an output unit configured to output information of the image group in the estimated front direction.
  • FIG. 1 is a diagram illustrating an example in which an electronic device provides a result of recognizing an object.
  • an electronic device may detect an object 150 included in an image 100.
  • the object 150 is included in the image 100 and refers to one subject that is recognized by being distinguished from other subjects in the image 100.
  • the image 100 may include at least one object, and the electronic device may detect at least one object from the image 100.
  • the image 100 may be an image being photographed using a camera provided in the electronic device.
  • the camera provided in the electronic device may be a depth camera.
  • the electronic device may execute a camera application to capture the image 100.
  • the electronic device may acquire an image 100 for providing a recognition result of the object 150 among images previously stored in the electronic device, the server, or the external device.
  • the electronic device may execute a gallery application to obtain an image 100 previously stored in the gallery application.
  • the electronic device may access a social network server, a cloud server, or a content providing server to download the image 100.
  • the electronic device may include images 110 including objects identical and / or similar to the object 150 included in the image 100 through matching between the images accessible by the electronic device and the image 100. , 120, 130, 140).
  • Images accessible by the electronic device may include at least one of an image previously stored in the electronic device, an image receivable from an external device communicating with the electronic device, and an image receivable from a server.
  • the images accessible by the electronic device may be composed of image groups grouped by the same object, and the electronic device may determine an image group corresponding to the detected object 150.
  • the first image group 180 may include images 110 and 120 photographing XX ramen
  • the second image group 190 may include images 130 and 140 photographing OO ramen. It may include.
  • the electronic device may determine a plurality of image groups corresponding to the object 150, and may determine each image group corresponding to a specific direction or position in the image 100 among the determined plurality of image groups. have. For example, the electronic device may determine that the left side of the object 150 corresponds to the first image group 180, and the right side of the object corresponds to the second image group 190.
  • the electronic device may estimate the front direction of the object of the image group determined in the image 100 based on the determined shooting condition of the image group and the shooting condition of the image 100.
  • the frontal direction of the object is a direction set as a three-dimensional vector pointing at any one direction from the center of the object, and may be set in the direction of a straight line perpendicular to the front surface of the object.
  • the front direction of the object may be a direction opposite to the photographing direction of the representative image included in the image group.
  • the frontal direction of the object may be a vector from the center of the object toward the focal position of the photographing camera.
  • the front direction of the XX surface of the first image group 180 may be opposite to the photographing direction of the representative image 110 of the first image group 180.
  • the front direction of the objects of the image group may be stored with the image as the information of the image group.
  • the photographing condition may include at least one of a photographing position and a photographing direction.
  • the electronic device may determine whether the electronic device is configured to determine the relative difference between the photographing condition of the images 110 and 120 included in the first image group 180 and the photographing condition of the image 100.
  • the front direction of the object may be estimated in the image 100.
  • the front direction of the XX ramen may be estimated as the left direction of the object 150.
  • the electronic device may determine whether the second image group 190 is configured according to a relative difference between the photographing condition of the images 130 and 140 included in the second image group 190 and the photographing condition of the image 100.
  • the front direction of the object may be estimated in the image 100.
  • the front direction of the OO surface in the image 100 may be estimated as the right direction of the object 150.
  • the electronic device may output the information of the image group in the front direction of the estimated object.
  • the electronic device may face the object and output information of an image group near the object.
  • the information of the image group is common information of the images included in the image group, and may include a name of an object included in the image group, an address of a site where the object can be purchased, and ID information of the image group. For example, images with the same ID may be grouped into one image group.
  • the electronic device may output information of image groups corresponding to the front direction of the estimated object.
  • the information of the image group may be used as information representing the recognition result of the object 150.
  • the electronic device may display the name 160 of the object of the first image group 180 in the left direction of the object 150 estimated in the front direction of the object of the first image group 180.
  • the electronic device may display the name 170 of the object of the second image group 190 in the right direction of the object 150 estimated in the front direction of the object of the second image group 190. have.
  • Electronic devices include smart phones, tablet PCs, PCs, smart TVs, mobile phones, personal digital assistants (PDAs), laptops, media players, micro servers, global positioning system (GPS) devices, e-book terminals, digital broadcasting terminals, navigation, Kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices.
  • the electronic device may be a wearable device such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function.
  • the present invention is not limited thereto, and the electronic device may include all kinds of devices capable of providing an object recognition result.
  • the electronic device may communicate with a server and another device (not shown) through a predetermined network in order to provide an object recognition result using various images accessible by the electronic device.
  • the network may include a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and their interconnections. It is a comprehensive data communication network that includes a combination and allows each network component to communicate smoothly with each other.
  • the network communication device may include a wired internet, a wireless internet, and a mobile wireless communication network.
  • Wireless communication includes, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, Wi-Fi Direct (WFD), ultra wideband (UWB), infrared communication (IrDA) ), But may include Near Field Communication (NFC), but is not limited thereto.
  • Wi-Fi wireless LAN
  • Wi-Fi Direct WFD
  • UWB ultra wideband
  • IrDA infrared communication
  • NFC Near Field Communication
  • FIG. 2 is a flowchart of a method of providing, by an electronic device, a recognition result of an object, according to an exemplary embodiment.
  • the electronic device may detect an object included in the image.
  • the pre-stored images may be used for the electronic device to detect an object included in the image.
  • which images are used for object detection may be determined according to learning based on predetermined criteria. For example, supervised learning using certain images as an input value, unsupervised learning that discovers a pattern for detecting an object by learning a kind of images necessary for detecting an object without a map. ) May be used for detection of an object.
  • reinforcement learning using feedback on whether the detection result of the object according to the learning is correct may be used to detect the object included in the image.
  • the electronic device may detect objects in the image from the image based on the learning result using the data recognition model.
  • a neural network may be a set of algorithms that identify and / or determine objects in an image by extracting and using various attributes in the image using the results of statistical machine learning.
  • the electronic device may input an image to the data recognition model, and receive the position of each object included in the image from the data recognition model.
  • the electronic device may determine an image group corresponding to the detected object through matching between the image groups grouped by the same object and the image.
  • the electronic device may determine first similarities between each of the images included in the image groups and the image including the detected object. For example, the electronic device may learn a criterion for determining the first similarity between the images in order to determine the first similarity between the images. An example of determining a first similarity between images through learning will be described later with reference to FIGS. 6 to 11. Alternatively, the electronic device may use geometric verification to determine the first similarity between the images. An example of determining the first similarity between images through geometric verification will be described later with reference to FIG. 3.
  • the electronic device may determine the second similarity between the image group and the image based on the first similarities and the shooting conditions of the image estimated from the images included in the image group. For example, the electronic device may multiply the first similarities by the weight based on the difference between the shooting conditions of the estimated image to calculate the second similarity.
  • the equation for calculating the second similarity will be described later with reference to FIG. 4.
  • the electronic device may determine an image group whose second similarity is equal to or greater than a threshold as an image group corresponding to the detected object.
  • the threshold value is a preset value in the electronic device.
  • the threshold value may be large. Also, for example, the threshold value may be reset by the user of the electronic device.
  • the electronic device may output the information of the image group to the front direction of the object of the determined image group estimated in the image, based on the determined shooting condition of the image group and the shooting condition of the image.
  • the electronic device may estimate the photographing condition of the image from the photographing condition of the representative image through matching between the representative image of the determined image group and the image.
  • the representative image of the image group may be an image photographed in the front direction of an object commonly included in the images in the image group.
  • the images in the image group may store each photographing position and the photographing direction together with the images through geometric verification with each other.
  • the electronic device can perform the matching between any image in the image group and the image, and thus, from the photographing conditions of any image in the image group. The shooting conditions of the image can be estimated.
  • the electronic device may estimate the front direction of the object in the image from the front direction of the object of the preset image group based on the estimated shooting condition.
  • the front direction of the object in the image group may be the photographing direction of the representative image.
  • the front direction of the object of the image group estimated in the image may be a direction in which the front direction of the object in the representative image is corrected according to the image according to the photographing position and the photographing direction of the image estimated from the representative image.
  • the electronic device may display a graphical user interface (GUI) indicating information of the determined image group in the estimated front direction.
  • GUI graphical user interface
  • the electronic device may provide an augmented reality by overlapping a virtual GUI representing information of an image group determined on an image of a reality being photographed.
  • the electronic device may further perform an operation of receiving a user input of selecting a displayed graphical user interface.
  • the electronic device may receive a touch input of touching a displayed GUI from a user.
  • the touch input refers to a gesture that the user makes on the touch screen to control the electronic device.
  • the touch input described herein may include a tap, a touch and hold, a double tap, a drag, a pan, a flick, a drag and drop, and the like.
  • the electronic device may further perform an operation of accessing a site that can purchase an object of the image group based on the information of the image group.
  • the information of the image group may include a Uniform Resource Locator (URL) in which information for purchasing an object of the image group exists, and the electronic device may browse the URL.
  • URL Uniform Resource Locator
  • the electronic device may track the movement of the detected object and the camera and change the position and direction of the information of the image group output according to the movement of the camera.
  • the electronic device may track the movement of a camera that captures an image.
  • the electronic device outputs the information of the image group in the frontal direction of the object of the determined image group estimated in the image based on the determined shooting condition of the image group and the shooting condition of the image changed according to the movement of the camera. can do.
  • the electronic device detects the depth image through matching between the 3D models of the plurality of objects and the depth image. It is possible to determine a three-dimensional model corresponding to the object. For example, if a 3D model is pre-stored in an electronic device, a server, or an external device, and the electronic device can access the 3D model, the electronic device uses the depth information of the depth image to determine the depth image and the 3D. Similarity between models can be determined. In addition, a 3D model having a similarity or more than a threshold may be determined as a 3D model corresponding to an object detected in the depth image. Depth information refers to information representing a sense of depth of a predetermined object in an image.
  • the electronic device may output the information of the 3D model to the front direction of the object of the 3D model in the depth image, based on the depth information of the depth image.
  • the front direction of the object of the 3D model may be set as a 3D vector pointing to one direction from the center of the object in the model, and may be a preset direction in a straight direction perpendicular to the front of the object.
  • the electronic device may output information of the 3D model in the front direction of the object of the 3D model in the depth image through matching between the depth image and the determined 3D model.
  • the information of the 3D model is a concept corresponding to the information of the image group described above, and may include the name of the object represented by the 3D model, the address of a site where the object can be purchased, and the like.
  • FIG. 3 is a diagram illustrating an example of determining similarity between images, according to an exemplary embodiment.
  • the electronic device may use geometric verification to determine similarities between the image to which the object is to be provided and the previously stored images.
  • Geometric Verification is a method used for image matching, and extracts feature points in images from a plurality of images, matches each feature point, and then calculates how much conformity to a 3D transform is included in each image. Refers to a technique for determining that an object is the same object.
  • Image registration is a processing technique in which images acquired in different coordinate systems are transformed and displayed in one coordinate system when one scene or object is photographed at different times or viewpoints.
  • the electronic device may determine the similarity between the first image 320 and the second image 340 through geometric verification. For example, the electronic device may determine the similarity between the object included in the first image 320 and the object included in the second image 340 through geometric verification. For example, the electronic device may extract feature points of the first image 320 and the second image 340, and match the extracted feature points with each other, such that the first image 320 and the second image 340 or the like. The similarity between the object included in the first image 320 and the object included in the second image 340 may be determined.
  • the feature point may be two-dimensional coordinates on the image, and the electronic device extracts a feature expression value vector representing a characteristic of the image in a predetermined area around the feature point, and the similarity of the feature expression value vector is a predetermined value.
  • the electronic device may determine that the images are similar. For example, when the number of feature points matched in the first image 320 and the second image 340 is greater than or equal to a predetermined value, the electronic device determines that the first image 320 and the second image 340 are similar. Can be.
  • the electronic device may determine similarity between the third image 360 and the fourth image 380 through geometric verification. For example, the electronic device may determine the similarity between the object included in the third image 360 and the object included in the fourth image 380 through geometric verification. For example, the electronic device may extract the feature points of the third image 360 and the fourth image 380, and match the extracted feature points to each other, such that the third image 360 and the fourth image 380 or The similarity between the object included in the third image 360 and the object included in the fourth image 380 may be determined. For example, when the number of feature points matched in the third image 360 and the fourth image 380 is equal to or less than a predetermined value, the electronic device is not similar to the third image 360 and the fourth image 380. You can decide.
  • the electronic device may estimate the relative photographing position and the photographing direction of the image to provide the recognition result of the object with respect to the pre-stored images.
  • the photographing position and the photographing direction of the second image 340 may be stored in the electronic device or the server.
  • the electronic device finds matched feature point pairs through a geometric verification between the first image 320 and the second image 340, and matches the matched feature points and the second image included in the first image 320.
  • the relative photographing position and the photographing direction of the first image 320 with respect to the photographing position and the photographing direction of the second image 340 may be estimated from the matched feature points included in 340.
  • the electronic device may select only feature point pairs corresponding to a change in photographing conditions between the first image 320 and the second image 340 among the matched feature points, and the first image ( The similarity between the objects included in the 320 and the second image 340 or the similarity between the first image 320 and the second image 340 may be determined.
  • FIG. 4 illustrates an example of determining a similarity between an image and an image group, according to an exemplary embodiment.
  • the electronic device may further include a second similarity between the image group and the image based on first similarities between the images and the image included in the image group and shooting conditions of the image estimated from the images included in the image group. Can be determined. For example, the electronic device may multiply the first similarities by the weight based on the difference between the shooting conditions of the estimated image to calculate the second similarity. By determining the second similarity between the image and the group of images as well as the first similarity between the images, the electronic device may search for an image corresponding to the detected object more accurately in consideration of the plurality of similarities and the shooting conditions.
  • the first image 410 may be an image to which the electronic device intends to provide a recognition result of an object included in the first image
  • the second image 420 and the third image 430 may have the same ID. May be images grouped into one image group.
  • the second similarity between the image group including the first image 410 and the second image 420 and the third image 430 is calculated as in Equation 1 below.
  • X represents the first similarity between the first image 410 and the second image 420
  • Y represents the first similarity between the first image 410 and the third image 430
  • Z represents the first image.
  • a second similarity between 410 and a group of images comprising a second image 420 and a third image 430.
  • M represents the difference 470 between the photographing positions of the first image 410 estimated from the second image 420 and the third image 430
  • N represents the second image 420 and the third image
  • Equation 1 for calculating the second similarity a is a coefficient of M square, b is a coefficient of N square, and a and b are preset values, which may be the same or different. .
  • a and b are different values, different weights may be assigned to the difference 470 between the photographing positions and the difference 460 between the photographing directions.
  • a and b can be any real number.
  • the first similarity between the first image 410 and the second image 420 may be 62%, and the first similarity between the first image 410 and the third image 430 may be 58%.
  • the electronic device combines the first similarity between the first image 410 and the second image 420 and the first similarity between the first image 410 and the third image 430 to form the second image 420. And a second similarity with the image group including the third image 430.
  • the electronic device may estimate the photographing position and the photographing direction of the first image 410 based on the photographing position and the photographing direction of the second image 420 previously stored. Also, the electronic device may estimate the photographing position and the photographing direction of the first image 410 based on the photographing position and the photographing direction of the pre-stored third image 430.
  • the photographing position and the photographing direction of the first image 410 estimated from the second image 420 may be the end point of the arrow 440 and the direction indicated by the arrow 440
  • the third image The photographing position and the photographing direction of the first image 410 estimated from 430 may be an end point of the arrow 450 and a direction indicated by the arrow 450.
  • the electronic device may estimate that the first image 410 is an image photographed 45 degrees to the left of the second image 420 through the geometric verification, and the first image 410 is the third image. It may be estimated that the image is photographed 45 degrees to the right of the image 430.
  • the electronic device may determine a difference 470 between a photographing position of the first image 410 estimated from the second image 420 and a photographing position of the first image 410 estimated from the third image 430. Can be calculated. In addition, in an embodiment, the electronic device may determine a difference between a photographing direction of the first image 410 estimated from the second image 420 and a photographing direction of the first image 410 estimated from the third image 430. 460 may be calculated.
  • the electronic device may weight the first similarities based on the difference between the photographed positions of the first image 410 and the difference between the photographed directions of the first image 410.
  • the electronic device has a first similarity at 62%, which is a first similarity between the first image 410 and the second image 420.
  • FIG. 5 is a diagram illustrating an example of determining similarity between objects according to an exemplary embodiment.
  • the electronic device may match the images stored in the database with the first image 510 to provide a recognition result of the first image 510. Further, in one embodiment, the electronic device obtains a second image 520, a third image 530, a fourth image 540, and a fifth image 550 similar to the first image 510 by matching. can do.
  • the second image 520 and the third image 530 may be images included in the same image group.
  • the electronic device is a match between the first image 510 and the single second image 520, the third image 530, the fourth image 540, and the fifth image 550, respectively. It may be determined that the fourth image 540 and the fifth image 550 and the first image 510 are more similar than the second image 520 and the third image 530.
  • the electronic device even if the electronic device determines that the matching between the single images is a low similarity image, the electronic device adds the similarities of the plurality of images in the same image group to provide more accurate recognition result of the object. Can be determined. For example, different weights are assigned to the similarity between the first image 510 and the second image 520 and the similarity between the first image 510 and the second image 530 through the above-described equation. Afterwards, the similarity between the group having the ID of 1111 and the first object 510 may be calculated. For example, unlike a matching result between single images, the electronic device may determine that the similarity of the group having ID 1111 is higher than that of the group having ID 2222 and the group having ID 3333. As in the above-described embodiment, the electronic device may combine the similarities of the plurality of images to improve the search performance of the images.
  • 6 and 7 are block diagrams illustrating a configuration of an electronic device according to some embodiments.
  • the electronic device 600 may include an output unit 620 and a controller 630. However, not all of the components illustrated in FIG. 6 are essential components of the electronic device 600.
  • the electronic device 600 may be implemented by more components than those illustrated in FIG. 6, or the electronic device 600 may be implemented by fewer components than those illustrated in FIG. 6.
  • the electronic device 600 may include a user input unit 610, a sensing unit 640, and a communication unit 650 in addition to the output unit 620 and the control unit 630. ) May further include an A / V input unit 660 and a memory 670.
  • the user input unit 610 means a means for a user to input data for controlling the electronic device 600.
  • the user input unit 610 may include a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 610 may receive a user input.
  • the user input unit 100 may receive a user input for obtaining an image and a user input for executing an application.
  • the user input unit 610 may receive a user input for selecting one of the at least one graphical user interface displayed.
  • the output unit 620 is for outputting an audio signal, a video signal, or a vibration signal.
  • the output unit 620 may include a display unit 621, a sound output unit 622, a vibration motor 623, and the like.
  • the display unit 621 is controlled by the controller 630 to be described later, thereby displaying information processed by the electronic device 600.
  • the display unit 621 may display at least one image.
  • the display unit 621 may display an augmented reality including a virtual object with at least one image.
  • the display unit 621 may be used as an input device in addition to the output device.
  • the display unit 621 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display. 3D display, an electrophoretic display.
  • the electronic device 600 may include two or more display units 621. In this case, the two or more display units 621 may be disposed to face each other using a hinge.
  • the sound output unit 622 outputs audio data received from the communication unit 650 or stored in the memory 670. In addition, the sound output unit 622 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the electronic device 600.
  • the sound output unit 622 may include a speaker, a buzzer, and the like.
  • the vibration motor 623 may output a vibration signal.
  • the vibration motor 623 may output a vibration signal corresponding to the output of audio data or video data (eg, call signal reception sound, message reception sound, etc.).
  • the vibration motor 623 may output a vibration signal when a touch is input to the touch screen.
  • the controller 630 generally controls the overall operation of the electronic device 600.
  • the controller 630 may include at least one processor.
  • the controller 630 may include a plurality of processors or one processor in an integrated form according to its function and role.
  • the controller 630 executes programs stored in the memory 670 so that the user input unit 610, the output unit 620, the sensing unit 640, the communication unit 650, and the A / V input unit 1600 may be used. ) Can be controlled overall.
  • the controller 630 controls the user input unit 610, the output unit 620, the sensing unit 640, the communication unit 650, and the A / V input unit 1600 so that the electronic device 600 controls at least one. It can be used to provide the recognition result of an object.
  • the controller 630 detects an object included in the image by executing computer executable instructions, and determines an image group corresponding to the detected object by matching the image groups grouped with the same object and the image.
  • the front direction of the object of the image group determined in the image may be estimated based on the determined shooting condition of the image group and the shooting condition of the image.
  • the controller 630 estimates the shooting condition of the image from the shooting condition of the representative image through matching between the representative image of the determined image group and the image by executing computer executable instructions, and based on the estimated shooting condition.
  • the front direction of the object of the representative image in the image may be estimated from the front direction of the object of the representative representative image.
  • the controller 630 may access a site for purchasing an object of the image group based on the information of the image group, based on a user input for selecting the displayed graphical user interface.
  • the controller 630 may execute computer-executable instructions to determine first similarities between each of the images of the image groups and the image, and to estimate the first similarities, the images estimated from the images of the image group. Based on the photographing conditions of, a second similarity between the image group and the image may be determined, and an image group whose second similarity is greater than or equal to a threshold value may be determined as an image group corresponding to the detected object. For example, the controller 630 may multiply the first similarities by the weight based on the difference in the shooting conditions of the estimated image and add the weights. Also, for example, the controller 630 may learn a criterion for determining first similarities.
  • controller 630 executes a computer executable command, and based on the photographing condition of the image and the photographing condition of the image group changed according to the camera movement detected by the sensing unit 640, The frontal direction of the object of the determined image group may be estimated.
  • controller 630 may control the communication unit 650 to transmit and receive an image accessible by the electronic device to and from an external device and a server.
  • the sensing unit 640 may detect a state of the electronic device 600 or a state around the electronic device 600 and transmit the detected information to the controller 630.
  • the sensing unit 640 may include a geomagnetic sensor 641, an acceleration sensor 642, a temperature / humidity sensor 643, an infrared sensor 644, a gyroscope sensor 645, and a position sensor. (Eg, GPS) 646, barometric pressure sensor 647, proximity sensor 648, and RGB sensor 649, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the communication unit 650 may include one or more components that allow communication between the electronic device 600 and another electronic device or the electronic device 600 and a server.
  • the communication unit 650 may include a short range communication unit 651, a mobile communication unit 652, and a broadcast receiving unit 653.
  • the short-range wireless communication unit 651 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit, a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray ( IrDA (Infrared Data Association) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but may not be limited thereto.
  • the mobile communication unit 652 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the broadcast receiving unit 653 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the electronic device 600 may not include the broadcast receiver 653.
  • the communication unit 650 transmits and receives data to and from an external device and a server by being controlled by the control unit 630.
  • the communication unit 650 may directly transmit data to another electronic device or may transmit data through a server.
  • the communication unit 650 may directly receive data from another electronic device or may receive data through a server.
  • the A / V input unit 660 is for inputting an audio signal or a video signal, and may include a camera 661 and a microphone 662.
  • the camera 661 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • the image captured by the image sensor may be processed by the controller 630 or a separate image processor (not shown).
  • the image frame processed by the camera 661 may be stored in the memory 670 or transmitted to the outside through the communication unit 650.
  • Two or more cameras 661 may be provided according to a configuration aspect of the terminal. Also, for example, the camera 661 may include a depth camera.
  • the microphone 662 receives an external sound signal and processes the external sound signal into electrical voice data.
  • the microphone 662 may receive an acoustic signal from an external electronic device or a speaker.
  • the microphone 662 may use various noise removing algorithms for removing noise generated in the process of receiving an external sound signal.
  • the memory 670 may store a program for processing and controlling the controller 630, and may store input / output data (eg, text, an image associated with text, an image selection result associated with text of the user, etc.). It may be.
  • the memory 670 may store computer executable instructions.
  • the memory 670 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), RAM Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • the electronic device 600 may operate a web storage or a cloud server that performs a storage function of the memory 670 on the Internet.
  • Programs stored in the memory 670 may be classified into a plurality of modules according to their functions. For example, the programs stored in the memory 670 may be classified into the UI module 671 and the touch screen module 672.
  • the UI module 671 may provide a specialized UI, a GUI, and the like that are linked to the electronic device 600 for each application.
  • the touch screen module 672 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the controller 630.
  • the touch screen module 672 according to an embodiment may recognize and analyze a touch code.
  • the touch screen module 672 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or near the touch screen to detect a touch or proximity touch of the touch screen.
  • An example of a sensor for sensing a touch of a touch screen is a tactile sensor.
  • the tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
  • an example of a sensor for sensing a touch of a touch screen is a proximity sensor.
  • the proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
  • Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
  • the notification module 673 may generate a signal for notifying occurrence of an event of the electronic device 600. Examples of events occurring in the electronic device 600 include call signal reception, message reception, key signal input, schedule notification, and the like.
  • the notification module 673 may output the notification signal in the form of a video signal through the display unit 621, may output the notification signal in the form of an audio signal through the sound output unit 622, and the vibration motor 623. Through the notification signal may be output in the form of a vibration signal.
  • each component of the electronic device 600 is integrated, added, or omitted according to the specification of the electronic device 600 to be implemented.
  • the function performed in each configuration (or module) is for explaining the embodiments, the specific operation or device does not limit the scope of the present invention.
  • FIG. 8 is a block diagram of the controller 630 according to an embodiment.
  • the controller 630 may include a data learner 631 and a data recognizer 632.
  • the data learner 631 may learn a criterion for determining similarity between images.
  • the data learner 631 may learn what data is used to determine a predetermined similarity and how to determine the similarity using the data.
  • the data learner 631 may acquire the data to be used for learning, and apply the acquired data to a data recognition model to be described later, thereby learning a criterion for determining similarity.
  • the data recognizer 632 may determine the similarity between at least two images. Also, for example, the similarity determination between at least two or more images may include determining similarity between at least two or more objects. The data recognizer 632 may determine the similarity between at least two objects using the learned data recognition model. The data recognizer 632 may analyze similarity between at least two objects by analyzing characteristics of each object according to a predetermined criterion by learning and using a data recognition model using the analyzed data as an input value. Can be. In addition, the result value output by the data recognition model using the analyzed data as an input value may be used to update the data recognition model.
  • At least one of the data learner 631 and the data recognizer 632 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • at least one of the data learner 631 and the data recognizer 632 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or a conventional general purpose processor (eg, a CPU).
  • AI artificial intelligence
  • the electronic device may be manufactured as a part of an application processor or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices.
  • the data learner 631 and the data recognizer 632 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively.
  • one of the data learner 631 and the data recognizer 632 may be included in the electronic device, and the other may be included in the server.
  • the data learner 631 and the data recognizer 632 may provide model information constructed by the data learner 631 to the data recognizer 632 via a wired or wireless connection.
  • the data input to 632 may be provided to the data learner 631 as additional learning data.
  • At least one of the data learner 631 and the data recognizer 632 may be implemented as a software module.
  • the software module may be computer readable non-transitory reading. It may be stored in a non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • others may be provided by a predetermined application.
  • FIG. 9 is a block diagram of a data learner 631 according to an embodiment.
  • the data learner 631 includes a data acquirer 631-1, a preprocessor 631-2, a training data selector 631-3, and a model learner 631. -4) and the model evaluator 631-5.
  • the data acquirer 631-1 may acquire data necessary for determining similarity between images.
  • the data acquisition unit 631-1 may acquire data necessary for learning for determining similarity between images.
  • the data acquirer 631-1 may receive an image.
  • the image may include a plurality of objects.
  • the data acquirer 631-1 may capture an image through a camera of the electronic device including the data learner 631.
  • the data acquisition unit 631-1 may acquire data through a server or an external device communicating with the electronic device.
  • the preprocessor 631-2 may preprocess the acquired data so that the acquired data may be used for learning to determine the similarity between the images.
  • the preprocessor 631-2 may process the acquired data in a preset format so that the model learner 631-4, which will be described later, uses the acquired data for learning to determine the similarity between the images.
  • the preprocessor 631-2 may extract at least one object included in the image from the acquired image.
  • the preprocessor 631-2 may process the extracted object into data having a preset format.
  • the training data selector 631-3 may select data necessary for learning from the preprocessed data, and the selected data may be provided to the model learner 631-4.
  • the training data selector 631-3 may select data required for learning from preprocessed data according to a preset criterion for determining similarity between images.
  • the training data selector 631-3 may select data according to a predetermined criterion by learning by the model learner 631-4 to be described later.
  • the training data selector 631-3 may select objects required for learning from the objects processed by the preprocessor 631-2. For example, the training data selector 631-3 may select only an object corresponding to a specific target from among the objects processed by the preprocessor 631-2 to learn the similarity determination between the objects. Alternatively, the training data selector 631-3 may select a plurality of images including the same object.
  • the model learner 631-4 may learn a criterion on how to determine the similarity between images based on the training data. In addition, the model learner 631-4 may learn a criterion about what training data should be used for determining similarity between images.
  • the model learner 631-4 may analyze a feature of each object included in the images in order to learn similarity determination between the images. In addition, when two objects are the same, the model learner 631-4 may learn how the data analyzing the characteristics of each object are matched.
  • the model learner 631-4 may train the data recognition model used to determine the similarity using the training data.
  • the data recognition model may be a pre-built model.
  • the data recognition model may be a model built in advance by receiving basic training data (eg, a sample image).
  • the data recognition model may be constructed in consideration of the application field of the recognition model, the purpose of learning, or the computer performance of the device.
  • the data recognition model may be, for example, a model based on a neural network.
  • a model such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN) may be used as the data recognition model, but is not limited thereto.
  • the model learner 631-4 may be a data recognition model for learning a data recognition model having a high correlation between input training data and basic training data. You can decide.
  • the basic training data may be previously classified by the type of data, and the data recognition model may be pre-built by the type of data. For example, the basic training data is classified based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, and the types of objects in the training data. It may be.
  • model learner 631-4 may train the data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method. .
  • the model learner 631-4 may train the data recognition model through, for example, supervised learning using learning data as an input value.
  • the model learning unit 631-4 for example, by unsupervised learning that finds a criterion for determining similarity by learning the kind of data necessary for the similarity determination without any guidance, You can train the data recognition model.
  • the model learner 631-4 may train the data recognition model, for example, through reinforcement learning using feedback on whether the result of the similarity determination according to learning is correct.
  • the model learner 631-4 may store the trained data recognition model.
  • the model learner 631-4 may store the learned data recognition model in a memory of the electronic device including the data recognizer 632.
  • the model learner 631-4 may store the learned data recognition model in a memory of the electronic device including the data recognizer 632, which will be described later.
  • the model learner 631-4 may store the learned data recognition model in a memory of a server connected to the electronic device through a wired or wireless network.
  • the memory in which the learned data recognition model is stored may store, for example, commands or data related to at least one other element of the electronic device.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
  • the model evaluator 631-5 may input the evaluation data into the data recognition model, and cause the model learner 631-4 to relearn when the determination result output from the evaluation data does not satisfy a predetermined criterion. have.
  • the evaluation data may be preset data for evaluating the data recognition model.
  • the evaluation data may include data regarding the similarity between the plurality of images. Also, for example, the evaluation data may include data regarding whether at least two or more objects are the same.
  • the model evaluator 631-5 may determine a predetermined criterion when the number or ratio of the evaluation data that is not accurate among the determination results of the learned data recognition model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied. For example, when a predetermined criterion is defined at a ratio of 2%, the model evaluator 631-5 when the trained data recognition model outputs an incorrect determination result for more than 20 evaluation data out of a total of 1000 evaluation data. Can be judged that the learned data recognition model is not suitable.
  • the model evaluator 631-5 evaluates whether each learned data recognition model satisfies a predetermined criterion, and recognizes a model satisfying the predetermined criterion for the final data. Can be determined as a model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 631-5 may determine any one or a predetermined number of models which are preset in the order of the highest evaluation score as the final data recognition model.
  • At least one of -5) may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • at least one of the data acquisition unit 631-1, the preprocessor 631-2, the training data selection unit 631-3, the model training unit 631-4, and the model evaluation unit 631-5 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a part of an existing general purpose processor (eg, a CPU or application processor) or a graphics dedicated processor (eg, a GPU). It may be mounted on various electronic devices.
  • AI artificial intelligence
  • the data acquisition unit 631-1, the preprocessor 631-2, the training data selection unit 631-3, the model training unit 631-4, and the model evaluation unit 631-5 are electronic components. It may be mounted on the device, or may be mounted on separate electronic devices, respectively. For example, some of the data acquisition unit 631-1, the preprocessor 631-2, the training data selector 631-3, the model learner 631-4, and the model evaluator 631-5. May be included in the electronic device, and the rest may be included in the server.
  • At least one of the data acquisition unit 631-1, the preprocessor 631-2, the training data selection unit 631-3, the model training unit 631-4, and the model evaluation unit 631-5 may be used. It may be implemented as a software module. At least one of the data acquirer 631, the preprocessor 631-2, the training data selector 631-3, the model learner 631-4, and the model evaluator 631-5 is a software module. (Or a program module including instructions), the software module may be stored in a computer readable non-transitory computer readable media. In this case, at least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • FIG. 10 is a block diagram of a data recognizer 632 according to an embodiment.
  • the data recognizer 632 may include a data acquirer 632-1, a preprocessor 632-2, a recognition data selector 632-3, and a recognition result provider ( 632-4) and the model updater 632-5.
  • the data acquirer 632-1 may acquire data necessary for determining the similarity between the images, and the preprocessor 632-2 may acquire the data so that the acquired data may be used to determine the similarity between the images. Can be preprocessed.
  • the preprocessing unit 632-2 may process the acquired data in a preset format so that the recognition result providing unit 632-4, which will be described later, uses the obtained data for determining similarity between images.
  • the recognition data selector 632-3 may select data necessary for determining similarity between images among the preprocessed data.
  • the selected data may be provided to the recognition result provider 632-4.
  • the recognition data selector 632-3 may select some or all of the preprocessed data according to a preset criterion for determining similarity between images.
  • the recognition data selector 632-3 may select data according to a predetermined criterion by learning by the model learner 631-4 to be described later.
  • the recognition result provider 632-4 may determine the similarity between the images by applying the selected data to the data recognition model.
  • the recognition result providing unit 632-4 may provide a recognition result according to a recognition purpose of the data.
  • the recognition result provider 632-4 may apply the selected data to the data recognition model by using the data selected by the recognition data selector 632-3 as an input value.
  • the recognition result may be determined by the data recognition model.
  • the recognition result for the image may be provided as text, an image, or an instruction (eg, an application execution instruction, a module function execution instruction, etc.).
  • the recognition result providing unit 632-4 may provide a recognition result by applying a similarity between the object extracted from the image and the object included in the data accessible by the electronic device to the data recognition model.
  • the recognition result providing unit 632-4 may provide the object determined to be similar in the image format based on the similarity determination between the objects.
  • the recognition result providing unit 632-4 may provide a name of the object and a site address where the object can be purchased as a recognition result.
  • the model updater 632-5 may cause the data recognition model to be updated based on the evaluation of the recognition result provided by the recognition result provider 632-4.
  • the model updater 631-5 provides the model learning unit 631-4 with the recognition result provided by the recognition result providing unit 632-4 so that the model learner 631-4 provides the recognition result.
  • the data recognition model can be updated.
  • the data acquisition unit 632-1, the preprocessor 632-2, the recognition data selection unit 632-3, the recognition result providing unit 632-4, and the model updating unit in the data recognition unit 632 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • At least one may be fabricated in the form of a dedicated hardware chip for artificial intelligence (AI), or may be fabricated as part of an existing general purpose processor (e.g., CPU or application processor) or graphics dedicated processor (e.g., GPU). It may be mounted on various electronic devices.
  • AI artificial intelligence
  • the data obtaining unit 632-1, the preprocessor 632-2, the recognition data selecting unit 632-3, the recognition result providing unit 632-4, and the model updating unit 632-5 are provided as one. It may be mounted on an electronic device, or may be mounted on separate electronic devices, respectively. For example, among the data acquisition unit 632-1, the preprocessor 632-2, the recognition data selection unit 632-3, the recognition result providing unit 632-4, and the model updater 632-5. Some may be included in the electronic device, and others may be included in the server.
  • At least one of the data obtaining unit 632-1, the preprocessor 632-2, the recognition data selecting unit 632-3, the recognition result providing unit 632-4, and the model updating unit 632-5 May be implemented as a software module.
  • At least one of the data acquisition unit 632-1, the preprocessor 632-2, the recognition data selection unit 632-3, the recognition result providing unit 632-4, and the model updater 632-5 is software.
  • the software module When implemented as a module (or a program module including instructions), the software module may be stored on a computer readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • 11 is a diagram illustrating an example in which the electronic device 600 and the server 1100 learn and recognize data by interworking with each other, according to an exemplary embodiment.
  • the server 1100 may learn a criterion for determining similarity between images.
  • the electronic device 600 may determine the similarity between the images based on the learning result by the server 1100.
  • the model learner 1134 of the server 1100 may perform a function of the data learner 631 illustrated in FIG. 9.
  • the model learner 1134 of the server 1100 may learn a criterion about what data to use to determine similarities between predetermined images and how to determine similarity between images using the data.
  • the model learner 1134 acquires data to be used for learning and applies the acquired data to a data recognition model to be described later, thereby learning a criterion for determining similarity between images.
  • the recognition result providing unit 632-4 of the electronic device 600 applies the data selected by the recognition data selecting unit 632-3 to a data recognition model generated by the server 1100, thereby providing similarity between images. Can be determined.
  • the recognition result providing unit 632-4 transmits the data selected by the recognition data selecting unit 632-3 to the server 1100, and the server 1100 transmits the recognition data selecting unit 632-3.
  • the recognition result providing unit 632-4 may receive information about the similarity between the images determined by the server 1100 from the server 1100.
  • the recognition result providing unit 632-4 of the electronic device 600 receives the recognition model generated by the server 1100 from the server 1100, and determines the similarity between the images using the received recognition model. can do.
  • the recognition result providing unit 632-4 of the electronic device 600 applies the data selected by the recognition data selecting unit 632-3 to the data recognition model received from the server 1100, thereby providing similarity between images. Can be determined.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • the computer readable medium may include a computer storage medium.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • unit may be a hardware component such as a processor or a circuit, and / or a software component executed by a hardware component such as a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Image Analysis (AREA)

Abstract

이미지에 포함된 객체를 검출하는 단계; 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정하는 단계; 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 추정된, 결정된 이미지 그룹의 객체의 정면 방향에 이미지 그룹의 정보를 출력하는 단계를 포함하는, 객체의 인식 결과를 제공하는 방법이 개시된다.

Description

객체의 인식 결과를 제공하는 방법 및 전자 장치
다양한 실시예들은 객체의 인식 결과를 제공하는 방법 및 전자 장치에 관한 것으로서, 보다 상세하게는 이미지에 포함된 객체의 일 방향에 객체의 인식 결과를 제공하는 방법 및 전자 장치에 관한 것이다.
멀티 미디어 기술 및 컴퓨터 기술이 발전함에 따라, 사용자는 전자 장치를 이용하여 다양한 서비스를 제공받을 수 있게 되었다. 특히, 이미지 처리 기술이 발전함에 따라, 사용자는 전자 장치를 이용하여 이미지에 포함된 객체의 정면 방향에 객체의 인식 결과를 제공받을 수 있게 되었다.
하지만, 종래에는 이미지에서 객체의 정면 방향을 결정하기 위해서, 유사한 이미지를 검색할 때, 단일 이미지들 간의 유사도 추정만을 이용하여, 유사한 이미지를 정확하게 추정하기 어려운 문제가 있었다. 이에 따라, 전자 장치가 자동적으로 객체의 인식 결과를 제공하고자 하는 이미지와 유사한 이미지를 검색하고, 복수의 이미지들의 유사도들을 이용하여, 보다 정확하게 객체에 대응되는 이미지 그룹을 검색하고, 이를 통해 객체의 정면 방향을 추정하는 것을 가능하게 하는 기술이 요구되고 있다.
다양한 실시예들은, 이미지에 포함된 객체의 정면 방향을 추정하고, 추정된 정면 방향에 객체의 인식 결과를 제공하는 전자 장치 및 방법을 제공하고자 한다.
제 1측면에 따른 전자 장치는 컴퓨터 실행가능 명령어가 저장되는 메모리; 컴퓨터 실행가능 명령어를 실행함으로써, 이미지에 포함된 객체를 검출하고, 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정하며, 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 결정된 이미지 그룹의 객체의 정면 방향을 추정하는, 적어도 하나의 프로세서; 및 추정된 정면 방향에 이미지 그룹의 정보를 출력하는 출력부를 포함할 수 있다.
제 2 측면에 따른 객체의 인식 결과를 제공하는 방법은, 이미지에 포함된 객체를 검출하는 단계; 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정하는 단계; 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 추정된, 결정된 이미지 그룹의 객체의 정면 방향에 이미지 그룹의 정보를 출력하는 단계를 포함할 수 있다.
상기 방법은, 디스플레이된 그래픽 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 단계; 및 이미지 그룹의 정보에 기초하여, 이미지 그룹의 객체를 구매할 수 있는 사이트에 액세스하는 단계를 더 포함할 수 있다.
상기 방법은, 추정된 이미지의 촬영 조건들의 차이에 기초한 가중치를 제 1 유사도들에 곱하여 합산하는 단계를 포함할 수 있다.
상기 방법은, 제 1 유사도들을 결정하는 기준을 학습하는 단계를 포함할 수 있다.
상기 방법은, 상기 이미지가 뎁스 이미지인 경우, 복수의 객체들의 3차원 모델들과 뎁스 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 3차원 모델을 결정하는 단계; 및 뎁스 이미지의 뎁스 정보에 기초하여, 뎁스 이미지에서 3차원 모델의 객체의 정면 방향에 3차원 모델의 정보를 출력하는 단계를 포함할 수 있다.
상기 방법은, 이미지를 촬영하는 카메라의 움직임을 추적하는 단계; 및 결정된 이미지 그룹의 촬영 조건 및 카메라의 움직임에 따라 변경된 이미지의 촬영 조건에 기초하여, 이미지에서 추정된, 결정된 이미지 그룹의 객체의 정면 방향에 이미지 그룹의 정보를 출력하는 단계를 포함할 수 있다.
또한, 본 개시의 제 3 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
도 1은 일 실시예에 따른, 전자 장치가 객체의 인식 결과를 제공하는 예시를 나타내는 도면이다.
도 2는 일 실시예에 따른, 전자 장치가 객체의 인식 결과를 제공하는 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따른, 이미지들 간의 유사도를 판단하는 예시를 나타내는 도면이다.
도 4는 일 실시예에 따른, 객체의 정면 방향을 추정하는 예시를 나타내는 도면이다.
도 5는 일 실시예에 따른, 이미지와 이미지 그룹 간의 유사도를 판단하는 예시를 나타내는 도면이다.
도 6 및 도 7은 일부 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 8은 일 실시예에 따른 제어부를 상세히 도시한 블록도이다.
도 9는 일 실시예에 따른 데이터 학습부를 상세히 도시한 블록도이다.
도 10은 일 실시예에 따른 데이터 인식부를 상세히 도시한 블록도이다.
도 11은 일 실시예에 따른, 디바이스 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치는 컴퓨터 실행가능 명령어가 저장되는 메모리; 컴퓨터 실행가능 명령어를 실행함으로써, 이미지에 포함된 객체를 검출하고, 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정하며, 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 결정된 이미지 그룹의 객체의 정면 방향을 추정하는, 적어도 하나의 프로세서; 및 추정된 정면 방향에 이미지 그룹의 정보를 출력하는 출력부를 포함할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 전자 장치가 객체의 인식 결과를 제공하는 예시를 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 전자 장치는 이미지(100)에 포함된 객체(150)를 검출할 수 있다.
객체(150)는, 이미지(100)에 포함된 것으로, 이미지(100) 내에서 다른 피사체와 구별되어 인식되는 하나의 피사체를 의미한다. 예를 들어, 이미지(100)는 적어도 하나의 객체를 포함할 수 있으며, 전자 장치는 이미지(100)로부터 적어도 하나의 객체를 검출할 수 있다.
이미지(100)는, 전자 장치에 구비된 카메라를 이용하여 촬영 중인 이미지일 수 있다. 예를 들어, 전자 장치에 구비된 카메라는 뎁스 카메라(depth camera)일 수 있다. 예를 들어, 전자 장치는 카메라 애플리케이션을 실행하여 이미지(100)를 캡쳐할 수 있다. 또는, 전자 장치는 전자 장치, 서버, 또는 외부 장치에 기 저장된 이미지들 중 객체(150)의 인식 결과를 제공하기 위한 이미지(100)를 획득할 수 있다. 또는, 전자 장치는 갤러리 애플리케이션을 실행하여, 갤러리 애플리케이션에 기 저장된 이미지(100)를 획득할 수 있다. 또는, 전자 장치는 소셜 네트워크 서버(social network server), 클라우드 서버(cloud server), 또는 콘텐츠 제공 서버 등에 액세스하여 이미지(100)를 다운로드할 수 있다.
일 실시예에서, 전자 장치는 전자 장치가 접근 가능한 이미지들과 이미지(100) 간의 매칭을 통해, 이미지(100) 내에 포함된 객체(150)와 동일 및/또는 유사한 객체를 포함하는 이미지들(110, 120, 130, 140)을 결정할 수 있다.
전자 장치가 접근 가능한 이미지들은, 전자 장치에 기 저장된 이미지, 전자 장치와 통신하는 외부 장치로부터 수신 가능한 이미지 및 서버로부터 수신 가능한 이미지 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 전자 장치가 접근 가능한 이미지들은 동일한 객체 별로 그룹핑된 이미지 그룹들로 구성되어 있을 수 있고, 전자 장치는 검출된 객체(150)에 대응하는 이미지 그룹을 결정할 수 있다. 예를 들어, 제 1 이미지 그룹(180)은 XX라면을 촬영한 이미지들(110, 120)을 포함할 수 있고, 제 2 이미지 그룹(190)은 OO라면을 촬영한 이미지들(130, 140)을 포함할 수 있다. 일 실시예에서, 전자 장치는 객체(150)에 대응하는 복수의 이미지 그룹들을 결정할 수 있으며, 결정된 복수의 이미지 그룹들 중에서 이미지(100)내의 특정한 방향 또는 위치와 대응되는 각각의 이미지 그룹을 결정할 수 있다. 예를 들어, 전자 장치는 객체(150)의 왼쪽 면은 제 1 이미지 그룹(180)에 대응된다고 결정할 수 있고, 객체의 오른쪽 면은 제 2 이미지 그룹(190)에 대응된다고 결정할 수 있다.
일 실시예에서, 전자 장치는 결정된 이미지 그룹의 촬영 조건 및 이미지(100)의 촬영 조건에 기초하여, 이미지(100)에서 결정된 이미지 그룹의 객체의 정면 방향을 추정할 수 있다.
객체의 정면 방향은, 객체의 중심으로부터 임의의 한 방향을 가리키는 3차원 벡터로서 설정된 방향이며, 객체의 앞쪽 면에 수직한 직선의 방향으로 설정될 수 있다. 일 실시예에 따르면, 객체의 정면 방향은 이미지 그룹에 포함된 대표 이미지의 촬영 방향과 반대되는 방향일 수 있다. 예를 들어, 객체의 정면 방향은 객체의 중심으로부터 촬영 카메라의 초점 위치를 향하는 벡터일 수 있다. 예를 들어, 제 1 이미지 그룹(180)의 XX 라면의 정면 방향은 제 1 이미지 그룹(180)의 대표 이미지(110)의 촬영 방향과 반대 방향일 수 있다. 일 실시예에서, 이미지 그룹의 객체의 정면 방향은 이미지 그룹의 정보로서 이미지와 함께 저장되어 있을 수 있다.
촬영 조건은, 촬영 위치 및 촬영 방향 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 전자 장치는 제 1 이미지 그룹(180)에 포함된 이미지들(110, 120)의 촬영 조건 및 이미지(100)의 촬영 조건의 상대적인 차이에 따라, 제 1 이미지 그룹(180)의 객체의 정면 방향을 이미지(100)에서 추정할 수 있다. 예를 들어, 이미지(100)에서 XX라면의 정면 방향을 객체(150)의 좌측 방향으로 추정할 수 있다. 일 실시예에서, 전자 장치는 제 2 이미지 그룹(190)에 포함된 이미지들(130, 140)의 촬영 조건 및 이미지(100)의 촬영 조건의 상대적인 차이에 따라, 제 2 이미지 그룹(190)의 객체의 정면 방향을 이미지(100)에서 추정할 수 있다. 예를 들어, 이미지(100)에서 OO라면의 정면 방향을 객체(150)의 우측 방향으로 추정할 수 있다.
일 실시예에서, 전자 장치는 추정된 객체의 정면 방향에 이미지 그룹의 정보를 출력할 수 있다. 예를 들어, 전자 장치는 객체의 정면 방향이며, 객체와 가까운 곳에 이미지 그룹의 정보를 출력할 수 있다.
이미지 그룹의 정보는, 이미지 그룹에 포함된 이미지들의 공통된 정보로서, 이미지 그룹에 포함된 객체의 명칭, 객체를 구매할 수 있는 사이트의 주소, 이미지 그룹의 ID 정보 등을 포함할 수 있다. 예를 들어, 동일한 ID를 가진 이미지들은 하나의 이미지 그룹으로 그룹핑될 수 있다.
일 실시예에서, 전자 장치는 추정된 객체의 정면 방향마다 해당하는 이미지 그룹들의 정보를 출력할 수 있다. 예를 들어, 이미지 그룹의 정보는 객체(150)의 인식 결과를 나타내는 정보로 이용될 수 있다. 예를 들어, 전자 장치는 제 1 이미지 그룹(180)의 객체의 정면 방향으로 추정된 객체(150)의 좌측 방향에 제 1 이미지 그룹(180)의 객체의 명칭(160)을 디스플레이할 수 있다. 또한, 예를 들어, 전자 장치는 제 2 이미지 그룹(190)의 객체의 정면 방향으로 추정된 객체(150)의 우측 방향에 제 2 이미지 그룹(190)의 객체의 명칭(170)을 디스플레이할 수 있다.
전자 장치는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 전자 장치는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 전자 장치는 객체의 인식 결과를 제공할 수 있는 모든 종류의 기기를 포함할 수 있다.
또한, 전자 장치는 전자 장치가 접근 가능한 다양한 이미지들을 이용하여 객체의 인식 결과를 제공하기 위해, 소정의 네트워크를 통하여 서버 및 다른 장치(미도시)와 통신할 수 있다. 이 경우, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일 실시예에 따른, 전자 장치가 객체의 인식 결과를 제공하는 방법을 나타내는 흐름도이다.
동작 S210에서, 전자 장치는 이미지에 포함된 객체를 검출할 수 있다.
일 실시예에서, 전자 장치가 이미지에 포함된 객체를 검출하기 위해, 기 저장된 이미지들이 이용될 수 있다. 또한, 객체 검출을 위해 어떠한 이미지들이 이용될 지는 기 설정된 기준에 의한 학습에 따라 결정될 수 있다. 예를 들어, 소정의 이미지들을 입력 값으로 하는 지도 학습(supervised learning), 별다른 지도 없이 객체 검출을 위해 필요한 이미지들의 종류를 스스로 학습함으로써, 객체의 검출을 위한 패턴을 발견하는 비지도 학습(unsupervised learning)이 객체의 검출에 이용될 수 있다. 또한, 예를 들어, 학습에 따른 객체의 검출 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)이 이미지에 포함된 객체의 검출에 이용될 수 있다.
일 실시예에서, 전자 장치는 데이터 인식 모델을 이용한 학습 결과에 기초하여, 이미지로부터 이미지 내의 객체들을 검출할 수 있다. 뉴럴 네트워크(neural network)는, 통계학적 기계 학습의 결과를 이용하여, 이미지 내 다양한 속성들을 추출하여 이용함으로써, 이미지 내의 객체들을 식별 및/또는 판단하는 알고리즘 집합일 수 있다. 예를 들어, 전자 장치는 이미지를 데이터 인식 모델에 입력하고, 이미지 내에 포함된 객체들 각각의 위치를 데이터 인식 모델로부터 출력받을 수 있다.
동작 S220에서, 전자 장치는 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정할 수 있다.
일 실시예에서, 전자 장치는 이미지 그룹들에 포함된 이미지들 각각과 검출된 객체를 포함하는 이미지 간의 제 1 유사도들을 결정할 수 있다. 예를 들어, 전자 장치는 이미지들 간의 제 1 유사도를 결정하기 위해, 이미지들 간의 제 1 유사도를 결정하는 기준을 학습할 수 있다. 학습을 통해 이미지들 간의 제 1 유사도를 결정하는 예시에 대해서는, 도 6 내지 11을 참조하여 후술하기로 한다. 또는, 전자 장치는 이미지들 간의 제 1 유사도를 결정하기 위해, 기하 검증을 이용할 수 있다. 기하 검증을 통해 이미지들 간의 제 1 유사도를 결정하는 예시에 대해서는, 도 3을 참조하여 후술하기로 한다.
일 실시예에서, 전자 장치는 제 1 유사도들, 이미지 그룹에 포함된 이미지들로부터 추정된 이미지의 촬영 조건들에 기초하여, 이미지 그룹과 이미지 간의 제 2 유사도를 결정할 수 있다. 예를 들어, 전자 장치는 제 2 유사도를 계산하기 위해, 추정된 이미지의 촬영 조건들의 차이에 기초한 가중치를 제 1 유사도들에 곱하여 합산할 수 있다. 제 2 유사도를 계산하는 수학식에 대해서는, 도 4를 참조하여 후술하기로 한다. 예를 들어, 전자 장치는 제 2 유사도가 임계 값 이상인 이미지 그룹을 검출된 객체에 대응하는 이미지 그룹으로 결정할 수 있다.
임계 값은 전자 장치에서 기 설정된 값으로서, 보다 정확한 소수의 객체의 인식 결과들을 제공하고자 할 경우, 임계 값은 크게 설정될 수 있다. 또한, 예를 들어, 임계 값은 전자 장치의 사용자에 의해 재설정될 수 있다.
동작 S230에서, 전자 장치는 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 추정된, 결정된 이미지 그룹의 객체의 정면 방향에 이미지 그룹의 정보를 출력할 수 있다.
일 실시예에서, 전자 장치는 결정된 이미지 그룹의 대표 이미지와 이미지 간의 매칭을 통해, 대표 이미지의 촬영 조건으로부터 이미지의 촬영 조건을 추정할 수 있다. 예를 들어, 이미지 그룹의 대표 이미지는 이미지 그룹 내 이미지들에 공통으로 포함된 객체의 정면 방향으로 촬영된 이미지일 수 있다. 예를 들어, 이미지 그룹 내의 이미지들은 서로 간에 기하 검증을 통해 각각의 촬영 위치 및 촬영 방향을 이미지와 함께 저장하고 있을 수 있다. 또한, 예를 들어, 이미지 그룹 내 이미지들의 상대적인 촬영 위치 및 촬영 방향을 모두 알 수 있기 때문에, 전자 장치는 이미지 그룹 내 임의의 이미지와 이미지 간의 매칭을 통해, 이미지 그룹 내 임의의 이미지의 촬영 조건으로부터 이미지의 촬영 조건을 추정할 수 있다.
일 실시예에서, 전자 장치는 추정된 촬영 조건에 기초하여, 기 설정된 이미지 그룹의 객체의 정면 방향으로부터 이미지에서 객체의 정면 방향을 추정할 수 있다. 예를 들어, 이미지 그룹에서의 객체의 정면 방향은 대표 이미지의 촬영 방향일 수 있다. 또한, 이미지에서 추정된 이미지 그룹의 객체의 정면 방향은, 대표 이미지로부터 추정된 이미지의 촬영 위치 및 촬영 방향에 따라, 대표 이미지에서의 객체의 정면 방향을 이미지에 맞게 보정한 방향일 수 있다.
일 실시예에서, 전자 장치는 추정된 정면 방향에 결정된 이미지 그룹의 정보를 나타내는 그래픽 사용자 인터페이스(GUI)를 디스플레이할 수 있다. 예를 들어, 전자 장치는 촬영 중인 현실의 이미지에 결정된 이미지 그룹의 정보를 나타내는 가상의 GUI를 오버랩(overlap)하여 증강 현실(Augmented Reality)을 제공할 수 있다.
일 실시예에서, 전자 장치는 디스플레이된 그래픽 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 동작을 더 수행할 수 있다. 예를 들어, 전자 장치는 사용자로부터 디스플레이된 GUI를 터치하는 터치 입력을 수신할 수 있다. 일 실시예에서, 터치 입력이란 사용자가 전자 장치를 제어하기 위해 터치 스크린에 행하는 제스처 등을 의미한다. 예를 들어, 본 명세서에서 기술되는 터치 입력에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭 등이 있을 수 있다.
또한, 일 실시예에서, 전자 장치는 이미지 그룹의 정보에 기초하여, 이미지 그룹의 객체를 구매할 수 있는 사이트에 액세스(access)하는 동작을 더 수행할 수 있다. 예를 들어, 이미지 그룹의 정보는 이미지 그룹의 객체를 구매할 수 있는 정보가 존재하는 URL(Uniform Resource Locator)을 포함할 수 있고, 전자 장치는 상기 URL을 브라우징할 수 있다.
일 실시예에서, 전자 장치는 검출된 객체 및 카메라의 움직임을 트래킹(tracking)하여, 카메라의 움직임에 따라 출력된 이미지 그룹의 정보의 위치 및 방향을 변경할 수 있다. 예를 들어, 전자 장치는 이미지를 촬영하는 카메라의 움직임을 추적할 수 있다. 또한, 예를 들어, 전자 장치는 결정된 이미지 그룹의 촬영 조건 및 카메라의 움직임에 따라 변경된 이미지의 촬영 조건에 기초하여, 이미지에서 추정된, 결정된 이미지 그룹의 객체의 정면 방향에 이미지 그룹의 정보를 출력할 수 있다.
한편, 일 실시예에서, 이미지가 뎁스 카메라(depth camera)로 촬영한 뎁스 이미지(depth image)인 경우, 전자 장치는 복수의 객체들의 3차원 모델들과 뎁스 이미지 간의 매칭을 통해, 뎁스 이미지에서 검출된 객체에 대응하는 3차원 모델을 결정할 수 있다. 예를 들어, 전자 장치, 서버, 또는 외부 장치에 3차원 모델이 기 저장되어 있어, 전자 장치가 3차원 모델에 접근 가능한 경우, 전자 장치는 뎁스 이미지의 뎁스 정보를 이용하여, 뎁스 이미지와 3차원 모델들 간의 유사도들을 결정할 수 있다. 또한, 유사도가 임계 값 이상인 3차원 모델을 뎁스 이미지에서 검출된 객체에 대응하는 3차원 모델로 결정할 수 있다. 뎁스 정보는, 이미지에서 소정 객체의 깊이감을 나타내는 정보를 의미한다.
또한, 일 실시예에서, 전자 장치는 뎁스 이미지의 뎁스 정보에 기초하여, 뎁스 이미지에서 3차원 모델의 객체의 정면 방향에 3차원 모델의 정보를 출력할 수 있다. 예를 들어, 3차원 모델의 객체의 정면 방향은 모델 내의 객체의 중심으로부터 임의의 한 방향을 가리키는 3차원 벡터로 설정될 수 있으며, 객체의 정면에 수직한 직선 방향으로 기 설정된 방향일 수 있다. 또한, 일 실시예에서, 전자 장치는 뎁스 이미지와 결정된 3차원 모델 간의 매칭을 통해, 뎁스 이미지에서 3차원 모델의 객체의 정면 방향에 3차원 모델의 정보를 출력할 수 있다. 예를 들어, 3차원 모델의 정보는, 상술한 이미지 그룹의 정보에 대응되는 개념으로서, 3차원 모델이 나타내는 객체의 명칭, 객체를 구매할 수 있는 사이트의 주소 등을 포함할 수 있다.
도 3은 일 실시예에 따른, 이미지들 간의 유사도를 판단하는 예시를 나타내는 도면이다.
일 실시예에서, 전자 장치는 객체의 인식 결과를 제공하고자 하는 이미지와 기 저장된 이미지들 간의 유사도들을 판단하기 위해, 기하 검증을 이용할 수 있다.
기하 검증(Geometric Verification)은 이미지 정합 등에 이용되는 방법으로서, 복수의 이미지들에서 이미지들 내의 특징점들을 추출하여 각각의 특징점들을 매칭한 후, 3차원 변환에 얼마나 부합하는지를 계산하여 각각의 이미지들 내에 포함된 객체가 동일한 객체임을 판단하는 기법을 의미한다.
이미지 정합(image registration)은 하나의 장면이나 대상이 다른 시간이나 관점에서 촬영된 경우, 서로 다른 좌표계에서 획득된 이미지들을 변형하여 하나의 좌표계에 나타내는 처리기법이다.
일 실시예에서, 전자 장치는 기하 검증을 통해, 제 1 이미지(320)와 제 2 이미지(340) 간의 유사도를 판단할 수 있다. 예를 들어, 전자 장치는 기하 검증을 통해, 제 1 이미지(320)에 포함된 객체와 제 2 이미지(340)에 포함된 객체 간의 유사도를 판단할 수 있다. 예를 들어, 전자 장치는 제 1 이미지(320) 및 제 2 이미지(340)의 특징점들을 추출할 수 있고, 추출된 특징점들을 서로 매칭하여, 제 1 이미지(320)와 제 2 이미지(340) 또는 제 1 이미지(320)에 포함된 객체와 제 2 이미지(340)에 포함된 객체 간의 유사도를 판단할 수 있다.
일 실시예에서, 특징점은, 이미지 상의 2차원 좌표일 수 있으며, 전자 장치는 특징점을 중심으로 소정 영역에서 이미지의 특성을 표현하는 특징 표현 값 벡터를 추출하여, 특징 표현 값 벡터의 유사도가 소정 값 이상인 경우, 특징점이 매칭되었다고 판단할 수 있다. 일 실시예에서, 전자 장치는 특징점이 매칭되었다고 판단한 경우, 이미지가 유사하다고 결정할 수 있다. 예를 들어, 제 1 이미지(320)와 제 2 이미지(340)에서 매칭되는 특징점들의 개수가 소정 값 이상인 경우에, 전자 장치는 제 1 이미지(320)와 제 2 이미지(340)를 유사하다고 결정할 수 있다.
일 실시예에서, 전자 장치는 기하 검증을 통해, 제 3 이미지(360)와 제 4 이미지(380) 간의 유사도를 판단할 수 있다. 예를 들어, 전자 장치는 기하 검증을 통해, 제 3 이미지(360)에 포함된 객체와 제 4 이미지(380)에 포함된 객체 간의 유사도를 판단할 수 있다. 예를 들어, 전자 장치는 제 3 이미지(360) 및 제 4 이미지(380)의 특징점들을 추출할 수 있고, 추출된 특징점들을 서로 매칭하여, 제 3 이미지(360)와 제 4 이미지(380) 또는 제 3 이미지(360)에 포함된 객체와 제 4 이미지(380)에 포함된 객체 간의 유사도를 판단할 수 있다. 예를 들어, 제 3 이미지(360)와 제 4 이미지(380)에서 매칭되는 특징점들의 개수가 소정 값 이하인 경우에, 전자 장치는 제 3 이미지(360)와 제 4 이미지(380)를 유사하지 않다고 결정할 수 있다.
또한, 전자 장치는 기하 검증을 통해, 기 저장된 이미지들에 대해 객체의 인식 결과를 제공하고자 하는 이미지의 상대적인 촬영 위치 및 촬영 방향을 추정할 수 있다. 일 실시예에서, 제 2 이미지(340)의 촬영 위치 및 촬영 방향은 전자 장치 또는 서버에 기 저장되어있을 수 있다. 예를 들어, 전자 장치는 제 1 이미지(320)와 제 2 이미지(340) 간의 기하 검증을 통해, 매칭된 특징점 쌍들을 찾고, 제 1 이미지(320)에 포함된 매칭된 특징점들과 제 2 이미지(340)에 포함된 매칭된 특징점들로부터 제 2 이미지(340)의 촬영 위치 및 촬영 방향에 대한 제 1 이미지(320)의 상대적 촬영 위치 및 촬영 방향을 추정할 수 있다. 예를 들어, 전자 장치는 매칭된 특징점들 중에서 제 1 이미지(320) 및 제 2 이미지(340)간의 촬영 조건의 변화에 부합하는 특징점 쌍들 만을 선택할 수 있으며, 선택된 특징점 쌍들의 개수로서 제 1 이미지(320) 및 제 2 이미지(340)에 포함된 객체들간의 유사도 또는 제 1 이미지(320) 및 제 2 이미지(340)간의 유사도를 판단할 수 있다.
도 4는 일 실시예에 따른, 이미지와 이미지 그룹 간의 유사도를 판단하는 예시를 나타내는 도면이다.
일 실시예에서, 전자 장치는 이미지 그룹에 포함된 이미지들과 이미지 간의 제 1 유사도들 및 이미지 그룹에 포함된 이미지들로부터 추정된 이미지의 촬영 조건들에 기초하여, 이미지 그룹과 이미지 간의 제 2 유사도를 결정할 수 있다. 예를 들어, 전자 장치는 제 2 유사도를 계산하기 위해, 추정된 이미지의 촬영 조건들의 차이에 기초한 가중치를 제 1 유사도들에 곱하여 합산할 수 있다. 이미지들 간의 제 1 유사도 뿐만 아니라, 이미지와 이미지 그룹 간의 제 2 유사도를 결정함으로써, 전자 장치는 복수의 유사도들과 촬영 조건을 고려하여 보다 정확하게 검출된 객체에 대응하는 이미지를 검색할 수 있다.
예를 들어, 제 1 이미지(410)는 전자 장치가 제 1 이미지에 포함된 객체의 인식 결과를 제공하고자 하는 이미지일 수 있고, 제 2 이미지(420) 및 제 3 이미지(430)는 동일한 ID를 가진, 하나의 이미지 그룹으로 그룹핑된 이미지들일 수 있다.
일 실시예에서, 제 1 이미지(410)와 제 2 이미지(420) 및 제 3 이미지(430)를 포함하는 이미지 그룹 간의 제 2 유사도는 다음의 수학식 1과 같이 계산된다.
[수학식 1]
Figure PCTKR2017013792-appb-img-000001
X는 제 1 이미지(410)와 제 2 이미지 간(420)의 제 1 유사도를 나타내고, Y는 제 1 이미지(410)와 제 3 이미지(430) 간의 제 1 유사도를 나타내고, Z는 제 1 이미지(410)와 제 2 이미지(420) 및 제 3 이미지(430)를 포함하는 이미지 그룹 간의 제 2 유사도를 나타낸다. 또한, M은 제 2 이미지(420) 및 제 3 이미지(430)로부터 추정된 제 1 이미지(410)의 촬영 위치들의 차이(470)를 나타내고, N은 제 2 이미지(420) 및 제 3 이미지(430)로부터 추정된 제 1 이미지(410)의 촬영 방향들의 차이(460)를 나타낸다.
일 실시예에 따른 제 2 유사도를 계산하기 위한 수학식 1에서, a는 M 제곱의 계수이고, b는 N 제곱의 계수이며, a 와 b는 기 설정된 값으로서, 같은 값일 수도 있고 다른 값일 수도 있다. 예를 들어, a와 b가 다른 값이라면, 촬영 위치들의 차이(470)와 촬영 방향들의 차이(460)에 각각 다른 가중치가 부여될 수 있다. 또한, 예를 들어, a 및 b는 임의의 실수일 수 있다.
예를 들어, 제 1 이미지(410)와 제 2 이미지(420) 간의 제 1 유사도는 62%이고, 제 1 이미지(410)와 제 3 이미지(430) 간의 제 1 유사도는 58%일 수 있다. 이 경우, 전자 장치는 제 1 이미지(410)와 제 2 이미지(420) 간의 제 1 유사도와 제 1 이미지(410)와 제 3 이미지(430) 간의 제 1 유사도를 조합하여 제 2 이미지(420) 및 제 3 이미지(430)를 포함하는 이미지 그룹과의 제 2 유사도를 계산할 수 있다.
예를 들어, 전자 장치는 기 저장된 제 2 이미지(420)의 촬영 위치 및 촬영 방향에 기초하여, 제 1 이미지(410)의 촬영 위치 및 촬영 방향을 추정할 수 있다. 또한, 전자 장치는 기 저장된 제 3 이미지(430)의 촬영 위치 및 촬영 방향에 기초하여, 제 1 이미지(410)의 촬영 위치 및 촬영 방향을 추정할 수 있다. 예를 들어, 제 2 이미지(420)로부터 추정된 제 1 이미지(410)의 촬영 위치 및 촬영 방향은, 화살표(440)의 끝 점 및 화살표(440)가 가리키는 방향일 수 있고, 제 3 이미지(430)로부터 추정된 제 1 이미지(410)의 촬영 위치 및 촬영 방향은, 화살표(450)의 끝 점 및 화살표(450)가 가리키는 방향일 수 있다. 예를 들어, 전자 장치는 기하 검증을 통해, 제 1 이미지(410)는 제 2 이미지(420)에 비해 45도 왼쪽에서 촬영된 이미지라는 것을 추정할 수 있고, 제 1 이미지(410)는 제 3 이미지(430)에 비해 45도 오른쪽에서 촬영된 이미지라는 것을 추정할 수 있다.
일 실시예에서, 전자 장치는 제 2 이미지(420)로부터 추정된 제 1 이미지(410)의 촬영 위치와 제 3 이미지(430)로부터 추정된 제 1 이미지(410)의 촬영 위치 간의 차이(470)를 계산할 수 있다. 또한, 일 실시예에서, 전자 장치는 제 2 이미지(420)로부터 추정된 제 1 이미지(410)의 촬영 방향과 제 3 이미지(430)로부터 추정된 제 1 이미지(410)의 촬영 방향 간의 차이(460)를 계산할 수 있다.
일 실시예에서, 전자 장치는 추정된 제 1 이미지(410)의 촬영 위치들의 차이 및 추정된 제 1 이미지(410)의 촬영 방향들의 차이에 기초하여, 제 1 유사도들에 가중치를 부여할 수 있다. 예를 들어, 수학식 1에서, a가 1이고 b가 0이며, M이 1인 경우, 전자 장치는 제 1 이미지(410)와 제 2 이미지(420) 간의 제 1 유사도인 62%에 제 1 이미지(410)와 제 3 이미지(430) 간의 제 1 유사도인 58%에 가중치를 곱한 값을 더하여, 제 1 이미지(410)와 제 2 이미지(420) 및 제 3 이미지(430)를 포함하는 이미지 그룹 간의 제 2 유사도인 62% + 52% / (1+1*1 2) = 88%을 계산할 수 있다.
도 5는 일 실시예에 따른, 객체들 간의 유사도를 판단하는 예시를 나타내는 도면이다.
일 실시예에서, 전자 장치는 제 1 이미지(510)의 인식 결과를 제공하기 위해, 데이터베이스(Database)에 저장된 이미지들을 제 1 이미지(510)와 매칭할 수 있다. 또한, 일 실시예에서, 전자 장치는 매칭을 통해 제 1 이미지(510)와 유사한 제 2 이미지(520), 제 3 이미지(530), 제 4 이미지(540) 및 제 5 이미지(550)를 획득할 수 있다. 예를 들어, 제 2 이미지(520) 및 제 3 이미지(530)는 동일한 이미지 그룹 내에 포함된 이미지들일 수 있다. 일 실시예에서, 전자 장치는 제 1 이미지(510)와 각각 단일의 제 2 이미지(520), 제 3 이미지(530), 제 4 이미지(540) 및 제 5 이미지(550) 간의 매칭으로는, 제 2 이미지(520) 및 제 3 이미지(530) 보다는 제 4 이미지(540) 및 제 5 이미지(550)와 제 1 이미지(510)가 더 유사하다고 판단할 수 있다.
하지만, 일 실시예에서, 전자 장치는 단일 이미지들 간의 매칭으로는 유사도가 낮은 이미지라고 판단하였더라도, 동일 이미지 그룹 내 복수개의 이미지들의 유사도들을 합하여 보다 정확하게 객체의 인식 결과를 제공하고자 하는 이미지와 유사한 이미지를 판단할 수 있다. 예를 들어, 도 4에서 상술한 수학식을 통해 제 1 이미지(510)와 제 2 이미지(520)간의 유사도 및 제 1 이미지(510)와 제 2 이미지(530)간의 유사도에 각각 다른 가중치를 부여한 후, 합산하여 ID가 1111인 그룹과 제 1 객체(510) 간의 유사도를 계산할 수 있다. 예를 들어, 단일 이미지들간의 매칭 결과와는 달리, 전자 장치는 ID가 1111인 그룹의 유사도가 ID가 2222인 그룹 및 ID가 3333인 그룹의 유사도 보다 높다고 판단할 수 있다. 상술한 실시예에서와 같이, 전자 장치는 복수개의 이미지들의 유사도를 결합하여, 이미지의 검색 성능을 향상시킬 수 있다.
도 6 및 도 7는 일부 실시예에 따라 전자 장치의 구성을 도시한 블록도이다.
도 6에 도시된 바와 같이, 일 실시예에 따른 전자 장치(600)는 출력부(620) 및 제어부(630)를 포함할 수 있다. 그러나, 도 6에 도시된 구성 요소 모두가 전자 장치(600)의 필수 구성 요소인 것은 아니다. 도 6에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(600)가 구현될 수도 있고, 도 6에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(600)가 구현될 수도 있다.
예를 들어, 도 7에 도시된 바와 같이, 일 실시예에 따른 전자 장치(600)는, 출력부(620) 및 제어부(630) 이외에 사용자 입력부(610), 센싱부(640), 통신부(650), A/V 입력부(660) 및 메모리(670)를 더 포함할 수도 있다.
사용자 입력부(610)는, 사용자가 전자 장치(600)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(610)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(610)는, 사용자 입력을 수신할 수 있다. 예를 들어, 사용자 입력부(100)는 이미지를 획득하기 위한 사용자 입력 및 애플리케이션을 실행하기 위한 사용자 입력 등을 수신할 수 있다. 또한, 사용자 입력부(610)는 디스플레이된 적어도 하나의 그래픽 사용자 인터페이스 중 하나의 그래픽 사용자 인터페이스를 선택하는 사용자의 입력을 수신할 수 있다.
출력부(620)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 이에는 디스플레이부(621)와 음향 출력부(622), 진동 모터(623) 등이 포함될 수 있다.
디스플레이부(621)는 후술할 제어부(630)에 의해 제어됨으로써, 전자 장치(600)에서 처리되는 정보를 디스플레이한다. 디스플레이부(621)는 적어도 하나의 이미지를 디스플레이할 수 있다. 예를 들어, 디스플레이부(621)는 적어도 하나의 이미지와 함께 가상의 오브젝트를 포함하는 증강 현실을 디스플레이할 수 있다.
한편, 디스플레이부(621)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(621)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(621)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(600)의 구현 형태에 따라 전자 장치(600)는 디스플레이부(621)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(621)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다.
음향 출력부(622)는 통신부(650)로부터 수신되거나 메모리(670)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(622)는 전자 장치(600)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(622)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동 모터(623)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(623)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(623)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
제어부(630)는, 통상적으로 전자 장치(600)의 전반적인 동작을 제어한다. 제어부(630)는 적어도 하나의 프로세서를 구비할 수 있다. 제어부(630)는 그 기능 및 역할에 따라, 복수의 프로세서들을 포함하거나, 통합된 형태의 하나의 프로세서를 포함할 수 있다.
예를 들어, 제어부(630)는, 메모리(670)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(610), 출력부(620), 센싱부(640), 통신부(650), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 또한, 제어부(630)는 사용자 입력부(610), 출력부(620), 센싱부(640), 통신부(650) 및 A/V 입력부(1600)를 제어함으로써, 전자 장치(600)가 적어도 하나의 객체의 인식 결과를 제공할 수 있도록 할 수 있다.
구체적으로, 제어부(630)는 컴퓨터 실행가능 명령어를 실행함으로써, 이미지에 포함된 객체를 검출하고, 동일한 객체 별로 그룹핑된 이미지 그룹들과 이미지 간의 매칭을 통해, 검출된 객체에 대응하는 이미지 그룹을 결정하며, 결정된 이미지 그룹의 촬영 조건 및 이미지의 촬영 조건에 기초하여, 이미지에서 결정된 이미지 그룹의 객체의 정면 방향을 추정할 수 있다. 예를 들어, 제어부(630)는 컴퓨터 실행가능 명령어를 실행함으로써, 결정된 이미지 그룹의 대표 이미지와 이미지 간의 매칭을 통해, 대표 이미지의 촬영 조건으로부터 이미지의 촬영 조건을 추정하고, 추정된 촬영 조건에 기초하여, 기 설정된 대표 이미지의 객체의 정면 방향으로부터 이미지에서 대표 이미지의 객체의 정면 방향을 추정할 수 있다. 또한, 제어부(630)는 디스플레이된 그래픽 사용자 인터페이스를 선택하는 사용자 입력에 기초하여, 이미지 그룹의 정보에 기초하여, 이미지 그룹의 객체를 구매할 수 있는 사이트에 액세스(access)할 수 있다.
또한, 일 실시예에 따른 제어부(630)는 컴퓨터 실행가능 명령어를 실행함으로써, 이미지 그룹들의 이미지들 각각과 이미지 간의 제 1 유사도들을 결정하고, 제 1 유사도들, 이미지 그룹의 이미지들로부터 추정된 이미지의 촬영 조건들에 기초하여, 이미지 그룹과 이미지 간의 제 2 유사도를 결정하며, 제 2 유사도가 임계 값 이상인 이미지 그룹을 검출된 객체에 대응하는 이미지 그룹으로 결정할 수 있다. 예를 들어, 제어부(630)는 추정된 이미지의 촬영 조건들의 차이에 기초한 가중치를 제 1 유사도들에 곱하여 합산할 수 있다. 또한, 예를 들어, 제어부(630)는 제 1 유사도들을 결정하는 기준을 학습할 수 있다.
또한, 일 실시예에 따른 제어부(630)는, 컴퓨터 실행가능 명령어를 실행함으로써, 센싱부(640)가 감지한 카메라 움직임에 따라 변경된 이미지의 촬영 조건 및 이미지 그룹의 촬영 조건에 기초하여, 이미지에서 결정된 이미지 그룹의 객체의 정면 방향을 추정할 수 있다.
또한, 제어부(630)는, 통신부(650)를 제어함으로써, 전자 장치가 접근 가능한 이미지를 외부 장치 및 서버와 송수신할 수 있다.
센싱부(640)는, 전자 장치(600)의 상태 또는 전자 장치(600) 주변의 상태를 감지하고, 감지된 정보를 제어부(630)로 전달할 수 있다.
센싱부(640)는, 지자기 센서(Magnetic sensor)(641), 가속도 센서(Acceleration sensor)(642), 온/습도 센서(643), 적외선 센서(644), 자이로스코프 센서(645), 위치 센서(예컨대, GPS)(646), 기압 센서(647), 근접 센서(648), 및 RGB 센서(RGB sensor)(649) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(650)는, 전자 장치(600)와 다른 전자 장치 또는 전자 장치(600)와 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(650)는, 근거리 통신부(651), 이동 통신부(652), 방송 수신부(653)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(651)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(652)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(653)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(600)가 방송 수신부(653)를 포함하지 않을 수도 있다.
통신부(650)는, 제어부(630)에 의해 제어됨으로써 외부 장치 및 서버와 데이터를 송수신한다. 통신부(650)는 다른 전자 장치에게 직접 데이터를 전송하거나 서버를 경유하여 데이터를 전송할 수 있다. 또한, 통신부(650)는 다른 전자 장치로부터 직접 데이터를 수신하거나 서버를 경유하여 데이터를 수신할 수 있다.
A/V(Audio/Video) 입력부(660)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(661)와 마이크로폰(662) 등이 포함될 수 있다. 카메라(661)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(630) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(661)에서 처리된 화상 프레임은 메모리(670)에 저장되거나 통신부(650)를 통하여 외부로 전송될 수 있다. 카메라(661)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다. 또한, 예를 들어, 카메라(661)는 뎁스 카메라를 포함할 수 있다.
마이크로폰(662)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(662)은 외부 전자 장치 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(662)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(670)는, 제어부(630)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 텍스트, 텍스트와 연관된 이미지, 사용자의 텍스트와 연관된 이미지 선택 결과 등)을 저장할 수도 있다. 메모리(670)는 컴퓨터 실행가능 명령어(computer executable instruction)를 저장할 수 있다.
메모리(670)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 전자 장치(600)는 인터넷(internet)상에서 메모리(670)의 저장 기능을 수행하는 웹 스토리지(web storage) 또는 클라우드 서버를 운영할 수도 있다.
메모리(670)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(671), 터치 스크린 모듈(672) 등으로 분류될 수 있다.
UI 모듈(671)은, 애플리케이션 별로 전자 장치(600)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(672)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(630)로 전달할 수 있다. 일 실시예에 따른 터치 스크린 모듈(672)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(672)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다.
알림 모듈(673)은 전자 장치(600)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 장치(600)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(673)은 디스플레이부(621)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(622)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(623)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
한편, 도 6 및 도 7에 도시된 전자 장치(600)의 구성은 일 실시예이며, 전자 장치(600)의 각 구성요소는 구현되는 전자 장치(600)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 구성(또는, 모듈)에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 8는 일 실시예에 따른 제어부(630)의 블록도이다.
도 8를 참조하면, 일 실시예에 따른 제어부(630)는 데이터 학습부(631) 및 데이터 인식부(632)를 포함할 수 있다.
데이터 학습부(631)는 이미지들 간의 유사도 판단을 위한 기준을 학습할 수 있다. 데이터 학습부(631)는 소정의 유사도를 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 유사도를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(631)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 유사도 판단을 위한 기준을 학습할 수 있다.
데이터 인식부(632)는 적어도 둘 이상의 이미지들 사이의 유사도를 판단할 수 있다. 또한, 예를 들어, 적어도 둘 이상의 이미지들 사이의 유사도 판단은, 적어도 둘 이상의 객체들 사이의 유사도를 판단을 포함할 수 있다. 데이터 인식부(632)는 학습된 데이터 인식 모델을 이용하여, 적어도 둘 이상의 객체 사이의 유사도를 판단할 수 있다. 데이터 인식부(632)는 학습에 의한 기 설정된 기준에 따라 각각의 객체의 특징을 분석하고, 분석한 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 적어도 둘 이상의 객체들 사이의 유사도를 판단할 수 있다. 또한, 분석한 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(631) 및 데이터 인식부(632) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(631) 및 데이터 인식부(632) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(631) 및 데이터 인식부(632)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(631) 및 데이터 인식부(632) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(631) 및 데이터 인식부(632)는 유선 또는 무선으로 통하여, 데이터 학습부(631)가 구축한 모델 정보를 데이터 인식부(632)로 제공할 수도 있고, 데이터 인식부(632)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(631)로 제공될 수도 있다.
한편, 데이터 학습부(631) 및 데이터 인식부(632) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(631) 및 데이터 인식부(632) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9은 일 실시예에 따른 데이터 학습부(631)의 블록도이다.
도 9을 참조하면, 일 실시예에 따른 데이터 학습부(631)는 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5)를 포함할 수 있다.
데이터 획득부(631-1)는 이미지들 간의 유사도 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(631-1)는 이미지들 간의 유사도 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
데이터 획득부(631-1)는 이미지를 입력 받을 수 있다. 이미지는 복수의 객체들을 포함할 수 있다. 예를 들어, 데이터 획득부(631-1)는 데이터 학습부(631)를 포함하는 전자 장치의 카메라를 통하여 이미지를 캡쳐할 수 있다. 또는, 데이터 획득부(631-1)는 전자 장치와 통신하는 서버 또는 외부 장치를 통해 데이터를 획득할 수 있다.
전처리부(631-2)는 이미지들 간의 유사도 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(631-2)는 후술할 모델 학습부(631-4)가 이미지들 간의 유사도 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(631-2)는 획득한 이미지로부터 이미지에 포함된 적어도 하나의 객체를 추출할 수 있다. 또한, 전처리부(631-2)는 추출한 객체를 기 설정된 포맷을 가지는 데이터로 가공할 수 있다.
학습 데이터 선택부(631-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있고, 선택된 데이터는 모델 학습부(631-4)에 제공될 수 있다. 학습 데이터 선택부(631-3)는 이미지들 간의 유사도 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(631-3)는 후술할 모델 학습부(631-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
학습 데이터 선택부(631-3)는 전처리부(631-2)에서 가공된 객체들 중에서 학습에 필요한 객체들을 선택할 수 있다. 예를 들어, 학습 데이터 선택부(631-3)는 객체들 사이의 유사도 판단을 학습하기 위해, 전처리부(631-2)에서 가공된 객체들 중에서 특정 대상에 대응하는 객체만을 선택할 수 있다. 또는, 학습 데이터 선택부(631-3)는 동일한 객체가 포함된 복수의 이미지들을 선택할 수도 있다.
모델 학습부(631-4)는 학습 데이터에 기초하여 이미지들 간의 유사도를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(631-4)는 이미지들 간의 유사도 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
예를 들어, 모델 학습부(631-4)는 이미지들 간의 유사도 판단을 학습하기 위해, 이미지들에 포함된 각각의 객체의 특징을 분석할 수 있다. 또한, 모델 학습부(631-4)는 두 개의 객체가 동일한 경우, 각각의 객체의 특징을 분석한 데이터가 어떠한 방법으로 일치되는 지를 학습할 수 있다.
또한, 모델 학습부(631-4)는 유사도 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(631-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(631-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(631-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(631-4)는, 예를 들어, 별다른 지도없이 유사도 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 유사도 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(631-4)는, 예를 들어, 학습에 따른 유사도 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(631-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(631-4)는 학습된 데이터 인식 모델을 데이터 인식부(632)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(631-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(632)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(631-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(631-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(631-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 평가 데이터는 복수의 이미지들 간의 유사도에 관한 데이터를 포함할 수 있다. 또한, 예를 들어, 평가 데이터는 적어도 둘 이상의 객체들의 동일 여부에 관한 데이터를 포함할 수 있다.
예를 들어, 모델 평가부(631-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 판단 결과를 출력하는 경우, 모델 평가부(631-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(631-5)는 각각의 학습된 데이터 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(631-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(631) 내의 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(631-1), 전처리부(631-2), 학습 데이터 선택부(631-3), 모델 학습부(631-4) 및 모델 평가부(631-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 10는 일 실시예에 따른 데이터 인식부(632)의 블록도이다.
도 10를 참조하면, 일 실시예에 따른 데이터 인식부(632)는 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5)를 포함할 수 있다.
데이터 획득부(632-1)는 이미지들 간의 유사도 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(632-2)는 이미지들 간의 유사도 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(632-2)는 후술할 인식 결과 제공부(632-4)가 이미지들 간의 유사도 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(632-3)는 전처리된 데이터 중에서 이미지들 간의 유사도 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(632-4)에게 제공될 수 있다. 인식 데이터 선택부(632-3)는 이미지들 간의 유사도 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(632-3)는 후술할 모델 학습부(631-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(632-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 이미지들 간의 유사도를 판단할 수 있다. 인식 결과 제공부(632-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(632-4)는 인식 데이터 선택부(632-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
예를 들어, 이미지에 대한 인식 결과는 텍스트, 이미지 또는 명령어(예를 들어, 애플리케이션 실행 명령어, 모듈 기능 실행 명령어 등) 등으로 제공될 수 있다. 인식 결과 제공부(632-4)는 이미지로부터 추출된 객체와 전자 장치가 접근 가능한 데이터에 포함된 객체 사이의 유사도를 데이터 인식 모델에 적용하여 인식 결과를 제공할 수 있다. 예를 들어, 인식 결과 제공부(632-4)는 객체들 간의 유사도 판단에 기초하여 유사하다고 판단된 객체를 이미지 포맷으로 제공할 수 있다. 또는, 인식 결과 제공부(632-4)는 해당 객체의 명칭 및 해당 객체를 구매할 수 있는 사이트 주소 등을 인식 결과로서 제공할 수 있다.
모델 갱신부(632-5)는 인식 결과 제공부(632-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(632-5)는 인식 결과 제공부(632-4)에 의해 제공되는 인식 결과를 모델 학습부(631-4)에게 제공함으로써, 모델 학습부(631-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(632) 내의 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(632-1), 전처리부(632-2), 인식 데이터 선택부(632-3), 인식 결과 제공부(632-4) 및 모델 갱신부(632-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 11는 일 실시예에 따른 전자 장치(600) 및 서버(1100)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 11를 참조하면, 서버(1100)는 이미지들 간의 유사도 판단을 위한 기준을 학습할 수 있다. 전자 장치(600)는 서버(1100)에 의한 학습 결과에 기초하여 이미지들 간의 유사도를 판단할 수 있다.
이 경우, 서버(1100)의 모델 학습부(1134)는 도 9에 도시된 데이터 학습부(631)의 기능을 수행할 수 있다. 서버(1100)의 모델 학습부(1134)는 소정의 이미지들 간의 유사도를 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 이미지들 간의 유사도를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(1134)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 이미지들 간의 유사도 판단을 위한 기준을 학습할 수 있다.
또한, 전자 장치(600)의 인식 결과 제공부(632-4)는 인식 데이터 선택부(632-3)에 의해 선택된 데이터를 서버(1100)에 의해 생성된 데이터 인식 모델에 적용하여 이미지들 간의 유사도를 판단할 수 있다. 예를 들어, 인식 결과 제공부(632-4)는 인식 데이터 선택부(632-3)에 의해 선택된 데이터를 서버(1100)에게 전송하고, 서버(1100)가 인식 데이터 선택부(632-3)에 의해 선택된 데이터를 인식 모델에 적용하여 이미지들 간의 유사도를 판단해 줄 것을 요청할 수 있다. 또한, 인식 결과 제공부(632-4)는 서버(1100)에 의해 판단된 이미지들 간의 유사도에 관한 정보를 서버(1100)로부터 수신할 수 있다.
또는, 전자 장치(600)의 인식 결과 제공부(632-4)는 서버(1100)에 의해 생성된 인식 모델을 서버(1100)로부터 수신하고, 수신된 인식 모델을 이용하여 이미지들 간의 유사도를 판단할 수 있다. 이 경우, 전자 장치(600)의 인식 결과 제공부(632-4)는 인식 데이터 선택부(632-3)에 의해 선택된 데이터를 서버(1100)로부터 수신된 데이터 인식 모델에 적용하여 이미지들 간의 유사도를 판단할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 컴퓨터 실행가능 명령어가 저장되는 메모리;
    상기 컴퓨터 실행가능 명령어를 실행함으로써, 이미지에 포함된 객체를 검출하고, 동일한 객체 별로 그룹핑된 이미지 그룹들과 상기 이미지 간의 매칭을 통해, 상기 검출된 객체에 대응하는 이미지 그룹을 결정하며, 상기 결정된 이미지 그룹의 촬영 조건 및 상기 이미지의 촬영 조건에 기초하여, 상기 이미지에서 상기 결정된 이미지 그룹의 객체의 정면 방향을 추정하는, 적어도 하나의 프로세서; 및
    상기 추정된 정면 방향에 상기 이미지 그룹의 정보를 출력하는 출력부;
    를 포함하는, 전자 장치.
  2. 제 1항에 있어서,
    상기 촬영 조건은 촬영 위치 및 촬영 방향 중 적어도 하나를 포함하는, 전자 장치.
  3. 제 2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 결정된 이미지 그룹의 대표 이미지와 상기 이미지 간의 매칭을 통해, 상기 대표 이미지의 촬영 조건으로부터 상기 이미지의 촬영 조건을 추정하고, 상기 추정된 촬영 조건에 기초하여, 기 설정된 상기 대표 이미지의 객체의 정면 방향으로부터 상기 이미지에서 상기 대표 이미지의 객체의 정면 방향을 추정하며,
    상기 출력부는,
    상기 추정된 정면 방향에 상기 이미지 그룹의 정보를 나타내는 그래픽 사용자 인터페이스(GUI)를 디스플레이하는, 전자 장치.
  4. 제 3항에 있어서,
    상기 디스플레이된 그래픽 사용자 인터페이스를 선택하는 사용자 입력을 수신하는 사용자 입력부를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 이미지 그룹의 정보에 기초하여, 상기 이미지 그룹의 객체를 구매할 수 있는 사이트에 액세스(access)하는, 전자 장치.
  5. 제 2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 이미지 그룹들의 이미지들 각각과 상기 이미지 간의 제 1 유사도들을 결정하고, 상기 제 1 유사도들, 상기 이미지 그룹의 이미지들로부터 추정된 이미지의 촬영 조건들에 기초하여, 상기 이미지 그룹과 상기 이미지 간의 제 2 유사도를 결정하며, 상기 제 2 유사도가 임계 값 이상인 이미지 그룹을 상기 검출된 객체에 대응하는 이미지 그룹으로 결정하는, 전자 장치.
  6. 제 5항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 추정된 이미지의 촬영 조건들의 차이에 기초한 가중치를 상기 제 1 유사도들에 곱하여 합산하는, 전자 장치.
  7. 제 5항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제 1 유사도들을 결정하는 기준을 학습하는, 전자 장치.
  8. 제 1항에 있어서, 상기 이미지가 뎁스 이미지인 경우,
    상기 적어도 하나의 프로세서는,
    복수의 객체들의 3차원 모델들과 상기 뎁스 이미지 간의 매칭을 통해, 상기 검출된 객체에 대응하는 3차원 모델을 결정하고,
    상기 출력부는,
    상기 뎁스 이미지의 뎁스 정보에 기초하여, 상기 뎁스 이미지에서 상기 3차원 모델의 객체의 정면 방향에 상기 3차원 모델의 정보를 출력하는, 전자 장치.
  9. 제 1항에 있어서,
    상기 이미지를 촬영하는 카메라의 움직임을 추적하는 센싱부를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 결정된 이미지 그룹의 촬영 조건 및 상기 카메라의 움직임에 따라 변경된 상기 이미지의 촬영 조건에 기초하여, 상기 이미지에서 상기 결정된 이미지 그룹의 객체의 정면 방향을 추정하고,
    상기 출력부는,
    상기 이미지에서 상기 정면 방향에 상기 이미지 그룹의 정보를 출력하는, 전자 장치.
  10. 제 1항에 있어서,
    상기 적어도 하나의 프로세서는,
    기하 검증(Geometric Verification)을 이용하여, 상기 결정된 이미지 그룹의 촬영 조건으로부터 상기 이미지의 촬영 조건을 추정하는, 전자 장치.
  11. 이미지에 포함된 객체를 검출하는 단계;
    동일한 객체 별로 그룹핑된 이미지 그룹들과 상기 이미지 간의 매칭을 통해, 상기 검출된 객체에 대응하는 이미지 그룹을 결정하는 단계;
    상기 결정된 이미지 그룹의 촬영 조건 및 상기 이미지의 촬영 조건에 기초하여, 상기 이미지에서 추정된, 상기 결정된 이미지 그룹의 객체의 정면 방향에 상기 이미지 그룹의 정보를 출력하는 단계;
    를 포함하는, 객체의 인식 결과를 제공하는 방법.
  12. 제 11항에 있어서,
    상기 촬영 조건은 촬영 위치 및 촬영 방향 중 적어도 하나를 포함하는, 객체의 인식 결과를 제공하는 방법.
  13. 제 12항에 있어서,
    상기 출력하는 단계는,
    상기 결정된 이미지 그룹의 대표 이미지와 상기 이미지 간의 매칭을 통해, 상기 대표 이미지의 촬영 조건으로부터 상기 이미지의 촬영 조건을 추정하는 단계;
    상기 추정된 촬영 조건에 기초하여, 기 설정된 상기 대표 이미지의 객체의 정면 방향으로부터 상기 이미지에서 상기 대표 이미지의 객체의 정면 방향을 추정하는 단계; 및
    상기 추정된 정면 방향에 상기 이미지 그룹의 정보를 나타내는 그래픽 사용자 인터페이스(GUI)를 디스플레이하는 단계;
    를 포함하는, 객체의 인식 결과를 제공하는 방법.
  14. 제 12항에 있어서,
    상기 결정하는 단계는,
    상기 이미지 그룹들의 이미지들 각각과 상기 이미지 간의 제 1 유사도들을 결정하는 단계; 및
    상기 제 1 유사도들, 상기 이미지 그룹의 이미지들로부터 추정된 이미지의 촬영 조건들에 기초하여, 상기 이미지 그룹과 상기 이미지 간의 제 2 유사도를 결정하는 단계; 및
    상기 제 2 유사도가 임계 값 이상인 이미지 그룹을 상기 검출된 객체에 대응하는 이미지 그룹으로 결정하는 단계;
    를 포함하는, 객체의 인식 결과를 제공하는 방법.
  15. 제 11항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
PCT/KR2017/013792 2016-12-26 2017-11-29 객체의 인식 결과를 제공하는 방법 및 전자 장치 WO2018124500A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/466,516 US11106913B2 (en) 2016-12-26 2017-11-29 Method and electronic device for providing object recognition result

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160179314A KR20180075224A (ko) 2016-12-26 2016-12-26 객체의 인식 결과를 제공하는 방법 및 전자 장치
KR10-2016-0179314 2016-12-26

Publications (1)

Publication Number Publication Date
WO2018124500A1 true WO2018124500A1 (ko) 2018-07-05

Family

ID=62709617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013792 WO2018124500A1 (ko) 2016-12-26 2017-11-29 객체의 인식 결과를 제공하는 방법 및 전자 장치

Country Status (3)

Country Link
US (1) US11106913B2 (ko)
KR (1) KR20180075224A (ko)
WO (1) WO2018124500A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111877449A (zh) * 2019-05-02 2020-11-03 迪尔公司 控制用于地下测绘的移动式施工设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965798B1 (en) * 2017-01-31 2018-05-08 Mikko Vaananen Self-shopping refrigerator
PH12019050076A1 (en) * 2019-05-06 2020-12-02 Samsung Electronics Co Ltd Enhancing device geolocation using 3d map data
CN110706009A (zh) * 2019-10-16 2020-01-17 珠海优特物联科技有限公司 盖章处理方法、装置、电子***设备及可读存储介质
WO2024117730A1 (ko) * 2022-11-28 2024-06-06 삼성전자 주식회사 물체를 식별하는 전자 장치 및 이의 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011176574A (ja) * 2010-02-24 2011-09-08 Nikon Corp デジタルカメラおよび画像ファイリング装置並びに画像ファイリングプログラム
KR101191172B1 (ko) * 2012-02-15 2012-10-15 (주)올라웍스 이미지 데이터베이스의 이미지들을 관리하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR20130120663A (ko) * 2012-04-26 2013-11-05 재단법인대구경북과학기술원 객체 위치 추정 장치 및 방법
KR20140132452A (ko) * 2013-05-08 2014-11-18 삼성전자주식회사 이미지를 보정하는 전자 장치 및 그 제어 방법
KR20150127503A (ko) * 2014-05-07 2015-11-17 에스케이플래닛 주식회사 객체 인식 서비스 제공 시스템 및 방법, 그리고 이를 위한 장치 및 컴퓨터 프로그램이 기록된 기록매체

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298778B (zh) * 2003-10-30 2015-06-17 日本电气株式会社 用于估计对象状态的估计***、估计方法和估计程序
US8032469B2 (en) * 2008-05-06 2011-10-04 Microsoft Corporation Recommending similar content identified with a neural network
US8429168B1 (en) * 2009-12-15 2013-04-23 Google Inc. Learning semantic image similarity
JP5631086B2 (ja) * 2010-07-12 2014-11-26 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
JP5866728B2 (ja) * 2011-10-14 2016-02-17 サイバーアイ・エンタテインメント株式会社 画像認識システムを備えた知識情報処理サーバシステム
WO2014159726A1 (en) * 2013-03-13 2014-10-02 Mecommerce, Inc. Determining dimension of target object in an image using reference object
JP2016119508A (ja) * 2014-12-18 2016-06-30 株式会社東芝 方法、システム及びプログラム
KR102512755B1 (ko) * 2015-12-11 2023-03-23 삼성전자주식회사 전자 장치 및 전자 장치의 디스플레이 방법
JP6744747B2 (ja) * 2016-04-01 2020-08-19 キヤノン株式会社 情報処理装置およびその制御方法
US11144786B2 (en) * 2017-11-02 2021-10-12 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium
US10839531B2 (en) * 2018-11-15 2020-11-17 Sony Corporation Object tracking based on a user-specified initialization point

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011176574A (ja) * 2010-02-24 2011-09-08 Nikon Corp デジタルカメラおよび画像ファイリング装置並びに画像ファイリングプログラム
KR101191172B1 (ko) * 2012-02-15 2012-10-15 (주)올라웍스 이미지 데이터베이스의 이미지들을 관리하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR20130120663A (ko) * 2012-04-26 2013-11-05 재단법인대구경북과학기술원 객체 위치 추정 장치 및 방법
KR20140132452A (ko) * 2013-05-08 2014-11-18 삼성전자주식회사 이미지를 보정하는 전자 장치 및 그 제어 방법
KR20150127503A (ko) * 2014-05-07 2015-11-17 에스케이플래닛 주식회사 객체 인식 서비스 제공 시스템 및 방법, 그리고 이를 위한 장치 및 컴퓨터 프로그램이 기록된 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111877449A (zh) * 2019-05-02 2020-11-03 迪尔公司 控制用于地下测绘的移动式施工设备
CN111877449B (zh) * 2019-05-02 2023-04-28 迪尔公司 控制用于地下测绘的移动式施工设备

Also Published As

Publication number Publication date
US20200082170A1 (en) 2020-03-12
US11106913B2 (en) 2021-08-31
KR20180075224A (ko) 2018-07-04

Similar Documents

Publication Publication Date Title
WO2018124500A1 (ko) 객체의 인식 결과를 제공하는 방법 및 전자 장치
WO2020080773A1 (en) System and method for providing content based on knowledge graph
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2018212538A1 (en) Electronic device and method of detecting driving event of vehicle
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2018117704A1 (en) Electronic apparatus and operation method thereof
EP3602497A1 (en) Electronic device and method of detecting driving event of vehicle
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2016126007A1 (en) Method and device for searching for image
WO2019083275A1 (ko) 관련 이미지를 검색하기 위한 전자 장치 및 이의 제어 방법
WO2020171513A1 (en) Method and apparatus for displaying surrounding information using augmented reality
EP3682415A1 (en) Image acquisition device and method of controlling the same
WO2019027141A1 (en) ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE OPERATION OF A VEHICLE
WO2019146942A1 (ko) 전자 장치 및 그의 제어방법
WO2018117538A1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
EP3539056A1 (en) Electronic apparatus and operation method thereof
WO2020130691A1 (en) Electronic device and method for providing information thereof
WO2019132410A1 (en) Electronic device and control method thereof
WO2018182201A1 (ko) 사용자의 음성 입력에 대한 답변을 제공하는 방법 및 장치
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2020171561A1 (en) Electronic apparatus and controlling method thereof
WO2021045552A1 (en) Electronic device for image synthesis and operating method thereof
WO2019203494A1 (ko) 문자를 입력하기 위한 전자 장치 및 그의 동작 방법
WO2020091248A1 (ko) 음성 명령에 응답하여 컨텐츠를 표시하기 위한 방법 및 그 전자 장치
WO2019190171A1 (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: 17888061

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17888061

Country of ref document: EP

Kind code of ref document: A1