WO2023224207A1 - Electronic device, method, and computer-readable storage medium for identifying object from image data - Google Patents

Electronic device, method, and computer-readable storage medium for identifying object from image data Download PDF

Info

Publication number
WO2023224207A1
WO2023224207A1 PCT/KR2022/095103 KR2022095103W WO2023224207A1 WO 2023224207 A1 WO2023224207 A1 WO 2023224207A1 KR 2022095103 W KR2022095103 W KR 2022095103W WO 2023224207 A1 WO2023224207 A1 WO 2023224207A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
electronic device
channels
information
blocks
Prior art date
Application number
PCT/KR2022/095103
Other languages
French (fr)
Korean (ko)
Inventor
박준형
양철종
오명석
이성환
이영현
이주성
정하림
Original Assignee
주식회사 엔씨소프트
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트, 고려대학교 산학협력단 filed Critical 주식회사 엔씨소프트
Priority to PCT/KR2022/095103 priority Critical patent/WO2023224207A1/en
Publication of WO2023224207A1 publication Critical patent/WO2023224207A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • Various embodiments disclosed herein relate to electronic devices, methods, and computer-readable recording media for identifying objects captured in image data.
  • the service can be used for automatic driving, augmented reality, virtual reality, metaverse, etc., and is provided through electronic devices owned by different users, such as smartphones. It can be.
  • the services may involve hardware and/or software mechanisms that mimic human behavior and/or thinking, such as artificial intelligence.
  • Technologies related to artificial intelligence may include technologies that use neural networks that simulate the neural networks of living things.
  • an electronic device includes a memory for storing instructions, and at least one processor operably coupled to the memory, wherein the at least one processor includes: When the instructions are executed, receive an image in which at least one object is captured, and use a first neural network including blocks of channels to process the image based on a convolution operation, Obtaining first information from, and using a second neural network to process the obtained first information, the class of the at least one object and the location at which the at least one object was captured within the image Obtaining second information indicating, the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks, based on third information, selected from the candidate blocks, It may be an interconnection.
  • a method of an electronic device includes an operation of identifying a neural network for recognizing an object from an image in which at least one object is captured, the number of channels constituting a block included in the identified neural network ( An operation of acquiring candidate information for (numbers), an operation of obtaining feedback information for learning the neural network based on recognition of the object, and an interconnection between the blocks based on the feedback information It may include actions that change .
  • a computer readable storage medium storing one or more programs, the one or more programs, when executed by a processor of an electronic device, receives an image in which at least one object is captured. and obtain first information from the image using a first neural network including blocks of channels for processing the image based on a convolution operation, and process the obtained first information.
  • the first neural network is configured to obtain a candidate block instructions that cause the electronic device to be assigned to a block and to be selected from the candidate blocks based on third information related to the number of channels of the candidate blocks.
  • a method of an electronic device includes an operation of receiving an image in which at least one object is captured, a first neural network including blocks of channels for processing the image based on a convolution operation. Obtaining first information from the image using a network, and using a second neural network to process the obtained first information, the class of the at least one object, and the at least one object in the image. and obtaining second information indicating a location at which an object was captured, wherein the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks based on the third information. , may be an interconnection of the blocks selected from the candidate blocks.
  • An electronic device, method, and computer-readable recording medium include the number of channels, kernel size, and The neural network can be changed by adjusting the number of layers.
  • FIG. 1 is a block diagram of an electronic device according to an embodiment.
  • FIG. 2 is a diagram for explaining the structures of the first neural network and the second neural network of FIG. 1 based on a convolutional neural network.
  • FIG. 3 is an example diagram illustrating an operation in which an electronic device, according to an embodiment, recognizes one or more objects captured in image data through a first neural network and a second neural network stored in a memory.
  • FIG. 4 is a flowchart illustrating an operation in which an electronic device acquires an image for recognizing an object and recognizes the object based on the acquired image, according to an embodiment.
  • FIG. 5 is a flowchart illustrating an operation in which an electronic device changes parameters included in a source neural network, according to an embodiment.
  • FIGS. 6A and 6B are exemplary diagrams illustrating learning of parameters related to the number of channels included in candidate blocks by an electronic device, according to an embodiment.
  • FIG. 7 is an example diagram illustrating the establishment and/or change of interconnection of candidate blocks included in a neural network by an electronic device according to an embodiment.
  • FIG. 8 is an example diagram illustrating adjustment (mapping) of the kernel size included in a neural network of an electronic device according to an embodiment.
  • FIG. 9 is an example diagram illustrating an electronic device adjusting the number of channels included in a neural network according to an embodiment.
  • FIG. 10 is an example diagram illustrating an electronic device adjusting the number of layers included in a neural network according to an embodiment.
  • first or second may be used to describe various components, but the components should not be limited by the terms.
  • the above terms are used only for the purpose of distinguishing one component from another component, for example, a first component may be named a second component, without departing from the scope of rights according to the concept of the present invention, Similarly, the second component may also be referred to as the first component.
  • the electronic device 101 may include at least one of a processor 110, a memory 120, a display 130, or a communication circuit 140.
  • Processor 110, memory 120, display 130, and communication circuit 140 may be electrically and/or operatively connected to each other by an electronic component, such as a communication bus. (electronically and/or operably coupled with each other).
  • the type and/or number of hardware components included in the electronic device 101 are not limited to those shown in FIG. 1 .
  • the electronic device 101 may include only some of the hardware components shown in FIG. 1 (eg, the processor 110 and the memory 120).
  • the processor 110 of the electronic device 101 may include hardware components for processing data based on one or more instructions.
  • Hardware components for processing data may include, for example, an Arithmetic and Logic Unit (ALU), a Field Programmable Gate Array (FPGA), and/or a Central Processing Unit (CPU).
  • ALU Arithmetic and Logic Unit
  • FPGA Field Programmable Gate Array
  • CPU Central Processing Unit
  • the number of processors 110 may be one or more.
  • the processor 110 may have the structure of a multi-core processor, such as a dual core, quad core, or hexa core.
  • the memory 120 of the electronic device 101 may include hardware components for storing data and/or instructions input and/or output to the processor 110.
  • the memory 120 may include, for example, volatile memory such as random-access memory (RAM) and/or non-volatile memory such as read-only memory (ROM).
  • Volatile memory may include, for example, at least one of Dynamic RAM (DRAM), Static RAM (SRAM), Cache RAM, and Pseudo SRAM (PSRAM).
  • Non-volatile memory may include, for example, at least one of PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), flash memory, hard disk, compact disk, and eMMC (Embedded Multi Media Card). You can.
  • one or more instructions indicating operations to be performed on data by the processor 110 may be stored.
  • a set of one or more instructions may be referred to as firmware, operating system, process, routine, sub-routine and/or application.
  • the electronic device 101 and/or the processor 110 of the electronic device 101 executes a set of a plurality of instructions distributed in the form of an application, as shown in FIGS. 3 to 10 operations can be performed.
  • a set of parameters related to the first neural network 121 and/or the second neural network 122 may be stored.
  • the first neural network 121 and/or the second neural network 122 are recognition models implemented in software or hardware that imitate the computational ability of a biological system using a large number of artificial neurons (or nodes). .
  • the first neural network 121 and/or the second neural network 122 may perform human cognitive functions or learning processes through artificial neurons.
  • Parameters related to the first neural network 121 and/or the second neural network 122 may be, for example, a plurality of nodes included in the first neural network 121 and/or the second neural network 122. And/or may indicate a weight assigned to the connection between the plurality of nodes.
  • the structures of the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101 are described with reference to FIGS. 2 and 3.
  • the structure of the first neural network 121 and the second neural network 122 is a neural network (e.g., a convolutional neural network) for processing image data based on a convolution operation. (convolution neural network, CNN)).
  • the structures of the first neural network 121 and the second neural network 122 based on CNN are described with reference to FIG. 2.
  • the interconnection of the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101 according to one embodiment will be described later with reference to FIG. 3 .
  • the number of first neural networks 121 and/or second neural networks 122 stored in the memory 120 is not limited to that shown in FIG. 1, and sets of parameters corresponding to each of the plurality of neural networks are It may be stored in memory 120.
  • the display 130 of the electronic device 101 may output visualized information to the user.
  • the display 130 may be controlled by a controller such as the processor 110 and/or a GPU (Graphic Processing Unit) to output visualized information to the user.
  • the display 130 may include a flat panel display (FPD) and/or electronic paper.
  • the FPD may include a Liquid Crystal Display (LCD), a Plasma Display Panel (PDP), and/or one or more Light Emitting Diodes (LED).
  • the LED may include OLED (Organic LED).
  • the communication circuit 140 of the electronic device 101 may include hardware components to support transmission and/or reception of electrical signals between the electronic device 101 and an external electronic device.
  • the communication circuit 140 may include, for example, at least one of a modem, an antenna, and an optical/electronic (O/E) converter.
  • the communication circuit 140 includes Ethernet, LAN (Local Area Network), WAN (Wide Area Network), WiFi (Wireless Fidelity), Bluetooth, BLE (Bluetooth Low Energy), ZigBee, LTE (Long Term Evolution), It can support transmission and/or reception of electrical signals based on various types of protocols, such as 5G NR (New Radio).
  • the electronic device 101 may acquire image data.
  • the image data may include photos or videos.
  • the image data may correspond to one frame of the video.
  • the electronic device 101 may receive image data from an external electronic device (eg, a digital camera, and/or a terminal) connected to the electronic device 101 through the communication circuit 140.
  • the electronic device 101 may acquire image data through the camera.
  • the electronic device 101 may recognize one or more objects (eg, one or more subjects) captured within the image data from the acquired image data.
  • recognizing the one or more objects may include annotating information that is different from the color distribution of the image data to the image data.
  • the information may include one or more parameters for identifying the location at which the one or more objects were captured within the image data, or the class (or type) of the one or more objects.
  • the electronic device 101 acquires information for recognizing an object captured in an image from an image using a first neural network 121 and a second neural network 122 including a plurality of layers. can do.
  • the information may include at least one of the class or location of the object captured in the image.
  • the electronic device 101 may obtain the information indicating a class matching the object among a plurality of designated classes. The class may be referred to as a category.
  • the electronic device 101 may obtain the information indicating the portion in which the object is captured within the image data based on a bounding box and/or a closed curve. there is.
  • the first neural network 121 stored in the memory 120 of the electronic device 101 may be created by changing the structure of a pre-trained neural network (hereinafter, a source neural network).
  • a source neural network a pre-trained neural network
  • the processor 110 of the electronic device 101 optimizes the source neural network based on resources such as calculation speed and/or capacity of the memory 120, and the first neural network ( 121) can be created.
  • the electronic device 101 optimizes the first neural network 121 to recognize the image data while changing the number of numerical values for driving the first neural network 121. This can be done to increase accuracy.
  • An operation in which the electronic device 101 optimizes the first neural network 121 according to one embodiment is described with reference to FIGS. 4 to 10 .
  • FIG. 2 the structure of the first neural network 121 and/or the second neural network 122 stored in the memory 120 is described with reference to the structure of CNN.
  • FIG. 2 is a diagram for explaining the structures of the first neural network and the second neural network of FIG. 1 based on a convolution neural network (CNN) 200.
  • CNN convolution neural network
  • the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101 of FIG. 1 are different networks of the convolutional neural network 200 of FIG. 2. parts can be responded to.
  • FIG. 2 is an exemplary diagram for explaining a first neural network 121 and/or a second neural network 122 obtained from a set of parameters stored in memory.
  • Portion 210 of FIG. 2 may be related to the first neural network 121 of FIG. 1 .
  • Portion 220 of FIG. 2 may be related to second neural network 122 of FIG. 1 .
  • the electronic device may obtain feature information 213 by applying the kernel 212 to the image data 211.
  • Feature information 213 may be referred to as a feature map.
  • the size of the feature information 213 may be related to the size of the kernel 212 and/or the size of the image data 211.
  • the size of the feature information 213 may be referred to as the channel size.
  • the size of the kernel 212 related to the channel size may be the size of the two-dimensional matrix defined by the kernel 212.
  • the size of the image data 211 related to the size of the channel may be related to a color space representing the colors of each pixel included in the image data 211.
  • the color space may include the RGB color space based on the three primary colors of red, green, and blue, the YCbCr color space based on luminance and chrominance, or cyan, magenta, You can choose from the CMYK color space based on four designated colors: yellow, and black.
  • a plurality of parameters included in the feature information 213 may be the result of performing a convolution operation based on the kernel 212 on different areas of the image.
  • the electronic device performs a convolution operation between a first matrix based on the color and position of pixels included in the image data 211 and a second matrix corresponding to the kernel 212, A third matrix corresponding to information 213 may be obtained.
  • the second matrix may have a size smaller than the size of the first matrix.
  • Each of the elements of the third matrix may correspond to a result of sequentially multiplying the second matrix by different portions of the first matrix based on a convolution operation.
  • the interval (or offset) at which the second matrix sequentially moves within the first matrix is referred to as a stride or step. It can be.
  • the elements of the third matrix may be numerical values obtained by applying an activation function to the result of performing a convolution operation between the first matrix and the second matrix.
  • the activation function may include a non-linear function such as a ReLU function or a sigmoid function.
  • the electronic device applies another kernel 216 different from the kernel 212 to the feature information 213 obtained by applying the kernel 212 to the image data 211, and provides feature information ( 214) can be obtained.
  • kernels of different sizes e.g., another kernel 216 and another kernel 217
  • the electronic device can obtain information from the image data 211.
  • a plurality of feature information having different sizes can be obtained.
  • the electronic device may repeat the above-described embodiment and obtain further feature information 215 using other kernels 218, based on the number of layers.
  • the electronic device can recognize the subject captured in the image data 211, independently of the size of the subject.
  • the electronic device is obtained from the image data 211 based on the portion 210 of the CNN 200 and includes a plurality of feature information 213, 214, 215 having different dimensions. ) can be processed based on the portion 220 of the CNN 200.
  • Portion 220 of CNN 200 may have a structure based on fully-connected layers.
  • Part 220 may include an input layer 221, one or more hidden layers 222, and an output layer 223.
  • the input layer 221 may receive a vector representing input data (eg, a vector with elements corresponding to the number of nodes included in the input layer 221). Signals generated by input data at each node in the input layer 221 may be transmitted from the input layer 221 to the hidden layers 222.
  • the output layer 223 may generate output data of the second neural network based on one or more signals received from the hidden layers 222.
  • the output data may include a vector having elements corresponding to the number of nodes included in the output layer 223.
  • One or more hidden layers 222 may be located between the input layer 221 and the output layer 223, and may convert input data transmitted through the input layer 221 into a value that is easy to predict.
  • the input layer 221, one or more hidden layers 222, and the output layer 223 may include a plurality of nodes.
  • One or more hidden layers 222 may be a convolutional filter or a fully connected layer in a convolutional neural network (CNN), or various types of filters or layers grouped based on special functions or characteristics. You can.
  • the neural network may include numerous hidden layers 222 to form a deep neural network. Training a deep neural network is called deep learning.
  • the deep neural network may include a first neural network and/or a second neural network. Among the nodes of the second neural network, nodes included in the hidden layers 222 are referred to as hidden nodes.
  • Nodes included in the input layer 221 and one or more hidden layers 222 may be connected to each other through connection lines with connection weights, and nodes included in the hidden layer and output layer may also be connected to each other through connection lines with connection weights. can be connected At least one layer can skip connection to the next layer. By skipping layers, you can increase accuracy by stacking layers deeper.
  • Tuning and/or learning a second neural network includes each of the layers included in the second neural network (e.g., an input layer 221, one or more hidden layers 222, and an output layer 223). This may mean changing the connection weight between nodes.
  • Nodes included in the input layer 221 and one or more hidden layers 222 may be connected to each other through connection lines with connection weights, and nodes included in the hidden layer and output layer may also be connected to each other through connection lines with connection weights.
  • Tuning of the neural network may be performed based on, for example, supervised learning and/or unsupervised learning.
  • the electronic device uses a second neural network to output data related to the location information of objects included in the image based on feature information extracted from image data transmitted through the input layer 221. It can be extracted through layer 223.
  • portion 220 may be trained to output information indicating the location of objects captured within image data 211 through output layer 223 .
  • portion 220 may be trained to output information representing the class of the object captured within image data 211 via output layer 223 .
  • the first neural network 121 of FIG. 1 and/or the second neural network 122 of FIG. 1 stored in the electronic device may correspond to portions 210 and 220 of the CNN 200. You can.
  • the second neural network 122 may include a neural network connecting a plurality of feature information having different dimensions between the parts 210 and 220 to the input layer 221 of the part 220.
  • FIG. 3 is an example diagram illustrating an operation in which an electronic device, according to an embodiment, recognizes one or more objects captured in image data through a first neural network and a second neural network stored in a memory.
  • the electronic device in FIG. 3 may be an example of the electronic device 101 in FIG. 1 .
  • the first neural network 121 and the second neural network 122 of FIG. 3 may include the first neural network 121 and the second neural network 122 of FIG. 1 .
  • the backbone neural network 320, the neck neural network 330, and the head neural network 340 that the electronic device acquires from memory e.g., memory 120 of FIG. 1).
  • the backbone neural network 320 may be the first neural network 121 of FIG. 1.
  • the neck neural network 330 and the head neural network 340 may be included in the second neural network 122 of FIG. 1 .
  • Backbone neural network 320 may correspond to portion 210 of CNN 200 in FIG. 2 .
  • Head neural network 340 may correspond to portion 220 of CNN 200 in FIG. 2 .
  • the electronic device changes the pretrained neural network selected by the user to include the backbone neural network 320, neck neural network 330, and/or head neural network shown in FIG. 3.
  • Network 340 can be obtained.
  • the backbone neural network 320, neck neural network 330, and/or head neural network 340 may be identified by user input.
  • the backbone neural network 320 may be a modification of a pre-trained neural network such as ResNet or MobileNetV2
  • the neck neural network 330 may use Feature Pyramid Networks for Object Detection (FPN). there is.
  • FPN Feature Pyramid Networks for Object Detection
  • the electronic device may obtain feature information (eg, another feature information 215 of FIG. 2) from the image data 310 through the backbone neural network 320.
  • the electronic device may extract the class and/or location information of at least one object captured in the image using a neural network (e.g., the first neural network 121 of FIG. 1).
  • objects captured in an image may include people, animals, plants, and/or inanimate objects.
  • the electronic device may indicate the location and/or size of the bounding box 360 corresponding to the object captured in the image data 310 through the location information.
  • the bounding box 360 may include the entire shape of the object and may represent coordinate values.
  • the embodiment is not limited thereto.
  • the backbone neural network 320 may include a block that is a sequential combination of a plurality of channels. Within the backbone neural network 320, a plurality of blocks may be interconnected. The block may be a sequence of convolution operations based on a kernel (e.g., kernels 212, 216, 217, and 218 in FIG. 2). The block may include a plurality of layers (or a plurality of feature information) having a matched number of channels by a plurality of kernels within the block. According to one embodiment, the electronic device may improve the performance of the backbone neural network 320 by adjusting the mutual coupling between the blocks.
  • a kernel e.g., kernels 212, 216, 217, and 218 in FIG. 2
  • the block may include a plurality of layers (or a plurality of feature information) having a matched number of channels by a plurality of kernels within the block.
  • the electronic device may improve the performance of the backbone neural network 320 by adjusting the mutual coupling
  • the electronic device may obtain information evaluating each of a plurality of blocks classified according to the size of the kernel and/or the number of channels.
  • the electronic device may change the source neural network based on the obtained information and obtain one or more blocks to be included in the backbone neural network 320.
  • the plurality of layers may include at least one function (eg, MBConv or 2D Conv) and/or at least one kernel (eg, kernels 212, 216, 217, and 218 in FIG. 2).
  • the electronic device may acquire a plurality of channels by using a plurality of kernels for image data 310 through the backbone neural network 320.
  • the plurality of channels may be equal to the number of kernels.
  • the sizes of the channels may vary depending on the size of the kernel.
  • One layer may include multiple channels. Layers with the same channel size can form at least one block.
  • the backbone neural network 320 may be configured by interconnection between a plurality of blocks.
  • the electronic device may classify feature information extracted through the backbone neural network 320 according to the scale of the feature information through the neck neural network 330.
  • the electronic device distributes feature information classified based on scale within the neck neural network 330 to different sub-neural networks included in the head neural network 340 (e.g., class sub-neural network 341, and/or bounding It can be input into the box subneural network 342).
  • the electronic device can identify a mapping between a plurality of feature information output from the backbone neural network 320 and the input layer of the head neural network 340. there is.
  • feature information of different scales may have different resolutions.
  • the large-scale feature information 332 has high resolution and may include low-level features such as edges and/or curves of an object.
  • the small-scale feature information 331 has low resolution and may include high-level features such as texture and/or part of an object.
  • the electronic device may transmit feature information classified by scale to the head neural network 340 through the neck neural network 330.
  • the electronic device may display object information 360 in image data 310 through the head neural network 340 based on at least one of the classified feature information.
  • the electronic device may output information indicating what kind of object the object is through the class subneural network 341.
  • the electronic device may output the location of the object in the form of a box through the bounding box subneural network 342.
  • the electronic device can display object information 360 from image data 310 input to the electronic device.
  • Image data 310 may be an image in which at least one object is captured.
  • Image data 310 may include different types of objects.
  • the electronic device can receive image data 310.
  • the electronic device receives image data 310 from an external electronic device, or an input device (e.g., keyboard, touch panel, or touch screen) or storage device (e.g., USB, external HDD, or external memory) connected to the electronic device.
  • Image data 310 may be obtained from an external storage device such as an external storage device such as an HDD, SSD, ROM, or RAM internal to an electronic device.
  • the electronic device can identify image data 310.
  • the electronic device uses a first neural network (e.g., the first neural network 121 in FIG. 1) indicated by first parameters stored in a memory (e.g., the memory 120 in FIG. 1).
  • object information included in the image data 310 can be obtained.
  • feature information including class and/or location information of an object included in the image data 310 may be obtained.
  • the electronic device may receive image data through an input layer through a first neural network and display feature information including object information through an output layer.
  • the electronic device extracts feature information using a second neural network (e.g., the second neural network 122 of FIG. 1) indicated by the second parameters stored in the memory 120. From this, information indicating the class and location of the object can be obtained. Information indicating the class and location of an object may be coordinate values where the object is located within the image.
  • the electronic device can classify feature information by scale using the neck neural network 330, and classifies the object by using the class sub-neural network 341 and/or the bounding box sub-neural network 342. Information about recognition and location of objects can be obtained.
  • the electronic device may provide the bounding box 360 to the outside in response to obtaining information about what kind of object the object is and information about the location of the object. For example, the electronic device may display what kind of object the object is in the image data 310 and display a bounding box 360 at the location of the object.
  • the electronic device 101 of FIG. 1 utilizes the first neural network 121 of FIG. 1 and the second neural network 122 of FIG. 1 to detect objects included in the image data 310.
  • a bounding box 360 related to object recognition may be displayed.
  • the electronic device 101 may obtain a class related to an object.
  • the electronic device 101 can visualize location information and provide it to the user.
  • FIG. 4 is a flowchart illustrating an operation in which an electronic device acquires an image for recognizing an object and recognizes the object based on the obtained information, according to an embodiment.
  • an electronic device may receive image data including at least one object.
  • the image data may indicate the location and color of a plurality of pixels.
  • image data may include a three-dimensional matrix based on the positions and colors of the plurality of pixels.
  • Elements included in the three-dimensional matrix may include colors of the plurality of pixels.
  • the positions of the elements within the three-dimensional matrix may indicate the positions of each of the plurality of pixels corresponding to the elements within the image data.
  • the electronic device may obtain first information using a first neural network including blocks of channels for processing image data.
  • the first neural network may be a backbone neural network (eg, backbone neural network 320 in FIG. 3) for obtaining feature information from image data.
  • the first neural network may include weights assigned to nodes and connections between nodes included in the input layer 221, one or more hidden layers 222, and the output layer 223 of FIG. 2. For example, the weights may be related to kernel size, number of channels, and number of layers.
  • the first neural network may include a kernel (e.g., kernel 212 in FIG. 2) and a channel obtained through the kernel from image data (e.g., image data 310 in FIG. 3), and the size of the channels may include blocks with at least one layer that is the same.
  • the size of the channels can be changed by weights assigned to connections between the nodes and can include the number of channels.
  • the sizes of the channels can be changed depending on parameters related to the size of the channels and/or kernel size, and can be expressed as a matrix.
  • the number of channels can be changed with the number of kernels.
  • the electronic device may establish interconnections between blocks included in the first neural network, including at least one layer with the same number of channels. Interconnection between the blocks can be changed by weight.
  • the first information may include different scales of image data.
  • the different scales may include resolution.
  • a higher resolution may include information such as edges and/or curves of the object captured in the image data
  • a lower resolution may include information such as the texture or portion of the object.
  • the first information may be obtained using at least one convolution operation from image data through a first neural network.
  • An electronic device may, based on a first neural network, perform at least one convolution operation from image data, establish interconnection between blocks having a plurality of channels, and have different resolutions.
  • 1 Information can be obtained.
  • the first information may be a plurality of feature information whose size is reduced by two times the size of the image data.
  • the electronic device obtains, using a second neural network for processing the first information, second information indicating the class of the at least one object and the location at which the at least one object was captured within the image data. can do.
  • the electronic device classifies first information with various resolutions in descending order of resolution through a second neural network (e.g., the second neural network 122 in FIG. 1), and selects information from the first information.
  • second information indicating the class of at least one object and the location where at least one object was captured can be obtained.
  • the second neural network may include part of the neck neural network 330 of FIG. 3 and the head neural network 340 of FIG. 3. Based on the second neural network, the electronic device may receive first information with different scales obtained through the first neural network and classify the first information according to the size of the scale.
  • the electronic device may obtain second information for object recognition from classified first information through a second neural network.
  • the second information for object recognition may include a class indicating the type of object captured in the image data, and location information of the object captured in the image data.
  • the second neural network is a class sub-neural network (e.g., class sub-neural network 341 in FIG. 3) for determining the class and/or a bounding box sub-neural network (e.g., class sub-neural network 341 in FIG. 3) that can display location information to the user. : May include the bounding box sub-neural network 342 of FIG. 3).
  • the electronic device may display a rectangle indicating the location of the object on the display screen based on information obtained from the bounding box subneural network 342.
  • the electronic device may output information indicating the class of the object based on information obtained from the class subneural network 341.
  • the electronic device may display at least one of text such as “dog” or a probability that the object corresponds to a specific class.
  • the electronic device can increase accuracy and/or speed compared to object recognition using a pre-trained neural network while changing the interconnection between blocks included in the first neural network. 5 to 10, which will be described later, the operation of changing the interconnection between blocks using parameters will be described.
  • FIG. 5 is a flowchart illustrating an operation in which an electronic device changes parameters included in a source neural network, according to an embodiment.
  • the electronic device in FIG. 5 may be an example of the electronic device 101 in FIG. 1 .
  • at least one of the operations 501, 502, 503, and 504 of FIG. 5 may be performed by the electronic device 101 and/or the processor 110 of FIG. 1.
  • the electronic device may identify the source neural network.
  • the electronic device can identify the source neural network selected by the user.
  • the source neural network may be a backbone neural network designed for image classification.
  • the backbone neural network designed for image classification may include a pre-trained neural network such as MobileNetV2 or Resnet.
  • an electronic device storing a neural network may store a pre-trained neural network depending on the type of the electronic device.
  • the electronic device may expand the source neural network to obtain a supernet.
  • the electronic device may acquire a supernet by expanding the backbone neural network 320 of FIG. 3.
  • the supernet may include parameters related to connections between candidate blocks included in the backbone neural network.
  • a supernet may be a neural network that combines various candidate blocks into one shared neural network and performs optimization.
  • a supernet may include a subneural network corresponding to at least one candidate block.
  • the electronic device may set a plurality of candidate blocks included in the source neural network as one shared block.
  • the shared block may include parameters representing weights, the number of channels, and/or kernel size that are learned to establish connections between layers included in the backbone neural network.
  • the electronic device may set a search space for searching the kernel size, number of channels, and number of layers among several parameters included in the source neural network composed of a supernet.
  • the search space may include at least one candidate operation for searching the kernel size, the size of the channel, and/or the number of channels.
  • the electronic device may be configured with a plurality of candidate operations, and/or a shared operation that is a set of a plurality of candidate blocks, and/or a shared block.
  • the electronic device may use the shared operation and/or the shared block to learn at least one parameter included in the neural network for channels included in the shared block.
  • the electronic device can skip connections between candidate blocks through the candidate operation.
  • the candidate operation may include a convolution operation, a skip operation, and/or a pooling operation.
  • the electronic device may use at least one function for every parameter to relax the search space into a continuous space.
  • the function used for all of the above parameters may be the SoftMax function.
  • the soft max function may be an activation function used in multi-class classification. Based on the soft max function, the electronic device can receive data classified into n classes as an n-dimensional vector and indicate the probability that the classified data belongs to the n classes.
  • the electronic device may learn weights related to the connection of a plurality of layers included in the backbone neural network using Equation 1.
  • Equation 1 may mean a shared operation, which is a set of candidate operations in the search space.
  • o in equation 1 is, It may be an element of (e.g., a candidate operation).
  • a parameter assigned to candidate operation o may be a parameter assigned to candidate operation o.
  • Can be referenced as an architecture parameter. is the l-1st operation It may mean characteristic information of . for example, may include information about convolution operation, pooling operation, and skip operation. exp means matrix exponential function.
  • at least one parameter included in the feature information 213 of FIG. 2 may be expressed as a matrix and/or vector.
  • the electronic device may obtain a probability for a candidate operation based on the soft max of Equation 1.
  • the electronic device uses the operation with the highest probability value among the candidate operations o, and uses the parameter with the highest value. Connections between candidate blocks can be established through operations with . For example, through the above operation, If the probability value for is largest for the convolution operation, then can be stored as a convolution operation.
  • the electronic device may learn parameters related to the interconnection between a plurality of candidate blocks included in the source neural network using Equation 2.
  • a block has channels of the same size and may refer to a sequence of operations using Equation 1.
  • the shared block may mean the sum of the weights of all candidate blocks with different sizes of channels. Is, It may mean the second shared block. may mean a parameter for establishing a connection between candidate blocks. may mean the order of the corresponding block.
  • n is It may mean the number of operations for Equation 1 calculated in . s may mean the stride of the convolution operation.
  • the size of channels can be determined by the stride of the convolution operation.
  • Is It has the size of the channel of the th candidate block (e.g., c in Equation 2), the number of n operations (e.g., o in Equation 1), and the stride s of the convolution operation. It may mean the second shared block.
  • the electronic device uses Equation 2 to determine the largest can be obtained, and connections of multiple blocks with different channel sizes can be established. For example, an electronic device may use zero-padding to establish connections between a plurality of blocks with different channel sizes. As the number of blocks included in the neural network increases, the number of calculations may increase linearly. For example, the electronic device can reduce the number of operations by using a heat vector with a value of 0 and/or the size of the largest channels. In FIGS. 6A and 6B described later, non-overlapping learning to reduce the number of operations and improve learning efficiency will be explained.
  • Equation 3 is, , has the minimum value for It can mean learning using the results of .
  • the function may be an example of a loss function.
  • the function may be referenced to the cross entropy error function and/or the mean squared error function. However, it is not limited to this.
  • the cross entropy error function and/or the mean squared error function may be an example of a function for learning a neural network (e.g., the backbone neural network of FIG. 2) using the difference between a plurality of probability distributions. Is To obtain w that has the minimum value of the function, , and It can mean. is described later in Equation 4.
  • Equation 4 may refer to the loss function for the neural network.
  • the loss function may include classification loss and/or regression loss.
  • w may refer to the weight used for learning.
  • w may refer to a parameter for the size of loss normalization. is in Equation 1 It can correspond to .
  • Equation 2 It can correspond to . is described later in Equation 5.
  • Equation 5 may mean the result of adding up the loss for the Kth shared block among a plurality of shared blocks. is in Equation 1 It can correspond to . is in Equation 2 It can correspond to . is in Equation 1 It can correspond to . is in Equation 2 It can correspond to . n may mean the operation order.
  • the electronic device is a parameter obtained from Equation 1 and the parameters obtained from Equation 2 Using , the supernet structure of the source neural network can be optimized.
  • the electronic device may use the weight w for learning included in the source neural network, based on Equation 3.
  • the electronic device may learn at least one parameter using first learning and/or second learning having the same amount of data computation within the processor.
  • the electronic device based on bi-level optimization of Equation 3, parameters , parameter , and/or the weight w can be adjusted. For example, the electronic device can improve the accuracy of the source neural network by learning the weight w. After the accuracy is improved, the electronic device, parameters , and parameters Learning about and learning about the weight w can be alternatively trained.
  • the electronic device has parameters , and parameters can be trained as upper-level variables of the dual-level optimization, and the weight w as a lower-level variable of the dual-level optimization.
  • the electronic device may use Multiply-Adds operations (Madds) to perform the dual-level optimization.
  • Madds Multiply-Adds operations
  • the electronic device may perform the dual-level optimization to optimize a source neural network composed of a supernet.
  • the above parameters and/or parameters may include information about the convolution operation, kernel size, number of channels, and number of layers.
  • the electronic device may map the searched parameters and parameters of the source neural network.
  • the electronic device configures a source neural network as a supernet, uses parameters discovered through optimization of the supernet, and selects at least one parameter included in the source neural network as the discovered parameter. It can be changed to .
  • parameters may include kernel size, number of channels, and number of layers. The operation of mapping each parameter is described in FIGS. 8 to 10 described later.
  • an electronic device including a first neural network can improve the speed for object recognition by reducing the number of calculations.
  • the electronic device can change the source neural network and improve the accuracy of object recognition by utilizing the interconnection of candidate blocks optimized for object recognition.
  • FIGS. 6A and 6B are exemplary diagrams illustrating learning of parameters related to the number of channels included in candidate blocks by an electronic device, according to an embodiment.
  • the channels may be examples of channels included in at least one layer 220 of FIG. 2 .
  • the at least one layer 220 may be included in the first neural network 121 of FIG. 1.
  • the sizes of channels included in one layer may be the same.
  • the size of the channels may include the size of the channels and the number of channels.
  • the electronic device sets the parameter Obtain and the obtained parameters Using , the channels included in the first neural network can be learned through overlapping learning.
  • the first parameter 611 may be an example of a parameter corresponding to the first channels 612.
  • the second parameter 621 may be an example of a parameter corresponding to the second channels 622.
  • the third parameter 631 may be a parameter corresponding to the third channels 632.
  • the parameters 611, 621, and 631 are parameters obtained from Equation 2 in FIG. 5 may be included in
  • each channel (612, 622, 632) can be accumulated and learned using overlapping learning.
  • the third channels 632 may include first channels 612 and/or second channels 622.
  • the second channels 622 may include the first channels 612 .
  • the electronic device can obtain one operation using parameters corresponding to channels and can learn the first neural network by adding up each operation 610, 620, and 630.
  • the electronic device may learn by accumulating the first channels 612 included in the first operation 610 to the second channels 622 included in the second operation 620.
  • the electronic device adds the weights for the first channels 612 obtained through the first operation 610 and the weights for the second channels 622 obtained through the second operation 620. You can.
  • the electronic device may add the weights for the second channels 622 obtained through the second operation 620 and the weights obtained through the third operation 630.
  • the electronic device may repeat learning for the first channels 612 by adding the weights for the first channels 612 .
  • the electronic device may learn less about the newly added channels in the third channels 632 than with the first channels 612.
  • the electronic device may configure a supernet to change parameters included in the first neural network and utilize overlapping learning to optimize the supernet. For example, weights of channels learned using overlapping learning may be accumulated in the first channels 612. By utilizing overlapping learning in which learning for the first channels 612 is accumulated, the electronic device can establish interconnection with a candidate block different from the optimal candidate block.
  • the electronic device sets the parameter can be obtained and learned through non-overlapping learning.
  • each channel 642, 652, and 662 can be learned equally using non-overlapping learning.
  • the fifth channels 652 included in the fifth operation 650 may be a plurality of channels excluding the first channels 612 from the second channels 622.
  • the sixth channels 662 included in the sixth operation 660 may be channels excluding the first channels, second channels, and channels learned in the previous operation.
  • the electronic device may train the first neural network based on the fourth operation 640, the fifth operation 650, and/or the sixth operation 660. For example, after the fourth operation, the electronic device converts the first channels 612 included in the fourth operation 640 into channels other than the first channels from the second channels included in the fifth operation 650. 652 can be learned. For example, the electronic device may select the first weight for the first channels 612 obtained through the fourth operation 640 and the first channels from the second channels obtained through the fifth operation 650. Second weights for the excluded channels 652 may be obtained.
  • the electronic device sets a second weight for the channels 652 excluding the first channels from the obtained second channels, and through the sixth operation 630, the first channel Third weights for channels 662 that are different from the channels 612 and the second channels 622 may be obtained. Using the obtained plurality of weights, the electronic device can equally learn the plurality of channels 612, 652, and 662.
  • the electronic device can learn between channels through non-overlapping learning and can use a matrix to perform learning.
  • the matrix for performing the learning may be the Hadamard Matrix.
  • the electronic device may acquire a supernet to change parameters included in the first neural network and utilize non-overlapping learning to optimize the supernet. For example, the electronic device can equally learn each channel by utilizing the non-overlapping learning. The electronic device can establish interconnections between optimal candidate blocks.
  • the electronic device can use non-overlapping learning to establish optimal interconnection between candidate blocks through equal learning of the channels constituting the candidate blocks included in the neural network, and to recognize objects. accuracy can be increased.
  • FIG. 7 is an example diagram illustrating the establishment and/or change of interconnection of candidate blocks included in a neural network by an electronic device according to an embodiment.
  • the candidate block may be included in the first neural network 121 of FIG. 1.
  • Directed acyclic graphs 710, 720, and 730 may refer to graphs in which a plurality of feature information included in a candidate block is connected in a specific direction.
  • the electronic device may obtain a plurality of feature information 711, 712, 713, and 714 from image data (e.g., image data 310 of FIG. 3) through a first neural network, and the feature information may include some of the parameters in operation 503 of FIG. 5.
  • feature information may include kernel size and number of channels.
  • the operation 715 included in the first graph 710 may include at least one operation.
  • the operation 715 may include a convolution operation and/or a pooling operation, and may skip connections between candidate blocks. However, it is not limited to the above-described examples.
  • the electronic device may perform calculation 715 using Equation 1 in operation 503 of FIG. 5 .
  • Operation 715 may refer to interconnection between a plurality of feature information pieces 711, 712, 713, and 714.
  • the electronic device generates a plurality of feature information 711, 712, 713, and 714 from image data through a first neural network based on a kernel (e.g., kernel 212 in FIG. 2). can be obtained.
  • One feature information among the plurality of feature information may correspond to one channel.
  • the plurality of feature information 711, 712, 713, and 714 may include the texture, part of the object, curve, and/or edge of the object captured in the input image data.
  • the electronic device may classify the plurality of feature information 711, 712, 713, and 714 according to scale.
  • the scale may include the size and resolution of the image.
  • the electronic device may obtain a plurality of feature information 711, 712, 713, and 714 based on the first neural network.
  • the electronic device may interconnect the plurality of feature information pieces 711, 712, 713, and 714 using at least one operation 715.
  • the electronic device may utilize the operation 715 as a function to connect discrete feature information.
  • the soft max function 721 can be used.
  • the electronic device may modify at least one operation 715 to be differentiable based on the soft max function 721.
  • the electronic device uses the differentiable modified operation 715 using gradient descent to find optimal parameters for establishing interconnection between a plurality of feature information, Learning can be done.
  • An electronic device can use gradient descent to find the minimum value using the slope of at least one function.
  • the electronic device may configure a plurality of feature information 711, 712, 713, and 714 into a supernet based on the soft max function 721.
  • the electronic device can learn at least one parameter for selecting one of the at least one operation 715.
  • the electronic device can optimize the parameters using bi-level optimization.
  • the electronic device uses Equation 1 in FIG. 5 based on the first neural network to determine the largest You can select an operation with .
  • the electronic device acquires parameters for establishing interconnection between a plurality of feature information 711, 712, 713, and 714 based on the first neural network. You can. For example, the electronic device may select an operation corresponding to the parameter with the largest value obtained through learning to interconnect the first characteristic information 711 and the second characteristic information 712. The electronic device can select one operation among the at least one operation 715 and remove the unselected operation. For example, although not shown, a case may be included in which interconnection between a plurality of feature information is not established.
  • the electronic device in response to the establishment of a connection between a plurality of interconnected feature information 711, 712, 713, and 714 in the third graph 730, changes the feature information to be differentiable.
  • the form can be changed to a discrete form.
  • the electronic device can learn the first neural network based on the interconnection between the plurality of feature information 711, 712, 713, and 714.
  • the learned first neural network may be an example of a neural network for object recognition.
  • the first neural network may be referenced to a backbone neural network, which is part of a neural network for object recognition.
  • FIG. 8 is an example diagram illustrating adjustment of the size of a kernel included in a neural network by an electronic device according to an embodiment.
  • an electronic device may receive image data based on a first neural network stored in a memory and obtain feature information through at least one kernel.
  • the electronic device can change the size of the channel according to the size of the kernel. For example, the electronic device can change a channel that is a 4x4 matrix into a channel that is a 2x2 matrix using a kernel that is a 3x3 matrix and a convolution operation with a stride of 1.
  • the electronic device may set at least one kernel size to recognize information about an object captured in image data based on the first neural network.
  • an electronic device may represent the kernel size as a matrix, which may be a matrix with a size of 3x3.
  • a matrix which may be a matrix with a size of 3x3.
  • the size of the first kernel 811 included in the first neural network may be larger than the size of the first search kernel 812.
  • the size of the first kernel 811 can be expressed as a 4x4 matrix
  • the size of the first search kernel 812 can be expressed as a 2x2 matrix.
  • the position of each matrix of the first kernel 811 may include some of the feature information extracted from the image data 211.
  • the extracted feature information may include a texture, part, and/or edge of an object captured in the image data.
  • the electronic device when the size of the first kernel 811 is larger than the size of the first search kernel 812, installs the first search kernel 812 in the center of the first kernel 811.
  • the first kernel 811 with a size of 4x4 maps the first search kernel 812 with a size of 2x2 in the central part, and the unmapped part in the first size mapping 810.
  • a kernel with a size of 2x2 for the first channel can be obtained.
  • the electronic device maps a second search kernel 822 with a size of 4x4 and a second kernel 821 with a size of 2x2, the electronic device includes the first neural network.
  • the electronic device uses a second search kernel 822 to recognize information about the object captured in the image from the image data based on the first neural network.
  • the size of the second kernel 821 included in the first neural network may be a 2x2 matrix.
  • the electronic device may map the second kernel 821 to the center of the second search kernel 822 and assign a certain value to the remaining unmapped portion. For example, an electronic device may use zero-padding, which sets the remaining portion to a value of 0. As an example, the electronic device includes the second kernel 821 as a 4x4 matrix that includes an operation result mapped to a 2x2 size corresponding to the second search kernel 822, and the remaining part is assigned a 0 value. It can be expressed as However, it is not limited to the above-described embodiment.
  • the electronic device may use one of the parameters obtained in operation 503 of FIG. 5 to learn parameters corresponding to the first search kernel and/or the second search kernel.
  • Parameters may include information related to kernel size.
  • the electronic device learns at least one parameter and uses the learned parameter to search for an optimized neural network for object recognition, using a first search kernel 812 and/or The size of the second search kernel 822 can be set.
  • the electronic device may include a plurality of candidate blocks including a plurality of channels based on a first neural network.
  • the candidate block includes a plurality of layers, and a plurality of channels included in the candidate block may have the same size.
  • the electronic device may establish interconnections between candidate blocks with various channel sizes based on the kernel size.
  • FIG. 9 is an example diagram illustrating an electronic device adjusting the number of channels included in a neural network according to an embodiment.
  • the electronic device may receive image data and obtain feature information through a kernel based on the first neural network stored in the memory.
  • the characteristic information may be referenced to a channel.
  • the number of channels can be adjusted.
  • the kernel may include a convolution operation.
  • the electronic device may map the channel with the kernel, adjust the number of channels based on the number of kernels, and/or modify the size of the channels based on the kernel size.
  • the electronic device may adjust the number of channels constituting at least one block included in the first neural network.
  • the block may be an example of MBConv.
  • the first neural network may be a modified neural network using a pre-trained neural network.
  • the pre-trained neural network may be an example of MobileNetV2, and/or ResNet.
  • the block may include a parameter related to the number of channels.
  • the parameter may be included in at least one parameter to be learned in operation 503 of FIG. 5.
  • the electronic device may learn the at least one parameter based on Equation 2, and/or may adjust the number of channels constituting a block using the learned parameter.
  • the electronic device may obtain a plurality of channels from image data using at least one kernel based on the first neural network.
  • the channels may contain different information. For example, one channel may have a high resolution for image data, and a different channel may have a lower resolution.
  • the electronic device may reduce the number of channels using learned parameters. For example, the electronic device may remove at least one channel from among a plurality of channels included in at least one block based on a learned parameter. For example, the at least one removed channel may be the last channel among a plurality of channels included in the at least one block.
  • the electronic device can learn the learned parameters based on Equation 2 in operation 503 of FIG. 5.
  • the electronic device may increase the number of channels using learned parameters. For example, the electronic device may generate at least one channel among a plurality of channels included in at least one block based on learned parameters. For example, the at least one created channel may be the same as the last channel among a plurality of channels included in the at least one block. As another example, the electronic device may create at least one channel using zero padding.
  • the electronic device acquires various characteristic information of the object captured in the image data through the first channel mapping 910, the second channel mapping 920, and/or the third channel mapping 930. You can.
  • the electronic device may receive the image data through a first neural network, acquire a plurality of channels based on a kernel, and change the first neural network by adjusting the number of acquired channels.
  • the modified first neural network may be a backbone neural network optimized for a neural network for recognizing information about objects in an image.
  • an electronic device can use a neural network to recognize information about objects in an image.
  • the neural network may be a pre-trained neural network such as SSDLite, and/or Retinanet.
  • the optimized backbone neural network may be included in the pre-trained neural network.
  • An electronic device including a first neural network may improve the speed and/or accuracy of recognizing objects captured in an image by adjusting the number of channels included in the first neural network.
  • FIG. 10 is an example diagram illustrating an electronic device adjusting the number of layers included in a neural network according to an embodiment.
  • the electronic device may obtain a plurality of layers obtained based on the first neural network 121 of FIG. 1.
  • the plurality of layers may be part of a block with the same channel size included in the first neural network 121, and may include a convolution operation.
  • the number of layers may be set differently for each block included in the first neural network 121.
  • the electronic device adjusts the number of layers of the first neural network using at least one parameter related to the kernel size, number of channels, and number of layers. You can. For example, the electronic device can remove the first layer 1021 using the above parameter.
  • the first layer 1021 may be the last layer among a plurality of layers included in one block.
  • the electronic device may add the second layer 1031.
  • the electronic device may generate at least one layer in the second layer that is the same as the last layer among a plurality of layers included in one of the plurality of blocks included in the first neural network.
  • the electronic device may vary and change the interconnections between a plurality of blocks included in the first neural network. For example, according to the above-described embodiment, the electronic device adjusts some layers of a plurality of blocks, re-establishes interconnection of the adjusted blocks, and adjusts the number of layers of the first neural network to create a changed first neural network.
  • a neural network can be obtained.
  • the modified first neural network may be an example of a backbone neural network optimized for recognizing objects captured in images.
  • Neural network type backbone neural network Number of parameters Average Accuracy (%) Handcrafted MobileNetV2 11.49M 32.8 ResNet-50 37.97M 35.5 NAS DetNas 13.41M 33.3 FNA 11.73M 33.9 1st neural network 11.63M 35.5
  • Hand-crafted refers to a neural network designed by the user.
  • NAS Neurological Architecture Search
  • Average accuracy refers to mean average precision (mAP), and may refer to the accuracy of information about objects captured in the image when image data is input through a neural network included in an electronic device.
  • the first neural network stored in the memory of the electronic device may correspond to MobileNetV2 and/or ResNet-50.
  • MobileNetV2 is a neural network suitable for devices such as mobiles with low capacity and/or data computation
  • ResNet-50 can be used for electronic devices with large capacity and/or data computation, such as computers.
  • the neural network for object recognition including the first neural network and/or the second neural network stored in the memory, may be a neural network set based on FNA.
  • the electronic device may set MobileNetV2 as the backbone neural network.
  • the electronic device configures the backbone neural network as a supernet, learns at least one parameter included in the backbone neural network, and establishes a kernel and interconnection of a plurality of blocks included in the backbone neural network.
  • the adjusted backbone neural network may be referenced to the first neural network in Table 1 above.
  • the first neural network may include a similar number of parameters (11.63M) as the number of parameters of MobileNetV2 (11.49M), and may have the same accuracy (35.5%) as that of ResNet-50 (35.5%).
  • higher accuracy can be achieved by using a smaller number of parameters compared to DesNas.
  • an electronic device may adjust the interconnection, kernel size, and number of layers of blocks of a backbone neural network included in the electronic device, and operate to increase and/or decrease the number of channels. Based on this, it is possible to adjust an optimized backbone neural network that can improve accuracy using fewer parameters for object recognition.
  • the electronic device includes a memory for storing instructions and at least one processor operably coupled to the memory, wherein the at least one processor is configured to execute the instructions.
  • first information is extracted from the image using a first neural network including blocks of channels for processing the image based on a convolution operation.
  • second information indicating the class of the at least one object and the location at which the at least one object was captured within the image, using a second neural network to obtain and process the obtained first information;
  • the first neural network may be obtained by learning the third information indicating the kernel size for the convolution operation, the number of channels, and the number of layers.
  • the first neural network may be obtained by adjusting the number of at least one layer included in the block based on the third information.
  • the first neural network may learn the remaining channels after at least one channel among the channels included in the block is learned.
  • the first neural network for a third neural network for obtaining the first information from the image, based on the number of channels of the blocks selected based on the third information, 3 It can be obtained by adjusting the number of channels of the neural network.
  • the first neural network for a third neural network including channels less than the number of channels of the blocks selected based on the third information, determines the number of channels of the blocks in the third neural network. It can be obtained by adding one or more channels based on it.
  • the first neural network is configured to, with respect to a third neural network including channels exceeding the number of channels of the blocks selected based on the third information, the channel included in the third neural network It can be obtained by removing one or more of the channels.
  • the first neural network adjusts the kernel size of the third neural network based on the kernel size of the blocks selected based on the third information, can be obtained.
  • the first neural network for a third neural network including channels smaller than the kernel size selected based on the third information, excludes the kernel size selected in the third neural network. It can be obtained by adding random noise to the part.
  • the first neural network with respect to a third neural network including channels larger than the kernel size selected based on the third information, the remaining portion excluding the kernel size selected in the third neural network It can be obtained by removing .
  • the first neural network selects the blocks included in the third neural network based on the number of layers of the blocks selected based on the third information. It can be obtained by adjusting the number of layers.
  • the first neural network includes at least one layer as many as the number of layers selected in the third neural network, with respect to a third neural network including more than the number of layers selected based on the third information. It can be obtained by adding a layer of .
  • the first neural network is, for a third neural network including fewer layers than the number of layers selected based on the third information, at least as many as the number of layers selected in the third neural network. It can be obtained by removing one layer.
  • the second neural network includes a fourth neural network that acquires channels with various kernel sizes included in the first information, and based on the obtained channels, the second neural network It may include a fifth neural network that acquires information.
  • a method of an electronic device includes an operation of identifying a neural network for recognizing an object from an image in which at least one object is captured, the number of channels constituting a block included in the identified neural network (numbers) ), an operation to obtain candidate information for, based on recognition of the object, an operation to obtain feedback information for learning the neural network, and based on the feedback information, interconnection between the blocks It may include actions that change .
  • the candidate information about the number of channels includes information for changing the number of channels for recognizing an object from a channel obtained from the image through at least one layer included in the block. It can be included.
  • the feedback information may further add change information about the kernel size and number of layers included in the block.
  • the interconnection between the blocks may be established by adjusting the number of channels, kernel size, and number of layers based on the feedback information, and at least one connection between the blocks can be established. there is.
  • a computer readable storage medium storing one or more programs
  • the one or more programs when executed by a processor of an electronic device, generate an image in which at least one object is captured.
  • Obtaining second information indicating the class of the at least one object and the location at which the at least one object was captured within the image, using a second neural network for processing, the first neural network comprising: instructions that cause the electronic device to be assigned to candidate blocks and to be selected from the candidate blocks based on third information related to the number of channels of the candidate blocks, and to cause the electronic device to be an interconnection of the blocks. can do.
  • a method of an electronic device includes an operation of receiving an image in which at least one object is captured, a first neural network including blocks of channels for processing the image based on a convolution operation. Obtaining first information from the image using a network, and using a second neural network to process the obtained first information, the class of the at least one object, and the at least one object in the image. and obtaining second information indicating a location at which an object was captured, wherein the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks based on the third information. , may be an interconnection of the blocks selected from the candidate blocks.
  • devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • a processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • OS operating system
  • a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
  • a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

An electronic device according to an embodiment comprises a memory for storing instructions and at least one processor operably coupled to the memory, wherein the at least one processor may be configured to, when the instructions are executed: receive an image obtained by capturing at least one object; obtain first information from the image by using a first neural network including blocks of channels for processing the image, on the basis of a convolution operation; and obtain a class of the at least one object and second information indicating a location where the at least one object is captured within the image, by using a second neural network for processing the obtained first information, wherein the first neural network may be an interconnection of the blocks selected from among candidate blocks, on the basis of third information related to the number of channels of the candidate blocks and allocated to the candidate blocks. Various other embodiments are possible.

Description

이미지 데이터로부터 객체를 식별하기 위한 전자 장치, 방법 및 컴퓨터 판독 가능 저장 매체Electronic devices, methods, and computer-readable storage media for identifying objects from image data
본 문서에 개시되는 다양한 실시예들은 이미지 데이터에 캡쳐 된 객체를 식별하기 위한 전자 장치, 방법 및 컴퓨터 판독 가능 기록 매체에 관련된다.Various embodiments disclosed herein relate to electronic devices, methods, and computer-readable recording media for identifying objects captured in image data.
이미지 객체 인식 기술이 발달함에 따라, 다양한 형태의 서비스가 출현하고 있다. 상기 서비스는 자율 주행(Automatic Driving), 증강 현실(Augmented Reality), 가상 현실(Virtual Reality), 메타 버스(Metaverse)등에 사용될 수 있고, 스마트폰과 같이 서로 다른 사용자에 의해 소유되는 전자 장치를 통해 제공될 수 있다. 상기 서비스는, 인공 지능(artificial intelligence)과 같이, 사람의 행동 및/또는 사고를 모방하는 하드웨어 및/또는 소프트웨어 메커니즘과 관련될 수 있다. 인공 지능과 관련된 기술은, 생물의 신경망을 시뮬레이션한 뉴럴 네트워크를 이용하는 기술을 포함할 수 있다.As image object recognition technology develops, various types of services are emerging. The service can be used for automatic driving, augmented reality, virtual reality, metaverse, etc., and is provided through electronic devices owned by different users, such as smartphones. It can be. The services may involve hardware and/or software mechanisms that mimic human behavior and/or thinking, such as artificial intelligence. Technologies related to artificial intelligence may include technologies that use neural networks that simulate the neural networks of living things.
뉴럴 네트워크에 기반하는 이미지 객체 인식을 수행하고자 하는 경우, 전자 장치 내에 저장된 뉴럴 네트워크를 이용하여, 상기 뉴럴 네트워크에 포함된 채널들의 수와 관련된 파라미터를 조정하여, 이미지 내에 캡쳐 된 객체의 인식 정확도, 속도를 극대화하도록 뉴럴 네트워크를 변경하는 방안이 요구될 수 있다. 본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.If you want to perform image object recognition based on a neural network, use the neural network stored in the electronic device to adjust parameters related to the number of channels included in the neural network to achieve recognition accuracy and speed of objects captured in the image. A method of changing the neural network to maximize may be required. The technical problem to be achieved in this document is not limited to the technical problem mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. There will be.
다양한 실시예에 따른, 전자 장치(electronic device)는, 인스트럭션들을 저장하기 위한 메모리, 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 때에, 적어도 하나의 객체가 캡쳐 된 이미지를 수신하고, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고, 및 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 상기 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)일 수 있다.According to various embodiments, an electronic device includes a memory for storing instructions, and at least one processor operably coupled to the memory, wherein the at least one processor includes: When the instructions are executed, receive an image in which at least one object is captured, and use a first neural network including blocks of channels to process the image based on a convolution operation, Obtaining first information from, and using a second neural network to process the obtained first information, the class of the at least one object and the location at which the at least one object was captured within the image Obtaining second information indicating, the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks, based on third information, selected from the candidate blocks, It may be an interconnection.
다양한 실시예에 따른, 전자 장치의 방법에 있어서, 적어도 하나의 객체가 캡쳐 된 이미지로부터 객체를 인식하기 위한 뉴럴 네트워크를 식별하는 동작, 상기 식별된 뉴럴 네트워크에 포함된 블록을 구성하는 채널들의 수(numbers)에 대한 후보 정보를 획득하는 동작, 상기 객체의 인식에 기반하여, 상기 뉴럴 네트워크를 학습하기 위한 피드백 정보를 획득하는 동작, 상기 피드백 정보에 기반하여, 상기 블록들 사이의 상호 연결(interconnection)을 변경하는 동작을 포함할 수 있다.According to various embodiments, a method of an electronic device includes an operation of identifying a neural network for recognizing an object from an image in which at least one object is captured, the number of channels constituting a block included in the identified neural network ( An operation of acquiring candidate information for (numbers), an operation of obtaining feedback information for learning the neural network based on recognition of the object, and an interconnection between the blocks based on the feedback information It may include actions that change .
일 실시예에 따른, 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 적어도 하나의 객체가 캡쳐 된 이미지를 수신하고, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고, 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)인, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.According to one embodiment, a computer readable storage medium storing one or more programs, the one or more programs, when executed by a processor of an electronic device, receives an image in which at least one object is captured. and obtain first information from the image using a first neural network including blocks of channels for processing the image based on a convolution operation, and process the obtained first information. Using a second neural network to obtain second information indicating the class of the at least one object and the location at which the at least one object was captured within the image, the first neural network is configured to obtain a candidate block instructions that cause the electronic device to be assigned to a block and to be selected from the candidate blocks based on third information related to the number of channels of the candidate blocks. there is.
일 실시예에 따른, 전자 장치의 방법은, 적어도 하나의 객체가 캡쳐 된 이미지를 수신하는 동작, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하는 동작, 및 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하는 동작들을 포함하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)일 수 있다.According to one embodiment, a method of an electronic device includes an operation of receiving an image in which at least one object is captured, a first neural network including blocks of channels for processing the image based on a convolution operation. Obtaining first information from the image using a network, and using a second neural network to process the obtained first information, the class of the at least one object, and the at least one object in the image. and obtaining second information indicating a location at which an object was captured, wherein the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks based on the third information. , may be an interconnection of the blocks selected from the candidate blocks.
다양한 실시예들에 따른 전자 장치, 그 방법 및 컴퓨터 판독 가능 기록 매체는, 전자 장치내에 저장된 뉴럴 네트워크에 기반하여, 이미지 내에 캡쳐 된 객체의 인식 정확도, 속도를 극대화하도록, 채널들의 수, 커널 크기, 레이어들의 수를 조정하여 상기 뉴럴 네트워크를 변경할 수 있다.An electronic device, method, and computer-readable recording medium according to various embodiments include the number of channels, kernel size, and The neural network can be changed by adjusting the number of layers.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도 1은, 일 실시예(an embodiment)에 따른 전자 장치의 블록도이다.1 is a block diagram of an electronic device according to an embodiment.
도 2는, 도 1의 제1 뉴럴 네트워크, 및 제2 뉴럴 네트워크의 구조를, 콘볼루션 뉴럴 네트워크에 기반하여 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining the structures of the first neural network and the second neural network of FIG. 1 based on a convolutional neural network.
도 3은, 일 실시예에 따른 전자 장치가, 메모리 내에 저장된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 통해, 이미지 데이터 내에 캡쳐 된 하나 이상의 객체들을 인식하는 동작을 설명하기 위한 예시도이다.FIG. 3 is an example diagram illustrating an operation in which an electronic device, according to an embodiment, recognizes one or more objects captured in image data through a first neural network and a second neural network stored in a memory.
도 4는, 일 실시예에 따른, 전자 장치가 객체를 인식하기 위한 이미지를 획득하고, 획득된 이미지에 기반하여, 객체 인식하는 동작을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating an operation in which an electronic device acquires an image for recognizing an object and recognizes the object based on the acquired image, according to an embodiment.
도 5는, 일 실시예에 따른, 전자 장치가, 소스 뉴럴 네트워크에 포함된 파라미터를 변경하는 동작을 설명하기 위한 흐름도이다.FIG. 5 is a flowchart illustrating an operation in which an electronic device changes parameters included in a source neural network, according to an embodiment.
도 6a 내지 도 6b는, 일 실시예에 따른, 전자 장치가 후보 블록들에 포함된 채널들의 수와 관련된 파라미터의 학습을 설명하기 위한 예시도이다.FIGS. 6A and 6B are exemplary diagrams illustrating learning of parameters related to the number of channels included in candidate blocks by an electronic device, according to an embodiment.
도 7은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 후보 블록들의 상호 연결의 수립 및/또는 변경을 설명하기 위한 예시도이다.FIG. 7 is an example diagram illustrating the establishment and/or change of interconnection of candidate blocks included in a neural network by an electronic device according to an embodiment.
도 8은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 커널 크기의 조정(mapping)을 설명하기 위한 예시도이다.FIG. 8 is an example diagram illustrating adjustment (mapping) of the kernel size included in a neural network of an electronic device according to an embodiment.
도 9는, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 채널들의 수의 조정을 설명하기 위한 예시도이다.FIG. 9 is an example diagram illustrating an electronic device adjusting the number of channels included in a neural network according to an embodiment.
도 10은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 레이어들의 수의 조정을 설명하기 위한 예시도이다.FIG. 10 is an example diagram illustrating an electronic device adjusting the number of layers included in a neural network according to an embodiment.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are merely illustrative for the purpose of explaining the embodiments according to the concept of the present invention. They may be implemented in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can make various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, a first component may be named a second component, without departing from the scope of rights according to the concept of the present invention, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between. Expressions that describe the relationship between components, such as “between”, “immediately between” or “directly adjacent to”, should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is only used to describe specific embodiments and is not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate the presence of a described feature, number, step, operation, component, part, or combination thereof, and one or more other features or numbers, It should be understood that this does not exclude in advance the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. However, the scope of the patent application is not limited or limited by these examples. The same reference numerals in each drawing indicate the same members.
도 1은 일 실시예에 따른 전자 장치의 블록도이다. 도 1을 참고하면, 일 실시예에 따른 전자 장치(101)는 프로세서(110), 메모리(120), 디스플레이(130) 또는 통신 회로(140) 중 적어도 하나를 포함할 수 있다. 프로세서(110), 메모리(120), 디스플레이(130) 및 통신 회로(140)는 통신 버스(a communication bus)와 같은 전자 소자(electronical component)에 의해 서로 전기적으로 및/또는 작동적으로 연결될 수 있다(electronically and/or operably coupled with each other). 전자 장치(101)에 포함된 하드웨어 컴포넌트의 타입 및/또는 개수는 도 1에 도시된 바에 제한되지 않는다. 예를 들어, 전자 장치(101)는 도 1에 도시된 하드웨어 컴포넌트 중 일부(예, 프로세서(110), 및 메모리(120))만 포함할 수 있다.1 is a block diagram of an electronic device according to an embodiment. Referring to FIG. 1 , the electronic device 101 according to one embodiment may include at least one of a processor 110, a memory 120, a display 130, or a communication circuit 140. Processor 110, memory 120, display 130, and communication circuit 140 may be electrically and/or operatively connected to each other by an electronic component, such as a communication bus. (electronically and/or operably coupled with each other). The type and/or number of hardware components included in the electronic device 101 are not limited to those shown in FIG. 1 . For example, the electronic device 101 may include only some of the hardware components shown in FIG. 1 (eg, the processor 110 and the memory 120).
일 실시예에 따른 전자 장치(101)의 프로세서(110)는 하나 이상의 인스트럭션들(one or more instructions)에 기반하여 데이터를 처리하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 데이터를 처리하기 위한 하드웨어 컴포넌트는, 예를 들어, ALU(Arithmetic and Logic Unit), FPGA(Field Programmable Gate Array) 및/또는 CPU(Central Processing Unit)를 포함할 수 있다. 프로세서(110)의 개수는 하나 이상일 수 있다. 예를 들어, 프로세서(110)는 듀얼 코어(dual core), 쿼드 코어(quad core) 또는 헥사 코어(hexa core)와 같은 멀티-코어 프로세서의 구조를 가질 수 있다.The processor 110 of the electronic device 101 according to one embodiment may include hardware components for processing data based on one or more instructions. Hardware components for processing data may include, for example, an Arithmetic and Logic Unit (ALU), a Field Programmable Gate Array (FPGA), and/or a Central Processing Unit (CPU). The number of processors 110 may be one or more. For example, the processor 110 may have the structure of a multi-core processor, such as a dual core, quad core, or hexa core.
일 실시예에 따른 전자 장치(101)의 메모리(120)는 프로세서(110)에 입력 및/또는 출력되는 데이터 및/또는 인스트럭션을 저장하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 메모리(120)는, 예를 들어, RAM(Random-Access Memory)와 같은 휘발성 메모리(Volatile Memory) 및/또는 ROM(Read-Only Memory)와 같은 비휘발성 메모리(Non-Volatile Memory)를 포함할 수 있다. 휘발성 메모리는, 예를 들어, DRAM(Dynamic RAM), SRAM(Static RAM), Cache RAM, PSRAM (Pseudo SRAM) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는, 예를 들어, PROM(Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), 플래시 메모리, 하드디스크, 컴팩트 디스크, eMMC(Embedded Multi Media Card) 중 적어도 하나를 포함할 수 있다.The memory 120 of the electronic device 101 according to an embodiment may include hardware components for storing data and/or instructions input and/or output to the processor 110. The memory 120 may include, for example, volatile memory such as random-access memory (RAM) and/or non-volatile memory such as read-only memory (ROM). there is. Volatile memory may include, for example, at least one of Dynamic RAM (DRAM), Static RAM (SRAM), Cache RAM, and Pseudo SRAM (PSRAM). Non-volatile memory may include, for example, at least one of PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), flash memory, hard disk, compact disk, and eMMC (Embedded Multi Media Card). You can.
일 실시예에 따른 전자 장치(101)의 메모리(120) 내에서, 프로세서(110)가 데이터에 수행할 동작을 나타내는 하나 이상의 인스트럭션들이 저장될 수 있다. 하나 이상의 인스트럭션들의 집합은, 펌웨어, 운영 체제, 프로세스, 루틴, 서브-루틴 및/또는 어플리케이션으로 참조될 수 있다. 예를 들어, 전자 장치(101) 및/또는 전자 장치(101)의 프로세서(110)는 어플리케이션 형태로 배포된 복수의 인스트럭션의 집합(set of a plurality of instructions)을 실행하여, 도 3 내지 도 10의 동작을 수행할 수 있다.In the memory 120 of the electronic device 101 according to an embodiment, one or more instructions indicating operations to be performed on data by the processor 110 may be stored. A set of one or more instructions may be referred to as firmware, operating system, process, routine, sub-routine and/or application. For example, the electronic device 101 and/or the processor 110 of the electronic device 101 executes a set of a plurality of instructions distributed in the form of an application, as shown in FIGS. 3 to 10 operations can be performed.
일 실시예에 따른 전자 장치(101)의 메모리(120) 내에, 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)와 관련된 파라미터들의 집합이 저장될 수 있다. 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)는, 많은 수의 인공 뉴런(또는, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)와 관련된 파라미터들은, 예를 들어, 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)에 포함된 복수의 노드들 및/또는 상기 복수의 노드들 사이의 연결에 할당되는(assigned) 가중치를 나타낼 수 있다.In the memory 120 of the electronic device 101 according to one embodiment, a set of parameters related to the first neural network 121 and/or the second neural network 122 may be stored. The first neural network 121 and/or the second neural network 122 are recognition models implemented in software or hardware that imitate the computational ability of a biological system using a large number of artificial neurons (or nodes). . The first neural network 121 and/or the second neural network 122 may perform human cognitive functions or learning processes through artificial neurons. Parameters related to the first neural network 121 and/or the second neural network 122 may be, for example, a plurality of nodes included in the first neural network 121 and/or the second neural network 122. And/or may indicate a weight assigned to the connection between the plurality of nodes.
일 실시예에 따른, 전자 장치(101)의 메모리(120) 내에 저장된, 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)의 구조가, 도 2 내지 도 3을 참조하여 설명된다. 예를 들어, 일 실시예에 따른, 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)의 구조는 콘볼루션 연산에 기반하여 이미지 데이터를 처리하기 위한 뉴럴 네트워크(예, 콘볼루션 뉴럴 네트워크(convolution neural network, CNN))와 관련될 수 있다. CNN에 기반하는 상기 제1 뉴럴 네트워크(121), 및 상기 제2 뉴럴 네트워크(122)의 구조가 도 2를 참조하여 설명된다. 일 실시예에 따른, 전자 장치(101)의 메모리(120) 내에 저장된, 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)의 상호 연결(interconnection)이 도 3을 참조하여 후술된다. 메모리(120) 내에 저장된 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)의 개수는, 도 1에 도시된 바에 제한되지 않으며, 복수의 뉴럴 네트워크들 각각에 대응하는 파라미터들의 집합들이 메모리(120) 내에 저장될 수 있다.The structures of the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101, according to one embodiment, are described with reference to FIGS. 2 and 3. For example, the structure of the first neural network 121 and the second neural network 122 according to one embodiment is a neural network (e.g., a convolutional neural network) for processing image data based on a convolution operation. (convolution neural network, CNN)). The structures of the first neural network 121 and the second neural network 122 based on CNN are described with reference to FIG. 2. The interconnection of the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101 according to one embodiment will be described later with reference to FIG. 3 . The number of first neural networks 121 and/or second neural networks 122 stored in the memory 120 is not limited to that shown in FIG. 1, and sets of parameters corresponding to each of the plurality of neural networks are It may be stored in memory 120.
일 실시예에 따른 전자 장치(101)의 디스플레이(130)는 사용자에게 시각화 된 정보를 출력할 수 있다. 예를 들어, 디스플레이(130)는, 프로세서(110) 및/또는 GPU(Graphic Processing Unit)와 같은 컨트롤러에 의해 제어되어, 사용자에게 시각화 된 정보(visualized information)를 출력할 수 있다. 디스플레이(130)는 FPD(Flat Panel Display) 및/또는 전자 종이(electronic paper)를 포함할 수 있다. 상기 FPD는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel) 및/또는 하나 이상의 LED(Light Emitting Diode)를 포함할 수 있다. 상기 LED는 OLED(Organic LED)를 포함할 수 있다.The display 130 of the electronic device 101 according to one embodiment may output visualized information to the user. For example, the display 130 may be controlled by a controller such as the processor 110 and/or a GPU (Graphic Processing Unit) to output visualized information to the user. The display 130 may include a flat panel display (FPD) and/or electronic paper. The FPD may include a Liquid Crystal Display (LCD), a Plasma Display Panel (PDP), and/or one or more Light Emitting Diodes (LED). The LED may include OLED (Organic LED).
일 실시예에 따른 전자 장치(101)의 통신 회로(140)는 전자 장치(101) 및 외부 전자 장치 사이의 전기 신호의 송신 및/또는 수신을 지원하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 통신 회로(140)는, 예를 들어, 모뎀(MODEM), 안테나, O/E(Optic/Electronic) 변환기 중 적어도 하나를 포함할 수 있다. 통신 회로(140)는, 이더넷(ethernet), LAN(Local Area Network), WAN(Wide Area Network), WiFi(Wireless Fidelity), Bluetooth, BLE(Bluetooth Low Energy), ZigBee, LTE(Long Term Evolution), 5G NR(New Radio)와 같은 다양한 타입의 프로토콜에 기반하여 전기 신호의 송신 및/또는 수신을 지원할 수 있다.The communication circuit 140 of the electronic device 101 according to an embodiment may include hardware components to support transmission and/or reception of electrical signals between the electronic device 101 and an external electronic device. The communication circuit 140 may include, for example, at least one of a modem, an antenna, and an optical/electronic (O/E) converter. The communication circuit 140 includes Ethernet, LAN (Local Area Network), WAN (Wide Area Network), WiFi (Wireless Fidelity), Bluetooth, BLE (Bluetooth Low Energy), ZigBee, LTE (Long Term Evolution), It can support transmission and/or reception of electrical signals based on various types of protocols, such as 5G NR (New Radio).
일 실시예에 따른, 전자 장치(101)는 이미지 데이터를 획득할 수 있다. 상기 이미지 데이터는, 사진, 또는 비디오를 포함할 수 있다. 예를 들어, 상기 이미지 데이터는, 상기 비디오의 일 프레임에 대응할 수 있다. 예를 들어, 전자 장치(101)는 이미지 데이터를, 통신 회로(140)에 의해 전자 장치(101)와 연결된 외부 전자 장치(예, 디지털 카메라, 및/또는 단말)로부터 수신할 수 있다. 비록 도시되지 않았지만, 전자 장치(101)가 카메라를 포함하는 일 실시예에서, 상기 전자 장치(101)는 상기 카메라를 통해 이미지 데이터를 획득할 수 있다. 일 실시예에 따른, 전자 장치(101)는 상기 획득된 이미지 데이터로부터, 상기 이미지 데이터 내에 캡쳐 된 하나 이상의 객체들(예, 하나 이상의 피사체들)을 인식할 수 있다. 이하에서, 상기 하나 이상의 객체를 인식하는 것은, 상기 이미지 데이터에, 상기 이미지 데이터의 색상 분포와 상이한 정보를 덧붙이는 동작(annotating)을 포함할 수 있다. 상기 정보는, 상기 하나 이상의 객체들이 상기 이미지 데이터 내에서 캡쳐 된 위치, 또는 상기 하나 이상의 객체들의 클래스(또는 타입)를 식별하기 위한 하나 이상의 파라미터들을 포함할 수 있다.According to one embodiment, the electronic device 101 may acquire image data. The image data may include photos or videos. For example, the image data may correspond to one frame of the video. For example, the electronic device 101 may receive image data from an external electronic device (eg, a digital camera, and/or a terminal) connected to the electronic device 101 through the communication circuit 140. Although not shown, in an embodiment in which the electronic device 101 includes a camera, the electronic device 101 may acquire image data through the camera. According to one embodiment, the electronic device 101 may recognize one or more objects (eg, one or more subjects) captured within the image data from the acquired image data. Hereinafter, recognizing the one or more objects may include annotating information that is different from the color distribution of the image data to the image data. The information may include one or more parameters for identifying the location at which the one or more objects were captured within the image data, or the class (or type) of the one or more objects.
일 실시예에 따른 전자 장치(101)는 복수의 레이어들을 포함하는 제1 뉴럴 네트워크(121) 및 제2 뉴럴 네트워크(122)를 이용하여, 이미지로부터 이미지 내에 캡쳐 된 객체를 인식하기 위한 정보를 획득할 수 있다. 예를 들어, 상기 정보는, 이미지 내에 캡쳐 된 객체의 클래스, 또는 위치 중 적어도 하나를 포함할 수 있다. 일 실시예에 따른, 전자 장치(101)는, 복수의 지정된 클래스들 중에서, 상기 객체에 매칭되는 일 클래스(a class)를 나타내는 상기 정보를 획득할 수 있다. 상기 클래스는, 카테고리로 참조될 수 있다. 일 실시예에 따른, 전자 장치(101)는, 바운딩 박스(bounding box), 및/또는 폐곡선(closed curve)에 기반하여 상기 이미지 데이터 내에서 상기 객체가 캡쳐 된 일부분을 나타내는 상기 정보를 획득할 수 있다.The electronic device 101 according to an embodiment acquires information for recognizing an object captured in an image from an image using a first neural network 121 and a second neural network 122 including a plurality of layers. can do. For example, the information may include at least one of the class or location of the object captured in the image. According to one embodiment, the electronic device 101 may obtain the information indicating a class matching the object among a plurality of designated classes. The class may be referred to as a category. According to one embodiment, the electronic device 101 may obtain the information indicating the portion in which the object is captured within the image data based on a bounding box and/or a closed curve. there is.
일 실시예에 따른, 전자 장치(101)의 메모리(120) 내에 저장된 제1 뉴럴 네트워크(121)는, 기-학습된 뉴럴 네트워크(이하, 소스 뉴럴 네트워크)의 구조를 변경하여 생성될 수 있다. 일 실시예에 따른, 전자 장치(101)의 프로세서(110)는 연산 속도, 및/또는 메모리(120)의 용량과 같은 자원에 기반하여, 상기 소스 뉴럴 네트워크가 최적화되어, 상기 제1 뉴럴 네트워크(121)가 생성될 수 있다. 일 실시예에 따른, 전자 장치(101)가 제1 뉴럴 네트워크(121)를 최적화하는 것은, 상기 제1 뉴럴 네트워크(121)의 구동을 위한 수치 값들의 개수를 변경하면서, 상기 이미지 데이터를 인식하는 정확도를 증가시키도록, 수행될 수 있다. 일 실시예에 따른, 전자 장치(101)가 제1 뉴럴 네트워크(121)를 최적화하는 동작이, 도 4 내지 도 10을 참조하여 설명된다. 이하에서는, 도 2를 참고하여, 메모리(120) 내에 저장된, 제1 뉴럴 네트워크(121), 및/또는 제2 뉴럴 네트워크(122)의 구조가 CNN의 구조를 참조하여 설명된다.According to one embodiment, the first neural network 121 stored in the memory 120 of the electronic device 101 may be created by changing the structure of a pre-trained neural network (hereinafter, a source neural network). According to one embodiment, the processor 110 of the electronic device 101 optimizes the source neural network based on resources such as calculation speed and/or capacity of the memory 120, and the first neural network ( 121) can be created. According to one embodiment, the electronic device 101 optimizes the first neural network 121 to recognize the image data while changing the number of numerical values for driving the first neural network 121. This can be done to increase accuracy. An operation in which the electronic device 101 optimizes the first neural network 121 according to one embodiment is described with reference to FIGS. 4 to 10 . Below, with reference to FIG. 2 , the structure of the first neural network 121 and/or the second neural network 122 stored in the memory 120 is described with reference to the structure of CNN.
도 2는, 도 1의 제1 뉴럴 네트워크, 및 제2 뉴럴 네트워크의 구조를, 콘볼루션 뉴럴 네트워크(convolution neural network, CNN)(200)에 기반하여 설명하기 위한 도면이다. 일 실시예에서, 도 1의 전자 장치(101)의 메모리(120) 내에 저장된 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)는, 도 2의 콘볼루션 뉴럴 네트워크(200)의 상이한 부분들에 대응할 수 있다.FIG. 2 is a diagram for explaining the structures of the first neural network and the second neural network of FIG. 1 based on a convolution neural network (CNN) 200. In one embodiment, the first neural network 121 and the second neural network 122 stored in the memory 120 of the electronic device 101 of FIG. 1 are different networks of the convolutional neural network 200 of FIG. 2. parts can be responded to.
도 2는, 메모리 내에 저장된 파라미터들의 집합으로부터 획득되는 제1 뉴럴 네트워크(121) 및/또는 제2 뉴럴 네트워크(122)를 설명하기 위한 예시적인 도면이다. 도 2의 부분(210)은 도 1의 제1 뉴럴 네트워크(121)와 관련될 수 있다. 도 2의 부분(220)은 도 1의 제2 뉴럴 네트워크(122)와 관련될 수 있다.FIG. 2 is an exemplary diagram for explaining a first neural network 121 and/or a second neural network 122 obtained from a set of parameters stored in memory. Portion 210 of FIG. 2 may be related to the first neural network 121 of FIG. 1 . Portion 220 of FIG. 2 may be related to second neural network 122 of FIG. 1 .
도 2를 참고하면, 일 실시예에 따른 전자 장치는, 이미지 데이터(211)에 커널(212)을 적용하여, 특징 정보(213)를 획득할 수 있다. 특징 정보(213)는 특징 맵으로 참조될 수 있다. 특징 정보(213)의 크기는, 상기 커널(212)의 크기, 및/또는 이미지 데이터(211)의 크기와 관련될 수 있다. 특징 정보(213)의 크기는, 채널 크기로 참조될 수 있다. 상기 채널 크기와 관련된 상기 커널(212)의 크기는, 상기 커널(212)로 정의된 2 차원 행렬의 크기일 수 있다. 상기 채널의 크기와 관련된 상기 이미지 데이터(211)의 크기는, 상기 이미지 데이터(211)에 포함된 픽셀들 각각의 색상들을 나타내는 색 공간과 관련될 수 있다. 예를 들어, 상기 색 공간은, 적색, 녹색, 및 청색의 3 원색에 기반하는 RGB 색 공간, 휘도, 및 색차(chrominance)에 기반하는 YCbCr 색 공간, 또는 옥색(cyan), 자홍색(magenta), 황색, 및 흑색의 4 개의 지정된 색상들에 기반하는 CMYK 색 공간 중에서 선택될 수 있다. 상기 특징 정보(213)에 포함된 복수의 파라미터들은, 이미지의 상이한 영역들에 커널(212)에 기반하는 콘볼루션 연산을 수행한 결과일 수 있다. Referring to FIG. 2 , the electronic device according to one embodiment may obtain feature information 213 by applying the kernel 212 to the image data 211. Feature information 213 may be referred to as a feature map. The size of the feature information 213 may be related to the size of the kernel 212 and/or the size of the image data 211. The size of the feature information 213 may be referred to as the channel size. The size of the kernel 212 related to the channel size may be the size of the two-dimensional matrix defined by the kernel 212. The size of the image data 211 related to the size of the channel may be related to a color space representing the colors of each pixel included in the image data 211. For example, the color space may include the RGB color space based on the three primary colors of red, green, and blue, the YCbCr color space based on luminance and chrominance, or cyan, magenta, You can choose from the CMYK color space based on four designated colors: yellow, and black. A plurality of parameters included in the feature information 213 may be the result of performing a convolution operation based on the kernel 212 on different areas of the image.
예를 들어, 전자 장치는 이미지 데이터(211)에 포함된 픽셀들의 색상, 및 위치에 기반하는 제1 행렬, 및 상기 커널(212)에 대응하는 제2 행렬 사이의 콘볼루션 연산을 수행하여, 특징 정보(213)에 대응하는 제3 행렬을 획득할 수 있다. 상기 제2 행렬은, 상기 제1 행렬의 크기 미만의 크기를 가질 수 있다. 상기 제3 행렬의 원소들(elements) 각각은, 콘볼루션 연산에 기반하여 상기 제2 행렬을, 상기 제1 행렬의 상이한 부분들에 순차적으로 곱한 결과에 대응할 수 있다. 예를 들어, 전자 장치가 상기 콘볼루션 연산을 수행하는 동안, 상기 제2 행렬이 상기 제1 행렬 내에서 순차적으로 이동하는 간격(또는 오프셋)이, 보폭(stride), 또는 스텝(step)으로 참조될 수 있다. 상기 제3 행렬의 원소들은, 상기 제1 행렬, 및 상기 제2 행렬 사이의 콘볼루션 연산을 수행한 결과에, 활성화 함수를 적용한 수치 값들일 수 있다. 예를 들어, 상기 활성화 함수는, ReLU 함수, 시그모이드(sigmoid) 함수와 같은 비선형 함수(non-linear)를 포함할 수 있다. For example, the electronic device performs a convolution operation between a first matrix based on the color and position of pixels included in the image data 211 and a second matrix corresponding to the kernel 212, A third matrix corresponding to information 213 may be obtained. The second matrix may have a size smaller than the size of the first matrix. Each of the elements of the third matrix may correspond to a result of sequentially multiplying the second matrix by different portions of the first matrix based on a convolution operation. For example, while the electronic device performs the convolution operation, the interval (or offset) at which the second matrix sequentially moves within the first matrix is referred to as a stride or step. It can be. The elements of the third matrix may be numerical values obtained by applying an activation function to the result of performing a convolution operation between the first matrix and the second matrix. For example, the activation function may include a non-linear function such as a ReLU function or a sigmoid function.
일 실시예에 따른, 전자 장치는, 이미지 데이터(211)에 커널(212)을 적용하여 획득된 특징 정보(213)에, 커널(212)과 상이한 다른 커널(216)을 적용하여, 특징 정보(214)를 획득할 수 있다. 이미지 데이터(211), 및/또는 특징 정보(213)에 상이한 크기의 커널들(예, 다른 커널(216), 및 또 다른 커널(217))을 적용하여, 전자 장치는 이미지 데이터(211)로부터 상이한 크기들을 가지는 복수의 특징 정보들을 획득할 수 있다. 또한, 전자 장치는, 레이어들의 수에 기반하여, 상술한 실시예를 반복하여, 또 다른 커널들(218)을 이용하여, 또 다른 특징 정보(215)를 획득할 수 있다. 상이한 크기들을 가지는 복수의 특징 정보들을 이용하여, 전자 장치는 이미지 데이터(211) 내에 캡쳐 된 피사체의 크기와 독립적으로, 상기 피사체를 인식할 수 있다.According to one embodiment, the electronic device applies another kernel 216 different from the kernel 212 to the feature information 213 obtained by applying the kernel 212 to the image data 211, and provides feature information ( 214) can be obtained. By applying kernels of different sizes (e.g., another kernel 216 and another kernel 217) to the image data 211 and/or the feature information 213, the electronic device can obtain information from the image data 211. A plurality of feature information having different sizes can be obtained. Additionally, the electronic device may repeat the above-described embodiment and obtain further feature information 215 using other kernels 218, based on the number of layers. Using a plurality of feature information having different sizes, the electronic device can recognize the subject captured in the image data 211, independently of the size of the subject.
일 실시예에 따른, 전자 장치는, CNN(200)의 부분(210)에 기반하여 이미지 데이터(211)로부터 획득되고, 상이한 차원들(dimensions)을 가지는 복수의 특징 정보들(213, 214, 215)을, CNN(200)의 부분(220)에 기반하여, 처리할 수 있다. CNN(200)의 부분(220)은, 완전 연결 레이어(fully-connected layers)에 기반하는 구조를 가질 수 있다. 부분(220)은, 입력 레이어(221), 하나 이상의 히든 레이어들(222) 및 출력 레이어(223)를 포함할 수 있다. 입력 레이어(221)는 입력 데이터를 나타내는 벡터(예, 입력 레이어(221)에 포함된 노드들의 개수에 대응하는 원소들(elements)을 가지는 벡터)를 수신할 수 있다. 입력 데이터에 의해 발생된, 입력 레이어(221) 내 노드들 각각에서 발생된 신호들은, 입력 레이어(221)에서 히든 레이어들(222)로 송신될 수 있다. 출력 레이어(223)는, 히든 레이어들(222)로부터 수신된 하나 이상의 신호들에 기반하여, 제2 뉴럴 네트워크의 출력 데이터를 생성할 수 있다. 상기 출력 데이터는, 예를 들어, 출력 레이어(223)에 포함된 노드들의 개수에 대응하는 원소들을 가지는 벡터를 포함할 수 있다.According to one embodiment, the electronic device is obtained from the image data 211 based on the portion 210 of the CNN 200 and includes a plurality of feature information 213, 214, 215 having different dimensions. ) can be processed based on the portion 220 of the CNN 200. Portion 220 of CNN 200 may have a structure based on fully-connected layers. Part 220 may include an input layer 221, one or more hidden layers 222, and an output layer 223. The input layer 221 may receive a vector representing input data (eg, a vector with elements corresponding to the number of nodes included in the input layer 221). Signals generated by input data at each node in the input layer 221 may be transmitted from the input layer 221 to the hidden layers 222. The output layer 223 may generate output data of the second neural network based on one or more signals received from the hidden layers 222. For example, the output data may include a vector having elements corresponding to the number of nodes included in the output layer 223.
하나 이상의 히든 레이어들(222)이 입력 레이어(221) 및 출력 레이어(223) 사이에 위치할 수 있고, 입력 레이어(221)를 통해 전달된 입력 데이터를 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어(221), 하나 이상의 히든 레이어들(222) 및 출력 레이어(223)는 복수의 노드들을 포함할 수 있다. 하나 이상의 히든 레이어들(222)은 CNN(convolutional neural network)에서의 콘볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어일 수 있다. 일 실시예에 따른 뉴럴 네트워크는 다수의(numerous) 히든 레이어들(222)을 포함하여, 딥 뉴럴 네트워크(deep neural network)를 형성할 수 있다. 딥 뉴럴 네트워크를 학습시키는 것을 딥 러닝(deep learning)이라 한다. 딥 뉴럴 네트워크는 제1 뉴럴 네트워크 및/또는 제2 뉴럴 네트워크를 포함할 수 있다. 제2 뉴럴 네트워크의 노드 중에서, 히든 레이어들(222)에 포함된 노드를 가리켜 히든 노드라 한다. One or more hidden layers 222 may be located between the input layer 221 and the output layer 223, and may convert input data transmitted through the input layer 221 into a value that is easy to predict. The input layer 221, one or more hidden layers 222, and the output layer 223 may include a plurality of nodes. One or more hidden layers 222 may be a convolutional filter or a fully connected layer in a convolutional neural network (CNN), or various types of filters or layers grouped based on special functions or characteristics. You can. The neural network according to one embodiment may include numerous hidden layers 222 to form a deep neural network. Training a deep neural network is called deep learning. The deep neural network may include a first neural network and/or a second neural network. Among the nodes of the second neural network, nodes included in the hidden layers 222 are referred to as hidden nodes.
입력 레이어(221) 및 하나 이상의 히든 레이어들(222)에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 적어도 하나의 레이어는, 다음 레이어와의 연결을 스킵(skip)할 수 있다. 레이어의 스킵을 통해, 레이어를 더 깊게 쌓아 정확도를 높일 수 있다. 제2 뉴럴 네트워크를 튜닝 및/또는 학습하는 것은, 상기 제2 뉴럴 네트워크에 포함된 레이어들(예, 입력 레이어(221), 하나 이상의 히든 레이어들(222) 및 출력 레이어(223) 각각에 포함된 노드들 사이의 연결 가중치를 변경하는 것을 의미할 수 있다. Nodes included in the input layer 221 and one or more hidden layers 222 may be connected to each other through connection lines with connection weights, and nodes included in the hidden layer and output layer may also be connected to each other through connection lines with connection weights. can be connected At least one layer can skip connection to the next layer. By skipping layers, you can increase accuracy by stacking layers deeper. Tuning and/or learning a second neural network includes each of the layers included in the second neural network (e.g., an input layer 221, one or more hidden layers 222, and an output layer 223). This may mean changing the connection weight between nodes.
입력 레이어(221) 및 하나 이상의 히든 레이어들(222)에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 뉴럴 네트워크의 튜닝은, 예를 들어, 지도 학습(supervised learning) 및/또는 비지도 학습(unsupervised learning)에 기반하여 수행될 수 있다.Nodes included in the input layer 221 and one or more hidden layers 222 may be connected to each other through connection lines with connection weights, and nodes included in the hidden layer and output layer may also be connected to each other through connection lines with connection weights. can be connected Tuning of the neural network may be performed based on, for example, supervised learning and/or unsupervised learning.
일 실시예에 따른 전자 장치는 제2 뉴럴 네트워크를 이용하여, 입력 레이어(221)를 통해 전달된 이미지 데이터로부터 추출된 특징 정보에 기반하여, 이미지에 포함된 객체들의 위치 정보와 관련된 데이터를, 출력 레이어(223)를 통해 추출할 수 있다. 일 실시예에서, 부분(220)은, 출력 레이어(223)를 통하여 이미지 데이터(211) 내에 캡쳐 된 객체의 위치를 나타내는 정보를 출력하도록 학습될 수 있다. 일 실시예에서, 부분(220)은, 출력 레이어(223)를 통하여 이미지 데이터(211) 내에 캡쳐 된 객체의 클래스를 나타내는 정보를 출력하도록 학습될 수 있다. 일 실시예에 따른, 전자 장치에 저장된 도 1의 제1 뉴럴 네트워크(121), 및/또는 도 1의 제2 뉴럴 네트워크(122)는, CNN(200)의 부분들(210, 220)에 대응할 수 있다. 상기 제2 뉴럴 네트워크(122)는, 부분들(210, 220) 사이에서 상이한 차원들을 가지는 복수의 특징 정보들은 부분(220)의 입력 레이어(221)에 연결하는 뉴럴 네트워크를 포함할 수 있다. 이하에서는, 도 3을 참조하여, CNN(200)에 기반하는 상기 제1 뉴럴 네트워크, 및 상기 제2 뉴럴 네트워크의 구조가 설명된다.The electronic device according to one embodiment uses a second neural network to output data related to the location information of objects included in the image based on feature information extracted from image data transmitted through the input layer 221. It can be extracted through layer 223. In one embodiment, portion 220 may be trained to output information indicating the location of objects captured within image data 211 through output layer 223 . In one embodiment, portion 220 may be trained to output information representing the class of the object captured within image data 211 via output layer 223 . According to one embodiment, the first neural network 121 of FIG. 1 and/or the second neural network 122 of FIG. 1 stored in the electronic device may correspond to portions 210 and 220 of the CNN 200. You can. The second neural network 122 may include a neural network connecting a plurality of feature information having different dimensions between the parts 210 and 220 to the input layer 221 of the part 220. Below, with reference to FIG. 3, the structures of the first neural network and the second neural network based on the CNN 200 are described.
도 3은, 일 실시예에 따른 전자 장치가, 메모리 내에 저장된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 통해, 이미지 데이터 내에 캡쳐 된 하나 이상의 객체들을 인식하는 동작을 설명하기 위한 예시도이다. 도 3의 전자 장치는 도 1의 전자 장치(101)의 일 예일 수 있다. 예를 들어, 도 3의 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)는 도 1의 제1 뉴럴 네트워크(121), 및 제2 뉴럴 네트워크(122)를 포함할 수 있다.FIG. 3 is an example diagram illustrating an operation in which an electronic device, according to an embodiment, recognizes one or more objects captured in image data through a first neural network and a second neural network stored in a memory. The electronic device in FIG. 3 may be an example of the electronic device 101 in FIG. 1 . For example, the first neural network 121 and the second neural network 122 of FIG. 3 may include the first neural network 121 and the second neural network 122 of FIG. 1 .
도 3을 참조하면, 일 실시예에 따른, 전자 장치가 메모리(예, 도 1의 메모리(120))로부터 획득하는 백본 뉴럴 네트워크(320), 넥 뉴럴 네트워크(330), 헤드 뉴럴 네트워크(340)가 도시된다. 백본 뉴럴 네트워크(320)는 도 1의 제1 뉴럴 네트워크(121)일 수 있다. 넥 뉴럴 네트워크(330), 헤드 뉴럴 네트워크(340)는 도 1의 제2 뉴럴 네트워크(122)에 포함될 수 있다. 백본 뉴럴 네트워크(320)는, 도 2의 CNN(200)의 부분(210)에 대응할 수 있다. 헤드 뉴럴 네트워크(340)는, 도 2의 CNN(200)의 부분(220)에 대응할 수 있다. Referring to FIG. 3, according to one embodiment, the backbone neural network 320, the neck neural network 330, and the head neural network 340 that the electronic device acquires from memory (e.g., memory 120 of FIG. 1). is shown. The backbone neural network 320 may be the first neural network 121 of FIG. 1. The neck neural network 330 and the head neural network 340 may be included in the second neural network 122 of FIG. 1 . Backbone neural network 320 may correspond to portion 210 of CNN 200 in FIG. 2 . Head neural network 340 may correspond to portion 220 of CNN 200 in FIG. 2 .
일 실시예에 따른 전자 장치는, 사용자에 의해 선택된 기-학습된(pretrained) 뉴럴 네트워크를 변경하여, 도 3에 도시된 백본 뉴럴 네트워크(320), 넥 뉴럴 네트워크(330), 및/또는 헤드 뉴럴 네트워크(340)를 획득할 수 있다. 예를 들어, 상기 백본 뉴럴 네트워크(320), 넥 뉴럴 네트워크(330), 및/또는 헤드 뉴럴 네트워크(340)는 사용자의 입력에 의해 식별될 수 있다. 예를 들어, 백본 뉴럴 네트워크(320)는 ResNet 또는 MobileNetV2와 같은 기-학습된 뉴럴 네트워크의 변경(modification)일 수 있고, 넥 뉴럴 네트워크(330)는 FPN(Feature Pyramid Networks for Object Detection)을 이용할 수 있다. 다만, 상술한 실시예에 제한되는 것은 아니다.The electronic device according to one embodiment changes the pretrained neural network selected by the user to include the backbone neural network 320, neck neural network 330, and/or head neural network shown in FIG. 3. Network 340 can be obtained. For example, the backbone neural network 320, neck neural network 330, and/or head neural network 340 may be identified by user input. For example, the backbone neural network 320 may be a modification of a pre-trained neural network such as ResNet or MobileNetV2, and the neck neural network 330 may use Feature Pyramid Networks for Object Detection (FPN). there is. However, it is not limited to the above-described examples.
일 실시예에 따르면, 전자 장치는, 이미지 데이터(310)로부터, 백본 뉴럴 네트워크(320)를 통해, 특징 정보(예, 도 2의 또 다른 특징 정보(215))를 획득할 수 있다. 예를 들어, 전자 장치는, 뉴럴 네트워크(예: 도 1의 제1 뉴럴 네트워크(121))를 이용하여, 이미지에 캡쳐 된 적어도 하나의 객체의 클래스 및/또는 객체의 위치 정보를 추출할 수 있다. 예를 들면, 이미지에 캡쳐 된 객체는 사람, 동물, 식물 및/또는 무생물을 포함할 수 있다. 일 실시예에 따르면, 전자 장치는, 상기 위치 정보를 통해, 이미지 데이터(310) 내에 캡쳐 된 객체에 대응하는 바운딩 박스(360)의 위치, 및/또는 크기를 나타낼 수 있다. 예를 들어, 바운딩 박스(360)는 객체의 형상 전체를 포함할 수 있고, 좌표 값을 나타낼 수 있다. 다만, 실시예가 이에 제한되는 것은 아니다. According to one embodiment, the electronic device may obtain feature information (eg, another feature information 215 of FIG. 2) from the image data 310 through the backbone neural network 320. For example, the electronic device may extract the class and/or location information of at least one object captured in the image using a neural network (e.g., the first neural network 121 of FIG. 1). . For example, objects captured in an image may include people, animals, plants, and/or inanimate objects. According to one embodiment, the electronic device may indicate the location and/or size of the bounding box 360 corresponding to the object captured in the image data 310 through the location information. For example, the bounding box 360 may include the entire shape of the object and may represent coordinate values. However, the embodiment is not limited thereto.
일 실시예에 따르면, 백본 뉴럴 네트워크(320)는 복수의 채널들의 순차적인 결합인 블록을 포함할 수 있다. 백본 뉴럴 네트워크(320) 내에서, 복수의 블록들이 상호 결합(interconnected)될 수 있다. 상기 블록은, 커널(예, 도 2의 커널들(212, 216, 217, 218))에 기반하는 콘볼루션 연산들의 시퀀스일 수 있다. 상기 블록은, 블록 내에서, 복수의 커널들에 의해 일치된 수의 채널들을 가지는 복수의 레이어들(또는 복수의 특징 정보들)이 포함될 수 있다. 일 실시예에 따른, 전자 장치는, 상기 블록들 사이의 상호 결합을 조절하여, 백본 뉴럴 네트워크(320)의 성능을 개선할 수 있다. 일 실시예에 따른, 전자 장치는, 상기 커널의 크기, 및/또는 상기 채널들의 수에 따라 구분되는 복수의 블록들 각각을 평가한(evaluate) 정보를 획득할 수 있다. 상기 전자 장치는 상기 획득된 정보에 기반하여 소스 뉴럴 네트워크를 변경하여, 백본 뉴럴 네트워크(320)에 포함될 하나 이상의 블록들을 획득할 수 있다. 상기 복수의 레이어들은 적어도 하나의 함수(예: MBConv 또는 2D Conv) 및/또는 적어도 하나의 커널(예: 도 2의 커널(212,216,217,218))을 포함할 수 있다. According to one embodiment, the backbone neural network 320 may include a block that is a sequential combination of a plurality of channels. Within the backbone neural network 320, a plurality of blocks may be interconnected. The block may be a sequence of convolution operations based on a kernel (e.g., kernels 212, 216, 217, and 218 in FIG. 2). The block may include a plurality of layers (or a plurality of feature information) having a matched number of channels by a plurality of kernels within the block. According to one embodiment, the electronic device may improve the performance of the backbone neural network 320 by adjusting the mutual coupling between the blocks. According to one embodiment, the electronic device may obtain information evaluating each of a plurality of blocks classified according to the size of the kernel and/or the number of channels. The electronic device may change the source neural network based on the obtained information and obtain one or more blocks to be included in the backbone neural network 320. The plurality of layers may include at least one function (eg, MBConv or 2D Conv) and/or at least one kernel (eg, kernels 212, 216, 217, and 218 in FIG. 2).
일 실시예에 따른, 전자 장치는, 백본 뉴럴 네트워크(320)를 통해, 이미지 데이터(310)를 복수의 커널을 이용하여, 복수의 채널을 획득할 수 있다. 예를 들면, 상기 복수의 채널들은 커널의 개수와 동일 할 수 있다. 상기 채널들의 크기는 상기 커널의 크기에 따라 변화할 수 있다. 하나의 레이어는 복수의 채널을 포함할 수 있다. 동일한 채널 크기를 가진 레이어들은 적어도 하나의 블록을 형성할 수 있다. 예를 들면, 백본 뉴럴 네트워크(320)는, 복수의 블록들간의 상호 연결에 의해 구성될 수 있다.According to one embodiment, the electronic device may acquire a plurality of channels by using a plurality of kernels for image data 310 through the backbone neural network 320. For example, the plurality of channels may be equal to the number of kernels. The sizes of the channels may vary depending on the size of the kernel. One layer may include multiple channels. Layers with the same channel size can form at least one block. For example, the backbone neural network 320 may be configured by interconnection between a plurality of blocks.
일 실시예에 따르면, 전자 장치는 백본 뉴럴 네트워크(320)를 통해 추출된 특징 정보를, 넥 뉴럴 네트워크(330)를 통해 특징 정보의 스케일(scale) 별로 분류할 수 있다. 전자 장치는, 넥 뉴럴 네트워크(330) 내에서 스케일에 기반하여 분류된 특징 정보를, 헤드 뉴럴 네트워크(340)에 포함된 상이한 서브 뉴럴 네트워크(예, 클래스 서브 뉴럴 네트워크(341), 및/또는 바운딩 박스 서브 뉴럴 네트워크(342))에 입력할 수 있다. 예를 들어, 전자 장치는, 넥 뉴럴 네트워크(330)에 기반하여, 백본 뉴럴 네트워크(320)로부터 출력되는 복수의 특징 정보들, 및 헤드 뉴럴 네트워크(340)의 입력 레이어 사이의 매핑을 식별할 수 있다. 예를 들어, 스케일이 다른 특징 정보는 서로 다른 해상도를 가질 수 있다. 스케일이 큰 특징 정보(332)는 높은 해상도(high resolution)를 가지며, 객체의 가장자리 및/또는 곡선과 같은 저수준 특징(low-level feature)을 포함할 수 있다. 스케일이 작은 특징 정보(331)는 낮은 해상도(low resolution)을 가지며, 질감 및/또는 객체의 일부분과 같은 고수준 특징(high-level feature)을 포함할 수 있다.According to one embodiment, the electronic device may classify feature information extracted through the backbone neural network 320 according to the scale of the feature information through the neck neural network 330. The electronic device distributes feature information classified based on scale within the neck neural network 330 to different sub-neural networks included in the head neural network 340 (e.g., class sub-neural network 341, and/or bounding It can be input into the box subneural network 342). For example, based on the neck neural network 330, the electronic device can identify a mapping between a plurality of feature information output from the backbone neural network 320 and the input layer of the head neural network 340. there is. For example, feature information of different scales may have different resolutions. The large-scale feature information 332 has high resolution and may include low-level features such as edges and/or curves of an object. The small-scale feature information 331 has low resolution and may include high-level features such as texture and/or part of an object.
일 실시예에 따르면, 전자 장치는 넥 뉴럴 네트워크(330)를 통해, 스케일 별로 분류된 특징 정보를 헤드 뉴럴 네트워크(340)로 전송될 수 있다. 전자 장치는 헤드 뉴럴 네트워크(340)를 통해, 분류된 특징 정보 중 적어도 하나를 기반으로, 이미지 데이터(310)에 객체 정보(360)를 나타낼 수 있다. 예를 들어, 전자 장치는, 클래스 서브 뉴럴 네트워크(341)를 통해, 상기 객체가 어떤 물체인지 나타내는 정보를 출력할 수 있다. 전자 장치는, 바운딩 박스 서브 뉴럴 네트워크(342)를 통해, 상기 객체의 위치를 박스 형상으로 출력할 수 있다.According to one embodiment, the electronic device may transmit feature information classified by scale to the head neural network 340 through the neck neural network 330. The electronic device may display object information 360 in image data 310 through the head neural network 340 based on at least one of the classified feature information. For example, the electronic device may output information indicating what kind of object the object is through the class subneural network 341. The electronic device may output the location of the object in the form of a box through the bounding box subneural network 342.
전자 장치는, 전자 장치로 입력되는 이미지 데이터(310)로부터, 객체 정보(360)를 표시할 수 있다. 이미지 데이터(310)는, 적어도 하나의 객체가 캡쳐 된 이미지일 수 있다. 이미지 데이터(310)는, 서로 다른 유형의 객체를 포함할 수 있다.The electronic device can display object information 360 from image data 310 input to the electronic device. Image data 310 may be an image in which at least one object is captured. Image data 310 may include different types of objects.
전자 장치는, 이미지 데이터(310)를 입력 받을 수 있다. 전자 장치는, 외부 전자 장치로부터, 이미지 데이터(310)를 수신하거나, 전자 장치와 연결된 입력 장치(예, 키보드, 터치 패널, 또는 터치 스크린) 또는 저장 장치(예, USB, 외장 HDD, 또는 외장 메모리와 같은 외부 저장 장치 또는 HDD, SSD, ROM, 또는 RAM 같은 전자 장치 내부 저장 장치)로부터 이미지 데이터(310)를 획득할 수 있다. The electronic device can receive image data 310. The electronic device receives image data 310 from an external electronic device, or an input device (e.g., keyboard, touch panel, or touch screen) or storage device (e.g., USB, external HDD, or external memory) connected to the electronic device. Image data 310 may be obtained from an external storage device such as an external storage device such as an HDD, SSD, ROM, or RAM internal to an electronic device.
일 실시예에 따르면, 전자 장치는, 이미지 데이터(310)를 식별할 수 있다. 전자 장치는, 메모리(예: 도 1의 메모리(120))에 저장된 제1 파라미터들에 의해 지시되는(indicated by) 제1 뉴럴 네트워크(예: 도 1의 제1 뉴럴 네트워크(121))를 이용하여, 이미지 데이터(310)에 포함된 객체 정보를 획득할 수 있다. 전자 장치, 이미지 데이터(310)에 포함된 객체의 클래스 및/또는 위치 정보를 포함한 특징 정보를 획득할 수 있다. 전자 장치는 제1 뉴럴 네트워크를 통해, 입력 레이어를 통해 이미지 데이터를 수신하여, 객체 정보를 포함한 특징 정보를 출력 레이어를 통해 나타낼 수 있다.According to one embodiment, the electronic device can identify image data 310. The electronic device uses a first neural network (e.g., the first neural network 121 in FIG. 1) indicated by first parameters stored in a memory (e.g., the memory 120 in FIG. 1). Thus, object information included in the image data 310 can be obtained. Electronic device, feature information including class and/or location information of an object included in the image data 310 may be obtained. The electronic device may receive image data through an input layer through a first neural network and display feature information including object information through an output layer.
일 실시예에 따르면, 전자 장치는, 메모리(120)에 저장된 제2 파라미터들에 의해 지시되는 제2 뉴럴 네트워크(예: 도 1의 제2 뉴럴 네트워크(122))를 이용하여, 추출된 특징 정보로부터, 객체의 클래스와 위치를 나타내는 정보들을 획득할 수 있다. 객체의 클래스와 위치를 나타내는 정보들은, 이미지내에서, 객체가 위치하고 있는 좌표 값 일 수 있다. 전자 장치는, 넥 뉴럴 네트워크(330)를 이용하여, 특징 정보를 스케일 별로 분류할 수 있고, 클래스 서브 뉴럴 네트워크(341) 및/또는 바운딩 박스 서브 뉴럴 네트워크(342)를 이용하여, 객체가 어떤 물체인지에 대한 정보, 객체의 위치에 대한 정보를 획득할 수 있다. According to one embodiment, the electronic device extracts feature information using a second neural network (e.g., the second neural network 122 of FIG. 1) indicated by the second parameters stored in the memory 120. From this, information indicating the class and location of the object can be obtained. Information indicating the class and location of an object may be coordinate values where the object is located within the image. The electronic device can classify feature information by scale using the neck neural network 330, and classifies the object by using the class sub-neural network 341 and/or the bounding box sub-neural network 342. Information about recognition and location of objects can be obtained.
일 실시예에 따르면, 전자 장치는, 상기 객체가 어떤 물체인지에 대한 정보, 객체의 위치에 대한 정보를 획득하는 것에 응답하여, 외부로 바운딩 박스(360)를 제공할 수 있다. 예를 들면, 전자 장치는, 이미지 데이터(310)에 객체가 어떤 물체인지 표시하고, 객체의 위치에 바운딩 박스(360)를 나타낼 수 있다.According to one embodiment, the electronic device may provide the bounding box 360 to the outside in response to obtaining information about what kind of object the object is and information about the location of the object. For example, the electronic device may display what kind of object the object is in the image data 310 and display a bounding box 360 at the location of the object.
상술한 바와 같이, 도 1의 전자 장치(101)는, 도 1의 제1 뉴럴 네트워크(121) 및 도 1의 제2 뉴럴 네트워크(122)를 활용하여, 이미지 데이터(310)에 포함된 객체로부터 객체 인식과 관련된 바운딩 박스(360)를 표시할 수 있다. 전자 장치(101)는, 객체에 관한 클래스를 획득할 수 있다. 전자 장치(101)는 위치 정보를 시각화 하여, 사용자에게 제공할 수 있다.As described above, the electronic device 101 of FIG. 1 utilizes the first neural network 121 of FIG. 1 and the second neural network 122 of FIG. 1 to detect objects included in the image data 310. A bounding box 360 related to object recognition may be displayed. The electronic device 101 may obtain a class related to an object. The electronic device 101 can visualize location information and provide it to the user.
도 4는, 일 실시예에 따른, 전자 장치가 객체를 인식하기 위한 이미지를 획득하고, 획득된 정보에 기반하여, 객체 인식하는 동작을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating an operation in which an electronic device acquires an image for recognizing an object and recognizes the object based on the obtained information, according to an embodiment.
도 4를 참조하면, 동작 401에서, 전자 장치(예: 도 1의 전자 장치(101))는, 적어도 하나의 객체가 포함된 이미지 데이터를 입력 받을 수 있다. 상기 이미지 데이터는 복수의 픽셀들의 위치, 및 색상을 나타낼 수 있다. 예를 들어, 이미지 데이터는, 상기 복수의 픽셀들의 위치, 및 색상에 기반하는 3차원 행렬을 포함할 수 있다. 상기 3차원 행렬 내에 포함된 원소들은, 상기 복수의 픽셀들의 색상을 포함할 수 있다. 상기 원소들의 상기 3차원 행렬 내에서의 위치가, 상기 원소들에 대응하는 복수의 픽셀들 각각 이미지 데이터 내에서의 위치를 나타낼 수 있다. Referring to FIG. 4, in operation 401, an electronic device (eg, the electronic device 101 of FIG. 1) may receive image data including at least one object. The image data may indicate the location and color of a plurality of pixels. For example, image data may include a three-dimensional matrix based on the positions and colors of the plurality of pixels. Elements included in the three-dimensional matrix may include colors of the plurality of pixels. The positions of the elements within the three-dimensional matrix may indicate the positions of each of the plurality of pixels corresponding to the elements within the image data.
동작 402에서, 전자 장치는, 이미지 데이터를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 제1 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 뉴럴 네트워크는 이미지 데이터로부터 특징 정보를 획득하기 위한 백본 뉴럴 네트워크(예: 도 3의 백본 뉴럴 네트워크(320))일 수 있다. 제1 뉴럴 네트워크는 도 2의 입력 레이어(221), 하나 이상의 히든 레이어들(222) 및 출력 레이어(223)에 포함된 노드들 및 노드들 사이의 연결들에 할당된 가중치를 포함할 수 있다. 예를 들어, 상기 가중치는, 커널 크기, 채널들의 수, 레이어들의 수와 관련될 수 있다. In operation 402, the electronic device may obtain first information using a first neural network including blocks of channels for processing image data. According to one embodiment, the first neural network may be a backbone neural network (eg, backbone neural network 320 in FIG. 3) for obtaining feature information from image data. The first neural network may include weights assigned to nodes and connections between nodes included in the input layer 221, one or more hidden layers 222, and the output layer 223 of FIG. 2. For example, the weights may be related to kernel size, number of channels, and number of layers.
제1 뉴럴 네트워크는, 커널(예: 도 2의 커널(212)) 및 이미지 데이터(예: 도 3의 이미지 데이터(310))로부터 상기 커널을 통해 획득된 채널을 포함할 수 있고, 채널들의 크기가 동일한 적어도 하나의 레이어를 가진 블록을 포함할 수 있다. 상기 채널들의 크기는 상기 노드들 사이의 연결들에 할당된 가중치에 의해 변경될 수 있고, 채널들의 수를 포함할 수 있다. 상기 채널들의 크기는 채널들의 크기와 관련된 파라미터 및/또는 커널 크기에 따라 변경될 수 있고, 행렬로 나타낼 수 있다. 상기 채널들의 수는 커널의 수로 변경될 수 있다. 예를 들어, 전자 장치는, 제1 뉴럴 네트워크에 포함된, 채널들의 수가 동일한 적어도 하나의 레이어를 포함한 블록들 간의 상호 연결을 수립할 수 있다. 상기 블록들 간의 상호 연결은, 가중치에 의해 변경될 수 있다.The first neural network may include a kernel (e.g., kernel 212 in FIG. 2) and a channel obtained through the kernel from image data (e.g., image data 310 in FIG. 3), and the size of the channels may include blocks with at least one layer that is the same. The size of the channels can be changed by weights assigned to connections between the nodes and can include the number of channels. The sizes of the channels can be changed depending on parameters related to the size of the channels and/or kernel size, and can be expressed as a matrix. The number of channels can be changed with the number of kernels. For example, the electronic device may establish interconnections between blocks included in the first neural network, including at least one layer with the same number of channels. Interconnection between the blocks can be changed by weight.
일 실시예에 따른, 제1 정보(도 2의 또 다른 특징 정보(215))는, 이미지 데이터의 서로 다른 스케일을 포함할 수 있다. 상기 서로 다른 스케일은 해상도를 포함할 수 있다. 상기 해상도 중 높은 해상도는 상기 이미지 데이터에 캡쳐 된 객체의 가장자리 및/또는 곡선과 같은 정보를 포함할 수 있고, 낮은 해상도는 상기 객체의 질감 또는 일부분과 같은 정보를 포함할 수 있다. 제1 정보는, 제1 뉴럴 네트워크를 통해, 이미지 데이터로부터 적어도 하나의 콘볼루션 연산을 이용하여, 획득될 수 있다.According to one embodiment, the first information (another feature information 215 in FIG. 2) may include different scales of image data. The different scales may include resolution. Among the resolutions, a higher resolution may include information such as edges and/or curves of the object captured in the image data, and a lower resolution may include information such as the texture or portion of the object. The first information may be obtained using at least one convolution operation from image data through a first neural network.
일 실시에 따른 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 이미지 데이터로부터, 적어도 하나의 콘볼루션 연산을 하고, 복수의 채널들을 가진 블록들 간의 상호 연결을 수립하고, 서로 다른 해상도를 가진, 제1 정보를 획득할 수 있다. 예를 들어, 제1 정보는 이미지 데이터의 크기를 2배씩 줄인 크기를 가진 복수의 특징 정보들일 수 있다.An electronic device according to an embodiment may, based on a first neural network, perform at least one convolution operation from image data, establish interconnection between blocks having a plurality of channels, and have different resolutions. 1 Information can be obtained. For example, the first information may be a plurality of feature information whose size is reduced by two times the size of the image data.
동작 403에서, 전자 장치는, 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 적어도 하나의 객체의 클래스, 및 이미지 데이터 내에서 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득할 수 있다. 예를 들어, 전자 장치는, 제2 뉴럴 네트워크(예: 도 1의 제2 뉴럴 네트워크(122))를 통해, 여러 해상도를 가진 제1 정보를 해상도가 높은 순으로 분류하고, 상기 제1 정보로부터, 적어도 하나의 객체의 클래스 및 적어도 하나의 개체가 캡쳐 된 위치를 나타내는 제2 정보를 획득할 수 있다.At operation 403, the electronic device obtains, using a second neural network for processing the first information, second information indicating the class of the at least one object and the location at which the at least one object was captured within the image data. can do. For example, the electronic device classifies first information with various resolutions in descending order of resolution through a second neural network (e.g., the second neural network 122 in FIG. 1), and selects information from the first information. , second information indicating the class of at least one object and the location where at least one object was captured can be obtained.
일 실시예에 따르면, 제2 뉴럴 네트워크는, 도 3의 넥 뉴럴 네트워크(330) 및 도 3의 헤드 뉴럴 네트워크(340)중 일부를 포함할 수 있다. 전자 장치는, 제2 뉴럴 네트워크에 기반하여, 제1 뉴럴 네트워크를 통해 획득된 서로 다른 스케일을 가진 제1 정보를 입력 받고, 스케일의 크기에 따라 제1 정보를 분류할 수 있다.According to one embodiment, the second neural network may include part of the neck neural network 330 of FIG. 3 and the head neural network 340 of FIG. 3. Based on the second neural network, the electronic device may receive first information with different scales obtained through the first neural network and classify the first information according to the size of the scale.
일 실시예에 따른 전자 장치는, 제2 뉴럴 네트워크를 통해, 분류된 제1 정보로부터, 객체 인식을 위한 제2 정보를 획득할 수 있다. 상기 객체 인식을 위한 제2 정보는, 이미지 데이터에 캡쳐 된 객체의 유형을 나타내는 클래스, 및 이미지 데이터 내에 캡쳐 된 객체의 위치 정보를 포함할 수 있다. 예를 들어, 제2 뉴럴 네트워크는 클래스를 판단하기 위한 클래스 서브 뉴럴 네트워크(예: 도 3의 클래스 서브 뉴럴 네트워크(341)) 및/또는 위치 정보를 사용자에게 나타낼 수 있는 바운딩 박스 서브 뉴럴 네트워크(예: 도 3의 바운딩 박스 서브 뉴럴 네트워크(342))를 포함할 수 있다. 일 예로, 전자 장치는, 바운딩 박스 서브 뉴럴 네트워크(342)로부터 획득된 정보에 기반하여, 객체의 위치를 나타내는 사각형을 디스플레이 화면 상에 표시할 수 있다. 일 예로, 전자 장치는, 클래스 서브 뉴럴 네트워크(341)로부터 획득된 정보에 기반하여, 객체의 클래스를 나타내는 정보를 출력할 수 있다. 도 3의 일 실시예에서, 전자 장치는, "개"와 같은 텍스트, 또는 상기 객체가 특정 클래스에 대응할 확률 중 적어도 하나를 표시할 수 있다.The electronic device according to one embodiment may obtain second information for object recognition from classified first information through a second neural network. The second information for object recognition may include a class indicating the type of object captured in the image data, and location information of the object captured in the image data. For example, the second neural network is a class sub-neural network (e.g., class sub-neural network 341 in FIG. 3) for determining the class and/or a bounding box sub-neural network (e.g., class sub-neural network 341 in FIG. 3) that can display location information to the user. : May include the bounding box sub-neural network 342 of FIG. 3). As an example, the electronic device may display a rectangle indicating the location of the object on the display screen based on information obtained from the bounding box subneural network 342. As an example, the electronic device may output information indicating the class of the object based on information obtained from the class subneural network 341. In the example of FIG. 3 , the electronic device may display at least one of text such as “dog” or a probability that the object corresponds to a specific class.
상술한 실시예에 따른, 전자 장치는, 제1 뉴럴 네트워크에 포함된 블록들 간의 상호 연결을 변경하면서, 기-학습된 뉴럴 네트워크를 이용한 객체 인식보다 정확성 및/또는 속도를 높일 수 있다. 후술할 도 5 내지 도 10에서, 파라미터를 이용한 블록들 간의 상호 연결을 변경하는 동작에 대해 설명한다.According to the above-described embodiment, the electronic device can increase accuracy and/or speed compared to object recognition using a pre-trained neural network while changing the interconnection between blocks included in the first neural network. 5 to 10, which will be described later, the operation of changing the interconnection between blocks using parameters will be described.
도 5는, 일 실시예에 따른, 전자 장치가, 소스 뉴럴 네트워크에 포함된 파라미터를 변경하는 동작을 설명하기 위한 흐름도이다. 도 5의 전자 장치는, 도 1의 전자 장치(101)의 일 예일 수 있다. 예를 들어, 도 5의 동작들(501, 502, 503, 504) 중 적어도 하나는, 상기 전자 장치(101), 및/또는 도 1의 프로세서(110)에 의해 수행될 수 있다. FIG. 5 is a flowchart illustrating an operation in which an electronic device changes parameters included in a source neural network, according to an embodiment. The electronic device in FIG. 5 may be an example of the electronic device 101 in FIG. 1 . For example, at least one of the operations 501, 502, 503, and 504 of FIG. 5 may be performed by the electronic device 101 and/or the processor 110 of FIG. 1.
도 5를 참조하면, 동작 501에서, 전자 장치는 소스 뉴럴 네트워크를 식별할 수 있다. 예를 들어, 전자 장치는 사용자에 의하여 선택된 소스 뉴럴 네트워크를 식별할 수 있다. 예를 들어, 상기 소스 뉴럴 네트워크는 이미지 분류를 위해 디자인된 백본 뉴럴 네트워크일 수 있다. 상기 이미지 분류를 위해 디자인된 백본 뉴럴 네트워크는 MobileNetV2 또는 Resnet와 같은 기-학습된(pre-trained) 뉴럴 네트워크를 포함할 수 있다. 일 예로, 뉴럴 네트워크가 저장된 전자 장치는, 상기 전자 장치의 유형에 따라, 기-학습된 뉴럴 네트워크를 저장할 수 있다.Referring to FIG. 5, in operation 501, the electronic device may identify the source neural network. For example, the electronic device can identify the source neural network selected by the user. For example, the source neural network may be a backbone neural network designed for image classification. The backbone neural network designed for image classification may include a pre-trained neural network such as MobileNetV2 or Resnet. As an example, an electronic device storing a neural network may store a pre-trained neural network depending on the type of the electronic device.
동작 502에서, 전자 장치는, 소스 뉴럴 네트워크를 확장하여, 슈퍼넷을 획득할 수 있다. 일 실시예에 따른, 전자 장치는, 도 3의 백본 뉴럴 네트워크(320)를 확장하여 슈퍼넷을 획득할 수 있다. 슈퍼넷은 백본 뉴럴 네트워크에 포함된 후보 블록들 간의 연결과 관련된 파라미터를 포함할 수 있다. In operation 502, the electronic device may expand the source neural network to obtain a supernet. According to one embodiment, the electronic device may acquire a supernet by expanding the backbone neural network 320 of FIG. 3. The supernet may include parameters related to connections between candidate blocks included in the backbone neural network.
일 실시예에 따르면, 슈퍼넷은 다양한 후보 블록을 하나의 공유 뉴럴 네트워크로 결합하고, 최적화를 수행하는 뉴럴 네트워크일 수 있다. 슈퍼넷은, 적어도 하나의 후보 블록에 대응되는 서브 뉴럴 네트워크를 포함할 수 있다. 예를 들어, 전자 장치는 소스 뉴럴 네트워크에 포함된 복수의 후보 블록을 하나의 공유 블록으로 설정할 수 있다. 상기 공유 블록은 백본 뉴럴 네트워크에 포함된 레이어들의 연결을 수립하기 위해 학습되는 가중치, 채널들의 수, 및/또는 커널 크기를 나타내는 파라미터를 포함할 수 있다. According to one embodiment, a supernet may be a neural network that combines various candidate blocks into one shared neural network and performs optimization. A supernet may include a subneural network corresponding to at least one candidate block. For example, the electronic device may set a plurality of candidate blocks included in the source neural network as one shared block. The shared block may include parameters representing weights, the number of channels, and/or kernel size that are learned to establish connections between layers included in the backbone neural network.
동작 503에서, 전자 장치는, 슈퍼넷으로 구성된 소스 뉴럴 네트워크에 포함된 여러 파라미터 중 커널 크기, 채널들의 수, 및 레이어들의 수를 탐색할 수 있는 탐색 공간을 설정할 수 있다. 탐색 공간은, 커널 크기, 채널의 크기, 및/또는 채널들의 수를 탐색하기 위한 적어도 하나의 후보 연산을 포함할 수 있다. 전자 장치는 상기 탐색 공간을 연속적인 공간으로 완화하기 위해, 복수의 후보 연산, 및/또는 복수의 후보 블록들의 집합인 공유 연산, 및/또는 공유 블록으로 구성할 수 있다. 전자 장치는, 상기 공유 연산, 및/또는 공유 블록을 이용하여, 뉴럴 네트워크에 포함된 적어도 하나의 파라미터를 공유 블록에 포함된 채널들에 대해, 학습할 수 있다. 전자 장치는 상기 후보 연산을 통해, 후보 블록들 간의 연결을 스킵(skip)할 수 있다. 상기 후보 연산은 콘볼루션 연산, 스킵(skip) 연산 및/또는 풀링 연산을 포함할 수 있다. 전자 장치는, 상기 탐색 공간을 연속적인 공간으로 완화하기 위해, 모든 파라미터에 대해 적어도 하나의 함수를 사용할 수 있다. 예를 들어, 상기 모든 파라미터에 대해 사용되는 함수는 소프트 맥스 함수(SoftMax function)일 수 있다. 상기 소프트 맥스 함수는 다중 클래스 분류에서 사용되는 활성화 함수(activation function) 일 수 있다. 전자 장치는 상기 소프트 맥스 함수에 기반하여, n개의 클래스로 분류된 데이터를, n차원 벡터로 입력 받고, 상기 분류된 데이터의 상기 n개의 클래스에 속할 확률을 각각 나타낼 수 있다. In operation 503, the electronic device may set a search space for searching the kernel size, number of channels, and number of layers among several parameters included in the source neural network composed of a supernet. The search space may include at least one candidate operation for searching the kernel size, the size of the channel, and/or the number of channels. In order to relax the search space into a continuous space, the electronic device may be configured with a plurality of candidate operations, and/or a shared operation that is a set of a plurality of candidate blocks, and/or a shared block. The electronic device may use the shared operation and/or the shared block to learn at least one parameter included in the neural network for channels included in the shared block. The electronic device can skip connections between candidate blocks through the candidate operation. The candidate operation may include a convolution operation, a skip operation, and/or a pooling operation. The electronic device may use at least one function for every parameter to relax the search space into a continuous space. For example, the function used for all of the above parameters may be the SoftMax function. The soft max function may be an activation function used in multi-class classification. Based on the soft max function, the electronic device can receive data classified into n classes as an n-dimensional vector and indicate the probability that the classified data belongs to the n classes.
일 실시예에 따른, 전자 장치는, 수학식 1을 이용하여, 백본 뉴럴 네트워크에 포함된 복수의 레이어들의 연결에 관한 가중치를 학습할 수 있다. According to one embodiment, the electronic device may learn weights related to the connection of a plurality of layers included in the backbone neural network using Equation 1.
Figure PCTKR2022095103-appb-img-000001
Figure PCTKR2022095103-appb-img-000001
수학식 1을 참고하면,
Figure PCTKR2022095103-appb-img-000002
는, 탐색 공간 내에서의 후보 연산의 집합인 공유 연산을 의미할 수 있다. 수학식 1의 o는,
Figure PCTKR2022095103-appb-img-000003
의 원소(예, 후보 연산)일 수 있다. 수학식 1을 참고하면,
Figure PCTKR2022095103-appb-img-000004
는 후보 연산 o에 할당된 파라미터일 수 있다.
Figure PCTKR2022095103-appb-img-000005
는 아키텍쳐 파라미터로 참조될 수 있다.
Figure PCTKR2022095103-appb-img-000006
는 ℓ-1번째 연산
Figure PCTKR2022095103-appb-img-000007
의 특징 정보를 의미할 수 있다. 예를 들어,
Figure PCTKR2022095103-appb-img-000008
는 콘볼루션 연산, 풀링(pooling) 연산, 스킵(skip) 연산에 관한 정보를 포함할 수 있다. exp는 행렬 지수 함수를 의미한다. 예를 들어, 도 2의 특징 정보(213)에 포함된 적어도 하나의 파라미터는 행렬 및/또는 벡터로 나타낼 수 있다.
Referring to Equation 1,
Figure PCTKR2022095103-appb-img-000002
may mean a shared operation, which is a set of candidate operations in the search space. o in equation 1 is,
Figure PCTKR2022095103-appb-img-000003
It may be an element of (e.g., a candidate operation). Referring to Equation 1,
Figure PCTKR2022095103-appb-img-000004
may be a parameter assigned to candidate operation o.
Figure PCTKR2022095103-appb-img-000005
Can be referenced as an architecture parameter.
Figure PCTKR2022095103-appb-img-000006
is the ℓ-1st operation
Figure PCTKR2022095103-appb-img-000007
It may mean characteristic information of . for example,
Figure PCTKR2022095103-appb-img-000008
may include information about convolution operation, pooling operation, and skip operation. exp means matrix exponential function. For example, at least one parameter included in the feature information 213 of FIG. 2 may be expressed as a matrix and/or vector.
일 실시예에서, 전자 장치는, 수학식 1의 소프트 맥스에 기반하여, 후보 연산에 대한 확률을 획득할 수 있다. 전자 장치는, 후보 연산 o 중 가장 확률 값이 높은 연산을 이용하여, 값이 가장 큰 파라미터
Figure PCTKR2022095103-appb-img-000009
를 가지는 연산으로 후보 블록들 간의 연결을 수립할 수 있다. 예를 들어, 상기 연산을 통해,
Figure PCTKR2022095103-appb-img-000010
에 대한 확률 값이 콘볼루션 연산에 대해 가장 큰 경우, 상기
Figure PCTKR2022095103-appb-img-000011
은 콘볼루션 연산으로 저장될 수 있다.
In one embodiment, the electronic device may obtain a probability for a candidate operation based on the soft max of Equation 1. The electronic device uses the operation with the highest probability value among the candidate operations o, and uses the parameter with the highest value.
Figure PCTKR2022095103-appb-img-000009
Connections between candidate blocks can be established through operations with . For example, through the above operation,
Figure PCTKR2022095103-appb-img-000010
If the probability value for is largest for the convolution operation, then
Figure PCTKR2022095103-appb-img-000011
can be stored as a convolution operation.
일 실시예에 따른, 전자 장치는, 수학식 2를 이용하여, 소스 뉴럴 네트워크에 포함된 복수의 후보 블록들 간의 상호 연결과 관련된 파라미터를 학습할 수 있다. According to one embodiment, the electronic device may learn parameters related to the interconnection between a plurality of candidate blocks included in the source neural network using Equation 2.
Figure PCTKR2022095103-appb-img-000012
Figure PCTKR2022095103-appb-img-000012
Figure PCTKR2022095103-appb-img-000013
는 복수의 공유 블록 중 적어도 하나의 후보 채널들의 크기를 의미할 수 있다. 최대
Figure PCTKR2022095103-appb-img-000014
개의 후보 블록이 설정될 수 있고, 상기 채널들의 크기는 채널들의 수를 포함할 수 있다.
Figure PCTKR2022095103-appb-img-000015
, 및/또는
Figure PCTKR2022095103-appb-img-000016
Figure PCTKR2022095103-appb-img-000017
의 원소(예, 후보 채널들의 크기)일 수 있다. 블록은 동일한 크기의 채널들을 가지고, 수학식 1을 이용한 연산의 시퀀스를 의미할 수 있다. 상기 공유 블록은 채널들의 크기가 다른 모든 후보 블록의 가중치 합계를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000018
는,
Figure PCTKR2022095103-appb-img-000019
번째 공유 블록을 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000020
는 후보 블록 간의 연결을 수립하기 위한 파라미터를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000021
는 해당 블록의 순서를 의미할 수 있다. n은
Figure PCTKR2022095103-appb-img-000022
에서 연산되는 수학식 1에 대한 연산 수를 의미할 수 있다. s는 콘볼루션 연산의 보폭(stride)을 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000023
은 후보 채널의 크기 c에 대응하는 0값을 가진 열 벡터(zero mask column vector)를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000024
는 수학식 1의
Figure PCTKR2022095103-appb-img-000025
와 대응될 수 있다. 예를 들어, 채널들의 크기는, 콘볼루션 연산의 보폭에 의해 정해질 수 있다. 일 예로,
Figure PCTKR2022095103-appb-img-000026
Figure PCTKR2022095103-appb-img-000027
번째 후보 블록의 채널의 크기(예, 수학식 2의 c)를 가지고, n번의 연산(예, 수학식 1의 o) 수를 가지고, 콘볼루션 연산의 보폭 s를 가진
Figure PCTKR2022095103-appb-img-000028
번째 공유 블록을 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000013
may mean the size of at least one candidate channel among a plurality of shared blocks. maximum
Figure PCTKR2022095103-appb-img-000014
Candidate blocks may be set, and the size of the channels may include the number of channels.
Figure PCTKR2022095103-appb-img-000015
, and/or
Figure PCTKR2022095103-appb-img-000016
silver
Figure PCTKR2022095103-appb-img-000017
It may be an element of (e.g., size of candidate channels). A block has channels of the same size and may refer to a sequence of operations using Equation 1. The shared block may mean the sum of the weights of all candidate blocks with different sizes of channels.
Figure PCTKR2022095103-appb-img-000018
Is,
Figure PCTKR2022095103-appb-img-000019
It may mean the second shared block.
Figure PCTKR2022095103-appb-img-000020
may mean a parameter for establishing a connection between candidate blocks.
Figure PCTKR2022095103-appb-img-000021
may mean the order of the corresponding block. n is
Figure PCTKR2022095103-appb-img-000022
It may mean the number of operations for Equation 1 calculated in . s may mean the stride of the convolution operation.
Figure PCTKR2022095103-appb-img-000023
may mean a zero mask column vector with a value of 0 corresponding to the size c of the candidate channel.
Figure PCTKR2022095103-appb-img-000024
is in Equation 1
Figure PCTKR2022095103-appb-img-000025
It can correspond to . For example, the size of channels can be determined by the stride of the convolution operation. As an example,
Figure PCTKR2022095103-appb-img-000026
Is
Figure PCTKR2022095103-appb-img-000027
It has the size of the channel of the th candidate block (e.g., c in Equation 2), the number of n operations (e.g., o in Equation 1), and the stride s of the convolution operation.
Figure PCTKR2022095103-appb-img-000028
It may mean the second shared block.
일 실시예에 따른, 전자 장치는, 수학식 2를 이용하여, 가장 큰
Figure PCTKR2022095103-appb-img-000029
를 획득하고, 서로 다른 채널들의 크기를 가진 복수의 블록들의 연결을 수립할 수 있다. 예를 들어, 전자 장치는 서로 다른 채널들의 크기를 가진 복수의 블록들의 연결을 수립하기 위해, 제로 패딩(zero-padding)을 이용할 수 있다. 뉴럴 네트워크에 포함된 복수의 블록들의 수가 증가할수록, 연산 횟수가 선형적으로 증가할 수 있다. 예를 들어, 전자 장치는 0값을 가진 열 벡터 및/또는 가장 큰 채널들의 크기를 이용하여, 연산 횟수를 감소시킬 수 있다. 후술하는 도 6a 및 도 6b에서, 연산 횟수를 감소시키고 학습의 효율을 향상시키기 위한 논오버래핑 학습에 대해 설명한다.
According to one embodiment, the electronic device uses Equation 2 to determine the largest
Figure PCTKR2022095103-appb-img-000029
can be obtained, and connections of multiple blocks with different channel sizes can be established. For example, an electronic device may use zero-padding to establish connections between a plurality of blocks with different channel sizes. As the number of blocks included in the neural network increases, the number of calculations may increase linearly. For example, the electronic device can reduce the number of operations by using a heat vector with a value of 0 and/or the size of the largest channels. In FIGS. 6A and 6B described later, non-overlapping learning to reduce the number of operations and improve learning efficiency will be explained.
Figure PCTKR2022095103-appb-img-000030
Figure PCTKR2022095103-appb-img-000030
수학식 3은,
Figure PCTKR2022095103-appb-img-000031
,
Figure PCTKR2022095103-appb-img-000032
에 대해 최솟값을 갖는
Figure PCTKR2022095103-appb-img-000033
의 결과값을 이용한, 학습을 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000034
함수는, 손실 함수(loss function)의 일 예일수 있다.
Figure PCTKR2022095103-appb-img-000035
함수는, cross entropy error 함수 및/또는 mean squared error 함수에 참조될 수 있다. 다만 이에 제한되지 않는다. cross entropy error 함수 및/또는 Mean squared error 함수는 복수의 확률 분포의 차이를 이용하여, 뉴럴 네트워크(예, 도 2의 백본 뉴럴 네트워크)를 학습시키기 위한, 함수의 일 예일 수 있다.
Figure PCTKR2022095103-appb-img-000036
Figure PCTKR2022095103-appb-img-000037
함수의 최솟값을 갖게 하는 w를 획득하기 위한,
Figure PCTKR2022095103-appb-img-000038
, 및
Figure PCTKR2022095103-appb-img-000039
를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000040
는 수학식 4에서 후술한다.
Equation 3 is,
Figure PCTKR2022095103-appb-img-000031
,
Figure PCTKR2022095103-appb-img-000032
has the minimum value for
Figure PCTKR2022095103-appb-img-000033
It can mean learning using the results of .
Figure PCTKR2022095103-appb-img-000034
The function may be an example of a loss function.
Figure PCTKR2022095103-appb-img-000035
The function may be referenced to the cross entropy error function and/or the mean squared error function. However, it is not limited to this. The cross entropy error function and/or the mean squared error function may be an example of a function for learning a neural network (e.g., the backbone neural network of FIG. 2) using the difference between a plurality of probability distributions.
Figure PCTKR2022095103-appb-img-000036
Is
Figure PCTKR2022095103-appb-img-000037
To obtain w that has the minimum value of the function,
Figure PCTKR2022095103-appb-img-000038
, and
Figure PCTKR2022095103-appb-img-000039
It can mean.
Figure PCTKR2022095103-appb-img-000040
is described later in Equation 4.
Figure PCTKR2022095103-appb-img-000041
Figure PCTKR2022095103-appb-img-000041
수학식 4을 참조하면,
Figure PCTKR2022095103-appb-img-000042
은, 뉴럴 네트워크에 대한 손실 함수를 의미할 수 있다. 상기 손실 함수는 분류 손실 및/또는 회귀 손실을 포함할 수 있다. w는 학습을 위해 이용되는 가중치를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000043
는, 손실 정규화의 크기를 위한 파라미터를 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000044
는 수학식 1의
Figure PCTKR2022095103-appb-img-000045
와 대응될 수 있다.
Figure PCTKR2022095103-appb-img-000046
는 수학식 2의
Figure PCTKR2022095103-appb-img-000047
와 대응될 수 있다.
Figure PCTKR2022095103-appb-img-000048
는 수학식 5에서 후술한다.
Referring to Equation 4,
Figure PCTKR2022095103-appb-img-000042
may refer to the loss function for the neural network. The loss function may include classification loss and/or regression loss. w may refer to the weight used for learning.
Figure PCTKR2022095103-appb-img-000043
may refer to a parameter for the size of loss normalization.
Figure PCTKR2022095103-appb-img-000044
is in Equation 1
Figure PCTKR2022095103-appb-img-000045
It can correspond to .
Figure PCTKR2022095103-appb-img-000046
is in Equation 2
Figure PCTKR2022095103-appb-img-000047
It can correspond to .
Figure PCTKR2022095103-appb-img-000048
is described later in Equation 5.
Figure PCTKR2022095103-appb-img-000049
Figure PCTKR2022095103-appb-img-000049
수학식 5을 참조하면,
Figure PCTKR2022095103-appb-img-000050
는 복수의 공유 블록들 중 K 번째 공유 블록에 대한 손실을 합산한 결과값을 의미할 수 있다.
Figure PCTKR2022095103-appb-img-000051
는 수학식 1의
Figure PCTKR2022095103-appb-img-000052
와 대응될 수 있다.
Figure PCTKR2022095103-appb-img-000053
는 수학식 2의
Figure PCTKR2022095103-appb-img-000054
와 대응될 수 있다.
Figure PCTKR2022095103-appb-img-000055
는 수학식 1의
Figure PCTKR2022095103-appb-img-000056
와 대응될 수 있다.
Figure PCTKR2022095103-appb-img-000057
는 수학식 2의
Figure PCTKR2022095103-appb-img-000058
와 대응될 수 있다. n은 연산 순서를 의미할 수 있다.
Referring to Equation 5,
Figure PCTKR2022095103-appb-img-000050
may mean the result of adding up the loss for the Kth shared block among a plurality of shared blocks.
Figure PCTKR2022095103-appb-img-000051
is in Equation 1
Figure PCTKR2022095103-appb-img-000052
It can correspond to .
Figure PCTKR2022095103-appb-img-000053
is in Equation 2
Figure PCTKR2022095103-appb-img-000054
It can correspond to .
Figure PCTKR2022095103-appb-img-000055
is in Equation 1
Figure PCTKR2022095103-appb-img-000056
It can correspond to .
Figure PCTKR2022095103-appb-img-000057
is in Equation 2
Figure PCTKR2022095103-appb-img-000058
It can correspond to . n may mean the operation order.
일 실시예에 따른, 전자 장치는, 수학식 1에서 얻은 파라미터
Figure PCTKR2022095103-appb-img-000059
와 수학식 2에서 얻은 파라미터
Figure PCTKR2022095103-appb-img-000060
를 이용하여, 소스 뉴럴 네트워크의 슈퍼넷 구조를 최적화할 수 있다. 전자 장치는, 수학식 3에 기반하여, 소스 뉴럴 네트워크에 포함된 학습을 위해 가중치 w를 이용할 수 있다. 전자 장치는, 프로세서 내에서 동일한 데이터 연산량을 가지는 제1 학습 및/또는 제2 학습을 이용하여, 적어도 하나의 파라미터를 학습시킬 수 있다. 일 실시예에 따른, 전자 장치는, 수학식 3의 이중 수준 최적화(bi-level optimization)에 기반하여, 파라미터
Figure PCTKR2022095103-appb-img-000061
, 파라미터
Figure PCTKR2022095103-appb-img-000062
, 및/또는 가중치 w를 조절할 수 있다. 예를 들어, 전자 장치는 가중치 w에 대한 학습을 수행하여, 소스 뉴럴 네트워크의 정확도를 개선할 수 있다. 상기 정확도가 개선된 이후, 전자 장치는, 파라미터
Figure PCTKR2022095103-appb-img-000063
, 및 파라미터
Figure PCTKR2022095103-appb-img-000064
에 대한 학습, 및 가중치 w에 대한 학습을 번갈아 수행(alternatively train)할 수 있다. 상기 예시 내에서, 전자 장치는, 파라미터
Figure PCTKR2022095103-appb-img-000065
, 및 파라미터
Figure PCTKR2022095103-appb-img-000066
를 상기 이중 수준 최적화의 상위 변수(upper-level variables)로써, 가중치 w를 상기 이중 수준 최적화의 하위 변수(lower-level variable)로써 트레이닝할 수 있다. 일 예로, 전자 장치는 상기 이중 수준 최적화를 수행하기 위해, Multiply-Adds operations(Madds)를 이용할 수 있다. 전자 장치는, 상기 이중 수준 최적화를 수행하여, 슈퍼넷으로 구성된 소스 뉴럴 네트워크를 최적화할 수 있다. 상기 파라미터
Figure PCTKR2022095103-appb-img-000067
및/또는 파라미터
Figure PCTKR2022095103-appb-img-000068
는 콘볼루션 연산, 커널 크기, 채널들의 수, 및 레이어들의 수에 대한 정보를 포함할 수 있다.
According to one embodiment, the electronic device is a parameter obtained from Equation 1
Figure PCTKR2022095103-appb-img-000059
and the parameters obtained from Equation 2
Figure PCTKR2022095103-appb-img-000060
Using , the supernet structure of the source neural network can be optimized. The electronic device may use the weight w for learning included in the source neural network, based on Equation 3. The electronic device may learn at least one parameter using first learning and/or second learning having the same amount of data computation within the processor. According to one embodiment, the electronic device, based on bi-level optimization of Equation 3, parameters
Figure PCTKR2022095103-appb-img-000061
, parameter
Figure PCTKR2022095103-appb-img-000062
, and/or the weight w can be adjusted. For example, the electronic device can improve the accuracy of the source neural network by learning the weight w. After the accuracy is improved, the electronic device, parameters
Figure PCTKR2022095103-appb-img-000063
, and parameters
Figure PCTKR2022095103-appb-img-000064
Learning about and learning about the weight w can be alternatively trained. Within the above example, the electronic device has parameters
Figure PCTKR2022095103-appb-img-000065
, and parameters
Figure PCTKR2022095103-appb-img-000066
can be trained as upper-level variables of the dual-level optimization, and the weight w as a lower-level variable of the dual-level optimization. As an example, the electronic device may use Multiply-Adds operations (Madds) to perform the dual-level optimization. The electronic device may perform the dual-level optimization to optimize a source neural network composed of a supernet. The above parameters
Figure PCTKR2022095103-appb-img-000067
and/or parameters
Figure PCTKR2022095103-appb-img-000068
may include information about the convolution operation, kernel size, number of channels, and number of layers.
동작 504에서, 전자 장치는, 탐색된 파라미터와 소스 뉴럴 네트워크의 파라미터를 매핑할 수 있다. In operation 504, the electronic device may map the searched parameters and parameters of the source neural network.
일 실시예에 따른, 전자 장치는, 소스 뉴럴 네트워크를 슈퍼넷으로 구성하고, 슈퍼넷의 최적화를 통해 탐색된 파라미터를 이용하여, 상기 소스 뉴럴 네트워크에 포함된 적어도 하나의 파라미터를, 상기 탐색된 파라미터로 변경할 수 있다. 예를 들어, 파라미터는 커널 크기, 채널들의 수, 및 레이어들의 수를 포함할 수 있다. 후술하는 도 8 내지 도 10에서 각 파라미터를 매핑하는 동작을 기재한다. According to one embodiment, the electronic device configures a source neural network as a supernet, uses parameters discovered through optimization of the supernet, and selects at least one parameter included in the source neural network as the discovered parameter. It can be changed to . For example, parameters may include kernel size, number of channels, and number of layers. The operation of mapping each parameter is described in FIGS. 8 to 10 described later.
상술한 바와 같이, 제1 뉴럴 네트워크(예: 도 2의 백본 뉴럴 네트워크(220))를 포함하는 전자 장치는, 연산 횟수를 감소시켜 객체 인식을 위한 속도를 향상시킬 수 있다. 전자 장치는, 객체 인식을 위해 최적화된 후보 블록의 상호 연결을 활용함으로써 소스 뉴럴 네트워크를 변경하고, 객체 인식의 정확성을 향상시킬 수 있다. As described above, an electronic device including a first neural network (e.g., the backbone neural network 220 of FIG. 2) can improve the speed for object recognition by reducing the number of calculations. The electronic device can change the source neural network and improve the accuracy of object recognition by utilizing the interconnection of candidate blocks optimized for object recognition.
도 6a 내지 도 6b는, 일 실시예에 따른, 전자 장치가 후보 블록들에 포함된 채널들의 수와 관련된 파라미터의 학습을 설명하기 위한 예시도이다.FIGS. 6A and 6B are exemplary diagrams illustrating learning of parameters related to the number of channels included in candidate blocks by an electronic device, according to an embodiment.
상기 채널들은 도 2의 적어도 하나의 레이어들(220)에 포함된 채널들의 일 예일 수 있다. 예를 들어, 상기 적어도 하나의 레이어들(220)은 도 1의 제1 뉴럴 네트워크(121)에 포함될 수 있다. 하나의 레이어에 포함된 채널들의 크기는 동일할 수 있다. 채널들의 크기는 채널들의 크기, 채널들의 수를 포함할 수 있다.The channels may be examples of channels included in at least one layer 220 of FIG. 2 . For example, the at least one layer 220 may be included in the first neural network 121 of FIG. 1. The sizes of channels included in one layer may be the same. The size of the channels may include the size of the channels and the number of channels.
도 6a에서, 일 실시예에 따른, 전자 장치는, 도 5의 동작(503)을 통해, 파라미터
Figure PCTKR2022095103-appb-img-000069
를 획득하고, 획득된 상기 파라미터
Figure PCTKR2022095103-appb-img-000070
를 이용하여, 제1 뉴럴 네트워크에 포함된 채널들을 오버래핑(overlapping) 학습으로 학습할 수 있다. 예를 들어, 제1 파라미터(611)는 제1 채널들(612)에 대응하는 파라미터의 일 예일 수 있다. 제2 파라미터(621)는 제2 채널들(622)에 대응하는 파라미터의 일 예일 수 있다. 제3 파라미터(631)는 제3 채널들(632)에 대응하는 파라미터 일 수 있다. 일 예로, 상기 파라미터들(611, 621, 631)은 도 5의 수학식 2에서 획득한 파라미터
Figure PCTKR2022095103-appb-img-000071
에 포함될 수 있다.
In FIG. 6A, according to one embodiment, the electronic device, through operation 503 of FIG. 5, sets the parameter
Figure PCTKR2022095103-appb-img-000069
Obtain and the obtained parameters
Figure PCTKR2022095103-appb-img-000070
Using , the channels included in the first neural network can be learned through overlapping learning. For example, the first parameter 611 may be an example of a parameter corresponding to the first channels 612. The second parameter 621 may be an example of a parameter corresponding to the second channels 622. The third parameter 631 may be a parameter corresponding to the third channels 632. As an example, the parameters 611, 621, and 631 are parameters obtained from Equation 2 in FIG. 5
Figure PCTKR2022095103-appb-img-000071
may be included in
일 실시예에 따른 전자 장치는, 파라미터
Figure PCTKR2022095103-appb-img-000072
를 학습하기 위해, 오버래핑 학습을 이용하여, 각 채널들(612, 622, 632)을 누적하여 학습할 수 있다. 예를 들어, 제3 채널들(632)은 제1 채널들(612) 및/또는 제2 채널들(622)을 포함할 수 있다. 제2 채널들(622)은 제1 채널들(612)을 포함할 수 있다. 전자 장치는, 채널들에 대응하는 파라미터를 이용하여, 하나의 연산을 획득할 수 있고, 각각의 연산(610, 620, 630)을 합산하여, 제1 뉴럴 네트워크를 학습시킬 수 있다. 예를 들어, 전자 장치는, 제1 연산(610)에 포함된 제1 채널들(612)을 제2 연산(620)에 포함된 제2 채널들(622)에 누적하여 학습할 수 있다. 전자 장치는, 제1 연산(610)을 통해, 획득한 제1 채널들(612)에 대한 가중치와 제2 연산(620)을 통해, 획득한 제2 채널들(622)에 대한 가중치를 합산할 수 있다. 일 예로, 전자 장치는 제2 연산(620)을 통해, 획득한 제2 채널들(622)에 대한 가중치와 제3 연산(630)을 통해, 획득한 가중치를 합산할 수 있다. 전자 장치는, 제1 채널들(612)에 대한 가중치가 합산되어, 제1 채널들(612)에 대한 학습을 반복할 수 있다. 일 예로, 전자 장치는 제3 채널들(632)에서 새롭게 추가된 채널을 제1 채널들(612)에 비해 학습을 적게 할 수 있다.
The electronic device according to one embodiment has parameters
Figure PCTKR2022095103-appb-img-000072
In order to learn, each channel (612, 622, 632) can be accumulated and learned using overlapping learning. For example, the third channels 632 may include first channels 612 and/or second channels 622. The second channels 622 may include the first channels 612 . The electronic device can obtain one operation using parameters corresponding to channels and can learn the first neural network by adding up each operation 610, 620, and 630. For example, the electronic device may learn by accumulating the first channels 612 included in the first operation 610 to the second channels 622 included in the second operation 620. The electronic device adds the weights for the first channels 612 obtained through the first operation 610 and the weights for the second channels 622 obtained through the second operation 620. You can. As an example, the electronic device may add the weights for the second channels 622 obtained through the second operation 620 and the weights obtained through the third operation 630. The electronic device may repeat learning for the first channels 612 by adding the weights for the first channels 612 . As an example, the electronic device may learn less about the newly added channels in the third channels 632 than with the first channels 612.
일 실시예에 따른 전자 장치는, 제1 뉴럴 네트워크에 포함된 파라미터를 변경하기 위해 슈퍼넷을 구성할 수 있고, 상기 슈퍼넷을 최적화하기 위한 오버래핑 학습을 활용할 수 있다. 예를 들어, 오버래핑 학습을 활용하여 학습된 채널들의 가중치는 제1 채널들(612)에 누적될 수 있다. 상기 제1 채널들(612)에 대한 학습이 누적된 오버래핑 학습을 활용하여, 전자 장치는, 최적의 후보 블록과는 다른 후보 블록과의 상호 연결을 수립할 수 있다.The electronic device according to one embodiment may configure a supernet to change parameters included in the first neural network and utilize overlapping learning to optimize the supernet. For example, weights of channels learned using overlapping learning may be accumulated in the first channels 612. By utilizing overlapping learning in which learning for the first channels 612 is accumulated, the electronic device can establish interconnection with a candidate block different from the optimal candidate block.
도 6b에서, 일 실시예에 따른, 전자 장치는, 도 5의 동작 503을 통해, 파라미터
Figure PCTKR2022095103-appb-img-000073
를 획득하고, 논오버래핑(non-overlapping) 학습으로 학습할 수 있다.
In FIG. 6B, according to one embodiment, the electronic device, through operation 503 of FIG. 5, sets the parameter
Figure PCTKR2022095103-appb-img-000073
can be obtained and learned through non-overlapping learning.
일 실시예에 따른 전자 장치는, 파라미터
Figure PCTKR2022095103-appb-img-000074
를 학습하기 위해, 논오버래핑 학습을 이용하여, 각 채널들(642, 652, 662)을 균등하게 학습할 수 있다. 예를 들어, 제5 연산(650)에 포함된 제5 채널들(652)은 제2 채널들(622)에서 제1 채널들(612)을 제외한 복수의 채널들일 수 있다. 다른 예를 들어, 제6 연산(660)에 포함된 제6 채널들(662)은 제1 채널들, 제2 채널들 및, 이전 연산에서 학습된 채널들을 제외한 채널일 수 있다.
The electronic device according to one embodiment has parameters
Figure PCTKR2022095103-appb-img-000074
To learn, each channel 642, 652, and 662 can be learned equally using non-overlapping learning. For example, the fifth channels 652 included in the fifth operation 650 may be a plurality of channels excluding the first channels 612 from the second channels 622. For another example, the sixth channels 662 included in the sixth operation 660 may be channels excluding the first channels, second channels, and channels learned in the previous operation.
일 실시예에 따른 전자 장치는, 제1 뉴럴 네트워크를, 제4 연산(640), 제5 연산(650), 및/또는 제6 연산(660)에 기반하여, 학습시킬 수 있다. 예를 들어, 전자 장치는, 제4 연산 이후, 제4 연산(640)에 포함된 제1 채널들(612)을 제5 연산(650)에 포함된 제2 채널들에서 제1 채널들을 제외한 채널들(652)을 학습할 수 있다. 예를 들어, 전자 장치는, 제4 연산(640)을 통해 획득한 제1 채널들(612)에 대한 제1 가중치, 제5 연산(650)을 통해 획득한 제2 채널들에서 제1 채널들을 제외한 채널들(652)에 대한 제2 가중치를 획득할 수 있다. 일 예로, 전자 장치는 제5 연산(650)을 통해, 획득한 제2 채널들에서 제1 채널들을 제외한 채널들(652)에 대한 제2 가중치, 및 제6 연산(630)을 통해 제1 채널들(612) 및 제2 채널들(622)과 상이한 채널들(662)에 대한 제3 가중치를 획득할 수 있다. 상기 획득한 복수의 가중치들을 이용하여, 전자 장치는 복수의 채널들(612, 652, 662)을 균등하게 학습할 수 있다.The electronic device according to one embodiment may train the first neural network based on the fourth operation 640, the fifth operation 650, and/or the sixth operation 660. For example, after the fourth operation, the electronic device converts the first channels 612 included in the fourth operation 640 into channels other than the first channels from the second channels included in the fifth operation 650. 652 can be learned. For example, the electronic device may select the first weight for the first channels 612 obtained through the fourth operation 640 and the first channels from the second channels obtained through the fifth operation 650. Second weights for the excluded channels 652 may be obtained. For example, through the fifth operation 650, the electronic device sets a second weight for the channels 652 excluding the first channels from the obtained second channels, and through the sixth operation 630, the first channel Third weights for channels 662 that are different from the channels 612 and the second channels 622 may be obtained. Using the obtained plurality of weights, the electronic device can equally learn the plurality of channels 612, 652, and 662.
일 실시예에 따른 전자 장치는, 논오버래핑 학습에 의해 채널들 간을 학습시킬 수 있고, 학습을 수행하기 위한 행렬을 이용할 수 있다. 예를 들어, 상기 학습을 수행하기 위한 행렬은, 아다마르 행렬(Hadamard Matrix)를 이용할 수 있다. The electronic device according to one embodiment can learn between channels through non-overlapping learning and can use a matrix to perform learning. For example, the matrix for performing the learning may be the Hadamard Matrix.
일 실시예에 따른 전자 장치는, 제1 뉴럴 네트워크에 포함된 파라미터를 변경하기 위해 슈퍼넷을 획득할 수 있고, 상기 슈퍼넷을 최적화하기 위한 논오버래핑 학습을 활용할 수 있다. 예를 들어, 전자 장치는 상기 논오버래핑 학습을 활용하여, 각각의 채널들을 균등하게 학습할 수 있다. 전자 장치는, 최적의 후보 블록들 간의 상호 연결을 수립할 수 있다. The electronic device according to one embodiment may acquire a supernet to change parameters included in the first neural network and utilize non-overlapping learning to optimize the supernet. For example, the electronic device can equally learn each channel by utilizing the non-overlapping learning. The electronic device can establish interconnections between optimal candidate blocks.
상술한 바와 같이, 전자 장치는, 논오버래핑 학습을 이용하여, 뉴럴 네트워크에 포함된 후보 블록을 구성하는 채널들의 균등한 학습을 통해, 후보 블록들 간의 최적의 상호 연결을 수립할 수 있고, 객체 인식의 정확성을 높일 수 있다. As described above, the electronic device can use non-overlapping learning to establish optimal interconnection between candidate blocks through equal learning of the channels constituting the candidate blocks included in the neural network, and to recognize objects. accuracy can be increased.
도 7은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 후보 블록들의 상호 연결의 수립 및/또는 변경을 설명하기 위한 예시도이다. 예를 들어, 후보 블록은 도 1의 제1 뉴럴 네트워크(121)에 포함될 수 있다. FIG. 7 is an example diagram illustrating the establishment and/or change of interconnection of candidate blocks included in a neural network by an electronic device according to an embodiment. For example, the candidate block may be included in the first neural network 121 of FIG. 1.
방향성 비순환 그래프들(710, 720, 730)은, 후보 블록에 포함된 복수의 특징 정보들이 특정한 방향을 향해 연결된, 그래프를 의미할 수 있다. 전자 장치는, 제1 뉴럴 네트워크를 통해, 이미지 데이터(예: 도3의 이미지 데이터(310))로부터, 복수의 특징 정보들(711, 712, 713, 714)을 획득할 수 있고, 상기 특징 정보는, 도 5의 동작 503에서, 파라미터 일부를 포함할 수 있다. 예를 들어, 특징 정보는 커널 크기, 채널들의 수를 포함할 수 있다. 제1 그래프(710)에 포함된 연산(715)은 적어도 하나의 연산을 포함할 수 있다. 예를 들어, 상기 연산(715)은 콘볼루션 연산, 및/또는 풀링 연산을 포함할 수 있고, 후보 블록들 간의 연결을 스킵(skip)할 수 있다. 다만, 상술한 실시예에 제한되는 것은 아니다. 전자 장치는, 도 5의 동작 503에서 수학식 1을 이용하여, 연산(715)을 수행할 수 있다. 연산(715)은 복수의 특징 정보들(711, 712, 713, 714)간 상호 연결에 참조될 수 있다. Directed acyclic graphs 710, 720, and 730 may refer to graphs in which a plurality of feature information included in a candidate block is connected in a specific direction. The electronic device may obtain a plurality of feature information 711, 712, 713, and 714 from image data (e.g., image data 310 of FIG. 3) through a first neural network, and the feature information may include some of the parameters in operation 503 of FIG. 5. For example, feature information may include kernel size and number of channels. The operation 715 included in the first graph 710 may include at least one operation. For example, the operation 715 may include a convolution operation and/or a pooling operation, and may skip connections between candidate blocks. However, it is not limited to the above-described examples. The electronic device may perform calculation 715 using Equation 1 in operation 503 of FIG. 5 . Operation 715 may refer to interconnection between a plurality of feature information pieces 711, 712, 713, and 714.
일 실시예에 따른, 전자 장치는 제1 뉴럴 네트워크를 통해, 이미지 데이터로부터, 커널(예: 도2의 커널(212))을 기반하여, 복수의 특징 정보들(711, 712, 713, 714)을 획득할 수 있다. 상기 복수의 특징 정보들 중 하나의 특징 정보는 하나의 채널에 대응할 수 있다. 예를 들어, 복수의 특징 정보들(711, 712, 713, 714)은, 입력된 이미지 데이터에 캡쳐 된 객체의 질감, 객체 일부, 곡선, 및/또는 가장자리를 포함할 수 있다. 전자 장치는 상기 복수의 특징 정보들(711, 712, 713, 714)을, 스케일에 따라 분류할 수 있다. 일 예로, 스케일은 이미지의 크기, 해상도를 포함할 수 있다. According to one embodiment, the electronic device generates a plurality of feature information 711, 712, 713, and 714 from image data through a first neural network based on a kernel (e.g., kernel 212 in FIG. 2). can be obtained. One feature information among the plurality of feature information may correspond to one channel. For example, the plurality of feature information 711, 712, 713, and 714 may include the texture, part of the object, curve, and/or edge of the object captured in the input image data. The electronic device may classify the plurality of feature information 711, 712, 713, and 714 according to scale. As an example, the scale may include the size and resolution of the image.
제2 그래프(721)에서, 일 실시예에 따른 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 복수의 특징 정보들(711, 712, 713, 714)을 획득할 수 있다. 전자 장치는 상기 복수의 특징 정보들(711, 712, 713, 714)을, 적어도 하나의 연산(715)을 이용하여, 상호 연결할 수 있다. 전자 장치는, 상기 연산(715)을, 이산적인 특징 정보 간의 연결을 위해 함수를 활용할 수 있다. 상기 함수의 일 예로, 소프트 맥스 함수(721)를 이용할 수 있다. 전자 장치는 적어도 하나의 연산(715)을, 상기 소프트 맥스 함수(721)에 기반하여, 미분 가능하도록 변형할 수 있다. 예를 들어, 전자 장치는, 상기 미분 가능하도록 변형된 연산(715)을, 경사하강법(gradient descent)을 이용하여, 복수의 특징 정보들 간의 상호 연결을 수립하기 위한 최적의 파라미터를 찾기 위해, 학습을 수행할 수 있다. 전자 장치는 경사하강법을 이용하여, 적어도 하나의 함수의 기울기를 이용하여, 최솟값을 찾을 수 있다.In the second graph 721, the electronic device according to one embodiment may obtain a plurality of feature information 711, 712, 713, and 714 based on the first neural network. The electronic device may interconnect the plurality of feature information pieces 711, 712, 713, and 714 using at least one operation 715. The electronic device may utilize the operation 715 as a function to connect discrete feature information. As an example of the function, the soft max function 721 can be used. The electronic device may modify at least one operation 715 to be differentiable based on the soft max function 721. For example, the electronic device uses the differentiable modified operation 715 using gradient descent to find optimal parameters for establishing interconnection between a plurality of feature information, Learning can be done. An electronic device can use gradient descent to find the minimum value using the slope of at least one function.
일 실시예에 따른, 전자 장치는 소프트 맥스 함수(721)에 기반하여, 복수의 특징 정보들(711, 712, 713, 714)을, 슈퍼넷으로 구성할 수 있다. 전자 장치는, 적어도 하나의 연산(715) 중 어느 하나를 선택하기 위한, 적어도 하나의 파라미터를 학습할 수 있다. 예를 들어, 전자 장치는, 이중 수준 최적화(bi-level optimization)를 이용하여, 상기 파라미터를 최적화할 수 있다. 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 도 5의 수학식 1을 이용하여, 가장 큰
Figure PCTKR2022095103-appb-img-000075
를 가지는 연산을 선택할 수 있다.
According to one embodiment, the electronic device may configure a plurality of feature information 711, 712, 713, and 714 into a supernet based on the soft max function 721. The electronic device can learn at least one parameter for selecting one of the at least one operation 715. For example, the electronic device can optimize the parameters using bi-level optimization. The electronic device uses Equation 1 in FIG. 5 based on the first neural network to determine the largest
Figure PCTKR2022095103-appb-img-000075
You can select an operation with .
제3 그래프(730)에서, 일 실시예에 따른 전자 장치는 제1 뉴럴 네트워크를 기반하여, 복수의 특징 정보들(711, 712, 713, 714)간의 상호 연결을 수립하기 위한, 파라미터를 획득할 수 있다. 예를 들어, 전자 장치는 제1 특징 정보(711)와 제2 특징 정보(712)의 상호 연결을 위해 학습을 통해 획득한 가장 큰 값을 가지는 파라미터와 대응되는 연산을 선택할 수 있다. 전자 장치는, 적어도 하나의 연산(715) 중 하나의 연산을 선택할 수 있고, 선택하지 않은 연산을 제거할 수 있다. 예를 들어, 도시하지 않았지만, 복수의 특징 정보들 간의 상호 연결을 수립하지 않는 경우가 포함될 수 있다. In the third graph 730, the electronic device according to one embodiment acquires parameters for establishing interconnection between a plurality of feature information 711, 712, 713, and 714 based on the first neural network. You can. For example, the electronic device may select an operation corresponding to the parameter with the largest value obtained through learning to interconnect the first characteristic information 711 and the second characteristic information 712. The electronic device can select one operation among the at least one operation 715 and remove the unselected operation. For example, although not shown, a case may be included in which interconnection between a plurality of feature information is not established.
일 실시예에 따른, 전자 장치는, 제3 그래프(730)에서, 상호 연결된 복수의 특징 정보들(711, 712, 713, 714) 간의 연결의 수립에 응답하여, 미분 가능하도록 변경된 상기 특징 정보의 형태를, 이산적인 형태로 변경할 수 있다. 예를 들어, 슈퍼넷을 구성하여 연산한 파라미터의 결과 값과, 이산적인 형태로 변경된 후의 파라미터 결과 값의 차이가 발생할 수 있다. 전자 장치는, 복수의 특징 정보들(711, 712, 713, 714)간의 상호 연결을 기반으로, 제1 뉴럴 네트워크를 학습할 수 있다. 예를 들어, 상기 학습된 제1 뉴럴 네트워크는 객체 인식을 위한 뉴럴 네트워크의 일 예일 수 있다. 다른 예로, 제1 뉴럴 네트워크는 객체 인식을 위한 뉴럴 네트워크의 일부인, 백본 뉴럴 네트워크에 참조될 수 있다. According to one embodiment, the electronic device, in response to the establishment of a connection between a plurality of interconnected feature information 711, 712, 713, and 714 in the third graph 730, changes the feature information to be differentiable. The form can be changed to a discrete form. For example, there may be differences between the result values of parameters calculated by configuring a supernet and the result values of parameters after being changed to a discrete form. The electronic device can learn the first neural network based on the interconnection between the plurality of feature information 711, 712, 713, and 714. For example, the learned first neural network may be an example of a neural network for object recognition. As another example, the first neural network may be referenced to a backbone neural network, which is part of a neural network for object recognition.
후술할, 도 8 내지 도 10에서, 탐색된 파라미터를 이용하여, 전자 장치에 포함된 뉴럴 네트워크에 매핑하는 방법을 설명한다. 8 to 10, which will be described later, a method of mapping to a neural network included in an electronic device using the searched parameters will be explained.
도 8은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 커널 크기의 조정을 설명하기 위한 예시도이다. FIG. 8 is an example diagram illustrating adjustment of the size of a kernel included in a neural network by an electronic device according to an embodiment.
도 8을 참조하면, 일 실시예에 따른, 전자 장치는, 메모리에 저장된 제1 뉴럴 네트워크에 기반하여, 이미지 데이터를 입력 받고, 적어도 하나의 커널을 통해, 특징 정보를 획득할 수 있다. 전자 장치는 상기 커널의 크기에 따라, 채널의 크기를 변경할 수 있다. 예를 들어, 전자 장치는 4x4 행렬인 채널을, 3x3 행렬인 커널 및 보폭 1인 콘볼루션 연산을 이용하여, 2x2 행렬인 채널로 변경할 수 있다.Referring to FIG. 8, according to one embodiment, an electronic device may receive image data based on a first neural network stored in a memory and obtain feature information through at least one kernel. The electronic device can change the size of the channel according to the size of the kernel. For example, the electronic device can change a channel that is a 4x4 matrix into a channel that is a 2x2 matrix using a kernel that is a 3x3 matrix and a convolution operation with a stride of 1.
일 실시예에 따른, 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 이미지 데이터에 캡쳐 된 객체의 정보를 인식하기 위해, 적어도 하나의 커널 크기를 설정할 수 있다. 예를 들어, 전자 장치는 커널 크기를 행렬로 나타낼 수 있고, 3x3의 크기를 가진 행렬일 수 있다. 다만, 상술한 실시예에 제한되는 것은 아니다. According to one embodiment, the electronic device may set at least one kernel size to recognize information about an object captured in image data based on the first neural network. For example, an electronic device may represent the kernel size as a matrix, which may be a matrix with a size of 3x3. However, it is not limited to the above-described examples.
일 실시예에 따른, 제1 크기 매핑(810)에서, 제1 뉴럴 네트워크에 포함된 제1 커널(811)의 크기는 제1 탐색 커널(812)의 크기보다 클 수 있다. 예를 들어, 제1 커널(811)의 크기는 4x4행렬로 나타낼 수 있고, 제1 탐색 커널(812)은 2x2행렬로 나타낼 수 있다. 제1 커널(811)의 각 행렬의 위치에는, 이미지 데이터(211)로부터 추출된 특징 정보 중 일부가 포함될 수 있다. 예를 들어, 상기 추출된 특징 정보는, 상기 이미지 데이터에 캡쳐 된 객체의 질감, 일부, 및/또는 가장자리가 포함될 수 있다. 일 실시예에 따른 전자 장치는, 제1 커널(811)의 크기가, 제1 탐색 커널(812)의 크기보다 큰 경우, 제1 커널(811)의 중앙 부위에 제1 탐색 커널(812)을 매핑하고, 매핑 되지 않은 부분은 삭제할 수 있다. 예를 들어, 전자 장치는 제1 크기 매핑(810)에서, 4x4 크기를 가진, 제1 커널(811)은 중앙 부분에 2x2 크기를 가진 제1 탐색 커널(812)을 매핑하고, 매핑 되지 않은 부분을 삭제하여, 제1 채널을 2x2 크기를 가진 커널을 획득할 수 있다. 다만 상술한 실시예에 제한되지 않는다. According to one embodiment, in the first size mapping 810, the size of the first kernel 811 included in the first neural network may be larger than the size of the first search kernel 812. For example, the size of the first kernel 811 can be expressed as a 4x4 matrix, and the size of the first search kernel 812 can be expressed as a 2x2 matrix. The position of each matrix of the first kernel 811 may include some of the feature information extracted from the image data 211. For example, the extracted feature information may include a texture, part, and/or edge of an object captured in the image data. The electronic device according to one embodiment, when the size of the first kernel 811 is larger than the size of the first search kernel 812, installs the first search kernel 812 in the center of the first kernel 811. You can map and delete unmapped parts. For example, in the first size mapping 810, the first kernel 811 with a size of 4x4 maps the first search kernel 812 with a size of 2x2 in the central part, and the unmapped part in the first size mapping 810. By deleting , a kernel with a size of 2x2 for the first channel can be obtained. However, it is not limited to the above-described embodiment.
이하에서는, 전자 장치가 4x4 크기를 가지는 제2 탐색 커널(822), 및 2x2 크기를 가지는 제2 커널(821)을 매핑하는 예시적인 케이스에 기반하여, 상기 전자 장치가 제1 뉴럴 네트워크에 포함된 커널과 크기가 다른 도 5의 동작 530에서 획득한 파라미터를 이용하여 탐색된 커널을 매핑하는 동작이 설명된다. 제2 채널 크기 매핑(820)에서, 일 실시예에 따른, 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 이미지 데이터로부터, 이미지에 캡쳐 된 객체의 정보를 인식하기 위해, 제2 탐색 커널(822)의 크기를 4x4 크기를 가진 행렬로 설정할 수 있다. 예를 들어, 제1 뉴럴 네트워크에 포함된 제2 커널(821)의 크기는 2x2 크기를 가진 행렬일 수 있다. 전자 장치는, 제2 커널(821)을 제2 탐색 커널(822)의 중앙에 매핑하고, 매핑 되지 않은 나머지 부분에 일정한 값을 할당할 수 있다. 예를 들어, 전자 장치는 나머지 부분에 0의 값을 설정하는 제로 패딩(zero-padding)을 이용할 수 있다. 일 예로, 전자 장치는 제2 커널(821)을 제2 탐색 커널(822)과 대응되는 2x2 크기에 매핑된 연산 결과가 포함되고, 그 이외의 부분에, 0값이 할당된 4x4 크기를 가진 행렬로 나타낼 수 있다. 다만, 상술한 실시예에 제한되지 않는다. Hereinafter, based on an example case in which the electronic device maps a second search kernel 822 with a size of 4x4 and a second kernel 821 with a size of 2x2, the electronic device includes the first neural network. The operation of mapping the discovered kernel using the parameters obtained in operation 530 of FIG. 5, which has a different size from the kernel, is described. In the second channel size mapping 820, according to one embodiment, the electronic device uses a second search kernel 822 to recognize information about the object captured in the image from the image data based on the first neural network. ) can be set to a matrix with a size of 4x4. For example, the size of the second kernel 821 included in the first neural network may be a 2x2 matrix. The electronic device may map the second kernel 821 to the center of the second search kernel 822 and assign a certain value to the remaining unmapped portion. For example, an electronic device may use zero-padding, which sets the remaining portion to a value of 0. As an example, the electronic device includes the second kernel 821 as a 4x4 matrix that includes an operation result mapped to a 2x2 size corresponding to the second search kernel 822, and the remaining part is assigned a 0 value. It can be expressed as However, it is not limited to the above-described embodiment.
일 실시예에 따른, 전자 장치는 제1 탐색 커널 및/또는 제2 탐색 커널에 대응하는 파라미터를 학습시키기 위해, 도 5의 동작 503에서 획득한 파라미터 중 하나를 이용할 수 있다. 예를 들어, 수학식 2에서,
Figure PCTKR2022095103-appb-img-000076
파라미터는 커널 크기와 관련된 정보를 포함할 수 있다. 전자 장치는, 동작 503에서, 적어도 하나의 파라미터를 학습하고, 상기 학습된 파라미터를 이용하여, 객체 인식을 위한 최적화된 뉴럴 네트워크를 탐색(search)하기 위해, 제1 탐색 커널(812) 및/또는 제2 탐색 커널(822)의 크기를 설정(set)할 수 있다.
According to one embodiment, the electronic device may use one of the parameters obtained in operation 503 of FIG. 5 to learn parameters corresponding to the first search kernel and/or the second search kernel. For example, in equation 2,
Figure PCTKR2022095103-appb-img-000076
Parameters may include information related to kernel size. In operation 503, the electronic device learns at least one parameter and uses the learned parameter to search for an optimized neural network for object recognition, using a first search kernel 812 and/or The size of the second search kernel 822 can be set.
일 실시예에 따른, 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 복수의 채널들을 포함하는, 복수의 후보 블록들을 포함할 수 있다. 상기 후보 블록은, 복수의 레이어를 포함하고, 상기 후보 블록에 포함된 복수의 채널들은 동일한 크기를 가질 수 있다. 예를 들어, 전자 장치는, 커널 크기에 기반하여, 다양한 채널 크기를 가진 후보 블록들 간의 상호 연결을 수립할 수 있다. According to one embodiment, the electronic device may include a plurality of candidate blocks including a plurality of channels based on a first neural network. The candidate block includes a plurality of layers, and a plurality of channels included in the candidate block may have the same size. For example, the electronic device may establish interconnections between candidate blocks with various channel sizes based on the kernel size.
도 9는, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 채널들의 수의 조정을 설명하기 위한 예시도이다. FIG. 9 is an example diagram illustrating an electronic device adjusting the number of channels included in a neural network according to an embodiment.
도 9를 참조하면, 일 실시예에 따른, 전자 장치는, 메모리에 저장된 제1 뉴럴 네트워크에 기반하여, 이미지 데이터를 입력 받고, 커널을 통해, 특징 정보를 획득할 수 있다. 상기 특징 정보는 채널에 참조될 수 있다. 상기 커널의 수에 따라, 채널들의 수가 조절될 수 있다. 예를 들면, 상기 커널은, 콘볼루션 연산을 포함할 수 있다. 전자 장치는 상기 채널을 상기 커널과 매핑하고, 커널의 수에 기반하여, 채널들의 수를 조정하고, 및/또는 커널 크기에 기반하여, 채널들의 크기를 변형할 수 있다. Referring to FIG. 9, according to one embodiment, the electronic device may receive image data and obtain feature information through a kernel based on the first neural network stored in the memory. The characteristic information may be referenced to a channel. Depending on the number of kernels, the number of channels can be adjusted. For example, the kernel may include a convolution operation. The electronic device may map the channel with the kernel, adjust the number of channels based on the number of kernels, and/or modify the size of the channels based on the kernel size.
일 실시예에 따른, 전자 장치는 제1 뉴럴 네트워크에 포함된, 적어도 하나의 블록을 구성하는, 복수의 채널들의 수를 조정할 수 있다. 예를 들어, 상기 블록은, MBConv의 한 예일 수 있다. 상기 제1 뉴럴 네트워크는 기-학습된 뉴럴 네트워크를 이용하여, 변경된 뉴럴 네트워크 일 수 있다. 상기 기-학습된 뉴럴 네트워크는 MobileNetV2, 및/또는 ResNet의 한 예일 수 있다. 일 예로, 상기 블록은 채널들의 수와 관련된 파라미터를 포함할 수 있다. 상기 파라미터는 도 5의 동작 503에서, 학습되는 적어도 하나의 파라미터에 포함될 수 있다. 전자 장치는, 상기 적어도 하나의 파라미터를 수학식 2에 기반하여, 학습할 수 있고, 및/또는 학습된 상기 파라미터를 활용하여, 블록을 구성하는 채널들의 수를 조정할 수 있다.According to one embodiment, the electronic device may adjust the number of channels constituting at least one block included in the first neural network. For example, the block may be an example of MBConv. The first neural network may be a modified neural network using a pre-trained neural network. The pre-trained neural network may be an example of MobileNetV2, and/or ResNet. As an example, the block may include a parameter related to the number of channels. The parameter may be included in at least one parameter to be learned in operation 503 of FIG. 5. The electronic device may learn the at least one parameter based on Equation 2, and/or may adjust the number of channels constituting a block using the learned parameter.
제1 채널 매핑(910)에서, 일 실시예에 따른 전자 장치는, 제1 뉴럴 네트워크에 기반하여, 이미지 데이터로부터, 적어도 하나의 커널을 이용하여, 복수의 채널들을 획득할 수 있다. 상기 채널들은 서로 다른 정보를 포함할 수 있다. 예를 들면, 하나의 채널은 이미지 데이터에 관한 높은 해상도를 가질 수 있고, 상기 하나의 채널과 상이한 채널은 낮은 해상도를 가질 수 있다. In the first channel mapping 910, the electronic device according to one embodiment may obtain a plurality of channels from image data using at least one kernel based on the first neural network. The channels may contain different information. For example, one channel may have a high resolution for image data, and a different channel may have a lower resolution.
제2 채널 매핑(920)에서, 일 실시예에 따른 전자 장치는 학습된 파라미터를 이용하여, 채널들의 수를 감소시킬 수 있다. 예를 들어, 전자 장치는 적어도 하나의 블록에 포함된 복수의 채널들 중, 적어도 하나의 채널을 학습된 파라미터에 기반하여, 제거할 수 있다. 일 예로, 제거된 상기 적어도 하나의 채널은 상기 적어도 하나의 블록에 포함된 복수의 채널들 중 마지막 채널일 수 있다. 전자 장치는 상기 학습된 파라미터를, 도 5의 동작 503의 수학식 2를 기반하여, 학습할 수 있다. In the second channel mapping 920, the electronic device according to one embodiment may reduce the number of channels using learned parameters. For example, the electronic device may remove at least one channel from among a plurality of channels included in at least one block based on a learned parameter. For example, the at least one removed channel may be the last channel among a plurality of channels included in the at least one block. The electronic device can learn the learned parameters based on Equation 2 in operation 503 of FIG. 5.
제3 채널 매핑(930)에서, 일 실시예에 따른 전자 장치는 학습된 파라미터를 이용하여, 채널들의 수를 증가시킬 수 있다. 예를 들어, 전자 장치는 적어도 하나의 블록에 포함된 복수의 채널들 중, 적어도 하나의 채널을, 학습된 파라미터에 기반하여, 생성할 수 있다. 일 예로, 생성된 상기 적어도 하나의 채널은 상기 적어도 하나의 블록에 포함된 복수의 채널들 중 마지막 채널과 동일할 수 있다. 다른 예로, 전자 장치는 제로 패딩을 이용하여, 적어도 하나의 채널을 생성할 수 있다.In the third channel mapping 930, the electronic device according to one embodiment may increase the number of channels using learned parameters. For example, the electronic device may generate at least one channel among a plurality of channels included in at least one block based on learned parameters. For example, the at least one created channel may be the same as the last channel among a plurality of channels included in the at least one block. As another example, the electronic device may create at least one channel using zero padding.
일 실시예에 따른, 전자 장치는 제1 채널 매핑(910), 제2 채널 매핑(920) 및/또는 제3 채널 매핑(930)을 통해, 이미지 데이터에 캡쳐 된 객체의 다양한 특징 정보를 획득할 수 있다. 전자 장치는 제1 뉴럴 네트워크를 통해, 상기 이미지 데이터를 입력 받고, 커널에 기반하여, 복수의 채널들을 획득할 수 있고, 상기 획득된 채널들의 수를 조정하여, 제1 뉴럴 네트워크를 변경할 수 있다. 예를 들어, 상기 변경된 제1 뉴럴 네트워크는 이미지 내에서 객체에 대한 정보를 인식하기 위한 뉴럴 네트워크에 최적화된 백본 뉴럴 네트워크일 수 있다. 일 예로, 전자 장치는 이미지 내에서 객체에 대한 정보를 인식하기 위한 뉴럴 네트워크를 이용할 수 있다. 상기 뉴럴 네트워크는 SSDLite, 및/또는 Retinanet과 같은 기-학습된 뉴럴 네트워크일 수 있다. 다른 예로, 상기 최적화된 백본 뉴럴 네트워크는 상기 기-학습된 뉴럴 네트워크에 포함될 수 있다. According to one embodiment, the electronic device acquires various characteristic information of the object captured in the image data through the first channel mapping 910, the second channel mapping 920, and/or the third channel mapping 930. You can. The electronic device may receive the image data through a first neural network, acquire a plurality of channels based on a kernel, and change the first neural network by adjusting the number of acquired channels. For example, the modified first neural network may be a backbone neural network optimized for a neural network for recognizing information about objects in an image. As an example, an electronic device can use a neural network to recognize information about objects in an image. The neural network may be a pre-trained neural network such as SSDLite, and/or Retinanet. As another example, the optimized backbone neural network may be included in the pre-trained neural network.
상술한 실시예에 따른, 채널 매핑 동작은, 상술한 효과들로 제한되지 않을 수 있다. 제1 뉴럴 네트워크를 포함하는 전자 장치는, 제1 뉴럴 네트워크에 포함된 채널들의 수를 조정하여, 이미지 내에 캡쳐 된 객체 인식의 속도 및/또는 정확성을 향상시킬 수 있다.The channel mapping operation according to the above-described embodiment may not be limited to the above-described effects. An electronic device including a first neural network may improve the speed and/or accuracy of recognizing objects captured in an image by adjusting the number of channels included in the first neural network.
도 10은, 일 실시예에 따른 전자 장치가 뉴럴 네트워크에 포함된 레이어들의 수의 조정을 설명하기 위한 예시도이다.FIG. 10 is an example diagram illustrating an electronic device adjusting the number of layers included in a neural network according to an embodiment.
제1 레이어 매핑(1010)을 참조하면, 일 실시예에 따른, 전자 장치는 도 1의 제1 뉴럴 네트워크(121)에 기반하여, 획득된 복수의 레이어들을 획득할 수 있다. 상기 복수의 레이어들은, 상기 제1 뉴럴 네트워크(121)에 포함된 채널의 크기가 동일한 블록의 일부일 수 있고, 콘볼루션 연산을 포함할 수 있다. 레이어들의 수는 상기 제1 뉴럴 네트워크(121)에 포함된 복수의 블록들마다 서로 다르게 설정될 수 있다. Referring to the first layer mapping 1010, according to one embodiment, the electronic device may obtain a plurality of layers obtained based on the first neural network 121 of FIG. 1. The plurality of layers may be part of a block with the same channel size included in the first neural network 121, and may include a convolution operation. The number of layers may be set differently for each block included in the first neural network 121.
제2 레이어 매핑(1020)을 참조하면, 일 실시예에 따른, 전자 장치는 커널 크기, 채널들의 수, 레이어들의 수와 관련된 적어도 하나의 파라미터를 이용하여, 제1 뉴럴 네트워크의 레이어의 수를 조정할 수 있다. 예를 들어, 전자 장치는, 상기 파라미터를 이용하여, 제1 레이어(1021)를 제거할 수 있다. 상기 제1 레이어(1021)는 하나의 블록에 포함된 복수의 레이어들 중 마지막 레이어일 수 있다.Referring to the second layer mapping 1020, according to one embodiment, the electronic device adjusts the number of layers of the first neural network using at least one parameter related to the kernel size, number of channels, and number of layers. You can. For example, the electronic device can remove the first layer 1021 using the above parameter. The first layer 1021 may be the last layer among a plurality of layers included in one block.
제3 레이어 매핑(1030)을 참조하면, 일 실시예에 따른, 전자 장치는 제2 레이어(1031)를 추가할 수 있다. 예를 들어, 전자 장치는 상기 제2 레이어는 제1 뉴럴 네트워크에 포함된 복수의 블록들 중 하나의 블록에 포함된 복수의 레이어들 중 마지막 레이어와 동일한 레이어를 적어도 하나 생성할 수 있다.Referring to the third layer mapping 1030, according to one embodiment, the electronic device may add the second layer 1031. For example, the electronic device may generate at least one layer in the second layer that is the same as the last layer among a plurality of layers included in one of the plurality of blocks included in the first neural network.
일 실시예에 따른, 전자 장치는, 제1 뉴럴 네트워크에 포함된 복수의 블록들 간의 상호 연결을 서로 달리하며 변경할 수 있다. 예를 들어, 상술한 실시예에 따라, 전자 장치는, 복수의 블록들의 일부 레이어를 조정하여, 조정된 블록들의 상호 연결을 재수립 하여, 제1 뉴럴 네트워크의 레이어들의 개수를 조정한 변경된 제1 뉴럴 네트워크를 획득할 수 있다. 상기 변경된 제1 뉴럴 네트워크는 이미지에 캡쳐 된 객체를 인식하기 위해 최적화된 백본 뉴럴 네트워크의 한 예일 수 있다.According to one embodiment, the electronic device may vary and change the interconnections between a plurality of blocks included in the first neural network. For example, according to the above-described embodiment, the electronic device adjusts some layers of a plurality of blocks, re-establishes interconnection of the adjusted blocks, and adjusts the number of layers of the first neural network to create a changed first neural network. A neural network can be obtained. The modified first neural network may be an example of a backbone neural network optimized for recognizing objects captured in images.
뉴럴 네트워크 타입Neural network type 백본 뉴럴 네트워크backbone neural network 파라미터 개수Number of parameters 평균 정확도 (%)Average Accuracy (%)
Hand-craftedHandcrafted MobileNetV2MobileNetV2 11.49M11.49M 32.832.8
ResNet-50ResNet-50 37.97M37.97M 35.535.5

NAS

NAS
DetNasDetNas 13.41M13.41M 33.333.3
FNAFNA 11.73M11.73M 33.933.9
제1 뉴럴 네트워크1st neural network 11.63M11.63M 35.535.5
표 1을 참고하면, Hand-crafted는 사용자가 설계한 뉴럴 네트워크를 의미한다. NAS(Neural Architecture Search)는 최적의 뉴럴 네트워크 구조를 찾는 뉴럴 네트워크를 의미할 수 있다. 평균 정확도는 mean average precision(mAP)를 의미하고, 전자 장치에 포함된 뉴럴 네트워크를 통해, 이미지 데이터를 입력 받고, 상기 이미지에 캡쳐 된 객체들에 대한 정보의 정확도를 의미할 수 있다. Referring to Table 1, Hand-crafted refers to a neural network designed by the user. NAS (Neural Architecture Search) can refer to a neural network that finds the optimal neural network structure. Average accuracy refers to mean average precision (mAP), and may refer to the accuracy of information about objects captured in the image when image data is input through a neural network included in an electronic device.
일 실시예에 따른, 전자 장치의 메모리에 저장된 제1 뉴럴 네트워크는 MobileNetV2 및/또는 ResNet-50에 대응될 수 있다. 예를 들어, MobileNetV2는 용량 및/또는 데이터 연산량이 적은 모바일과 같은 기기에 적합한 뉴럴 네트워크이고, ResNet-50은 컴퓨터와 같은 용량 및/또는 데이터 연산량이 많은 전자 장치에 이용될 수 있다. 메모리에 저장된 제1 뉴럴 네트워크 및/또는 제2 뉴럴 네트워크를 포함한 객체 인식을 위한 뉴럴 네트워크는, FNA에 기반하여, 설정된 뉴럴 네트워크일 수 있다. According to one embodiment, the first neural network stored in the memory of the electronic device may correspond to MobileNetV2 and/or ResNet-50. For example, MobileNetV2 is a neural network suitable for devices such as mobiles with low capacity and/or data computation, and ResNet-50 can be used for electronic devices with large capacity and/or data computation, such as computers. The neural network for object recognition, including the first neural network and/or the second neural network stored in the memory, may be a neural network set based on FNA.
일 실시예에 따른, 전자 장치는, 표 1을 참고하면, MobileNetV2를 백본 뉴럴 네트워크로 설정할 수 있다. 상술한 실시예에 따라, 전자 장치는, 백본 뉴럴 네트워크를 슈퍼넷으로 구성하고, 상기 백본 뉴럴 네트워크에 포함된 적어도 하나의 파라미터를 학습하여, 백본 뉴럴 네트워크에 포함된 복수의 블록들의 상호 연결, 커널 크기, 채널들의 수, 및/또는 레이어들의 수를 조정하여, 조정된 백본 뉴럴 네트워크를 획득할 수 있다. 상기 조정된 백본 뉴럴 네트워크는 상기 표 1에 제1 뉴럴 네트워크에 참조될 수 있다. 예를 들어, 제1 뉴럴 네트워크는 MobileNetV2의 파라미터 개수(11.49M)와 비슷한 파라미터 개수(11.63M)를 포함하고, ResNet-50의 정확성(35.5%)과 동일한 정확성(35.5%)을 가질 수 있다. 다른 예를 들면, DesNas에 비해 적은 파라미터 개수를 이용하여, 더 높은 정확성을 획득할 수 있다. According to one embodiment, referring to Table 1, the electronic device may set MobileNetV2 as the backbone neural network. According to the above-described embodiment, the electronic device configures the backbone neural network as a supernet, learns at least one parameter included in the backbone neural network, and establishes a kernel and interconnection of a plurality of blocks included in the backbone neural network. By adjusting the size, number of channels, and/or number of layers, a tuned backbone neural network can be obtained. The adjusted backbone neural network may be referenced to the first neural network in Table 1 above. For example, the first neural network may include a similar number of parameters (11.63M) as the number of parameters of MobileNetV2 (11.49M), and may have the same accuracy (35.5%) as that of ResNet-50 (35.5%). For another example, higher accuracy can be achieved by using a smaller number of parameters compared to DesNas.
상술한 바와 같이, 일 실시예에 따른 전자 장치는, 전자 장치에 포함된 백본 뉴럴 네트워크의 블록들의 상호 연결, 커널 크기, 레이어들의 수를 조정할 수 있고, 채널들의 수를 증가 및/또는 감소하는 동작에 기반하여, 객체 인식을 위한, 적은 파라미터를 이용하여 정확성을 향상시킬 수 있는 최적화된 백본 뉴럴 네트워크의 조정을 수행할 수 있다. As described above, an electronic device according to an embodiment may adjust the interconnection, kernel size, and number of layers of blocks of a backbone neural network included in the electronic device, and operate to increase and/or decrease the number of channels. Based on this, it is possible to adjust an optimized backbone neural network that can improve accuracy using fewer parameters for object recognition.
상술한 실시예에 따른 전자 장치에 있어서, 인스트럭션들을 저장하기 위한 메모리 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 때에, 적어도 하나의 객체가 캡쳐 된 이미지를 수신하고, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고 및 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 상기 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)일 수 있다.The electronic device according to the above-described embodiment includes a memory for storing instructions and at least one processor operably coupled to the memory, wherein the at least one processor is configured to execute the instructions. When receiving an image in which at least one object is captured, first information is extracted from the image using a first neural network including blocks of channels for processing the image based on a convolution operation. second information indicating the class of the at least one object and the location at which the at least one object was captured within the image, using a second neural network to obtain and process the obtained first information; Obtaining, wherein the first neural network is assigned to candidate blocks and is selected from the candidate blocks based on third information related to the number of channels of the candidate blocks, the interconnection of the blocks It can be.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 콘볼루션 연산을 위한 커널 크기, 상기 채널들의 수, 및 레이어들의 수를 나타내는 상기 제3 정보를 학습하여 획득될 수 있다.According to one embodiment, the first neural network may be obtained by learning the third information indicating the kernel size for the convolution operation, the number of channels, and the number of layers.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하는 상기 블록에 포함된 적어도 하나의 레이어의 수를 조절하여 획득될 수 있다.According to one embodiment, the first neural network may be obtained by adjusting the number of at least one layer included in the block based on the third information.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 블록에 포함된 채널들 중 적어도 하나의 채널이 학습된 후, 나머지 채널들이 학습될 수 있다.According to one embodiment, the first neural network may learn the remaining channels after at least one channel among the channels included in the block is learned.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 이미지로부터 상기 제1 정보를 획득하기 위한 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수에 기반하여, 상기 제3 뉴럴 네트워크의 채널 수를 조절하여 획득될 수 있다.According to one embodiment, the first neural network, for a third neural network for obtaining the first information from the image, based on the number of channels of the blocks selected based on the third information, 3 It can be obtained by adjusting the number of channels of the neural network.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수 미만의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 블록들의 채널 수에 기반하는 하나 이상의 채널들을 추가하여 획득될 수 있다.According to one embodiment, the first neural network, for a third neural network including channels less than the number of channels of the blocks selected based on the third information, determines the number of channels of the blocks in the third neural network. It can be obtained by adding one or more channels based on it.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수를 초과하는 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 포함된 상기 채널들 중 하나 이상의 채널을 제거하여 획득될 수 있다.According to one embodiment, the first neural network is configured to, with respect to a third neural network including channels exceeding the number of channels of the blocks selected based on the third information, the channel included in the third neural network It can be obtained by removing one or more of the channels.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 상기 커널 크기에 기반하여, 상기 제3 뉴럴 네트워크의 커널 크기를 조절하여 획득될 수 있다.According to one embodiment, the first neural network adjusts the kernel size of the third neural network based on the kernel size of the blocks selected based on the third information, can be obtained.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 커널 크기 미만의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 커널 크기를 제외한 나머지 부분에 랜덤 노이즈를 추가하여 획득될 수 있다.According to one embodiment, the first neural network, for a third neural network including channels smaller than the kernel size selected based on the third information, excludes the kernel size selected in the third neural network. It can be obtained by adding random noise to the part.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 커널 크기 이상의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 커널 크기를 제외한 나머지 부분을 제거하여 획득될 수 있다.According to one embodiment, the first neural network, with respect to a third neural network including channels larger than the kernel size selected based on the third information, the remaining portion excluding the kernel size selected in the third neural network It can be obtained by removing .
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 상기 레이어들의 수에 기반하여, 상기 제3 뉴럴 네트워크에 포함된 블록들의 레이어들의 수를 조절하여 획득될 수 있다.According to one embodiment, the first neural network, with respect to the third neural network, selects the blocks included in the third neural network based on the number of layers of the blocks selected based on the third information. It can be obtained by adjusting the number of layers.
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 레이어들의 수 이상의 레이어를 포함한 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 레이어들의 수만큼 적어도 하나의 레이어를 추가하여 획득될 수 있다.According to one embodiment, the first neural network includes at least one layer as many as the number of layers selected in the third neural network, with respect to a third neural network including more than the number of layers selected based on the third information. It can be obtained by adding a layer of .
일 실시예에 따르면, 상기 제1 뉴럴 네트워크는, 상기 제3 정보에 기반하여 선택된 상기 레이어들의 수 미만의 레이어를 포함한 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 레이어들의 수만큼 적어도 하나의 레이어를 제거하여 획득될 수 있다.According to one embodiment, the first neural network is, for a third neural network including fewer layers than the number of layers selected based on the third information, at least as many as the number of layers selected in the third neural network. It can be obtained by removing one layer.
일 실시예에 따르면, 상기 제2 뉴럴 네트워크는, 상기 제1 정보에 포함된, 다양한 커널 크기를 가진 채널들을 획득하는 제4 뉴럴 네트워크를 포함하고, 상기 획득된 채널들에 기반하여, 상기 제2 정보를 획득하는 제5 뉴럴 네트워크를 포함할 수 있다.According to one embodiment, the second neural network includes a fourth neural network that acquires channels with various kernel sizes included in the first information, and based on the obtained channels, the second neural network It may include a fifth neural network that acquires information.
일 실시예에 따르면, 전자 장치의 방법은, 적어도 하나의 객체가 캡쳐 된 이미지로부터 객체를 인식하기 위한 뉴럴 네트워크를 식별하는 동작, 상기 식별된 뉴럴 네트워크에 포함된 블록을 구성하는 채널들의 수(numbers)에 대한 후보 정보를 획득하는 동작, 상기 객체의 인식에 기반하여, 상기 뉴럴 네트워크를 학습하기 위한 피드백 정보를 획득하는 동작, 및 상기 피드백 정보에 기반하여, 상기 블록들 사이의 상호 연결(interconnection)을 변경하는 동작을 포함할 수 있다.According to one embodiment, a method of an electronic device includes an operation of identifying a neural network for recognizing an object from an image in which at least one object is captured, the number of channels constituting a block included in the identified neural network (numbers) ), an operation to obtain candidate information for, based on recognition of the object, an operation to obtain feedback information for learning the neural network, and based on the feedback information, interconnection between the blocks It may include actions that change .
일 실시예에 따르면, 상기 채널들의 수에 대한 후보 정보는, 상기 이미지로부터 획득된 채널로부터, 상기 블록에 포함된 적어도 하나의 레이어를 통해, 객체를 인식하기 위한 채널들의 수를 변경하기 위한 정보를 포함할 수 있다.According to one embodiment, the candidate information about the number of channels includes information for changing the number of channels for recognizing an object from a channel obtained from the image through at least one layer included in the block. It can be included.
일 실시예에 따르면, 상기 피드백 정보는, 상기 블록에 포함된 커널 크기, 레이어들의 수에 대한 변경 정보를 더 추가할 수 있다.According to one embodiment, the feedback information may further add change information about the kernel size and number of layers included in the block.
일 실시예에 따르면, 상기 블록들 사이의 상호 연결은, 상기 피드백 정보에 기반하여, 상기 채널들의 수, 커널 크기, 레이어들의 수를 조절하여, 상기 블록들 사이의 적어도 하나의 연결이 수립될 수 있다.According to one embodiment, the interconnection between the blocks may be established by adjusting the number of channels, kernel size, and number of layers based on the feedback information, and at least one connection between the blocks can be established. there is.
일 실시예에 따르면, 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체(computer readable storage medium)에 있어서, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시,적어도 하나의 객체가 캡쳐 된 이미지를 수신하고, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고, 및 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)인, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.According to one embodiment, in a computer readable storage medium storing one or more programs, the one or more programs, when executed by a processor of an electronic device, generate an image in which at least one object is captured. Obtaining first information from the image using a first neural network comprising blocks of channels for receiving and processing the image based on a convolution operation, and obtaining first information from the image. Obtaining second information indicating the class of the at least one object and the location at which the at least one object was captured within the image, using a second neural network for processing, the first neural network comprising: instructions that cause the electronic device to be assigned to candidate blocks and to be selected from the candidate blocks based on third information related to the number of channels of the candidate blocks, and to cause the electronic device to be an interconnection of the blocks. can do.
일 실시예에 따르면, 전자 장치의 방법은, 적어도 하나의 객체가 캡쳐 된 이미지를 수신하는 동작, 콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하는 동작, 및 상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하는 동작들을 포함하고, 상기 제1 뉴럴 네트워크는, 후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)일 수 있다.According to one embodiment, a method of an electronic device includes an operation of receiving an image in which at least one object is captured, a first neural network including blocks of channels for processing the image based on a convolution operation. Obtaining first information from the image using a network, and using a second neural network to process the obtained first information, the class of the at least one object, and the at least one object in the image. and obtaining second information indicating a location at which an object was captured, wherein the first neural network is assigned to candidate blocks and is related to the number of channels of the candidate blocks based on the third information. , may be an interconnection of the blocks selected from the candidate blocks.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (20)

  1. 전자 장치(electronic device)에 있어서, In an electronic device,
    인스트럭션들을 저장하기 위한 메모리; 및memory for storing instructions; and
    상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고,At least one processor operably coupled to the memory,
    상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 때에,When the at least one processor executes the instructions,
    적어도 하나의 객체가 캡쳐 된 이미지를 수신하고;Receive an image in which at least one object is captured;
    콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고; 및Obtain first information from the image using a first neural network including blocks of channels for processing the image based on a convolution operation; and
    상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고,Using a second neural network to process the obtained first information, obtain second information indicating a class of the at least one object and a location where the at least one object was captured within the image,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    후보 블록들에 할당되고, 상기 후보 블록들의 상기 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)인, 전자 장치.An electronic device, an interconnection of blocks assigned to candidate blocks and selected from the candidate blocks based on third information related to the number of channels of the candidate blocks.
  2. 제1항에 있어서,According to paragraph 1,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 콘볼루션 연산을 위한 커널 크기, 상기 채널들의 수, 및 레이어들의 수를 나타내는 상기 제3 정보를 학습하여 획득된, 전자 장치.An electronic device obtained by learning the third information indicating the kernel size for the convolution operation, the number of channels, and the number of layers.
  3. 제2항에 있어서,According to paragraph 2,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하는 상기 블록에 포함된 적어도 하나의 레이어의 수를 조절하여 획득된, 전자 장치.An electronic device obtained by adjusting the number of at least one layer included in the block based on the third information.
  4. 제2항에 있어서,According to paragraph 2,
    상기 제1 뉴럴 네트워크는, The first neural network is,
    상기 블록에 포함된 채널들 중 적어도 하나의 채널이 학습된 후, 나머지 채널들이 학습되는, 전자 장치.After at least one channel among the channels included in the block is learned, the remaining channels are learned.
  5. 제2항에 있어서,According to paragraph 2,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 이미지로부터 상기 제1 정보를 획득하기 위한 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수에 기반하여, 상기 제3 뉴럴 네트워크의 채널 수를 조절하여 획득된, 전자 장치.For a third neural network for obtaining the first information from the image, the number of channels of the third neural network is adjusted based on the number of channels of the blocks selected based on the third information. Device.
  6. 제5항에 있어서, According to clause 5,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수 미만의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 블록들의 채널 수에 기반하는 하나 이상의 채널들을 추가하여 획득된, 전자 장치.An electronic device obtained by adding one or more channels based on the number of channels of blocks to the third neural network, with respect to a third neural network including channels less than the number of channels of the blocks selected based on the third information. .
  7. 제5항에 있어서,According to clause 5,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 블록들의 채널 수를 초과하는 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 포함된 상기 채널들 중 하나 이상의 채널을 제거하여 획득된, 전자 장치.An electronic device obtained by removing one or more channels among the channels included in the third neural network, with respect to a third neural network including channels exceeding the number of channels of the blocks selected based on the third information. .
  8. 제2항에 있어서,According to paragraph 2,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 상기 커널 크기에 기반하여, 상기 제3 뉴럴 네트워크의 커널 크기를 조절하여 획득된, 전자 장치.For the third neural network, an electronic device obtained by adjusting the kernel size of the third neural network based on the kernel size of the blocks selected based on the third information.
  9. 제8항에 있어서,According to clause 8,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 커널 크기 미만의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 커널 크기를 제외한 나머지 부분에 랜덤 노이즈를 추가하여 획득된, 전자 장치.An electronic device obtained by adding random noise to a third neural network including channels smaller than the kernel size selected based on the third information, except for the kernel size selected in the third neural network.
  10. 제8항에 있어서,According to clause 8,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 커널 크기 이상의 채널들을 포함하는 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 커널 크기를 제외한 나머지 부분을 제거하여 획득된, 전자 장치.An electronic device obtained by removing the remaining portion except for the kernel size selected in the third neural network with respect to a third neural network including channels larger than or equal to the kernel size selected based on the third information.
  11. 제2항에 있어서,According to paragraph 2,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 뉴럴 네트워크에 대하여, 상기 제3 정보에 기반하여 선택된 상기 블록들의 상기 레이어들의 수에 기반하여, 상기 제3 뉴럴 네트워크에 포함된 블록들의 레이어들의 수를 조절하여 획득된, 전자 장치.For the third neural network, an electronic device obtained by adjusting the number of layers of blocks included in the third neural network based on the number of layers of the blocks selected based on the third information.
  12. 제11항에 있어서,According to clause 11,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 레이어들의 수 이상의 레이어를 포함한 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 레이어들의 수만큼 적어도 하나의 레이어를 추가하여 획득된, 전자 장치.An electronic device obtained by adding at least one layer equal to the number of layers selected to the third neural network with respect to a third neural network including more than the number of layers selected based on the third information.
  13. 제11항에 있어서,According to clause 11,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    상기 제3 정보에 기반하여 선택된 상기 레이어들의 수 미만의 레이어를 포함한 제3 뉴럴 네트워크에 대하여, 상기 제3 뉴럴 네트워크에 선택된 상기 레이어들의 수만큼 적어도 하나의 레이어를 제거하여 획득된, 전자 장치.An electronic device obtained by removing at least one layer equal to the number of layers selected in the third neural network with respect to a third neural network including fewer layers than the number of layers selected based on the third information.
  14. 제1항에 있어서,According to paragraph 1,
    상기 제2 뉴럴 네트워크는,The second neural network is,
    상기 제1 정보에 포함된, 다양한 커널 크기를 가진 채널들을 획득하는 제4 뉴럴 네트워크를 포함하고, 상기 획득된 채널들에 기반하여, 상기 제2 정보를 획득하는 제5 뉴럴 네트워크를 포함하는, 전자 장치.A fourth neural network for acquiring channels with various kernel sizes included in the first information, and a fifth neural network for acquiring the second information based on the obtained channels. Device.
  15. 전자 장치의 방법에 있어서,In the method of the electronic device,
    적어도 하나의 객체가 캡쳐 된 이미지로부터 객체를 인식하기 위한 뉴럴 네트워크를 식별하는 동작;Identifying a neural network for recognizing an object from an image in which at least one object is captured;
    상기 식별된 뉴럴 네트워크에 포함된 블록을 구성하는 채널들의 수(numbers)에 대한 후보 정보를 획득하는 동작;Obtaining candidate information about the number of channels constituting a block included in the identified neural network;
    상기 객체의 인식에 기반하여, 상기 뉴럴 네트워크를 학습하기 위한 피드백 정보를 획득하는 동작; 및Based on the recognition of the object, obtaining feedback information for learning the neural network; and
    상기 피드백 정보에 기반하여, 상기 블록들 사이의 상호 연결(interconnection)을 변경하는 동작을 포함하는, 방법.A method comprising changing interconnection between the blocks based on the feedback information.
  16. 제15항에 있어서,According to clause 15,
    상기 채널들의 수에 대한 후보 정보는, 상기 이미지로부터 획득된 채널로부터, 상기 블록에 포함된 적어도 하나의 레이어를 통해, 객체를 인식하기 위한 채널들의 수를 변경하기 위한 정보를 포함하는, 방법.The candidate information about the number of channels includes information for changing the number of channels for recognizing an object from a channel obtained from the image through at least one layer included in the block.
  17. 제16항에 있어서,According to clause 16,
    상기 피드백 정보는, 상기 블록에 포함된 커널 크기, 레이어들의 수에 대한 변경 정보를 더 포함하는, 방법.The feedback information further includes change information on the kernel size and number of layers included in the block.
  18. 제17항에 있어서,According to clause 17,
    상기 블록들 사이의 상호 연결은, 상기 피드백 정보에 기반하여, 상기 채널들의 수, 커널 크기, 레이어들의 수를 조절하여, 상기 블록들 사이의 적어도 하나의 연결이 수립되는, 방법.The method of establishing interconnection between the blocks by adjusting the number of channels, kernel size, and number of layers based on the feedback information, and establishing at least one connection between the blocks.
  19. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체(computer readable storage medium)에 있어서, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, In a computer readable storage medium storing one or more programs, when the one or more programs are executed by a processor of an electronic device,
    적어도 하나의 객체가 캡쳐 된 이미지를 수신하고;Receive an image in which at least one object is captured;
    콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하고; 및Obtain first information from the image using a first neural network including blocks of channels for processing the image based on a convolution operation; and
    상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하고,Using a second neural network to process the obtained first information, obtain second information indicating a class of the at least one object and a location where the at least one object was captured within the image,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)인, 상기 전자 장치를 야기하는 인스트럭션들을 포함하는,instructions that cause the electronic device to be assigned to candidate blocks and to be selected from the candidate blocks based on third information related to the number of channels of the candidate blocks, and to cause the electronic device to be an interconnection of the blocks. doing,
    컴퓨터 판독가능 저장 매체.Computer readable storage medium.
  20. 전자 장치의 방법에 있어서,In the method of the electronic device,
    적어도 하나의 객체가 캡쳐 된 이미지를 수신하는 동작;Receiving an image in which at least one object is captured;
    콘볼루션 연산(convolution operation)에 기반하여 상기 이미지를 처리하기 위한 채널들의 블록들을 포함하는 제1 뉴럴 네트워크를 이용하여, 상기 이미지로부터 제1 정보를 획득하는 동작; 및Obtaining first information from the image using a first neural network including blocks of channels for processing the image based on a convolution operation; and
    상기 획득된 제1 정보를 처리하기 위한 제2 뉴럴 네트워크를 이용하여, 상기 적어도 하나의 객체의 클래스, 및 상기 이미지 내에서 상기 적어도 하나의 객체가 캡쳐 된 위치를 나타내는 제2 정보를 획득하는 동작들을 포함하고,Operations of obtaining second information indicating a class of the at least one object and a location at which the at least one object was captured within the image, using a second neural network for processing the obtained first information. Contains,
    상기 제1 뉴럴 네트워크는,The first neural network is,
    후보 블록들에 할당되고, 상기 후보 블록들의 채널들의 수와 관련된, 제3 정보에 기반하여, 상기 후보 블록들로부터 선택된, 상기 블록들의 상호 연결(interconnection)인, 방법.The method is an interconnection of blocks assigned to candidate blocks and selected from the candidate blocks based on third information related to the number of channels of the candidate blocks.
PCT/KR2022/095103 2022-05-20 2022-05-20 Electronic device, method, and computer-readable storage medium for identifying object from image data WO2023224207A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/095103 WO2023224207A1 (en) 2022-05-20 2022-05-20 Electronic device, method, and computer-readable storage medium for identifying object from image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/095103 WO2023224207A1 (en) 2022-05-20 2022-05-20 Electronic device, method, and computer-readable storage medium for identifying object from image data

Publications (1)

Publication Number Publication Date
WO2023224207A1 true WO2023224207A1 (en) 2023-11-23

Family

ID=88835448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/095103 WO2023224207A1 (en) 2022-05-20 2022-05-20 Electronic device, method, and computer-readable storage medium for identifying object from image data

Country Status (1)

Country Link
WO (1) WO2023224207A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066143A (en) * 2018-11-30 2020-06-09 한국전자통신연구원 Method for lighting neural network using ruduction-repetition block and apparatus using the same
KR20200129314A (en) * 2019-05-08 2020-11-18 전북대학교산학협력단 Object detection in very high-resolution aerial images feature pyramid network
KR20210046416A (en) * 2019-10-18 2021-04-28 한국과학기술원 Audio classification method based on neural network for waveform input and analyzing apparatus
KR20210085576A (en) * 2019-12-30 2021-07-08 주식회사 써로마인드 Method for generating feature map for a convolutional neural network robust to scale variation and computing device using the same
KR20210086840A (en) * 2019-12-30 2021-07-09 주식회사 써로마인드 Method for alerting when surrounding situation of car is dangerous situation by driving guide, and device using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066143A (en) * 2018-11-30 2020-06-09 한국전자통신연구원 Method for lighting neural network using ruduction-repetition block and apparatus using the same
KR20200129314A (en) * 2019-05-08 2020-11-18 전북대학교산학협력단 Object detection in very high-resolution aerial images feature pyramid network
KR20210046416A (en) * 2019-10-18 2021-04-28 한국과학기술원 Audio classification method based on neural network for waveform input and analyzing apparatus
KR20210085576A (en) * 2019-12-30 2021-07-08 주식회사 써로마인드 Method for generating feature map for a convolutional neural network robust to scale variation and computing device using the same
KR20210086840A (en) * 2019-12-30 2021-07-09 주식회사 써로마인드 Method for alerting when surrounding situation of car is dangerous situation by driving guide, and device using the same

Similar Documents

Publication Publication Date Title
WO2018217019A1 (en) Device for detecting variant malicious code on basis of neural network learning, method therefor, and computer-readable recording medium in which program for executing same method is recorded
EP3461290A1 (en) Learning model for salient facial region detection
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2020045848A1 (en) System and method for diagnosing disease using neural network performing segmentation
WO2021006522A1 (en) Image diagnosis apparatus using deep learning model and method therefor
WO2019074316A1 (en) Convolutional artificial neural network-based recognition system in which registration, search, and reproduction of image and video are divided between and performed by mobile device and server
WO2019050297A1 (en) Neural network learning method and device
WO2020231226A1 (en) Method of performing, by electronic device, convolution operation at certain layer in neural network, and electronic device therefor
WO2021075735A1 (en) Training a neural network using periodic sampling over model weights
WO2022114731A1 (en) Deep learning-based abnormal behavior detection system and detection method for detecting and recognizing abnormal behavior
WO2021010671A9 (en) Disease diagnosis system and method for performing segmentation by using neural network and unlocalized block
WO2020045702A1 (en) Computer program and terminal for providing urinalysis using colorimetry table
WO2020071618A1 (en) Method and system for entropy-based neural network partial learning
WO2020149601A1 (en) Method and device for high-speed image recognition using 3d cnn
WO2020017814A1 (en) Abnormal entity detection system and method
WO2023224207A1 (en) Electronic device, method, and computer-readable storage medium for identifying object from image data
WO2022092451A1 (en) Indoor location positioning method using deep learning
WO2024080791A1 (en) Method for generating dataset
WO2023224430A1 (en) Method and apparatus for on-device personalised analysis using a machine learning model
WO2020032561A2 (en) Disease diagnosis system and method using multiple color models and neural network
WO2019107624A1 (en) Sequence-to-sequence translation method and apparatus therefor
WO2022197136A1 (en) System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training
WO2022019389A1 (en) Device and method for learning data augmentation-based space analysis model
WO2024072001A1 (en) Apparatus and method for sharing and pruning weights for vision and language models
WO2024049192A1 (en) Image processing device and method using artificial neural network model

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: 22942870

Country of ref document: EP

Kind code of ref document: A1