WO2020171333A1 - 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 - Google Patents
이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 Download PDFInfo
- Publication number
- WO2020171333A1 WO2020171333A1 PCT/KR2019/012364 KR2019012364W WO2020171333A1 WO 2020171333 A1 WO2020171333 A1 WO 2020171333A1 KR 2019012364 W KR2019012364 W KR 2019012364W WO 2020171333 A1 WO2020171333 A1 WO 2020171333A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- electronic device
- processor
- auxiliary
- display
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
Definitions
- Various embodiments of the present disclosure relate to an electronic device and a method for providing a service corresponding to selection of an object in an image.
- the electronic device may include one or more cameras to take a picture or video.
- the electronic device may detect an object from an image acquired using a camera and provide a service corresponding to selection of the detected object.
- Conventional electronic devices may detect various types of unnecessary objects in an image acquired using a camera, regardless of size or position.
- the electronic device may not be able to selectively provide a service for an object desired by a user.
- Various embodiments of the present invention provide an electronic device and method capable of providing a service corresponding to selection of an object of high importance after removing an unnecessary object from among objects detected in an image, calculating the importance of the object. Can provide.
- An electronic device includes a camera; display; Memory; And a processor operatively connected to the camera, the display, and the memory, wherein the processor detects an area of a plurality of objects included in an image obtained using the camera, and Among the areas, the area of the object having a size that is out of the threshold range is removed, the importance of the object within the threshold is calculated, and based on the calculated importance, the electronic device allows A main object is selected below the number of objects, an auxiliary object having a spatial relationship with the selected main object is selected, the main object and the auxiliary object are recognized, and the recognized main object and the auxiliary object provide a service It may be set to recognize attributes, determine a service provided by the main object and the auxiliary object, and display the determined service on the display.
- a method is a method for providing a service corresponding to selection of an object in an image by a processor of an electronic device, wherein the processor includes an area of a plurality of objects included in an image acquired using a camera. Detecting; Removing an area of an object having a size out of a threshold range from among the detected areas of the plurality of objects; Calculating the importance of the object within the threshold range; Selecting a main object that is less than or equal to the number of objects allowed by the electronic device based on the calculated importance; Selecting an auxiliary object having a spatial relationship with the selected main object; Recognizing the main object and the auxiliary object, and recognizing the recognized main object and a service attribute provided by the auxiliary object; And determining a service provided by the main object and the auxiliary object, and displaying the determined service on a display.
- An electronic device includes a camera; display; Memory; And a processor operatively connected to the camera, the display, and the memory, wherein the processor detects a plurality of object regions included in an image acquired using the camera, and the detected regions of the plurality of objects Among the plurality of main objects are determined, a main object providing a service is selected based on the position and size of the object among the plurality of determined main objects, and auxiliary objects having a spatial relationship with the selected main object are selected.
- Select recognize the main object and the auxiliary object, determine the number and type of services provided by the recognized main object and auxiliary object, and based on the determined number and type of services, the main object and the A service card provided by an auxiliary object may be determined, and a service screen received from another electronic device may be set to be displayed on the display based on the determined service card.
- Various embodiments of the present invention provide a search service corresponding to the selection of objects with high importance after removing unnecessary objects among objects detected in an image, calculating the importance of the object, and calculating the detected object. It can reduce the amount and time required to prepare the service.
- FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure.
- FIG. 2 is a block diagram of a camera module according to various embodiments of the present disclosure.
- FIG. 3 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure.
- FIG. 4 is a diagram illustrating an example of an image acquired using a camera of an electronic device according to various embodiments of the present disclosure.
- FIG. 5 is a diagram illustrating an example of detecting at least one object from an image using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 6 is a diagram illustrating an example of removing at least one object area by using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 7 is a diagram illustrating an example in which an object is selected as a main object area after calculating the importance of an object using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 8 is a diagram illustrating an example of selecting an auxiliary object using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 9 is a diagram illustrating an example of determining a service to be provided using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 10 is a diagram illustrating an example of using a service determined by using a processor of an electronic device according to various embodiments of the present disclosure.
- FIG. 12 is a flowchart illustrating a method for providing a service corresponding to object selection in an electronic device according to various embodiments of the present disclosure.
- FIG. 13 is a flowchart illustrating a method of removing an area of an object having a size out of a threshold range in an electronic device according to various embodiments of the present disclosure.
- FIG. 14 is a diagram illustrating a method of calculating the importance of an object within a threshold range in an electronic device according to various embodiments of the present disclosure.
- 15 is a diagram illustrating a method of selecting a main object based on the importance of an object calculated by an electronic device according to various embodiments of the present disclosure.
- 16 is a diagram illustrating an algorithm for explaining a method of selecting an auxiliary object using a processor of an electronic device according to various embodiments of the present disclosure.
- 17 is a diagram illustrating an example in which an electronic device provides a determined service according to various embodiments of the present disclosure.
- FIG. 18 is a diagram illustrating another example of providing a determined service in an electronic device according to various embodiments of the present disclosure.
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
- the electronic device 101 communicates with the electronic device 102 through a first network 198 (for example, a short-range wireless communication network), or a second network 199 It is possible to communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network).
- the electronic device 101 may communicate with the electronic device 104 through the server 108.
- the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, and a sensor module ( 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197 ) Can be included.
- a sensor module 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197
- at least one of these components may be omitted or one or more other components may be added to the electronic device 101.
- some of these components may be implemented as one integrated circuit.
- the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
- the display device 160 eg, a display.
- the processor 120 for example, executes software (eg, a program 140) to implement at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and can perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 120 may store commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132 The command or data stored in the volatile memory 132 may be processed, and result data may be stored in the nonvolatile memory 134.
- software eg, a program 140
- the processor 120 may store commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132
- the command or data stored in the volatile memory 132 may be processed, and result data may be stored in the nonvolatile memory 134.
- the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphics processing unit, an image signal processor) that can be operated independently or together with the main processor 121 (eg, a central processing unit or an application processor). , A sensor hub processor, or a communication processor). Additionally or alternatively, the coprocessor 123 may be set to use lower power than the main processor 121 or to be specialized for a designated function. The secondary processor 123 may be implemented separately from the main processor 121 or as a part thereof.
- main processor 121 eg, a central processing unit or an application processor
- a secondary processor 123 eg, a graphics processing unit, an image signal processor
- the coprocessor 123 may be set to use lower power than the main processor 121 or to be specialized for a designated function.
- the secondary processor 123 may be implemented separately from the main processor 121 or as a part thereof.
- the coprocessor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, an application is executed). ) While in the state, together with the main processor 121, at least one of the components of the electronic device 101 (for example, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the functions or states related to. According to an embodiment, the coprocessor 123 (eg, an image signal processor or a communication processor) may be implemented as part of another functionally related component (eg, the camera module 180 or the communication module 190). have.
- an image signal processor or a communication processor may be implemented as part of another functionally related component (eg, the camera module 180 or the communication module 190). have.
- the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176).
- the data may include, for example, software (eg, the program 140) and input data or output data for commands related thereto.
- the memory 130 may include a volatile memory 132 or a nonvolatile memory 134.
- the program 140 may be stored as software in the memory 130, and may include, for example, an operating system 142, middleware 144, or an application 146.
- the input device 150 may receive a command or data to be used for a component of the electronic device 101 (eg, the processor 120) from an outside (eg, a user) of the electronic device 101.
- the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
- the sound output device 155 may output an sound signal to the outside of the electronic device 101.
- the sound output device 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display device 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
- the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
- the display device 160 may include a touch circuitry set to sense a touch, or a sensor circuit (eg, a pressure sensor) set to measure the strength of a force generated by the touch. have.
- the audio module 170 may convert sound into an electric signal or, conversely, convert an electric signal into sound. According to an embodiment, the audio module 170 acquires sound through the input device 150, the sound output device 155, or an external electronic device directly or wirelessly connected to the electronic device 101 (for example, Sound may be output through the electronic device 102) (for example, a speaker or headphones).
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101, or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 176 is, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface 177 may support one or more designated protocols that may be used for the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card
- the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that a user can perceive through a tactile or motor sense.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture a still image and a video.
- the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101.
- the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101.
- the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, electronic device 102, electronic device 104, or server 108). It is possible to support establishment and communication through the established communication channel.
- the communication module 190 operates independently of the processor 120 (eg, an application processor), and may include one or more communication processors that support direct (eg, wired) communication or wireless communication.
- the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg : A LAN (local area network) communication module, or a power line communication module) may be included.
- a corresponding communication module is a first network 198 (for example, a short-range communication network such as Bluetooth, WiFi direct or IrDA (infrared data association)) or a second network 199 (for example, a cellular network, the Internet, or It can communicate with external electronic devices through a computer network (for example, a telecommunication network such as a LAN or WAN).
- the wireless communication module 192 uses subscriber information stored in the subscriber identification module 196 (eg, International Mobile Subscriber Identifier (IMSI)) within a communication network such as the first network 198 or the second network 199.
- IMSI International Mobile Subscriber Identifier
- the antenna module 197 may transmit a signal or power to the outside (eg, an external electronic device) or receive from the outside.
- the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
- the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is, for example, provided by the communication module 190 from the plurality of antennas. Can be chosen.
- the signal or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
- other components eg, RFIC
- other than the radiator may be additionally formed as part of the antenna module 197.
- At least some of the components are connected to each other through a communication method (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI))) between peripheral devices and signals ( E.g. commands or data) can be exchanged with each other.
- a communication method e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- GPIO general purpose input and output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
- Each of the electronic devices 102 and 104 may be a device of the same or different type as the electronic device 101.
- all or part of the operations executed by the electronic device 101 may be executed by one or more of the external electronic devices 102, 104, or 108.
- the electronic device 101 needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device 101 does not execute the function or service by itself.
- One or more external electronic devices receiving the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the execution result to the electronic device 101.
- the electronic device 101 may process the result as it is or additionally and provide it as at least part of a response to the request.
- cloud computing, distributed computing, or client-server computing technology Can be used.
- FIG. 2 is a block diagram 200 illustrating a camera module 180 according to various embodiments.
- the camera module 180 is a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, a memory 250 (eg, a buffer memory), or an image signal processor. It may include 260.
- the lens assembly 210 may collect light emitted from a subject to be imaged.
- the lens assembly 210 may include one or more lenses.
- the camera module 180 may include a plurality of lens assemblies 210.
- the camera module 180 may form, for example, a dual camera, a 360 degree camera, or a spherical camera.
- Some of the plurality of lens assemblies 210 have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly may be a different lens assembly It may have one or more lens properties different from the lens properties of.
- the lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.
- the flash 220 may emit light used to enhance light emitted or reflected from a subject.
- the flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED), or a xenon lamp.
- RGB red-green-blue
- LED white LED
- infrared LED or ultraviolet LED
- the image sensor 230 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 210 into an electrical signal.
- the image sensor 230 is one image sensor selected from image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, and the same It may include a plurality of image sensors having attributes, or a plurality of image sensors having different attributes.
- Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
- CCD charged coupled device
- CMOS complementary metal oxide semiconductor
- the image stabilizer 240 may move at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to the movement of the camera module 180 or the electronic device 101 including the same.
- the operating characteristics of the image sensor 230 may be controlled (eg, read-out timing, etc.) may be controlled. This makes it possible to compensate at least some of the negative effects of the movement on the image being photographed.
- the image stabilizer 240 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180, and the camera module 180 or the electronic device ( 101) movement can be detected.
- the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.
- the memory 250 may temporarily store at least a part of the image acquired through the image sensor 230 for the next image processing operation. For example, when image acquisition is delayed according to the shutter, or when a plurality of images are acquired at high speed, the acquired original image (eg, Bayer-patterned image or high resolution image) is stored in the memory 250 , A copy image corresponding thereto (eg, a low resolution image) may be previewed through the display device 160. Thereafter, when the specified condition is satisfied (eg, user input or system command), at least a part of the original image stored in the memory 250 may be acquired and processed by, for example, the image signal processor 260. According to an embodiment, the memory 250 may be configured as at least a part of the memory 130 or as a separate memory operated independently from the memory 130.
- the specified condition eg, user input or system command
- the image signal processor 260 may perform one or more image processing on an image acquired through the image sensor 230 or an image stored in the memory 250.
- the one or more image processes may be, for example, depth map generation, 3D modeling, panorama generation, feature point extraction, image synthesis, or image compensation (e.g. noise reduction, resolution adjustment, brightness adjustment, blurring ( blurring, sharpening, or softening
- the image signal processor 260 includes at least one of the components included in the camera module 180 (eg, an image sensor). Control (eg, exposure time control, read-out timing control, etc.) for (230)
- the image processed by the image signal processor 260 is stored again in the memory 250 for further processing.
- the image signal processor 260 may be configured as at least a part of the processor 120, or may be configured as a separate processor that operates independently from the processor 120.
- the image signal processor 260 is the processor 120 When configured as a separate processor, at least one image processed by the image signal processor 260 may be displayed on the display device 160 as it is or after additional image processing is performed by the processor 120.
- the electronic device 101 may include a plurality of camera modules 180 each having different attributes or functions.
- at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least the other may be a telephoto camera.
- at least one of the plurality of camera modules 180 may be a front camera, and at least one of the camera modules 180 may be a rear camera.
- Electronic devices may be devices of various types.
- the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
- a portable communication device eg, a smart phone
- a computer device e.g., a smart phone
- a portable multimedia device e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a wearable device e.g., a smart bracelet
- phrases such as “at least one of, B, or C” may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof.
- Terms such as “first”, “second”, or “first” or “second” may be used simply to distinguish the component from other corresponding components, and the components may be referred to in other aspects (eg, importance or Order) is not limited.
- Some (eg, a first) component is referred to as “coupled” or “connected” with or without the terms “functionally” or “communicatively” to another (eg, second) component. When mentioned, it means that any of the above components can be connected to the other components directly (eg by wire), wirelessly, or via a third component.
- module used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, parts, or circuits.
- the module may be an integrally configured component or a minimum unit of the component or a part thereof that performs one or more functions.
- the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). It may be implemented as software (for example, the program 140) including them.
- the processor eg, the processor 120 of the device (eg, the electronic device 101) may call and execute at least one command among one or more commands stored from a storage medium. This makes it possible for the device to be operated to perform at least one function according to the at least one command invoked.
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- a storage medium that can be read by the device may be provided in the form of a non-transitory storage medium.
- non-transient only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term refers to a case where data is semi-permanently stored It does not distinguish between temporary storage cases.
- a signal e.g., electromagnetic waves
- a method may be included in a computer program product and provided.
- Computer program products can be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store TM ) or two user devices ( It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smart phones), online.
- a device such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
- each component (eg, module or program) of the above-described components may include a singular number or a plurality of entities.
- one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
- a plurality of components eg, a module or a program
- the integrated component may perform one or more functions of each component of the plurality of components in the same or similar to that performed by the corresponding component among the plurality of components prior to the integration. .
- operations performed by a module, program, or other component are sequentially, parallel, repeatedly, or heuristically executed, or one or more of the above operations are executed in a different order or omitted. Or one or more other actions may be added.
- FIG. 3 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure.
- an electronic device 300 may include a camera 310, a display 320, a processor 330, and a memory 340.
- the electronic device 300 may include the electronic device 101 of FIG. 1.
- the camera 310 may include the camera module 180 of FIG. 1 or 2.
- the display 320 may include the display device 160 of FIG. 1.
- the processor 330 may include the processor 120 of FIG. 1.
- the memory 340 may include the memory 130 of FIG. 1.
- the camera 310 may capture the surroundings of the electronic device 300 to obtain an image such as a still image or a moving image.
- the display 320 may display an image acquired through the camera 310 and an object included in the image.
- the display 320 may display information and a search service corresponding to the selected object.
- the display 320 may perform an input function and a display function.
- the display 320 may include a touch panel.
- the display 320 includes a liquid crystal display (LCD), organic light emitting diodes (OLED), active matrix organic light emitting diodes (AMOLED), flexible displays, or It can be formed in any of the transparent displays.
- the display 320 may visually provide a menu, input data, function setting information, and various other information of the electronic device 300 to a user.
- the processor 330 may be operatively connected to the camera 310, the display 320, and the memory 340.
- the processor 330 may control functions and operations of the camera 310, the display 320, and the memory 340.
- the processor 330 may detect regions of a plurality of objects included in an image acquired using the camera 310.
- the processor 330 may remove an area of an object having a size that is out of a threshold range from among the areas of the detected plurality of objects.
- the processor 330 may calculate the importance of an object within a range of the threshold.
- the processor 330 may select a main object that is less than or equal to the maximum number of objects allowed by the electronic device 300 (eg, two objects) based on the calculated importance.
- the processor 330 may select an auxiliary object having a spatial relationship with the selected main object.
- the processor 330 may recognize the main object and the auxiliary object, and recognize a service attribute provided by the recognized main object and the auxiliary object.
- the processor 330 may determine a service provided by the main object and an auxiliary object, and display the determined service using the display 320.
- the processor 330 includes an object detection module 301, an object removal module 303, an object importance calculation module 305, a main object selection module 307, an auxiliary object selection module 309, An object recognition module 311, a service attribute recognition module 313, and/or a service determination module 315 may be included.
- the object detection module 301 may detect an area of at least one object in an image acquired using the camera 310.
- the object removal module 303 uses context information of an object (eg, size and/or position of an object) among at least one object area detected using the object detection module 301
- context information of an object eg, size and/or position of an object
- the area of the object whose size is out of the threshold range can be removed. For example, an area of an object whose size exceeds or is less than a threshold may be removed.
- the object importance calculation module 305 is, among objects remaining after the object area has been removed through the object removal module 303, reliability information and context information of the object (for example, the size and / Or location) can be used to calculate the importance of each object.
- the main object selection module 307 is less than or equal to the maximum number of objects allowed by the electronic device 300 based on the importance calculated through the object importance calculation module 305 (eg : 2 or 3 objects), you can select the area corresponding to the main object.
- the auxiliary object selection module 309 uses the object detection module 301 based on the area (eg, location) of the main object selected using the main object selection module 307. Among the detected objects, an auxiliary object related to the main object may be selected.
- the auxiliary object selection module 309 may select an object overlapping a main object (eg, area) as the auxiliary object.
- the auxiliary object selection module 309 may select an object having a spatial relationship with the selected main object as an auxiliary object.
- the spatial relationship may be obtained by using the degree of overlap between the main object area and the auxiliary object area and the inclusion relationship between the main object area and the auxiliary object area.
- the object recognition module 311 may recognize a type of an auxiliary object existing in an area of a main object.
- the service attribute recognition module 313 may recognize whether the main object and the auxiliary object have a service attribute provided by the electronic device 300. For example, when the electronic device 300 provides a text service, it is possible to check whether text exists in the areas of the main object and the auxiliary object.
- the service attribute recognition module 313 may recognize a service attribute stored in, for example, the memory 340 (eg, the memory 130 of FIG. 1 ).
- the service attribute recognition module 313 may be configured with another electronic device (eg, the electronic devices 102 and 104 of FIG. 1) through a network (eg, the first network 198 or the second network 199 of FIG. 1 ).
- a downloadable service attribute may be recognized through the server 108.
- the service property is an image acquired using the camera 310, an image stored in the memory 340, or another electronic device (for example, the first network 198 or the first network in FIG. 1).
- the service attribute recognition module 313 may determine a service attribute that can be provided by using a main object and an auxiliary object, and determine which service card (eg, shopping or image search) to display.
- the service determination module 315 may determine a service that can be provided by a main object and an auxiliary object by synthesizing results of the object recognition module 311 and the service attribute recognition module 313 have.
- the service determination module 315 may display the locations of the main object and the auxiliary object and a service that can be provided through the display 320.
- the service determination module 315 is based on the service attribute recognized through the service attribute recognition module 313, for example, some other electronic device (for example, the electronic device 102 of FIG. 1 ). , 104) or server 108).
- the service determination module 315 uses a network (for example, the first network 198 or the second network 199 in FIG. 1) to another electronic device (for example, the electronic devices 102 and 104 in FIG. 1) or a server ( 108)), and after the request is made, a service attribute result for an object included in the received image may be displayed on the display 320.
- the processor 330 may control an overall operation of the electronic device 300 and a signal flow between internal components, and may perform a function of processing data.
- the processor 330 may include, for example, a central processing unit (CPU), an application processor, and a communication processor.
- the processor 330 may include a processor (eg, a sensor hub) operating at lower power than the application processor.
- the processor 330 may include both the application processor and the sensor hub.
- the processor 330 may be formed of a single core processor or a multi-core processor, and may be formed of a plurality of processors.
- the memory 340 may store an image acquired using the camera 310.
- the memory 340 includes an object detection module 301, an object removal module 303, an object importance calculation module 305, a main object selection module 307, an auxiliary object selection module 309 included in the processor 330, A program executed in the object recognition module 311, the service attribute recognition module 313, and/or the service determination module 315 may be stored.
- the memory 340 may store a program related to a service that can be provided by the electronic device 300 by using the processor 330.
- the memory 340 performs a function of storing a program for processing and controlling the processor 330, an operating system (OS), various applications, and input/output data, and the electronic device 300 A program that controls the overall operation of) can be stored.
- the memory 340 may store a user interface (UI) provided by the electronic device 300 and various setting information necessary for processing functions in the electronic device 300.
- UI user interface
- FIG. 4 is a diagram illustrating an example of an image acquired using a camera of an electronic device according to various embodiments of the present disclosure.
- an image 410 acquired using the camera 310 may include at least one object.
- the image 410 may include a first object 401, a second object 403, a third object 405, a fourth object 407, and a fifth object 409. have.
- the first object 401 may include a wine bottle.
- the second object 403 may include a wine glass.
- the third object 405 may include a wine opener.
- the fourth object 407 may include a wine stopper.
- the fifth object 409 may include a dining table.
- the first object 401, the second object 403, the third object 405, the fourth object 407, and the fifth object 409 are selected as main objects to provide services. They may be candidate objects that can be provided.
- FIG. 5 is a diagram illustrating an example of detecting at least one object from an image using a processor of an electronic device according to various embodiments of the present disclosure.
- the object detection module 301 of the processor 330 may detect an area of each object included in the image 410.
- the object detection module 301 may detect the first object region 501 corresponding to the first object 401.
- the object detection module 301 may detect the second object area 503 corresponding to the second object 403.
- the object detection module 301 may detect the third object area 505 corresponding to the third object 405.
- the object detection module 301 may detect the fourth object region 507 corresponding to the fourth object 407.
- the object detection module 301 may detect the fifth object area 509 corresponding to the fifth object 509.
- FIG. 6 is a diagram illustrating an example of removing at least one object area by using a processor of an electronic device according to various embodiments of the present disclosure.
- the object removal module 303 of the processor 330 includes a first object area 501, a second object area 503, and a third object area detected using the object detection module 301.
- the fourth object region 507 and the fifth object region 509, 505 an object region whose size is out of a predetermined threshold range may be removed.
- the object removal module 303 may remove the fourth object area 507 and the fifth object area 509 that are out of the threshold range because the size of the object area is too small or too large. have.
- a first object area 501, a second object area 503, and a third object area 505 in which the size of the object area is within a threshold range may be maintained.
- FIG. 7 is a diagram illustrating an example in which an object is selected as a main object area after calculating the importance of an object using a processor of an electronic device according to various embodiments of the present disclosure.
- the object importance calculation module 305 of the processor 330 includes a first object area 501, a second object area 503, and a remaining object area after the object area is removed through the object removal module 303.
- the importance of each object may be calculated using reliability information and context information (eg, size and/or position of the object) of the object.
- the main object selection module 307 of the processor 330 is equal to or less than the maximum number of objects that can be allowed by the electronic device 300 based on the importance calculated through the object importance calculation module 305 (for example, 2 Dog), you can select the main object area.
- the main object selection module 307 of the processor 330 includes, for example, a first object area 501 and a second object 403 corresponding to a first object 401 of high importance.
- the second object area 503 corresponding to, may be selected as the main object.
- FIG. 8 is a diagram illustrating an example of selecting an auxiliary object using a processor of an electronic device according to various embodiments of the present disclosure.
- the auxiliary object selection module 309 of the processor 330 includes a first object area 501 and a second object area 503 selected as main objects using the main object selection module 307. Based on the location, for example, an auxiliary object 810 having a spatial relationship with the first object area 501 may be selected.
- FIG. 9 is a diagram illustrating an example of determining a service to be provided using a processor of an electronic device according to various embodiments of the present disclosure.
- the object recognition module 311 of the processor 330 includes a first object 401 included in a first object area 501 and a second object 403 included in the second object area 503. ) Can be recognized.
- the service attribute recognition module 313 of the processor 330 may recognize a service attribute provided by the first object 401 and the second object 503 including the auxiliary object 810.
- the service determination module 315 of the processor 330 aggregates the results of the object recognition module 311 and the service attribute recognition module 313 to provide the first object 401 and the second object 403. Service can be decided.
- a first object 401 is a first service 901 (eg, wine information search), a second service 903 (eg, translation), a third service 905 (eg, shopping ) And a fourth service 907 (eg, image search).
- the second object 401 may provide a fifth service 911 (eg, shopping) and a sixth service 913 (eg, image search).
- the first object 401 may include an auxiliary object 810.
- the auxiliary object 810 may include, for example, first information 812 (eg, a wine label) and second information 814 (eg, text) related to a description of wine.
- the first service 901 eg, wine information search
- the second service 903 eg, translation
- information 812 eg, a wine label
- second information 814 eg, text
- FIG. 10 is a diagram illustrating an example of using a service determined by using a processor of an electronic device according to various embodiments of the present disclosure.
- the display 320 may display a service list through which a user of the electronic device 300 can select a desired service.
- the first object 401 is a first service 901 (eg, wine information search), a second service 903 (eg, translation), a third service 905 (eg, shopping ) And a fourth service 907 (eg, image search).
- the second object 401 may provide a fifth service 911 (eg, shopping) and a sixth service 913 (eg, image search).
- the processor may display detailed information 1010 corresponding to the first service 901 (eg, wine information search) on the display 320.
- the detailed information 1010 may include at least one of Winery, Region, grape, Rating, and Highlight information for wine.
- FIG. 11 is a diagram illustrating an example of providing a service corresponding to an object selection using a processor of an electronic device according to various embodiments of the present disclosure.
- the display 320 may display a first supplementary service list 1110 related to the first object 401 and a second supplementary service 1120 related to the second object 403.
- the first supplementary service list 1110 and the second supplementary service list 1120 may each include an entry point of an application providing a service related to the first object 401 and the second object 403.
- an application that provides a service related to the first object 401 and the second object 403 is, for example, the electronic device 300 is a network (eg, the second network in FIG. 1 ).
- An application downloaded from another electronic device may be included by using.
- the processor 330 enters the'ebay' application.
- the screen may be displayed through the display 320.
- FIG. 12 is a flowchart illustrating a method for providing a service corresponding to object selection in an electronic device according to various embodiments of the present disclosure.
- FIG. 12 may be performed, for example, by the electronic device 300 of FIG. 3.
- operations 1210 to 1270 disclosed in FIG. 12 may be performed by the processor 330 in the electronic device 300.
- the processor 330 may detect regions of a plurality of objects included in the image acquired using the camera 310.
- the processor 330 may remove an area of an object having a size that is out of the threshold range from among the areas of the detected plurality of objects.
- the processor 330 uses context information of an object (eg, size and/or position of an object) among a plurality of object areas detected using the object detection module 301, Object areas that are too small or too large to be outside the threshold can be removed.
- an object eg, size and/or position of an object
- the processor 330 may calculate the importance of the object within the threshold range.
- the processor 330 stores reliability information and context information (eg, size and/or position of the object) of the objects remaining after the object area is removed through the object removal module 303. Can be used to calculate the importance of each object.
- reliability information and context information eg, size and/or position of the object
- the processor 330 (for example, the main object selection module 307) is equal to or less than the maximum number of objects allowed by the electronic device 300 (eg, two objects) based on the calculated importance. , You can select the main object.
- the maximum number of objects allowed by the electronic device 300 may be preset according to the specifications of the electronic device 300.
- the processor 330 may select an auxiliary object having a spatial relationship with the selected main object.
- the processor 330 eg, the object recognition module 311 and the service attribute recognition module 3173 recognizes the main object and the auxiliary object, and the service attribute provided by the recognized main object and the auxiliary object Can be recognized.
- the processor 330 may determine a service provided by the main object and the auxiliary object, and display the determined service using the display 320.
- FIG. 13 is a flowchart illustrating a method of removing an area of an object having a size out of a threshold range in an electronic device according to various embodiments of the present disclosure.
- 13 may include the subroutine of operation 1220 described in FIG. 12.
- the processor 330 determines whether the size of the object exceeds a predetermined threshold among the plurality of object areas detected using the object detection module 301. Can judge.
- the processor 330 may remove the object exceeding the threshold.
- the processor 330 determines whether an aspect ratio for an object having a size that does not exceed the threshold exceeds a predetermined threshold. You can determine whether or not.
- the aspect ratio for the object that does not exceed may be set to different first and second thresholds.
- the processor 330 determines whether the size of the aspect ratio of the object is less than the first threshold when the aspect ratio of the object having a size not exceeding the threshold exceeds a predetermined threshold. I can judge.
- the object having the size of the aspect ratio of the object less than the first threshold may be removed.
- the processor 330 may maintain the object having an aspect ratio other than the first threshold as it is. .
- the processor 330 determines whether the size of the aspect ratio of the object is less than the second threshold, if the aspect ratio of the object having a size not exceeding the threshold does not exceed a predetermined threshold. Can judge.
- the object having the size of the aspect ratio of the object less than the second threshold may be removed.
- the processor 330 may maintain the object having an aspect ratio other than the second threshold as it is. .
- an object whose size is outside the threshold range may be removed.
- the object may be removed using the location of the object or a user's history of the object.
- an object far from the center may be removed depending on the degree to which the object is located near the center of the image.
- a user's history of an object may include information on which position in the image the object was preferred.
- FIG. 14 is a diagram illustrating a method of calculating the importance of an object within a threshold range in an electronic device according to various embodiments of the present disclosure.
- the object importance calculation module 305 of the processor 330 removes the object area through the object removal module 303, and among the remaining objects, object confidence information and object position
- the importance of an object may be calculated using position) information and size information of an area of object.
- the processor 330 (for example, the object importance calculation module 305) performs a normalization process such that the maximum value each of the reliability information of the object, the location information of the object, and the size information of the object area is 1. Can be done.
- the score (sco) for the reliability information of the object may be calculated as the reliability of the object/maximum confidence of the object.
- the position (pos) of the object is 1-(the distance between the center of the image and the center of the object (dist (image center, object center))) / half of the diagonal length of the image (half of the diagonal length of the image). Can be calculated.
- the size (siz) of the area of the object may be calculated as an area of object/area of image.
- the processor 330 includes a weight function having a different distribution for each calculated value for the reliability information of the object calculated through the normalization process, the position of the object, and the size of the area of the object (The weight function input process, which is used as an input of the weight function (f)), can be performed.
- the processor 330 may calculate the importance of the object through the weight function input process.
- the importance of the object is the score (sco w ) for the reliability of the object into which the weight function is input, the position of the object into which the weight function is input (pos w ), and the object area into which the weight function is input. It can be calculated by summing the sizes of.
- 15 is a diagram illustrating a method of selecting a main object based on the importance of an object calculated by an electronic device according to various embodiments of the present disclosure.
- 15 may include the subroutine of operation 1240 described in FIG. 12.
- the main object selection module 307 of the processor 330 is based on the importance calculated through the object importance calculation module 305, and the maximum number of objects allowed by the electronic device 300 is With less than the number (eg, 2), you can select the main object.
- the processor 330 (for example, the main object selection module 307) classifies the objects in the order of high importance based on the importance of the object calculated using the object importance calculation module 305. I can.
- the processor 330 may select an object of high importance as the main object.
- the algorithm disclosed in operation 1520 may include an algorithm for selecting an object of high importance as a main object.
- the processor 330 may select an object of high importance that is less than or equal to the maximum number of objects allowed by the electronic device 300 (eg, two objects).
- 16 is a diagram illustrating an algorithm for explaining a method of selecting an auxiliary object using a processor of an electronic device according to various embodiments of the present disclosure.
- 16 may include an algorithm executed for operation 1250 described in FIG. 12.
- the processor 330 (eg, the auxiliary object selection module 309) is based on the main object selected using the main object selection module 307, for example, the main object and the spatial You can select an auxiliary object that is relevant.
- the algorithm of FIG. 16 may represent a process performed on one main object. For example, when there are three Chuo objects, the algorithm of FIG. 16 may be performed three times.
- the auxiliary object may be defined as an object having a spatial relationship with the main object.
- the spatial relationship may be obtained using the degree of overlap between the main object area and the auxiliary object area and the inclusion relationship between the main object area and the auxiliary object area.
- the degree of overlap between the main object area and the auxiliary object area may be quantified using an intersection over union (IoU), and the overlapping area between the main object and the auxiliary object may be quantified.
- IoU intersection over union
- an object having an IoU value equal to or greater than a predetermined threshold may be selected as the auxiliary object.
- 17 is a diagram illustrating an example in which an electronic device provides a determined service according to various embodiments of the present disclosure.
- the object detection module 301 of the processor 330 may detect a plurality of object regions included in the image 410.
- the object detection module 301 may detect the first object area 501 and the second object area 503.
- the main object selection module 307 may determine the first object 401 and the second object 403 of the detected first object area 501 and second object area 503. have.
- the main object selection module 307 is a main object (eg, first object 401) that provides a service based on the position and size of the object among the determined first object 401 and second object 403 You can choose
- the auxiliary object selection module 309 selects an auxiliary object 810 spatially related to the main object (eg, the first object 401) selected using the main object selection module 307. You can choose.
- the object recognition module 311 may recognize the main object 401 and the auxiliary object 810.
- the service attribute recognition module 313 may determine the number and type of services provided using the recognized main object 401 and auxiliary object 810.
- the service determination module 315 determines the main object 401 and the auxiliary object 810 based on the service attribute (eg, the number and type of services) determined using the service attribute recognition module 313. ) Can determine the service card provided.
- the service attribute eg, the number and type of services
- the service card may include “Lorem bike” (eg, a shopping card) and “classic bicycle (eg, image search card)” shown in the drawings.
- the processor 330 of the electronic device 300 may perform a network (eg, the first network 198 or the second network in FIG. 1 ).
- a service screen 1710 received from another electronic device eg, the electronic devices 102 and 104 of FIG. 1 or the server 108, may be displayed using the network 199 ).
- the service cards may be displayed in an order based on, for example, an order received from another electronic device.
- the service card may be displayed in the memory 340 of the electronic device 300 according to a preset reference.
- the preset criterion may include a service order most preferred by a user of the electronic device 300 or a service order most recently used.
- the service card may be displayed using a predetermined order according to a specific object.
- FIG. 18 is a diagram illustrating another example of providing a determined service in an electronic device according to various embodiments of the present disclosure.
- FIG. 18 is a diagram illustrating another example of providing a determined service in an electronic device according to various embodiments of the present disclosure.
- the processor 330 of the electronic device 300 displays a service card 1810 among the services provided in FIG. 17, for example, a network (for example, the first network ( 198) or the second network 199) may be used to display a card image for a service downloaded from another electronic device (eg, the electronic devices 102 and 104 of FIG. 1 or the server 108). Also, the processor 330 of the electronic device 300 may display an entry point 1820 of an application downloaded from the other electronic device.
- a network for example, the first network ( 198) or the second network 199
- the processor 330 of the electronic device 300 may display an entry point 1820 of an application downloaded from the other electronic device.
- the processor 330 of the electronic device 300 may provide a detailed vision service related to an image acquired through the camera 310 by using a service downloaded from the other electronic device.
- objects detected in an image eg, the image 410 of FIG. 4
- objects detected in an image eg, the image 410 of FIG. 4
- the second object 403 By removing unnecessary objects among the objects 405, the fourth object 407, and the fifth object 409, calculating the importance of the object, and providing a search service corresponding to the selection of an object of high importance, It is possible to reduce the amount of calculation of the detected object and the time required for service preparation.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Studio Devices (AREA)
Abstract
본 발명의 다양한 실시예들은, 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법으로서, 카메라; 디스플레이; 메모리; 및 상기 카메라, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출하고, 상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하고, 상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하고, 상기 계산된 중요도를 기초로 하여, 상기 전자 장치에서 허용하는 오브젝트의 개수 이하로 주요 오브젝트를 선택하고, 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하고, 상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스 속성을 인식하고, 상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 상기 디스플레이에 표시하도록 설정될 수 있다.
Description
본 발명의 다양한 실시예들은, 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법에 관한 것이다.
스마트 폰, 태블릿 PC 및 웨어러블 기기와 같은 휴대용 전자 장치의 사용이 증가하면서, 다양한 기능들이 전자 장치에 적용되고 있다.
상기 전자 장치는 사진이나 동영상을 촬영하기 위해 하나 이상의 카메라를 포함할 수 있다.
상기 전자 장치는 카메라를 이용하여 획득되는 이미지에서 오브젝트를 검출하고, 검출된 오브젝트의 선택에 대응하는 서비스를 제공할 수 있다.
종래의 전자 장치는 카메라를 이용하여 획득되는 이미지에서 크기나 위치에 상관없이 여러 종류의 불필요한 오브젝트를 검출할 수 있다.
이 경우, 전자 장치는 검출된 모든 오브젝트에 대하여 각각의 서비스를 제공해야 하므로, 검출된 오브젝트의 개수에 따른 연산 양 및 서비스 준비에 소요되는 시간이 증가할 수 있다.
또한, 전자 장치는 한정된 화면 대비 많은 개수의 오브젝트가 검출되면, 사용자가 희망하는 오브젝트에 대한 서비스를 선택적으로 제공하지 못할 수 있다.
본 발명의 다양한 실시예들은, 이미지 내에서 검출된 오브젝트 중, 불필요한 오브젝트를 제거하고, 오브젝트의 중요도를 계산한 후, 중요도가 높은 오브젝트의 선택에 대응하는 서비스를 제공할 수 있는 전자 장치 및 방법을 제공할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 카메라; 디스플레이; 메모리; 및 상기 카메라, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출하고, 상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하고, 상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하고, 상기 계산된 중요도를 기초로 하여, 상기 전자 장치에서 허용하는 오브젝트의 개수 이하로 주요 오브젝트를 선택하고, 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하고, 상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스 속성을 인식하고, 상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 상기 디스플레이에 표시하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 방법은, 전자 장치의 프로세서가 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 방법으로서, 상기 프로세서가, 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출하는 동작; 상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하는 동작; 상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하는 동작; 상기 계산된 중요도를 기초로 하여, 상기 전자 장치에서 허용하는 오브젝트의 개수 이하로 주요 오브젝트를 선택하는 동작; 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하는 동작; 상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스 속성을 인식하는 동작; 및 상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 디스플레이에 표시하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 카메라; 디스플레이; 메모리; 및 상기 카메라, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트 영역을 검출하고, 상기 검출된 복수의 오브젝트의 영역 중, 복수의 주요 오브젝트를 결정하고, 상기 결정된 복수의 주요 오브젝트 중, 오브젝트의 위치 및 크기에 기초하여, 서비스를 제공하는 주요 오브젝트를 선택하고, 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하고, 상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스의 수 및 종류를 결정하고, 상기 결정된 서비스의 수 및 종류에 기초하여, 상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스 카드를 결정하고, 상기 결정된 서비스 카드에 기초하여, 다른 전자 장치로부터 수신한 서비스 화면을 상기 디스플레이에 표시하도록 설정될 수 있다.
본 발명의 다양한 실시예들은, 이미지 내에서 검출된 오브젝트 중, 불필요한 오브젝트를 제거하고, 오브젝트의 중요도를 계산한 후, 중요도가 높은 오브젝트의 선택에 대응하는 검색 서비스를 제공함으로써, 검출된 오브젝트의 연산 양 및 서비스 준비에 소요되는 시간을 줄일 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 발명의 다양한 실시예들에 따른, 카메라 모듈의 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치의 카메라를 이용하여 획득된 이미지의 예를 설명하는 도면이다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여, 이미지에서 적어도 하나의 오브젝트를 검출하는 예를 설명하는 도면이다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 적어도 하나의 오브젝트 영역을 제거하는 예를 설명하는 도면이다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 오브젝트의 중요도를 계산한 후, 주요 오브젝트 영역으로 선택되는 예를 설명하는 도면이다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 보조 오브젝트를 선택하는 예를 설명하는 도면이다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 제공하는 서비스를 결정하는 예를 설명하는 도면이다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 결정된 서비스를 활용하는 예를 설명하는 도면이다.
도 12는 본 발명의 다양한 실시예에 따른 전자 장치에서 오브젝트 선택에 대응하는 서비스를 제공하기 위한 방법을 나타내는 흐름도이다.
도 13은 본 발명의 다양한 실시예에 따른 전자 장치에서 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하는 방법을 나타내는 흐름도이다.
도 14는 본 발명의 다양한 실시예에 따른 전자 장치에서 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하는 방법을 설명하는 도면이다.
도 15는 본 발명의 다양한 실시예에 따른 전자 장치에서 계산된 오브젝트의 중요도를 기초로 하여, 주요 오브젝트를 선택하는 방법을 설명하는 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 보조 오브젝트를 선택하는 방법을 설명하는 알고리즘을 나타내는 도면이다.
도 17은 본 발명의 다양한 실시예에 따른 전자 장치에서 결정된 서비스를 제공하는 예를 설명하는 도면이다.
도 18은 본 발명의 다양한 실시예에 따른 전자 장치에서 결정된 서비스를 제공하는 다른 예를 설명하는 도면이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))이 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다.. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈(180)을 예시하는 블록도(200)이다.
도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다.
렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.
플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다.
메모리(250)는 이미지 센서(230)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(160)를 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(260)는 이미지 센서(230)를 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)이 프로세서(120)과 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(160)를 통해 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트 폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3을 참조하면, 본 발명의 다양한 실시예에 따른 전자 장치(300)는 카메라(310), 디스플레이(320), 프로세서(330) 및 메모리(340)를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치(300)는 도 1의 전자 장치(101)를 포함할 수 있다. 상기 카메라(310)는 도 1 또는 도 2의 카메라 모듈(180)을 포함할 수 있다. 상기 디스플레이(320)는 도 1의 표시 장치(160)를 포함할 수 있다. 상기 프로세서(330)는 도 1의 프로세서(120)를 포함할 수 있다. 상기 메모리(340)는 도 1의 메모리(130)를 포함할 수 있다.
일 실시예에 따르면, 상기 카메라(310)는 전자 장치(300)의 주변을 촬영하여, 정지 이미지 또는 동영상과 같은 이미지를 획득할 수 있다.
일 실시예에 따르면, 상기 디스플레이(320)는 카메라(310)를 통해 획득된 이미지 및 상기 이미지에 포함된 오브젝트를 표시할 수 있다. 디스플레이(320)는 전자 장치(300)의 사용자가 오브젝트를 선택하면, 선택된 오브젝트에 대응하는 정보 및 검색 서비스를 표시할 수 있다.
다양한 실시예에 따르면, 상기 디스플레이(320)는 입력 기능 및 표시 기능을 수행할 수 있다. 이를 위해, 디스플레이(320)는 터치 패널을 포함할 수 있다. 디스플레이(320)는 액정표시장치(liquid crystal display; LCD), 유기 발광 다이오드(organic light emitting diodes: OLED), 능동형 유기발광 다이오드(active matrix organic light emitting diodes; AMOLED), 플렉서블 디스플레이(Flexible Display) 또는 투명 디스플레이 중 어느 하나로 형성될 수 있다. 디스플레이(320)는 전자 장치(300)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다.
일 실시예에 따르면, 상기 프로세서(330)는 카메라(310), 디스플레이(320) 및 메모리(340)와 작동적으로 연결될 수 있다. 프로세서(330)는 카메라(310), 디스플레이(320) 및 메모리(340)의 기능 및 동작을 제어할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 카메라(310)를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 계산된 중요도를 기초로 하여, 전자 장치(300)에서 허용하는 최대 오브젝트의 개수 이하(예: 2개의 오브젝트)로, 주요 오브젝트를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 주요 오브젝트 및 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스 속성을 인식할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 상기 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 디스플레이(320)를 이용하여 표시할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는 오브젝트 검출 모듈(301), 오브젝트 제거 모듈(303), 오브젝트 중요도 계산 모듈(305), 주요 오브젝트 선택 모듈(307), 보조 오브젝트 선택 모듈(309), 오브젝트 인식 모듈(311), 서비스 속성 인식 모듈(313) 및/또는 서비스 결정 모듈(315)을 포함할 수 있다.
일 실시예에 따르면, 상기 오브젝트 검출 모듈(301)은 카메라(310)를 이용하여 획득되는 이미지에서 적어도 하나의 오브젝트의 영역을 검출할 수 있다.
일 실시예에 따르면, 상기 오브젝트 제거 모듈(303)은 상기 오브젝트 검출 모듈(301)을 이용하여 검출된 적어도 하나의 오브젝트 영역 중, 오브젝트의 컨텍스트 정보(예: 오브젝트의 크기 및/또는 위치)를 이용하여, 크기가 스레스홀드의 범위를 벗어나는 오브젝트의 영역을 제거할 수 있다. 예를 들어, 크기가 스레스홀드(threshold)를 초과하거나 미만인 오브젝트의 영역은 제거될 수 있다.
일 실시예에 따르면, 상기 오브젝트 중요도 계산 모듈(305)은 상기 오브젝트 제거 모듈(303)을 통해 오브젝트 영역이 제거되고 남은 오브젝트 중, 오브젝트의 신뢰성(confidence) 정보 및 컨텍스트 정보(예: 오브젝트의 크기 및/또는 위치)를 이용하여 각 오브젝트의 중요도를 계산할 수 있다.
일 실시예에 따르면, 상기 주요 오브젝트 선택 모듈(307)은 상기 오브젝트 중요도 계산 모듈(305)을 통해 계산된 중요도를 기초로 하여, 전자 장치(300)에서 허용할 수 있는 최대 오브젝트의 개수 이하(예: 2개 또는 3개의 오브젝트)로, 주요 오브젝트에 대응하는 영역을 선택할 수 있다.
일 실시예에 따르면, 상기 보조 오브젝트 선택 모듈(309)은 상기 주요 오브젝트 선택 모듈(307)을 이용하여 선택된 주요 오브젝트의 영역(예: 위치)을 기초로 하여, 상기 오브젝트 검출 모듈(301)을 통해 검출된 오브젝트 중에서 상기 주요 오브젝트와 관련된 보조 오브젝트를 선택할 수 있다.
다양한 실시예에 따르면, 상기 보조 오브젝트 선택 모듈(309)은 주요 오브젝트(예: 영역)와 겹쳐있는 오브젝트를 보조 오브젝트로 선택할 수 있다. 보조 오브젝트 선택 모듈(309)은 선택된 주요 오브젝트와 공간적인 관련성이 있는 오브젝트를 보조 오브젝트로 선택할 수 있다. 상기 공간적인 관련성은 주요 오브젝트 영역과 보조 오브젝트 영역의 중복 정도 및 주요 오브젝트 영역과 보조 오브젝트 영역의 포함 관계를 이용하여 획득될 수 있다.
일 실시예에 따르면, 상기 오브젝트 인식 모듈(311)은 주요 오브젝트의 영역에 존재하는 보조 오브젝트의 종류를 인식할 수 있다.
일 실시예에 따르면, 상기 서비스 속성 인식 모듈(313)은 상기 주요 오브젝트 및 보조 오브젝트에 대하여, 전자 장치(300)가 제공하는 서비스 속성을 가지고 있는지의 여부를 인식할 수 있다. 예를 들어, 전자 장치(300)가 텍스트 서비스를 제공하면, 주요 오브젝트 및 보조 오브젝트의 영역에 텍스트가 있는지의 여부를 확인할 수 있다.
다양한 실시예에 따르면, 상기 서비스 속성 인식 모듈(313)은, 예를 들어, 메모리(340)(예: 도 1의 메모리(130))에 저장되어 있는 서비스 속성을 인식할 수 있다. 또한, 상기 서비스 속성 인식 모듈(313)은 네트워크(예: 도 1의 제 1 네트워크(198) 또는 제 2 네트워크(199))를 통해 다른 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108))를 통해 다운로드 가능한 서비스 속성을 인식할 수 있다. 다양한 실시예에 따르면, 상기 서비스 속성은 카메라(310)를 이용하여 획득되는 이미지, 메모리(340)에 저장된 이미지 또는 네트워크를 이용하여 다른 전자 장치(예: 도 1의 제 1 네트워크(198) 또는 제 2 네트워크(199))로부터 획득되는 이미지로부터 전자 장치(300) 사용의 프로파일에 기반하여 활용 가능한 서비스(예: 유사 이미지 검색, 상품 검색, 와인 검색, 텍스트 검색, 위치기반 서비스, QR코드 또는 바코드)를 제공할 수 있다. 상기 서비스 속성 인식 모듈(313)은 주요 오브젝트 및 보조 오브젝트를 이용하여 제공할 수 있는 서비스 속성을 결정하고, 어떤 서비스 카드(예: 쇼핑 또는 이미지 검색)를 표시할 것인지를 결정할 수 있다.
일 실시예에 따르면, 상기 서비스 결정 모듈(315)은 상기 오브젝트 인식 모듈(311) 및 상기 서비스 속성 인식 모듈(313)의 결과를 종합하여, 주요 오브젝트 및 보조 오브젝트가 제공할 수 있는 서비스를 결정할 수 있다. 서비스 결정 모듈(315)은 주요 오브젝트 및 보조 오브젝트의 위치 및 제공 가능한 서비스를 디스플레이(320)를 통해 표시할 수 있다.
다양한 실시예에 따르면, 상기 서비스 결정 모듈(315)은 서비스 속성 인식 모듈(313)을 통해 인식된 서비스 속성을 기초로 하여, 예를 들어, 어떤 다른 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108))에 이미지를 요청할 것인지를 결정할 수 있다. 서비스 결정 모듈(315)은 네트워크(예: 도 1의 제 1 네트워크(198) 또는 제 2 네트워크(199))를 이용하여 다른 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108))에 이미지를 요청하고, 상기 요청된 후, 수신된 이미지에 포함된 오브젝트에 관한 서비스 속성 결과를 디스플레이(320) 상에 표시할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(330)는, 전자 장치(300)의 전반적인 동작 및 내부 구성요소들 간의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행할 수 있다. 프로세서(330)는 예를 들어, 중앙 처리 장치(central processing unit; CPU), 어플리케이션 프로세서(application processor) 및 통신 프로세서(communication processor) 등으로 구성될 수 있다. 프로세서(330)는 상기 어플리케이션 프로세서보다 저전력으로 동작하는 프로세서(예: 센서 허브)를 포함할 수 있다. 프로세서(330)는 상기 어플리케이션 프로세서 및 센서 허브를 모두 포함할 수 있다. 프로세서(330)는 싱글 코어 프로세서(single core processor) 또는 멀티 코어 프로세서(multi-core processor)로 형성될 수 있으며, 다수의 프로세서로 구성될 수 있다.
일 실시예에 따르면, 상기 메모리(340)는 상기 카메라(310)를 이용하여 획득되는 이미지를 저장할 수 있다. 메모리(340)는 프로세서(330)에 포함된 오브젝트 검출 모듈(301), 오브젝트 제거 모듈(303), 오브젝트 중요도 계산 모듈(305), 주요 오브젝트 선택 모듈(307), 보조 오브젝트 선택 모듈(309), 오브젝트 인식 모듈(311), 서비스 속성 인식 모듈(313) 및/또는 서비스 결정 모듈(315)에서 실행되는 프로그램을 저장할 수 있다. 메모리(340)는 프로세서(330)를 이용하여 전자 장치(300)가 제공할 수 있는 서비스에 관한 프로그램을 저장할 수 있다.
다양한 실시예에 따르면, 메모리(340)는 프로세서(330)의 처리 및 제어를 위한 프로그램, 운영체제(Operating System; OS), 다양한 어플리케이션 및 입/출력 데이터를 저장하는 기능을 수행하며, 전자 장치(300)의 전반적인 동작을 제어하는 프로그램이 저장될 수 있다. 메모리(340)는 전자 장치(300)에서 제공되는 유저 인터페이스(UI: User Interface) 및 전자 장치(300)에서 기능 처리 시 필요한 다양한 설정 정보를 저장할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 전자 장치의 카메라를 이용하여 획득된 이미지의 예를 설명하는 도면이다.
도 4를 참조하면, 카메라(310)를 이용하여 획득된 이미지(410)는 적어도 하나의 오브젝트를 포함할 수 있다.
일 실시예에 따르면, 상기 이미지(410)는 제 1 오브젝트(401), 제 2 오브젝트(403), 제 3 오브젝트(405), 제 4 오브젝트(407) 및 제 5 오브젝트(409)를 포함할 수 있다.
예를 들면, 상기 제 1 오브젝트(401)는 와인 병을 포함할 수 있다. 상기 제 2 오브젝트(403)는 와인 잔을 포함할 수 있다. 상기 제 3 오브젝트(405)는 와인 오프너를 포함할 수 있다. 상기 제 4 오브젝트(407)는 와인 마개를 포함할 수 있다. 상기 제 5 오브젝트(409)는 식탁을 포함할 수 있다.
일 실시예에 따르면, 상기 제 1 오브젝트(401), 제 2 오브젝트(403), 제 3 오브젝트(405), 제 4 오브젝트(407) 및 제 5 오브젝트(409)는, 주요 오브젝트로 선택되어 서비스를 제공할 수 있는 후보 오브젝트들일 수 있다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여, 이미지에서 적어도 하나의 오브젝트를 검출하는 예를 설명하는 도면이다.
도 5를 참조하면, 프로세서(330)의 오브젝트 검출 모듈(301)은 이미지(410)에 포함된 각 오브젝트의 영역을 검출할 수 있다.
일 실시예에 따르면, 상기 오브젝트 검출 모듈(301)은 제 1 오브젝트(401)에 대응하는 제 1 오브젝트 영역(501)을 검출할 수 있다. 오브젝트 검출 모듈(301)은 제 2 오브젝트(403)에 대응하는 제 2 오브젝트 영역(503)을 검출할 수 있다. 오브젝트 검출 모듈(301)은 제 3 오브젝트(405)에 대응하는 제 3 오브젝트 영역(505)을 검출할 수 있다. 오브젝트 검출 모듈(301)은 제 4 오브젝트(407)에 대응하는 제 4 오브젝트 영역(507)을 검출할 수 있다. 오브젝트 검출 모듈(301)은 제 5 오브젝트(509)에 대응하는 제 5 오브젝트 영역(509)을 검출할 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 적어도 하나의 오브젝트 영역을 제거하는 예를 설명하는 도면이다.
도 6을 참조하면, 프로세서(330)의 오브젝트 제거 모듈(303)은 상기 오브젝트 검출 모듈(301)을 이용하여 검출된 제 1 오브젝트 영역(501), 제 2 오브젝트 영역(503), 제 3 오브젝트 영역(505), 제 4 오브젝트 영역(507) 및 제 5 오브젝트 영역(509) 중, 크기가 미리 정해진 스레스홀드의 범위를 벗어나는 오브젝트 영역을 제거할 수 있다.
일 실시예에 따르면, 상기 오브젝트 제거 모듈(303)은 오브젝트 영역의 크기가 너무 작거나 너무 커서 스레스홀드의 범위를 벗어나는 제 4 오브젝트 영역(507) 및 제 5 오브젝트 영역(509)을 제거할 수 있다.
도 6을 참조하면, 오브젝트 영역의 크기가 스레스홀드의 범위 내에 있는 제 1 오브젝트 영역(501), 제 2 오브젝트 영역(503) 및 제 3 오브젝트 영역(505)이 유지될 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 오브젝트의 중요도를 계산한 후, 주요 오브젝트 영역으로 선택되는 예를 설명하는 도면이다.
도 7을 참조하면, 프로세서(330)의 오브젝트 중요도 계산 모듈(305)은 상기 오브젝트 제거 모듈(303)을 통해 오브젝트 영역이 제거되고 남은 제 1 오브젝트 영역(501), 제 2 오브젝트 영역(503) 및 제 3 오브젝트 영역(505) 중, 오브젝트의 신뢰성 정보 및 컨텍스트 정보(예: 오브젝트의 크기 및/또는 위치)를 이용하여 각 오브젝트의 중요도를 계산할 수 있다. 프로세서(330)의 주요 오브젝트 선택 모듈(307)은 상기 오브젝트 중요도 계산 모듈(305)을 통해 계산된 중요도를 기초로 하여, 전자 장치(300)에서 허용할 수 있는 최대 오브젝트의 개수 이하(예: 2개)로, 주요 오브젝트 영역을 선택할 수 있다.
도 7을 참조하면, 프로세서(330)의 주요 오브젝트 선택 모듈(307)은, 예를 들어, 중요도가 높은 제 1 오브젝트(401)에 대응하는 제 1 오브젝트 영역(501) 및 제 2 오브젝트(403)에 대응하는 제 2 오브젝트 영역(503)을 주요 오브젝트로 선택할 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 보조 오브젝트를 선택하는 예를 설명하는 도면이다.
도 8을 참조하면, 프로세서(330)의 보조 오브젝트 선택 모듈(309)은 상기 주요 오브젝트 선택 모듈(307)을 이용하여 주요 오브젝트로 선택된 제 1 오브젝트 영역(501) 및 제 2 오브젝트 영역(503)의 위치를 기초로 하여, 예를 들어, 제 1 오브젝트 영역(501)과 공간적인 관련성이 있는 보조 오브젝트(810)를 선택할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 제공하는 서비스를 결정하는 예를 설명하는 도면이다.
도 9를 참조하면, 프로세서(330)의 오브젝트 인식 모듈(311)은 제 1 오브젝트 영역(501)에 포함된 제 1 오브젝트(401) 및 제 2 오브젝트 영역(503)에 포함된 제 2 오브젝트(403)를 인식할 수 있다. 프로세서(330)의 서비스 속성 인식 모듈(313)은 상기 보조 오브젝트(810)를 포함하는 제 1 오브젝트(401) 및 제 2 오브젝트(503)가 제공하는 서비스 속성을 인식할 수 있다. 프로세서(330)의 서비스 결정 모듈(315)은 상기 오브젝트 인식 모듈(311) 및 상기 서비스 속성 인식 모듈(313)의 결과를 종합하여, 제 1 오브젝트(401) 및 제 2 오브젝트(403)가 제공하는 서비스를 결정할 수 있다.
도 9를 참조하면, 제 1 오브젝트(401)는, 제 1 서비스(901)(예: 와인 정보 검색), 제 2 서비스(903)(예: 번역), 제 3 서비스(905)(예: 쇼핑) 및 제 4 서비스(907)(예: 이미지 검색)를 제공할 수 있다. 제 2 오브젝트(401)는, 제 5 서비스(911)(예: 쇼핑) 및 제 6 서비스(913)(예: 이미지 검색)를 제공할 수 있다.
일 실시예에 따르면, 제 1 오브젝트(401)는 보조 오브젝트(810)를 포함할 수 있다. 상기 보조 오브젝트(810)는, 예를 들어, 제 1 정보(812)(예: 와인 라벨) 및 와인의 설명과 관련된 제 2 정보(814)(예: 텍스트)를 포함할 수 있다.
일 실시예에 따르면, 상기 제 1 오브젝트(401)의 제 1 서비스(901)(예: 와인 정보 검색) 및 제 2 서비스(903)(예: 번역)는, 상기 보조 오브젝트(810)의 제 1 정보(812)(예: 와인 라벨) 및 제 2 정보(814)(예: 텍스트)로부터 획득될 수 있다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 결정된 서비스를 활용하는 예를 설명하는 도면이다.
도 10을 참조하면, 디스플레이(320)는 전자 장치(300)의 사용자가 원하는 서비스를 선택할 수 있는 서비스 목록을 표시할 수 있다.
일 실시예에 따르면, 제 1 오브젝트(401)는, 제 1 서비스(901)(예: 와인 정보 검색), 제 2 서비스(903)(예: 번역), 제 3 서비스(905)(예: 쇼핑) 및 제 4 서비스(907)(예: 이미지 검색)를 제공할 수 있다. 제 2 오브젝트(401)는, 제 5 서비스(911)(예: 쇼핑) 및 제 6 서비스(913)(예: 이미지 검색)를 제공할 수 있다.
일 실시예에 따르면, 전자 장치(300)의 사용자가 디스플레이(320)에 표시된 서비스 목록 중, 제 1 오브젝트(401)의 제 1 서비스(901)(예: 와인 정보 검색)를 선택하면, 프로세서(330)는 상기 제 1 서비스(901)(예: 와인 정보 검색)에 대응하는 상세 정보(1010)를 디스플레이(320)에 표시할 수 있다. 예를 들어, 상기 상세 정보(1010)는 와인(Wine)에 대한, Winery, Region, grape, Rating 및 Highlight 정보 중 적어도 하나를 포함할 있다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여, 오브젝트의 선택에 대응하는 서비스를 제공하는 예를 설명하는 도면이다.
도 11을 참조하면, 디스플레이(320)는 제 1 오브젝트(401)에 관한 제 1 부가 서비스 목록(1110) 및 제 2 오브젝트(403)에 관한 제 2 부가 서비스(1120)를 표시할 수 있다. 상기 제 1 부가 서비스 목록(1110) 및 제 2 부가 서비스 목록(1120)은 각각 제 1 오브젝트(401) 및 제 2 오브젝트(403)와 관련된 서비스를 제공하는 어플리케이션의 진입점을 포함할 수 있다.
일 실시예에 따르면, 상기 제 1 오브젝트(401) 및 제 2 오브젝트(403)와 관련된 서비스를 제공하는 어플리케이션은, 예를 들어, 전자 장치(300)가 네트워크(예: 도 1의 제 2 네트워크)를 이용하여 다른 전자 장치(예: 도 1의 서버(108))로부터 다운로드 받은 어플리케이션을 포함할 수 있다.
일 실시예에 따르면, 전자 장치(300)의 사용자가 제 1 오브젝트(401)의 제 1 부가 서비스 목록(1110) 중, 'ebay'를 선택하면, 프로세서(330)는 'ebay'어플리케이션에 관한 진입 화면을 디스플레이(320)를 통해 표시할 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 전자 장치에서 오브젝트 선택에 대응하는 서비스를 제공하기 위한 방법을 나타내는 흐름도이다.
도 12의 동작들은, 예를 들어, 도 3의 전자 장치(300)에 의해 수행될 수 있다. 예를 들어, 도 12에 개시된 1210 동작 내지 1270 동작들은 전자 장치(300) 내의 프로세서(330)에 의해 수행될 수 있다.
동작 1210에서, 프로세서(330)(예: 오브젝트 검출 모듈(301))는 카메라(310)를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출할 수 있다.
동작 1220에서, 프로세서(330)(예: 오브젝트 제거 모듈(303))는 상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거할 수 있다.
일 실시예에 따르면, 프로세서(330)는 오브젝트 검출 모듈(301)을 이용하여 검출된 복수의 오브젝트 영역 중, 오브젝트의 컨텍스트 정보(예: 오브젝트의 크기 및/또는 위치)를 이용하여, 오브젝트 영역의 크기가 너무 작거나 너무 커서 스레스홀드의 범위를 벗어나는 오브젝트 영역을 제거할 수 있다.
동작 1230에서, 프로세서(330)(예: 오브젝트 중요도 계산 모듈(305))는 상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산할 수 있다.
일 실시예에 따르면, 프로세서(330)는 오브젝트 제거 모듈(303)을 통해 오브젝트 영역이 제거되고 남은 오브젝트 중, 오브젝트의 신뢰성(confidence) 정보 및 컨텍스트 정보(예: 오브젝트의 크기 및/또는 위치)를 이용하여 각 오브젝트의 중요도를 계산할 수 있다.
동작 1240에서, 프로세서(330)(예: 주요 오브젝트 선택 모듈(307))는 상기 계산된 중요도를 기초로 하여, 전자 장치(300)에서 허용하는 최대 오브젝트의 개수 이하(예: 2개의 오브젝트)로, 주요 오브젝트를 선택할 수 있다.
일 실시예에 따르면, 상기 전자 장치(300)에서 허용하는 최대 오브젝트의 개수는, 전자 장치(300)의 사양에 따라 미리 설정될 수 있다.
동작 1250에서, 프로세서(330)(예: 보조 오브젝트 선택 모듈(309))는 상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택할 수 있다.
동작 1260에서, 프로세서(330)(예: 오브젝트 인식 모듈(311) 및 서비스 속성 인식 모듈(313))는 상기 주요 오브젝트 및 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스 속성을 인식할 수 있다.
동작 1270에서, 프로세서(330)(예: 서비스 결정 모듈(315))는 상기 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 디스플레이(320)를 이용하여 표시할 수 있다.
도 13은 본 발명의 다양한 실시예에 따른 전자 장치에서 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하는 방법을 나타내는 흐름도이다.
도 13은 상기 도 12에서 설명된 동작 1220의 서브루틴을 포함할 수 있다.
동작 1310에서, 프로세서(330)(예: 오브젝트 제거 모듈(303))는 오브젝트 검출 모듈(301)을 이용하여 검출된 복수의 오브젝트 영역 중, 오브젝트의 크기가 미리 정해진 스레스홀드를 초과하는지의 여부를 판단할 수 있다.
동작 1315에서, 프로세서(330)는 오브젝트의 크기가 미리 정해진 스레스홀드를 초과하면, 스레스홀드를 초과하는 오브젝트를 제거할 수 있다.
동작 1320에서, 프로세서(330)는 오브젝트의 크기가 미리 정해진 스레스홀드를 초과하지 않으면, 스레스홀드를 초과하지 않은 크기를 갖는 오브젝트에 대한 종횡비(aspect ratio)가 미리 정해진 스레스홀드를 초과하는지의 여부를 판단할 수 있다.
일 실시예에 따르면, 상기 초과하지 않은 오브젝트에 대한 종횡비는 서로 다른 제 1 스레스홀드 및 제 2 스레스홀드로 설정될 수 있다.
동작 1325에서, 프로세서(330)는 스레스홀드를 초과하지 않은 크기를 갖는 오브젝트에 대한 종횡비가 미리 정해진 스레스홀드를 초과하면, 상기 오브젝트의 종횡비 크기가 제 1 스레스홀드의 미만인지의 여부를 판단할 수 있다.
동작 1325의 판단 결과, 상기 오브젝트의 종횡비 크기가 제 1 스레스홀드의 미만이면, 동작 1315에서, 상기 오브젝트의 종횡비 크기가 제 1 스레스홀드 미만인 오브젝트를 제거할 수 있다.
동작 1340에서, 프로세서(330)는, 상기 동작 1325의 판단 결과, 상기 오브젝트의 종횡비 크기가 제 1 스레스홀드 미만이 아니면, 상기 제 1 스레스홀드 미만이 아닌 종횡비를 갖는 오브젝트를 그대로 유지할 수 있다.
동작 1330에서, 프로세서(330)는 스레스홀드를 초과하지 않은 크기를 갖는 오브젝트에 대한 종횡비가 미리 정해진 스레스홀드를 초과하지 않으면, 상기 오브젝트의 종횡비 크기가 제 2 스레스홀드의 미만인지의 여부를 판단할 수 있다.
동작 1330의 판단 결과, 상기 오브젝트의 종횡비 크기가 제 2 스레스홀드의 미만이면, 동작 1315에서, 상기 오브젝트의 종횡비 크기가 제 2 스레스홀드 미만인 오브젝트를 제거할 수 있다.
동작 1340에서, 프로세서(330)는, 상기 동작 1330의 판단 결과, 상기 오브젝트의 종횡비 크기가 제 2 스레스홀드 미만이 아니면, 상기 제 2 스레스홀드 미만이 아닌 종횡비를 갖는 오브젝트를 그대로 유지할 수 있다.
다양한 실시예에 따르면, 상기 도 13에 개시된 실시예를 통해, 오브젝트의 크기가 스레스홀드의 범위를 벗어나는 오브젝트를 제거할 수 있다.
다양한 실시예에 따르면, 상기 도 13의 실시예에서는 오브젝트의 크기를 예를 들어 설명하고 있지만, 오브젝트의 위치 또는 오브젝트에 대한 사용자의 히스토리를 이용하여 오브젝트를 제거할 수 있다. 예를 들어, 오브젝트의 위치는 이미지의 중심에 가까운 정도에 따라, 중심에서 먼 오브젝트를 제거할 수 있다. 예를 들어, 오브젝트에 대한 사용자의 히스토리는 이미지의 어떤 위치에 있는 오브젝트를 더 선호했는지에 대한 정보를 포함할 수 있다.
도 14는 본 발명의 다양한 실시예에 따른 전자 장치에서 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하는 방법을 설명하는 도면이다.
도 14는 상기 도 12에서 설명된 동작 1230의 서브루틴을 포함할 수 있다.
도 14를 참조하면, 프로세서(330)의 오브젝트 중요도 계산 모듈(305)은 오브젝트 제거 모듈(303)을 통해 오브젝트 영역이 제거되고 남은 오브젝트 중, 오브젝트의 신뢰성(object confidence) 정보, 오브젝트의 위치(object position) 정보 및 오브젝트 영역(area of object)의 크기 정보를 이용하여, 오브젝트의 중요도를 계산할 수 있다.
동작 1410에서, 프로세서(330)(예: 오브젝트 중요도 계산 모듈(305))는 상기 오브젝트의 신뢰성 정보, 오브젝트의 위치 정보 및 오브젝트 영역의 크기 정보가 각각 가질 수 있는 최대 값이 1이 되도록 정규화 프로세스를 수행할 수 있다.
일 실시예에 따르면, 오브젝트의 신뢰성 정보에 대한 스코어(sco)는 오브젝트의 신뢰성(object confidence)/오브젝트의 최대 신뢰성(maximum confidence)으로 계산될 수 있다.
일 실시예에 따르면, 오브젝트의 위치(pos)는 1 - (이미지의 중심 및 오브젝트 중심 간의 거리(dist(image center, object center))/이미지의 대각선 길이의 절반(half of diagonal length of image)으로 계산될 수 있다.
일 실시예에 따르면, 오브젝트의 영역의 크기(siz)는 오브젝트 영역(area of object)/이미지의 영역(area of image)으로 계산될 수 있다.
동작 1420에서, 프로세서(330)는 상기 정규화 프로세스를 통해 계산된 오브젝트의 신뢰성 정보에 대한 스코어, 오브젝트의 위치 및 오브젝트의 영역의 크기에 대한 각각의 계산 값에 대하여, 각각 다른 분포를 갖는 웨이트 함수(weight function(f))의 입력으로 사용하는 웨이트 함수 입력 프로세스를 수행할 수 있다.
동작 1430에서, 프로세서(330)는 상기 웨이트 함수 입력 프로세스를 통해 오브젝트의 중요도를 계산할 수 있다.
일 실시예에 따르면, 상기 오브젝트의 중요도(confidence)는 웨이트 함수가 입력된 오브젝트의 신뢰성에 대한 스코어(scow), 웨이트 함수가 입력된 오브젝트의 위치(posw) 및 웨이트 함수가 입력된 오브젝트 영역의 크기를 합산하여 계산될 수 있다.
도 15는 본 발명의 다양한 실시예에 따른 전자 장치에서 계산된 오브젝트의 중요도를 기초로 하여, 주요 오브젝트를 선택하는 방법을 설명하는 도면이다.
도 15는 상기 도 12에서 설명된 동작 1240의 서브루틴을 포함할 수 있다.
도 15를 참조하면, 프로세서(330)의 주요 오브젝트 선택 모듈(307)은 상기 오브젝트 중요도 계산 모듈(305)을 통해 계산된 중요도를 기초로 하여, 전자 장치(300)에서 허용할 수 있는 최대 오브젝트의 개수 이하(예: 2개)로, 주요 오브젝트를 선택할 수 있다.
동작 1510에서, 프로세서(330)(예: 주요 오브젝트 선택 모듈(307))는 상기 오브젝트 중요도 계산 모듈(305)을 이용하여 계산된 오브젝트의 중요도를 기초로 하여, 중요도가 높은 순서대로 오브젝트를 분류할 수 있다.
동작 1520에서, 프로세서(330)는 중요도가 높은 오브젝트를 주요 오브젝트로 선택할 수 있다.
일 실시예에 따르면, 동작 1520에 개시된 알고리즘은 중요도가 높은 오브젝트를 주요 오브젝트로 선택할 수 있는 알고리즘을 포함할 수 있다. 일 실시예에 따르면, 프로세서(330)는 전자 장치(300)에서 허용할 수 있는 최대 오브젝트의 개수 이하(예: 2개의 오브젝트)로, 중요도가 높은 오브젝트를 선택할 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 전자 장치의 프로세서를 이용하여 보조 오브젝트를 선택하는 방법을 설명하는 알고리즘을 나타내는 도면이다.
도 16은 상기 도 12에서 설명된 동작 1250에 대하여 실행되는 알고리즘을 포함할 수 있다.
도 16을 참조하면, 프로세서(330)(예: 보조 오브젝트 선택 모듈(309))는 상기 주요 오브젝트 선택 모듈(307)을 이용하여 선택된 주요 오브젝트를 기초로 하여, 예를 들어 상기 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택할 수 있다.
일 실시예에 따르면, 도 16의 알고리즘은 하나의 주요 오브젝트에 대하여 수행되는 프로세스를 나타낼 수 있다. 예를 들어, 주오 오브젝트가 3개인 경우, 도 16의 알고리즘은 3회 수행될 수 있다.
일 실시예에 따르면, 상기 보조 오브젝트는 상기 주요 오브젝트와 공간적인 관련성이 있는 오브젝트로 정의될 수 있다. 예를 들어, 상기 공간적인 관련성은 주요 오브젝트 영역과 보조 오브젝트 영역의 중복 정도 및 주요 오브젝트 영역과 보조 오브젝트 영역의 포함 관계를 이용하여 획득될 수 있다. 다양한 실시예에 따르면, 주요 오브젝트 영역과 보조 오브젝트 영역의 중복 정도는 IoU(intersection over union)를 이용하여, 주요 오브젝트와 보조 오브젝트 사이의 중복 영역을 수치화할 수 있다. 예를 들어, IoU의 값이 미리 정해진 스레스홀드 이상인 오브젝트가 보조 오브젝트로 선택할 수 있다.
도 17은 본 발명의 다양한 실시예에 따른 전자 장치에서 결정된 서비스를 제공하는 예를 설명하는 도면이다.
도 17을 참조하면, 프로세서(330)의 오브젝트 검출 모듈(301)은 이미지(410)에 포함된 복수의 오브젝트 영역을 검출할 수 있다.
일 실시예에 따르면, 오브젝트 검출 모듈(301)은 제 1 오브젝트 영역(501) 및 제 2 오브젝트 영역(503)을 검출할 수 있다.
일 실시예에 따르면, 주요 오브젝트 선택 모듈(307)은 상기 검출된 제 1 오브젝트 영역(501) 및 제 2 오브젝트 영역(503) 중, 제 1 오브젝트(401) 및 제 2 오브젝트(403)를 결정할 수 있다. 주요 오브젝트 선택 모듈(307)은 상기 결정된 제 1 오브젝트(401) 및 제 2 오브젝트(403) 중, 오브젝트의 위치 및 크기에 기초하여, 서비스를 제공하는 주요 오브젝트(예: 제 1 오브젝트(401))를 선택할 수 있다.
일 실시예에 따르면, 보조 오브젝트 선택 모듈(309)은 상기 주요 오브젝트 선택 모듈(307)을 이용하여 선택된 주요 오브젝트(예: 제 1 오브젝트(401))와 공간적인 관련성이 있는 보조 오브젝트(810)를 선택할 수 있다.
일 실시예에 따르면, 오브젝트 인식 모듈(311)은 상기 주요 오브젝트(401) 및 보조 오브젝트(810)를 인식할 수 있다. 서비스 속성 인식 모듈(313)은 상기 인식된 주요 오브젝트(401) 및 보조 오브젝트(810)를 이용하여 제공하는 서비스 의 수 및 종류를 결정할 수 있다.
일 실시예에 따르면, 서비스 결정 모듈(315)은 상기 서비스 속성 인식 모듈(313)을 이용하여 결정된 서비스 속성(예: 서비스의 수 및 종류)에 기초하여, 주요 오브젝트(401) 및 보조 오브젝트(810)가 제공하는 서비스 카드를 결정할 수 있다.
다양한 실시예에 따르면, 상기 서비스 카드는 도면에 도시된, "Lorem bike"(예: 쇼핑 카드) 및 "classic bicycle(예: 이미지 서치 카드)"를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(300)의 프로세서(330)는 상기 서비스 결정 모듈(315)을 이용하여 결정된 서비스 카드가 선택되면, 네트워크(예: 도 1의 제 1 네트워크(198) 또는 제 2 네트워크(199))를 이용하여 다른 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108))로부터 수신한 서비스 화면(1710)을 표시할 수 있다.
다양한 실시예에 따르면, 상기 서비스 카드는, 예를 들어 다른 전자 장치로부터 수신한 순서에 기초하여, 순서대로 표시될 수 있다. 또한, 상기 서비스 카드는 전자 장치(300)의 메모리(340)에 미리 설정된 기준에 따라 표시될 수 있다. 예를 들어, 상기 미리 설정된 기준은 전자 장치(300)의 사용자가 가장 선호하는 서비스 순서 또는 가장 최근에 사용한 서비스 순서를 포함할 수 있다. 또한, 상기 서비스 카드는 특정 오브젝트에 따라 미리 정해진 순서를 이용하여 표시될 수 있다.
도 18은 본 발명의 다양한 실시예에 따른 전자 장치에서 결정된 서비스를 제공하는 다른 예를 설명하는 도면이다.
도 18은 본 발명의 다양한 실시예에 따른 전자 장치에서 결정된 서비스를 제공하는 다른 예를 설명하는 도면이다.
도 18을 참조하면, 전자 장치(300)의 프로세서(330)는 상기 도 17에서 제공하는 서비스 중, 예를 들어 서비스 카드(1810)를 표시할 때, 네트워크(예: 도 1의 제 1 네트워크(198) 또는 제 2 네트워크(199))를 이용하여 다른 전자 장치(예: 도 1의 전자 장치(102, 104) 또는 서버(108))로부터 다운로드 받은 서비스를 위한 카드 이미지를 표시할 수 있다. 또한, 전자 장치(300)의 프로세서(330)는 상기 다른 전자 장치로부터 다운로드 받은 어플리케이션의 진입점(1820)을 표시할 수 있다.
일 실시예에 따르면, 전자 장치(300)의 프로세서(330)는 상기 다른 전자 장치로부터 다운로드 받은 서비스를 이용하여, 카메라(310)를 통해 획득되는 이미지와 관련된 상세한 비전 서비스를 제공할 수 있다.
본 발명의 다양한 실시예들에 따르면, 이미지(예: 도 4의 이미지(410)) 내에서 검출된 오브젝트들(예: 도 4의 제 1 오브젝트(401), 제 2 오브젝트(403), 제 3 오브젝트(405), 제 4 오브젝트(407) 및 제 5 오브젝트(409)) 중, 불필요한 오브젝트를 제거하고, 오브젝트의 중요도를 계산한 후, 중요도가 높은 오브젝트의 선택에 대응하는 검색 서비스를 제공함으로써, 검출된 오브젝트의 연산 양 및 서비스 준비에 소요되는 시간을 줄일 수 있다.
이상에서는 본 발명의 다양한 실시예에 따라 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 변경 및 변형한 것도 본 발명에 속함은 당연하다.
Claims (15)
- 전자 장치에 있어서,카메라;디스플레이;메모리; 및상기 카메라, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,상기 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출하고,상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하고,상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하고,상기 계산된 중요도를 기초로 하여, 상기 전자 장치에서 허용하는 오브젝트의 개수 이하로 주요 오브젝트를 선택하고,상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하고,상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스 속성을 인식하고,상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 상기 디스플레이에 표시하도록 설정된 전자 장치.
- 제 1항에 있어서,상기 프로세서는,상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를, 상기 오브젝트의 신뢰성(confidence), 상기 오브젝트의 위치 및 상기 오브젝트의 영역의 크기 정보 중 적어도 하나를 이용하여 계산하도록 설정된 전자 장치.
- 제 1항에 있어서,상기 주요 오브젝트는 제 1 오브젝트 및 제 2 오브젝트를 포함하고,상기 프로세서는,상기 제 1 오브젝트가 적어도 하나의 서비스를 제공하고, 상기 제 2 오브젝트가 적어도 하나의 서비스를 제공하도록 설정된 전자 장치.
- 제 3항에 있어서,상기 제 1 오브젝트는 상기 보조 오브젝트를 포함하고, 상기 보조 오브젝트는 적어도 하나의 정보를 포함하고,상기 제 1 오브젝트가 제공하는 적어도 하나의 서비스는 상기 보조 오브젝트가 포함하는 적어도 하나의 정보로부터 획득되는 전자 장치.
- 제 3항에 있어서,상기 프로세서는.상기 제 1 오브젝트가 제공하는 서비스 중의 하나를 선택하면, 상기 선택된 서비스에 대응하는 상세 정보를 상기 디스플레이에 표시하거나,상기 제 1 오브젝트에 대응하는 제 1 부가 서비스 목록 및 상기 제 2 오브젝트에 대응하는 제 2 부가 서비스 목록을 상기 디스플레이에 표시하도록 설정된 전자 장치.
- 제 5항에 있어서,상기 제 1 부가 서비스 목록 및 상기 제 2 부가 서비스 목록은 상기 제 1 오브젝트 및 상기 제 2 오브젝트에 대응하는 서비스를 제공하는 어플리케이션의 진입점을 포함하는 전자 장치.
- 제 6항에 있어서,상기 프로세서는,상기 어플리케이션의 진입점을 다른 전자 장치로부터 다운로드 받아 제공하도록 설정된 전자 장치.
- 전자 장치의 프로세서가 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 방법으로서,상기 프로세서가, 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트의 영역을 검출하는 동작;상기 검출된 복수의 오브젝트의 영역 중, 스레스홀드의 범위를 벗어나는 크기를 갖는 오브젝트의 영역을 제거하는 동작;상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를 계산하는 동작;상기 계산된 중요도를 기초로 하여, 상기 전자 장치에서 허용하는 오브젝트의 개수 이하로 주요 오브젝트를 선택하는 동작;상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하는 동작;상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스 속성을 인식하는 동작; 및상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스를 결정하고, 상기 결정된 서비스를 디스플레이에 표시하는 동작을 포함하는 방법.
- 제 8항에 있어서,상기 스레스홀드의 범위 내에 있는 오브젝트의 중요도를, 상기 오브젝트의 신뢰성(confidence), 상기 오브젝트의 위치 및 상기 오브젝트의 영역의 크기 정보 중 적어도 하나를 이용하여 계산하는 동작을 포함하는 방법.
- 제 8항에 있어서,상기 주요 오브젝트는 제 1 오브젝트 및 제 2 오브젝트를 포함하고,상기 프로세서를 이용하여, 상기 제 1 오브젝트가 적어도 하나의 서비스를 제공하고, 상기 제 2 오브젝트가 적어도 하나의 서비스를 제공하는 방법.
- 제 10항에 있어서,상기 제 1 오브젝트는 상기 보조 오브젝트를 포함하고, 상기 보조 오브젝트는 적어도 하나의 정보를 포함하고,상기 제 1 오브젝트가 제공하는 적어도 하나의 서비스는 상기 보조 오브젝트가 포함하는 적어도 하나의 정보로부터 획득되는 방법.
- 제 10항에 있어서,상기 제 1 오브젝트가 제공하는 서비스 중의 하나를 선택하면, 상기 선택된 서비스에 대응하는 상세 정보를 상기 디스플레이에 표시하는 동작; 또는상기 제 1 오브젝트에 대응하는 제 1 부가 서비스 목록 및 상기 제 2 오브젝트에 대응하는 제 2 부가 서비스 목록을 상기 디스플레이에 표시하는 동작을 포함하는 방법.
- 제 12항에 있어서,상기 제 1 부가 서비스 목록 및 상기 제 2 부가 서비스 목록은 상기 제 1 오브젝트 및 상기 제 2 오브젝트에 대응하는 서비스를 제공하는 어플리케이션의 진입점을 포함하고,상기 어플리케이션의 진입점은 다른 전자 장치로부터 다운로드 받아 제공되는 방법.
- 제 8항에 있어서,상기 공간적인 관련성은 상기 주요 오브젝트의 영역과 상기 보조 오브젝트의 영역이 중복되는 정도에 따라 결정되는 방법.
- 전자 장치에 있어서,카메라;디스플레이;메모리; 및상기 카메라, 상기 디스플레이 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,상기 카메라를 이용하여 획득되는 이미지에 포함된 복수의 오브젝트 영역을 검출하고,상기 검출된 복수의 오브젝트의 영역 중, 복수의 주요 오브젝트를 결정하고,상기 결정된 복수의 주요 오브젝트 중, 오브젝트의 위치 및 크기에 기초하여, 서비스를 제공하는 주요 오브젝트를 선택하고,상기 선택된 주요 오브젝트와 공간적인 관련성이 있는 보조 오브젝트를 선택하고,상기 주요 오브젝트 및 상기 보조 오브젝트를 인식하고, 상기 인식된 주요 오브젝트 및 보조 오브젝트가 제공하는 서비스의 수 및 종류를 결정하고,상기 결정된 서비스의 수 및 종류에 기초하여, 상기 주요 오브젝트 및 상기 보조 오브젝트가 제공하는 서비스 카드를 결정하고,상기 결정된 서비스 카드에 기초하여, 다른 전자 장치로부터 수신한 서비스 화면을 상기 디스플레이에 표시하도록 설정된 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/432,271 US12062237B2 (en) | 2019-02-19 | 2019-09-23 | Electronic device and method for providing service corresponding to selection of object in image |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0019565 | 2019-02-19 | ||
KR1020190019565A KR20200101233A (ko) | 2019-02-19 | 2019-02-19 | 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020171333A1 true WO2020171333A1 (ko) | 2020-08-27 |
Family
ID=72144814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/012364 WO2020171333A1 (ko) | 2019-02-19 | 2019-09-23 | 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12062237B2 (ko) |
KR (1) | KR20200101233A (ko) |
WO (1) | WO2020171333A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114220063A (zh) * | 2021-11-17 | 2022-03-22 | 浙江大华技术股份有限公司 | 目标检测方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102661596B1 (ko) * | 2018-08-08 | 2024-04-29 | 삼성전자주식회사 | 이미지에 대한 인식 정보, 인식 정보와 관련된 유사 인식 정보, 및 계층 정보를 이용하여 외부 객체에 대한 인식 결과를 제공하는 전자 장치 및 그의 동작 방법 |
KR20210066291A (ko) * | 2019-11-28 | 2021-06-07 | 주식회사 피제이팩토리 | 멀티 뎁스 이미지 생성 방법 및 이를 위한 프로그램을 기록한 기록매체 |
KR20220129948A (ko) * | 2021-03-17 | 2022-09-26 | 라인플러스 주식회사 | 이미지에서 삭제할 객체를 추천하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060122791A (ko) * | 2005-05-27 | 2006-11-30 | 햄펙스 주식회사 | 이미지 기반의 컨텐츠 제공 시스템 및 그 방법 |
KR20140109571A (ko) * | 2013-03-05 | 2014-09-16 | 에스케이플래닛 주식회사 | 관심 상품 목록 페이지 생성 방법, 이를 위한 장치 및 시스템 |
KR20180051448A (ko) * | 2018-03-16 | 2018-05-16 | 오드컨셉 주식회사 | 쇼핑 정보를 제공하는 방법, 장치 및 컴퓨터 프로그램 |
KR101869895B1 (ko) * | 2018-01-19 | 2018-06-25 | 주식회사 리싸이클파크 | 딥 러닝 기반의 오브젝트 인식 서버, 오브젝트 인식 시스템 및 오브젝트 인식 방법 |
KR20180109304A (ko) * | 2017-03-27 | 2018-10-08 | 삼성전자주식회사 | 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11195057B2 (en) * | 2014-03-18 | 2021-12-07 | Z Advanced Computing, Inc. | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
US9275308B2 (en) | 2013-05-31 | 2016-03-01 | Google Inc. | Object detection using deep neural networks |
US10733651B2 (en) * | 2014-01-01 | 2020-08-04 | Andrew S Hansen | Methods and systems for identifying physical objects |
WO2016054778A1 (en) | 2014-10-09 | 2016-04-14 | Microsoft Technology Licensing, Llc | Generic object detection in images |
DE102016124277A1 (de) * | 2016-04-19 | 2017-10-19 | Patty's Gmbh | Verfahren zum Ermitteln und Anzeigen von Produkten auf einer elektronischen Anzeigeeinrichtung |
US20190042574A1 (en) * | 2017-08-01 | 2019-02-07 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the electronic device |
US11126653B2 (en) * | 2017-09-22 | 2021-09-21 | Pinterest, Inc. | Mixed type image based search results |
US11651589B2 (en) * | 2018-05-07 | 2023-05-16 | Google Llc | Real time object detection and tracking |
-
2019
- 2019-02-19 KR KR1020190019565A patent/KR20200101233A/ko not_active Application Discontinuation
- 2019-09-23 WO PCT/KR2019/012364 patent/WO2020171333A1/ko active Application Filing
- 2019-09-23 US US17/432,271 patent/US12062237B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060122791A (ko) * | 2005-05-27 | 2006-11-30 | 햄펙스 주식회사 | 이미지 기반의 컨텐츠 제공 시스템 및 그 방법 |
KR20140109571A (ko) * | 2013-03-05 | 2014-09-16 | 에스케이플래닛 주식회사 | 관심 상품 목록 페이지 생성 방법, 이를 위한 장치 및 시스템 |
KR20180109304A (ko) * | 2017-03-27 | 2018-10-08 | 삼성전자주식회사 | 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치 |
KR101869895B1 (ko) * | 2018-01-19 | 2018-06-25 | 주식회사 리싸이클파크 | 딥 러닝 기반의 오브젝트 인식 서버, 오브젝트 인식 시스템 및 오브젝트 인식 방법 |
KR20180051448A (ko) * | 2018-03-16 | 2018-05-16 | 오드컨셉 주식회사 | 쇼핑 정보를 제공하는 방법, 장치 및 컴퓨터 프로그램 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114220063A (zh) * | 2021-11-17 | 2022-03-22 | 浙江大华技术股份有限公司 | 目标检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220189175A1 (en) | 2022-06-16 |
US12062237B2 (en) | 2024-08-13 |
KR20200101233A (ko) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020032555A1 (en) | Electronic device and method for providing notification related to image displayed through display and image stored in memory based on image analysis | |
WO2020226294A1 (en) | Foldable device and method for controlling image capturing by using plurality of cameras | |
WO2020171333A1 (ko) | 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 | |
WO2020159147A1 (ko) | 전자 장치 및 전자 장치의 그래픽 객체 제어 방법 | |
WO2020171520A1 (en) | Electronic device and method for controlling auto focusing thereof | |
WO2020171512A1 (en) | Electronic device for recommending composition and operating method thereof | |
WO2021015505A1 (en) | Foldable electronic device and photographing method using multiple cameras in foldable electronic device | |
WO2019107981A1 (en) | Electronic device recognizing text in image | |
WO2020166911A1 (en) | Screen providing method and electronic device supporting same | |
WO2019143050A1 (en) | Electronic device and method for controlling autofocus of camera | |
WO2020149689A1 (ko) | 영상 처리 방법 및 이를 지원하는 전자 장치 | |
WO2020071823A1 (en) | Electronic device and gesture recognition method thereof | |
WO2019164185A1 (en) | Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme | |
WO2021118303A1 (en) | Electronic device for measuring skin condition of user and method for operating same | |
WO2019039760A1 (ko) | 전자 장치 및 그의 문자 인식 방법 | |
WO2021133025A1 (en) | Electronic device comprising image sensor and method of operation thereof | |
WO2021025509A1 (en) | Apparatus and method for displaying graphic elements according to object | |
WO2019208915A1 (ko) | 외부 장치의 자세 조정을 통해 복수의 카메라들을 이용하여 이미지를 획득하는 전자 장치 및 방법 | |
WO2020231156A1 (en) | Electronic device and method for acquiring biometric information using light of display | |
WO2020171342A1 (ko) | 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2019172723A1 (ko) | 이미지 센서와 연결된 인터페이스 및 복수의 프로세서들간에 연결된 인터페이스를 포함하는 전자 장치 | |
WO2019103420A1 (en) | Electronic device and method for sharing image with external device using image link information | |
WO2019221518A1 (en) | Electronic device for adjusting position of content displayed on display based on ambient illuminance and method for operating same | |
WO2021145667A1 (ko) | 카메라 이동 제어 방법 및 장치 | |
WO2019054626A1 (ko) | 제 1 이미지 센서에서 제공된 신호를 이용하여 제 2 이미지 센서에서 데이터를 획득하는 방법 및 전자 장치 |
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: 19916290 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: 19916290 Country of ref document: EP Kind code of ref document: A1 |