WO2020080616A1 - 인공 신경망에 기반한 영상 처리 방법 및 장치 - Google Patents

인공 신경망에 기반한 영상 처리 방법 및 장치 Download PDF

Info

Publication number
WO2020080616A1
WO2020080616A1 PCT/KR2019/002099 KR2019002099W WO2020080616A1 WO 2020080616 A1 WO2020080616 A1 WO 2020080616A1 KR 2019002099 W KR2019002099 W KR 2019002099W WO 2020080616 A1 WO2020080616 A1 WO 2020080616A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
camera
subject
image processing
optical flow
Prior art date
Application number
PCT/KR2019/002099
Other languages
English (en)
French (fr)
Inventor
노준용
서광균
서형국
박상훈
김재동
유정은
이다원
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190019620A external-priority patent/KR102203109B1/ko
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to US17/275,772 priority Critical patent/US20220044414A1/en
Publication of WO2020080616A1 publication Critical patent/WO2020080616A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • OTT (Over The Top) refers to a TV service that can be viewed on the Internet.
  • OTT can provide video content through the public internet rather than radio waves or cables.
  • 'Top' means a set-top box connected to a TV, but can be used broadly to encompass all Internet-based video services, with or without a set-top box.
  • OTT service Due to the development and dissemination of high-speed Internet, video service through OTT service is provided.
  • camera framing and grammar can be important elements in the process of editing and extraction as well as video production.
  • Current editors and content creators can produce thumbnails or short videos suitable for content while viewing all videos, or receive limited output content through an automated system.
  • the automatic camera framing based on the artificial neural network and the automatic analysis of the camera work it is possible to reduce the hassle that the user has to look through all the images when creating the content.
  • image highlights and thumbnails may be extracted through camera framing and camera walk analysis, and analysis results may be used for camera motion stabilization and image compression.
  • the image processing method includes separating a foreground image including a subject and a background image including objects other than the subject from an input image; Estimating camera framing for the subject based on the input image and the foreground image; Extracting optical flow maps from the input image; Constructing a feature vector based on the optical flow map; Estimating a camera work using the feature vector; And outputting at least one of the camera framing and the camera walk.
  • the step of separating the foreground image and the background image may include separating the foreground image and the background image from the input image using a pretrained first neural network.
  • the first neural network may include a convolutional neural network (CNN).
  • CNN convolutional neural network
  • the estimating of the camera framing may include extracting feature points of the subject from the input image by using subject information included in the foreground image; And estimating camera framing for the subject from feature points of the subject.
  • the subject includes a person, and the feature points of the subject may include at least one of the person's eyes, nose, ears, neck, shoulders, elbows, wrists, pelvis, knees, and ankles.
  • the camera framing may include at least one object arrangement structure of close-up, bust, medium, knee, full, and long.
  • the optical flow map may be extracted using a current frame corresponding to the input image and a previous frame of the current frame.
  • Each pixel included in the optical flow ⁇ may have a vector including directionality and motion size.
  • the constructing the feature vector may include dividing the optical flow map into a plurality of regions using a third rule; And constructing the feature vector based on vectors corresponding to at least some of the divided regions.
  • the constructing the feature vector based on the vectors may include generating a histogram for each of the regions using the directional components of the vectors; And constructing the feature vector by integrating the histograms for each zone.
  • the estimating the camera walk may include estimating the camera walk by applying the feature vector to a pre-trained second neural network.
  • the second neural network may be trained using a plurality of training images labeled with camera framing and camera work.
  • the second neural network may include a multi-layer perceptrons (MLP) model.
  • MLP multi-layer perceptrons
  • the camera work may include at least one camera movement of a fan, a tilt, an orbit, a crane, a track, and a static.
  • the image processing apparatus includes a communication interface for receiving an input image; And separating the foreground image including the subject from the input image and the background image including the objects other than the subject, estimating camera framing for the subject based on the input image and the foreground image, and inputting the input. And a processor for extracting an optical flow map from an image, constructing a feature vector based on the optical flow map, and estimating a camera walk using the feature vector, wherein the communication interface comprises the camera framing, and the camera walk Output at least one of them.
  • the processor may separate the foreground image and the background image from the input image using a pretrained first neural network.
  • the processor may extract the optical flow map using a current frame corresponding to the input image and a previous frame of the current frame.
  • the processor divides the optical flow map into a plurality of regions using a third rule, and generates a histogram for each region using a directional component of vectors corresponding to at least some of the divided regions.
  • the feature vector can be constructed by integrating the histograms for each zone.
  • automatic camera framing based on an artificial neural network and automatic analysis of a camera work can reduce the hassle that a user has to look through all the images during content creation.
  • image highlighting and thumbnails can be extracted through camera framing and camera walk analysis, while the analysis results can be used for camera motion stabilization and image compression algorithms.
  • FIG. 1 is a flowchart illustrating an image processing method according to an embodiment.
  • FIG. 2 is a view for explaining a method of separating a foreground image and a background image according to an embodiment.
  • FIG. 3 is a diagram for explaining a method of estimating camera framing according to an embodiment.
  • FIG. 4 is a flowchart illustrating a method of constructing a feature vector according to an embodiment.
  • FIG. 5 is a diagram for explaining a method of constructing a feature vector using a third rule according to an embodiment.
  • FIG. 6 is a flowchart illustrating an image processing method according to another embodiment.
  • FIG. 7 is a diagram for explaining a method of training a second neural network according to an embodiment.
  • FIG. 8 is a block diagram of an image processing apparatus 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 only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be referred to as the second component, Similarly, the second component may also be referred to as the first component.
  • an image processing apparatus separates a foreground image including a subject and a background image including objects other than the subject from the input image (110).
  • the input image may include a plurality of frames.
  • the subject may be, for example, a human.
  • the subject may be singular or plural.
  • Subjects can also be called 'interesting objects'.
  • a method in which the image processing apparatus separates the foreground image and the background image from the input image will be described in detail with reference to FIG. 2 below.
  • the image processing apparatus estimates camera framing for the subject based on the input image and the foreground image (120).
  • 'Camera framing' may refer to the camera's screen composition, that is, to organize it in the finder from the beginning so that the film can be enlarged and drawn even without trimming the screen during shooting.
  • Camera framing can also be called 'camera composition'.
  • Camera framing includes subject placement structures such as close-up, bust, waist, medium, knee, full, and long, for example. It can contain.
  • the close-up is a magnification of only one part of the image, for example, emphasizing a person's face or highlighting an object, and can be mainly used for psychological descriptions such as tension and anxiety.
  • a scene with excitement can be constructed through an extended subject by close-up.
  • a bust or bust shot allows the subject's head to chest to be placed on the screen, for example in a movie or drama, conversation scenes between people, interview scenes in a news or documentary, etc. Can be used in
  • a waist or waist shot allows the head to waist to be arranged on the screen, and for example, it may be used in conversation scenes and interview scenes, etc. to indicate the upper body movement.
  • the medium (Medium) or medium shot (Medium Shot) can be said to be the generic name for the bust-waist-knee-shot described above.
  • the medium shot may correspond to an intermediate-stage shot.
  • Knee or knee shot allows the appearance of the head to knee on the screen, and can be used, for example, when capturing the movements of the upper body of a subject or when capturing multiple subjects. Knee shots give you a sense of distance, so you can feel secure.
  • Full or full shot allows the appearance of the head to feet on the screen, and can be used, for example, to express the whole person or show the situation with the background.
  • a long shot or a long shot corresponds to a shot taken from a distance.
  • the long shot may be used as a means for explaining the relationship and location with the subject, and may also be used as a means for visual effect. It can also be used to describe a situation when an event begins or a story in another place unfolds.
  • the image processing apparatus may estimate camera framing for a subject based on at least one of an input image, a foreground image, and a background image.
  • the image processing apparatus may estimate the camera framing using, for example, the neural network 730 described later.
  • the image processing apparatus extracts optical flow maps from the input image (130).
  • 'Optical flow' is a concept introduced to describe visual stimuli, and can be understood as an apparent movement pattern of objects, surfaces, and edges in a visual scene caused by the relative movement between the viewer and the scene.
  • the optical flow may be defined as the distribution of the apparent speed of movement of the brightness pattern of the image.
  • the image processing apparatus can estimate motion (information) between two frames without prior knowledge of the frame scene by using the optical flow map.
  • the motion (information) may be information indicating how the object of interest is moving (eg, the size of the motion and the direction of the motion).
  • the image processing apparatus may extract, for example, an optical flow map using the current frame corresponding to the input image and the previous frame of the current frame.
  • the optical flow map according to an embodiment may be, for example, a dense optical flow map.
  • the dense optical flow map may be, for example, an optical flow map generated based on a region in which the density of vectors constituting the optical flow map is higher than a preset criterion.
  • the velocity can be obtained from all pixels in the image by the dense optical flow.
  • An example of a dense optical flow is the Lucas-Canade method.
  • the Lucas-Kanade method includes: i) the brightness of a pixel on an object whose frame value changes little by little, ii) temporal persistence with little movement of the object between successive frames in the image, and iii) spatially adjacent to each other. These points can be based on three assumptions: spatial consistency, which is likely to belong to the same object and has the same movement.
  • the image processing apparatus constructs a feature vector based on the optical flow map (140).
  • the image processing apparatus may divide the optical flow map into a plurality of regions using, for example, the third-order rule.
  • the image processing apparatus may construct a feature vector based on vectors corresponding to at least some of the divided regions.
  • the image processing apparatus may use an optical flow map to classify the camera work. A method of constructing the feature vector by the image processing apparatus will be described in detail with reference to FIG. 4 below.
  • the image processing apparatus estimates the camera work using the feature vector (150).
  • 'Camera Walk' refers to a technique of fixing, moving, or photographing an image by moving a lens, and may also be referred to as 'camera grammar' or 'camera movement'.
  • the image processing apparatus may estimate the camera work, for example, by applying a feature vector to a pretrained second neural network.
  • the second neural network may be, for example, trained using a plurality of training images labeled with camera framing and camera work.
  • the second neural network may be, for example, a neural network 730 described later.
  • the second neural network may include, for example, a Multi-Layer Perceptrons (MLP) model.
  • MLP Multi-Layer Perceptrons
  • the multilayer perceptron (MLP) model is a kind of feedforward artificial neural network, and may be composed of three nodes: an input layer, a hidden layer, and an output layer.
  • each node except the input node may be a neuron using a nonlinear activation function.
  • Multilayer perceptron can use a supervised learning technique called backpropagation for training.
  • the second neural network may be the same neural network as the first neural network, or may be a neural network separated from each other.
  • the image processing apparatus may train the multi-layer perceptron model using the feature vector constructed in step 140.
  • the image processing apparatus may estimate the camera work by training the second neural network with previously prepared virtual (CG) data.
  • CG virtual
  • Camera walks may include camera movements such as, for example, fan, tilt, orbit, crane, track, static, and dolly. You can.
  • Pan or panning is also referred to as a panorama or connection technique, and refers to a technique of fixing a camera on a camera axis and then moving the camera's angle to the left or right.
  • Panning can be used to continuously show a wide landscape by moving the camera horizontally from a fixed point of view. When panning the camera in a horizontal direction, the speed can generally be adjusted according to the movement of the subject. Moving the camera to the left is called Pan left, and moving to the right is called Pan right.
  • Panning for example, can revitalize the boredom and boredom that follows from a fixed shot, and can be utilized as a technique for connecting the time axis.
  • Tilt refers to a technique of taking a picture by moving the angle of the camera vertically in the vertical direction while the camera is fixed to the camera axis. Moving up the angle of the camera is called tilt up, and moving down is called tilt down. Tilt can be used, for example, when showing an opening of a video or a high-rise building.
  • Orbit refers to a technique of installing a circular track to wrap around the subject. Orbit can also be called 'Arc'. Orbit or arc is a combination of Dali and Track, which will be described later, and refers to a photographing technique that moves in a semicircular shape around the subject.
  • the arc can be divided into arc left and arc right according to the direction of movement.
  • the arc left refers to shooting in a circle 180 degrees to the left of the subject
  • the arc light refers to shooting in a circle 180 degrees to the right of the subject.
  • the arc shows a fixed subject from various angles, it can cause interest to the audience by varying the background.
  • a crane refers to a technique of moving a camera up and down while relying on equipment such as a crane or a Jimmy's house.
  • Tracking or tracking (tracking) refers to a technique in which a camera follows a subject moving from side to side. At this time, the camera moves in the same direction as the subject and shoots.
  • the starting point of shooting may vary depending on the movement direction of the subject, such as a method of moving a track from right to left and a method of moving from left to right. Since tracking is taken while following a moving subject, the background around it can be changed to express a dynamic and vibrant image.
  • Static refers to a technique of fixing a camera on a fixing device such as a tripod and shooting without any camera movement or camera manipulation regardless of the movement of the subject.
  • Dolly refers to a technique in which the camera itself moves back and forth on a moving means to shoot. Therefore, a sharp image can be obtained only when the running focus is properly adjusted, and an active image can be obtained. Dali has a method of taking the camera on the shoulder, holding it, and taking it by lowering it. It is important to shoot without impact as much as possible.
  • the image processing apparatus outputs at least one of a camera framing and a camera work (160). According to an embodiment, the image processing apparatus may further output the foreground image and the background image separated in addition to the camera framing and the camera work.
  • FIG. 2 is a diagram for explaining a method of separating a foreground image and a background image according to an embodiment. Referring to FIG. 2, an input image 210 and a foreground image 220 and a background image 230 separated from the input image 210 are illustrated.
  • the image processing apparatus may separate the foreground image 220 and the background image 230 from the input image 210 using, for example, a first trained network.
  • the first neural network may be trained to separate a subject such as a person or a region of interest and other background images such as a street, a road, and the like from the input image 210.
  • the first neural network may include, for example, a convolutional neural network (CNN).
  • CNN convolutional neural network
  • the first neural network may be trained using the people separation data.
  • the image processing apparatus may generate a foreground mask image and a background mask image by separating the foreground image 220 and the background image 230 from the input image 210 using the first neural network.
  • FIG. 3 is a diagram for describing a method of estimating camera framing according to an embodiment. Referring to FIG. 3, a scene in which camera framing for a subject is estimated from feature points of the subject extracted from the input image is illustrated.
  • the image processing apparatus may extract feature points of the subject from the input image, for example, by using subject information included in the foreground image.
  • the subject includes, for example, a person
  • the characteristic points of the subject include, for example, a human eye, eyebrows, nose, mouth, ears, neck, shoulders, elbows, wrists, pelvis, knees, and ankles. can do.
  • the subject and the feature points of the subject are not necessarily limited thereto, and in addition, various objects may be the subject and / or the feature points of the subject.
  • the image processing apparatus may extract feature points of the subject using subject information such as identification information of the subject included in the foreground image, the position of the subject, and / or pixel coordinates corresponding to a certain area of the subject, for example.
  • the image processing apparatus may estimate camera framing of the subject from the feature points of the subject, that is, composition of the subject.
  • the image processing apparatus may, for example, use the subject's face, eyes, nose, mouth position, and other areas, such as the subject's face or chest, waist, etc., to occupy the screen (or an area of the subject disposed on the screen). It is possible to estimate whether the camera framing for is close-up, bust, or waste.
  • the image processing apparatus may divide (divided) an optical flow map into nine regions using a third rule (410).
  • the Rule of Thirds is a kind of rule of thumb used in photography, painting, or design.
  • the rule of thirds is to divide the top, bottom, left, and right of a frame into virtual lines, and then place the subject on the virtual line or on the four vertices where the three virtual lines meet the impressive points of the screen.
  • the third rule can be used to preserve positional information in the optical flow map.
  • the image processing apparatus may configure vectors corresponding to the remaining 8 regions except for the 5th region located in the middle of the 9 regions (420).
  • the image processing apparatus may generate a histogram for each zone (430).
  • the image processing apparatus may generate a histogram using the directional components of the vector for each region.
  • the image processing apparatus may generate a histogram based on the remaining pixels except for pixels whose motion size is smaller than a preset reference in each region.
  • the image processing apparatus may construct a feature vector by integrating histograms for each region (440).
  • FIG. 5 is a diagram for explaining a method of constructing a feature vector using a third rule according to an embodiment. Referring to FIG. 5, a dense optical flow map 510 divided into nine regions using a third rule is shown.
  • the image processing apparatus may divide the dense optical flow map 510 into nine regions using a third-order rule. At this time, each pixel included in the dense optical flow ⁇ may have a vector including directionality and motion size.
  • the image processing apparatus may configure vectors corresponding to the remaining 8 regions except for the 5th region 530 in the middle of the 9 regions.
  • the image processing apparatus may generate histograms corresponding to each of the eight regions using only the directional component of vectors corresponding to each of the eight regions. In this case, the image processing apparatus may generate a histogram except for pixels having a motion size smaller than a preset reference in each of the eight regions.
  • the image processing apparatus may construct a feature vector by integrating histograms for 8 regions.
  • the image processing apparatus may receive an input image (610).
  • the input image may be an image captured or captured by the image processing device, or an image captured by an imaging device outside the image processing device, and transmitted through a communication interface of the image processing device.
  • the image processing apparatus may separate the foreground image including the subject and the background image including the remaining objects other than the subject from the input image (620).
  • the image processing apparatus may estimate camera framing for the subject through the deep artificial neural network 625 based on the input image received in step 610 and the foreground image separated in step 620 ( 630).
  • the image processing apparatus may extract concentrated optical flow maps from the input image received in operation 610 (640).
  • the image processing apparatus can estimate the motion (information) between the previous frame and the current frame without prior knowledge of the frame scene by using the dense optical flow map.
  • the motion information is information on how the object of interest is moving.
  • the previous frame may correspond to the previous input image, for example, and the current frame may correspond to the current input image.
  • the previous frame and the current frame may be successive frames.
  • the image processing apparatus may extract, for example, a dense optical flow map using the direction and size of each pixel in the previous frame and the current frame.
  • the image processing apparatus may construct a feature vector for the dense optical flow map extracted in step 640 using the third rule (650).
  • the image processing apparatus may estimate the camera work through the deep artificial neural network 625 (660).
  • the image processing apparatus may estimate the camera work by applying the feature vector constructed in step 650 to the deep artificial neural network 625.
  • the image processing apparatus may output at least one of the camera framing estimated through step 630 and the camera work estimated through step 660 (680).
  • the camera framing estimation process of steps 620 to 630 and the camera work estimation process of steps 640 to 660 may be processed in parallel or sequentially.
  • a training device may include a neural network 730 that classifies camera work and camera framing.
  • the neural network 730 may be pre-trained to classify the camera work and camera framing corresponding to the image by, for example, a Motiff CG dataset including 1,637 images.
  • the training device may prepare a new test image (Unseen) that is not included in the training data (Motiff CG dataset) used in the previous training process (710).
  • the training device may label the camera work and the camera framing corresponding to each of the new test images prepared in step 710 (720).
  • the training device may input the new test image prepared in step 710 into the previously trained neural network 730.
  • the training device may compare the output result of the neural network 730 with the result labeled in step 720 (740).
  • the training device may calculate the accuracy of the camera work and camera framing classified through the neural network 730 based on the comparison result of step 740 (750).
  • the training device may train the neural network 730 to improve the accuracy of camera work and camera framing.
  • the image processing apparatus 800 includes a communication interface 810, a processor 830, and a memory 850.
  • the communication interface 810, the processor 830, and the memory 850 may communicate with each other through the communication bus 805.
  • the communication interface 810 receives an input image.
  • the communication interface 810 outputs at least one of a camera framing estimated by the processor 830 and a camera walk.
  • the communication interface 810 may further output a foreground image and a background image separated by the processor 830.
  • the processor 830 separates the foreground image including the subject and the background image including the remaining objects except the subject from the input image.
  • the processor 830 estimates the camera framing for the subject based on the input image and the foreground image.
  • the processor 830 extracts an optical flow map from the input image.
  • the processor 830 constructs a feature vector based on the optical flow map.
  • the processor 830 estimates the camera work using the feature vector.
  • the processor 830 may separate the foreground image and the background image from the input image by using the first learned neural network.
  • the processor 830 may extract the optical flow map using the current frame corresponding to the input image and the previous frame of the current frame.
  • the processor 830 may divide the optical flow map into a plurality of zones using the third rule.
  • the processor 830 may generate a histogram using directional components of vectors corresponding to at least some of the divided regions.
  • the processor 830 may generate a histogram based on the remaining pixels except for pixels whose motion size is smaller than a preset reference for each region.
  • the processor 830 may construct a feature vector by integrating histograms for each region.
  • the processor 830 may perform at least one method or an algorithm corresponding to at least one method described above with reference to FIGS. 1 to 7.
  • the processor 830 may be a data processing device embodied in hardware having circuits having a physical structure for performing desired operations.
  • desired operations may include code or instructions included in a program.
  • the data processing device implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array).
  • the processor 830 may execute a program and control the image processing device 800.
  • Program code executed by the processor 830 may be stored in the memory 850.
  • the memory 850 may store input images and / or foreground and background images separated by the processor 830. Also, the memory 850 may store camera framing and / or camera work for the subject estimated by the processor 830.
  • the memory 850 may store various information generated in the process of the above-described processor 830.
  • the memory 850 can store various data and programs.
  • the memory 850 may include volatile memory or nonvolatile memory.
  • the memory 850 may be equipped with a mass storage medium such as a hard disk to store various data.
  • the embodiments described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components.
  • the devices, methods, and components described in the embodiments include, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor (micro signal processor), microcomputer, field programmable gate (FPGA). It can be implemented using one or more general purpose computers or special purpose computers, such as arrays, programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions.
  • the processing device may run an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may access, store, manipulate, process, and generate data in response to the execution of the software.
  • a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include.
  • the processing device may include a plurality of processors or a processor and a controller.
  • other processing configurations such as parallel processors, are possible.
  • the software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device.
  • Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave.
  • the software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in 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, or the like alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in 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, DVDs, and magnetic media such as floptical disks.
  • -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.
  • the hardware device 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

인공 신경망에 기반한 영상 처리 방법 및 장치가 개시된다. 영상 처리 방법은 입력 영상으로부터 피사체를 포함하는 전경 영상 및 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리하고, 입력 영상, 및 전경 영상을 기초로 피사체에 대한 카메라 프레이밍을 추정하고, 입력 영상으로부터 추출한 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성하고, 특징 벡터를 이용하여 카메라 워크를 추정하며, 카메라 프레이밍 및 카메라 워크 중 적어도 하나를 출력한다.

Description

인공 신경망에 기반한 영상 처리 방법 및 장치
신경망을 이용하여 입력 영상으로부터 카메라 프레이밍 및 카메라 워크를 분류하는 영상 처리 기술이 개시된다.
OTT(Over The Top)는 인터넷을 통해 볼 수 있는 TV 서비스를 일컫는다. OTT는 전파나 케이블이 아닌 범용 인터넷망(Public internet)을 통해 영상 콘텐츠를 제공할 수 있다. OTT에서 ‘Top’은 TV에 연결되는 셋톱 박스(set-top box)를 의미하지만, 넓게는 셋톱 박스가 있고 없음을 떠나 인터넷 기반의 동영상 서비스 모두를 포괄하는 의미로 사용될 수 있다.
초고속 인터넷의 발달과 보급으로 인해 OTT 서비스를 통한 동영상 서비스가 제공되고 있다. 이러한 OTT 서비스와 관련하여, 카메라 프레이밍 및 문법은 영상 제작뿐만 아니라 편집, 및 추출 과정에서 중요한 요소가 될 수 있다. 현재 편집자와 컨텐츠 크리에이터들(contents creators)은 모든 영상을 보면서 컨텐츠에 적당한 썸네일 또는 짧은 영상을 제작하거나, 또는 자동화된 시스템을 통해 제한적인 출력 컨텐츠만을 제공받을 수 있다.
일 실시예에 따르면, 인공 신경망에 기반한 자동 카메라 프레이밍 및 카메라 워크의 자동 분석을 통해 컨텐츠 제작 시에 사용자가 영상을 모두 살펴봐야하는 번거로움을 줄일 수 있다.
일 실시예에 따르면, 카메라 프레이밍 및 카메라 워크의 분석을 통해 입력 영상으로부터 주요 피사체에 해당하는 전경과 배경을 분리함으로써 사용자의 편집 용이성을 향상시킬 수 있다.
일 실시예에 따르면, 카메라 프레이밍 그리고 카메라 워크 분석을 통해 영상 하이라이트 및 썸네일을 추출하는 한편, 분석 결과를 카메라 모션 스테빌라제이션(camera motion stabilization) 및 영상 압축에 활용할 수 있다.
일 실시예에 따르면, 영상 처리 방법은 입력 영상으로부터 피사체를 포함하는 전경 영상 및 상기 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리하는 단계; 상기 입력 영상, 및 상기 전경 영상을 기초로 상기 피사체에 대한 카메라 프레이밍(camera framing)을 추정하는 단계; 상기 입력 영상으로부터 옵티컬 플로우 맵(optical flow maps)을 추출하는 단계; 상기 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성하는 단계; 상기 특징 벡터를 이용하여 카메라 워크(camera work)를 추정하는 단계; 및 상기 카메라 프레이밍 및 상기 카메라 워크 중 적어도 하나를 출력하는 단계를 포함한다.
상기 전경 영상 및 상기 배경 영상을 분리하는 단계는 미리 트레이닝된 제1신경망을 이용하여 상기 입력 영상으로부터 상기 전경 영상 및 상기 배경 영상을 분리하는 단계를 포함할 수 있다.
상기 제1 신경망은 컨볼루션 뉴럴 네트워크(Convolutional Neural Network; CNN)를 포함할 수 있다.
상기 카메라 프레이밍을 추정하는 단계는 상기 전경 영상에 포함된 피사체 정보를 이용하여 상기 입력 영상으로부터 상기 피사체의 특징점들을 추출하는 단계; 및 상기 피사체의 특징점들로부터 상기 피사체에 대한 카메라 프레이밍을 추정하는 단계를 포함할 수 있다.
상기 피사체는 사람을 포함하고, 상기 피사체의 특징점들은 상기 사람의 눈, 코, 귀, 목, 어깨, 팔꿈치, 손목, 골반, 무릎, 발목 중 적어도 하나를 포함할 수 있다.
상기 카메라 프레이밍은 클로즈 업(close-up), 바스트(bust), 미디엄(medium), 니(knee), 풀(full), 및 롱(long) 중 적어도 하나의 피사체 배치 구조를 포함할 수 있다.
상기 옵티컬 플로우 맵을 추출하는 단계는 상기 입력 영상에 대응하는 현재 프레임 및 상기 현재 프레임의 이전 프레임을 이용하여 상기 옵티컬 플로우 맵을 추출할 수 있다.
상기 옵티컬 플로우 멥에 포함된 각 픽셀들은 방향성 및 움직임 크기를 포함하는 벡터를 가질 수 있다.
상기 특징 벡터를 구성하는 단계는 삼등분 법칙을 이용하여 상기 옵티컬 플로우 맵을 복수의 구역들로 분할하는 단계; 및 상기 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들에 기초하여 상기 특징 벡터를 구성하는 단계를 포함할 수 있다.
상기 벡터들에 기초하여 상기 특징 벡터를 구성하는 단계는 상기 벡터들의 방향성 성분을 이용하여 상기 구역들 별로 히스토그램(histogram)을 생성하는 단계; 및 상기 구역 별 히스토그램을 통합함으로써 상기 특징 벡터를 구성하는 단계를 포함할 수 있다.
상기 카메라 워크를 추정하는 단계는 상기 특징 벡터를 미리 트레이닝된 제2 신경망에 인가함으로써 상기 카메라 워크를 추정하는 단계를 포함할 수 있다.
상기 제2 신경망은 카메라 프레이밍 및 카메라 워크가 레이블링된 복수의 트레이닝 영상들을 이용하여 트레이닝된 것일 수 있다.
상기 제2 신경망은 MLP(Multi-Layer Perceptrons) 모델을 포함할 수 있다.
상기 카메라 워크는 팬(fan), 틸트(tilt), 오빗(orbit), 크레인(crane), 트랙(track), 및 스테틱(static) 중 적어도 하나의 카메라 움직임을 포함할 수 있다.
일 실시예에 따르면, 영상 처리 장치는 입력 영상을 수신하는 통신 인터페이스; 및 상기 입력 영상으로부터 피사체를 포함하는 전경 영상 및 상기 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리하고, 상기 입력 영상, 및 상기 전경 영상을 기초로 상기 피사체에 대한 카메라 프레이밍을 추정하고, 상기 입력 영상으로부터 옵티컬 플로우 맵을 추출하고, 상기 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성하며, 상기 특징 벡터를 이용하여 카메라 워크를 추정하는 프로세서를 포함하고, 상기 통신 인터페이스는 상기 카메라 프레이밍, 및 상기 카메라 워크 중 적어도 하나를 출력한다.
상기 프로세서는 미리 트레이닝된 제1신경망을 이용하여 상기 입력 영상으로부터 상기 전경 영상 및 상기 배경 영상을 분리할 수 있다.
상기 프로세서는 상기 입력 영상에 대응하는 현재 프레임 및 상기 현재 프레임의 이전 프레임을 이용하여 상기 옵티컬 플로우 맵을 추출할 수 있다.
상기 프로세서는 삼등분 법칙을 이용하여 상기 옵티컬 플로우 맵을 복수의 구역들로 분할하고, 상기 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들의 방향성 성분을 이용하여 구역 별 히스토그램을 생성하며, 상기 구역 별 히스토그램을 통합함으로써 상기 특징 벡터를 구성할 수 있다.
일 측에 따르면, 인공 신경망에 기반한 자동 카메라 프레이밍 및 카메라 워크의 자동 분석을 통해 컨텐츠 제작 시에 사용자가 영상을 모두 살펴봐야하는 번거로움을 줄일 수 있다.
일 측에 따르면, 카메라 프레이밍 그리고 카메라 워크 분석을 통해 입력 영상으로부터 주요 피사체에 해당하는 전경과 배경을 분리함으로써 사용자의 편집 용이성을 향상시킬 수 있다.
일 측에 따르면, 카메라 프레이밍 그리고 카메라 워크 분석을 통해 영상 하이라이트 및 썸네일을 추출하는 한편, 분석 결과를 카메라 모션 스테빌라제이션 및 영상 압축 알고리즘에 사용할 수 있다.
도 1은 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도.
도 2는 일 실시예에 따라 전경 영상 및 배경 영상을 분리하는 방법을 설명하기 위한 도면.
도 3은 일 실시예에 따라 카메라 프레이밍을 추정하는 방법을 설명하기 위한 도면.
도 4는 일 실시예에 따라 특징 벡터를 구성하는 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 삼등분 법칙을 이용하여 특징 벡터를 구성하는 방법을 설명하기 위한 도면.
도 6은 다른 실시예에 따른 영상 처리 방법을 나타낸 흐름도.
도 7은 일 실시예에 따른 제2 신경망을 트레이닝하는 방법을 설명하기 위한 도면.
도 8은 일 실시예에 따른 영상 처리 장치의 블록도.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 영상 처리 장치는 입력 영상으로부터 피사체를 포함하는 전경 영상 및 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리한다(110). 입력 영상을 복수의 프레임들을 포함할 수 있다. 여기서,피사체는 예를 들어, 사람일 수 있다. 피사체는 단수일 수도 있고, 복수일 수도 있다. 피사체는 '관심 객체'라고도 부를 수 있다. 영상 처리 장치가 입력 영상으로부터 전경 영상과 배경 영상을 분리하는 방법은 아래의 도 2를 참조하여 구체적으로 설명한다.
영상 처리 장치는 입력 영상, 및 전경 영상을 기초로 피사체에 대한 카메라 프레이밍(camera framing)을 추정한다(120). '카메라 프레이밍(framing)'은 카메라의 화면 구성, 다시 말해 촬영 시에 화면을 정리하여 트리밍을 하지 않더라도 필름 면 가득히 확대해서 작화할 수 있도록 처음부터 파인더에서 구성하는 것을 의미할 수 있다. 카메라 프레이밍은 '카메라 구도'라고도 부를 수 있다. 카메라 프레이밍은 예를 들어, 클로즈 업(close-up), 바스트(bust), 웨이스트(waist), 미디엄(medium), 니(knee), 풀(full), 롱(long) 등과 같은 피사체 배치 구조들을 포함할 수 있다.
클로즈 업(close-up)은 예를 들어, 인물의 얼굴을 강조하거나 대상을 부각시키는 등과 같이 영상의 어느 한 부분만을 확대한 것으로서 주로 긴장, 불안 등 심리 묘사에 사용될 수 있다. 클로즈 업에 의해 확장된 피사체를 통해 박진감 있는 장면이 구성될 수 있다.
바스트(bust) 또는 바스트 샷(bust shot)은 화면에 피사체의 머리에서 가슴까지의 모습이 배치되도록 하며, 예를 들어, 영화나 드라마에서 인물 간의 대화 장면, 뉴스나 다큐에서의 인터뷰 장면 외에도 다양한 씬에서 이용될 수 있다.
웨이스트(waist) 또는 웨이스트 샷(waist shot)은 화면에 머리에서 허리까지의 모습이 배치되도록 하며, 예를 들어, 상반신의 움직임을 나타내거나 대화 장면 및 인터뷰 장면 등에서 자주 사용될 수 있다.
미디엄(medium) 또는 미디엄 샷(Medium Shot)은 전술한 바스트-웨이스트-니샷'을 어우르는 샷의 통칭이라고 할수 있다. 예를 들어, 샷을 클로즈업 - 미디엄 샷 - 롱 샷의 크게 3개로 구분한 경우, 미디엄 샷은 중간 단계의 샷에 해당할 수 있다.
니(knee) 또는 니 샷(Knee Shot)은 화면에 머리에서 무릎까지의 모습이 배치되도록 하며, 예를 들어, 피사체의 상반신의 움직임을 잡을 때나 여러 피사체를 담을 때 사용될 수 있다. 니 샷은 적당한 거리감을 주기 때문에 안정감을 줄 수 있다.
풀(full) 또는 풀 샷(Full Shot)은 화면에 머리부터 발까지의 모습이 모두 배치되도록 하며, 예를 들어, 인물 전체를 표현하거나 배경과 함께 상황을 보여주는 경우에 사용될 수 있다.
롱(long) 또는 롱 샷은 피사체를 멀리서 찍는 샷에 해당한다. 롱 샷은 촬영 주체와의 관계와 위치 등을 설명하는 수단으로 사용되는 경우도 있으며, 시각적인 효과를 노리는 수단으로 사용될 수도 있다. 또한, 어떠한 사건이 시작되거나 다른 장소의 이야기가 전개될 때 상황을 설명하기 위해 사용될 수 있다.
실시예에 따라서, 영상 처리 장치는 입력 영상, 전경 영상 및 배경 영상 중 적어도 하나를 기초로 피사체에 대한 카메라 프레이밍을 추정할 수도 있다. 영상 처리 장치는 예를 들어, 후술하는 신경망(730)을 이용하여 카메라 프레이밍을 추정할 수도 있다.
영상 처리 장치가 카메라 프레이밍을 추정하는 방법을 아래의 도 3을 참조하여 구체적으로 설명한다.
영상 처리 장치는 입력 영상으로부터 옵티컬 플로우 맵(optical flow maps)을 추출한다(130). '옵티컬 플로우'는 시각적 자극을 설명하기 위해 도입된 개념으로서, 관찰자와 장면 사이의 상대적인 움직임에 의해 유발되는 시각적 장면에서의 물체, 표면 및 가장 자리의 명백한 움직임 패턴으로 이해될 수 있다. 옵티컬 플로우는 이미지의 밝기 패턴의 움직임의 겉보기 속도의 분포로 정의될 수도 있다. 영상 처리 장치는 옵티컬 플로우 맵을 이용함으로써 프레임 장면에 대한 사전 지식없이 두 프레임 사이의 움직임 (정보)을 추정할 수 있다. 여기서, 움직임 (정보)는 관심 객체가 어떻게 움직이고 있는지(예를 들어, 움직임의 크기 및 움직임의 방향 등)를 나타내는 정보일 수 잇다.
영상 처리 장치는 예를 들어, 입력 영상에 대응하는 현재 프레임 및 현재 프레임의 이전 프레임을 이용하여 옵티컬 플로우 맵을 추출할 수 있다.
일 실시예에 따른 옵티컬 플로우 맵은 예를 들어, 밀집 옵티컬 플로우 맵일 수 있다. 밀집 옵티컬 플로우 맵은 예를 들어, 옵티컬 플로우 맵을 구성하는 벡터들의 밀도가 미리 설정된 기준보다 높은 영역을 기초로 생성한 옵티컬 플로우 맵일 수 있다.
밀집 옵티컬 플로우에 의해 영상 내부의 모든 픽셀에서 속도를 구할 수 있다. 밀집 옵티컬 플로우의 일 예시로는 루카스-카나데 방법을 들 수 있다. 루카스-카나데 방법은 i) 어떤 객체 상의 픽셀은 프레임이 바뀌어도 그 값이 별하지 않는 밝기 향상성, ii) 영상 내 연속된 프레임 사이에서 객체의 이동량은 많지 않는 시간 영속성, 및 iii) 공간적으로 서로 인접하는 점들은 동일한 객체에 속할 가능성이 높고 같은 움직임을 갖는다는 공간 일관성과 같은 3가지 가정을 기초로 할 수 있다.
영상 처리 장치는 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성한다(140). 영상 처리 장치는 예를 들어, 삼등분 법칙을 이용하여 옵티컬 플로우 맵을 복수의 구역들로 분할할 수 있다. 영상 처리 장치는 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들에 기초하여 특징 벡터를 구성할 수 있다. 영상 처리 장치는 카메라 워크(camera work)를 분류하기 위해 옵티컬 플로우 맵을 사용할 수 있다. 영상 처리 장치가 특징 벡터를 구성하는 방법을 아래의 도 4를 참조하여 구체적으로 설명한다.
영상 처리 장치는 특징 벡터를 이용하여 카메라 워크를 추정한다(150). '카메라 워크'는 카메라를 고정하거나, 이동하거나, 또는 렌즈의 이동에 의해 영상을 촬영하는 기법을 의미하며, '카메라 문법' 또는 '카메라 움직임'이라고도 부를 수 있다. 영상 처리 장치는 예를 들어, 특징 벡터를 미리 트레이닝된 제2 신경망에 인가함으로써 카메라 워크를 추정할 수 있다. 제2 신경망은 예를 들어, 카메라 프레이밍 및 카메라 워크가 레이블링된 복수의 트레이닝 영상들을 이용하여 트레이닝된 것일 수 있다. 제2 신경망은 예를 들어, 후술하는 신경망(730)일 수 있다. 제2 신경망은 예를 들어, 다층 퍼셉트론(Multi-Layer Perceptrons; MLP) 모델을 포함할 수 있다. 다층 퍼셉트론(MLP) 모델은 일종의 피드 포워드 (feedforward) 인공 신경망으로서 입력 레이어(input layer), 히든 레이어(hidden layer) 및 출력 레이어(output layer)의 세 가지 노드로 구성될 수 있다. 다층 퍼셉트론(MLP) 모델에서 입력 노드를 제외한 각 노드는 비선형 활성화 함수를 사용하는 뉴런일 수 있다. 다층 퍼셉트론은 훈련을 위해 역전파(backpropagation)라 불리는 감독 트레이닝(supervised learning) 기술을 사용할 수 있다.
제2 신경망은 제1 신경망과 동일한 신경망일 수도 있고, 서로 구분되는 신경망일 수도 있다.
영상 처리 장치는 단계(140)에서 구성한 특징 백터를 이용하여 다층 퍼셉트론 모델을 트레이닝할 수 있다. 영상 처리 장치는 미리 준비한 가상(CG) 데이터로 제2 신경망을 트레이닝 함으로써 카메라 워크를 추정할 수 있다.
카메라 워크는 예를 들어, 팬(fan), 틸트(tilt), 오빗(orbit), 크레인(crane), 트랙(track), 스테틱(static), 및 달리(dolly) 등과 같은 카메라 움직임을 포함할 수 있다.
팬 또는 패닝(panning)은 파노라마, 또는 연결 기법이라고도 불리며, 카메라 축에 카메라를 고정시킨 후, 카메라의 앵글을 좌우로 움직여서 촬영하는 기법을 의미한다. 패닝은 카메라를 고정된 시점에서 수평으로 움직여서 넓은 풍경 등을 연속적으로 보여주기 위해 이용될 수 있다. 패닝은 카메라를 수평 방향으로 이동할 때, 일반적으로 피사체의 움직임에 맞추어 속도를 조절할 수 있다. 카메라를 왼쪽으로 움직이는 것을 팬 레프트(Pan left)라 하고, 오른쪽으로 움직이는 것을 팬 라이프(Pan right)라고 한다. 패닝은 예를 들어, 고정 샷에서 이어지는 지루함과 따분함에 활력을 줄 수 있으며, 시간 축의 연결 기법으로 활용될 수 있다.
틸트(tilt)는 카메라 축에 카메라가 고정된 상태에서 카메라의 앵글을 위, 아래 수직 방향으로 움직여서 촬영하는 기법을 의미한다. 카메라의 앵글을 위로 움직이는 것을 틸트 업(tilt up)이라 하고, 아래로 움직이는 것을 틸트 다운(tilt down)이라고 한다. 틸트는 예를 들어, 영상의 오프닝이나 높은 빌딩의 건물 등을 보여줄 때 이용될 수 있다.
오빗(orbit)은 원형의 트랙을 설치하여 피사체를 둘러 감싸며 촬영 하는 기법을 의미한다. 오빗은 '아크(Arc)'라고도 불릴 수 있다. 오빗 또는 아크는 후술하는 달리와 트랙이 결합된 것으로서 피사체를 중심으로 반원형으로 움직이는 촬영 기법을 의미한다. 아크는 움직이는 방향에 따라 아크 레프트(Arc left)와 아크 라이트(Arc right)로 나눌 수 있다. 아크 레프트는 피사체를 중심으로 왼쪽으로 180도 원을 그리며 촬영하는 것을 말하고, 아크 라이트는 피사체를 중심으로 오른쪽으로 180도 원을 그리며 촬영하는 것을 말한다. 아크는 고정된 피사체를 여러 각도에서 보여줄 때, 배경을 다양하게 변화시켜 관객들에게 흥미를 유발시킬 수 있다.
크레인(crane)은 카메라를 크레인 또는 지미집 등과 같은 장비에 의지한 채로 위아래로 움직여 촬영하는 기법을 의미한다.
트랙(track) 또는 트랙킹 (tracking)은 카메라가 좌우로 이동하는 피사체를 따라가면서 촬영하는 기법을 의미한다. 이때, 카메라는 피사체와 같은 방향으로 이동하며 촬영한다. 트랙은 오른쪽에서 왼쪽으로 이동하며 촬영하는 방법과 왼쪽에서 오른쪽으로 이동하며 촬영하는 방법과 같이 피사체의 움직임 방향에 따라서 촬영의 시작 지점이 달라질 수 있다. 트래킹은 움직이는 피사체를 따라가면서 촬영하기 때문에 주변의 배경이 변해 역동적이고 박진감있는 영상을 표현할 수 있다.
스테틱(static)은 트라이포드와 같은 고정 장치에 카메라를 고정시켜 피사체의 움직임과 상관없이 일체의 카메라 이동이나 카메라 조작 없이 촬영하는 기법을 의미한다.
달리(dolly)는 이동하는 수단 위에서 카메라 자체가 앞뒤로 움직이면서 촬영하는 기법을 의미한다. 따라서, 달리는 초점을 적절하게 조절해야 선명한 영상을 얻을 수 있고, 활동적인 영상을 얻을 수 있다. 달리에는 카메라를 어깨에 메고 찍기, 들고 찍기, 낮춰서 찍기 방법 등이 있으며, 최대한 충격이 없이 촬영하는 것이 중요하다.
영상 처리 장치는 카메라 프레이밍 및 카메라 워크 중 적어도 하나를 출력한다(160). 실시예에 따라서, 영상 처리 장치는 카메라 프레이밍 및 카메라 워크 이외에도 앞서 분리한 전경 영상 및 배경 영상을 더 출력할 수 있다.
도 2는 일 실시예에 따라 전경 영상 및 배경 영상을 분리하는 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 입력 영상(210) 및 입력 영상(210)으로부터 분리된 전경 영상(220) 및 배경 영상(230)이 도시된다.
영상 처리 장치는 예를 들어, 미리 트레이닝된 제1신경망을 이용하여 입력 영상(210)으로부터 전경 영상(220) 및 배경 영상(230)을 분리할 수 있다. 이때, 제1 신경망은 입력 영상(210)으로부터 사람 또는 관심 영역과 같은 피사체 및 가구, 거리, 도로 등과 같은 그 밖의 배경 영상을 분리하도록 트레이닝된 것일 수 있다. 제1 신경망은 예를 들어, 컨볼루션 뉴럴 네트워크(Convolutional Neural Network; CNN)를 포함할 수 있다. 예를 들어, 분리하고자 하는 피사체가 다수의 사람인 경우, 제1 신경망은 사람 분리 데이터를 이용하여 트레이닝될 수 있다.
영상 처리 장치는 제1신경망을 이용하여 입력 영상(210)으로부터 전경 영상(220) 및 배경 영상(230)을 분리함으로써 전경 마스크 영상 및 배경 마스크 영상을 생성할 수 있다.
도 3은 일 실시예에 따라 카메라 프레이밍을 추정하는 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 입력 영상으로부터 추출된 피사체의 특징점들로부터 피사체에 대한 카메라 프레이밍을 추정하는 장면이 도시된다.
영상 처리 장치는 예를 들어, 전경 영상에 포함된 피사체 정보를 이용하여 입력 영상으로부터 피사체의 특징점들을 추출할 수 있다. 여기서, 피사체는 예를 들어, 사람을 포함하고, 피사체의 특징점들은 예를 들어, 사람의 눈, 눈썹, 코, 입, 귀, 목, 어깨, 팔꿈치, 손목, 골반, 무릎, 및 발목 등을 포함할 수 있다. 다만, 피사체 및 피사체의 특징점들이 반드시 이에 한정되는 것은 아니며, 이 밖에도, 다양한 대상들이 피사체 및/또는 피사체의 특징점들이 될 수 있다. 영상 처리 장치는 예를 들어, 전경 영상에 포함된 피사체의 식별 정보, 피사체의 위치 및/또는 피사체의 일정 영역에 대응하는 픽셀 좌표 등과 같은 피사체 정보를 이용하여 피사체의 특징점들을 추출할 수 있다.
영상 처리 장치는 피사체의 특징점들로부터 피사체에 대한 카메라 프레이밍, 다시 말해 피사체의 구도를 추정할 수 있다. 영상 처리 장치는 예를 들어, 피사체의 얼굴, 눈, 코, 입의 위치 및 피사체의 얼굴 또는 가슴, 허리 등과 같은 기타 영역이 화면에서 차지하는 비율(또는 화면에 배치되는 피사체의 영역) 등을 통해 피사체에 대한 카메라 프레이밍이 클로즈 업인지 또는 바스트, 웨이스트 인지 등을 추정할 수 있다.
도 4는 일 실시예에 따라 특징 벡터를 구성하는 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 영상 처리 장치는 삼등분 법칙을 이용하여 옵티컬 플로우 맵을 9개의 구역들로 나눌(분할할) 수 있다(410). 삼등분 법칙(Rule of Thirds)은 촬영, 회화, 또는 디자인에서 사용하는 일종의 경험 법칙이다. 삼등분 법칙은 하나의 프레임의 상하, 좌우를 가상의 선으로 삼등분한 뒤 피사체를 가상 선상이나 또는 화면의 인상적인 포인트를 세 개의 가상선이 만나는 네 개의 꼭짓점 위에 위치시키는 것을 말한다. 삼등분 법칙은 옵티컬 플로우 맵의 위치 정보를 보전하기 위해 이용될 수 있다.
영상 처리 장치는 9개의 구역들 중 가운데에 위치하는 5번 구역을 제외한 나머지 8개의 구역들에 대응하는 벡터들을 구성할 수 있다(420).
영상 처리 장치는 구역 별 히스토그램을 생성할 수 있다(430). 영상 처리 장치는 구역 별 벡터들의 방향성 성분을 이용하여 히스토그램(histogram)을 생성할 수 있다. 영상 처리 장치는 각 구역들에서 움직임 크기가 미리 설정된 기준보다 작은 픽셀들을 제외한 나머지 픽셀들을 기초로 히스토그램을 생성할 수 있다.
영상 처리 장치는 구역 별 히스토그램을 통합함으로써 특징 벡터를 구성할 수 있다(440).
영상 처리 장치가 삼등분 법칙을 이용하여 특징 벡터를 구성하는 방법은 아래의 도 5를 참조하여 구체적으로 설명한다.
도 5는 일 실시예에 따라 삼등분 법칙을 이용하여 특징 벡터를 구성하는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 삼등분 법칙을 이용하여 9개의 구역들로 분할된 밀집 옵티컬 플로우 맵(510)이 도시된다.
영상 처리 장치는 밀집 옵티컬 플로우 맵(510)을 삼등분 법칙을 이용하여 9개의 구역들로 나눌 수 있다. 이때, 밀집 옵티컬 플로우 멥에 포함된 각 픽셀들은 방향성 및 움직임 크기를 포함하는 벡터를 가질 수 있다.
영상 처리 장치는 9개의 구역들 중 가장 가운데에 있는 5번 구역(530)을 제외한 나머지 8개의 구역들에 대응하는 벡터들을 구성할 수 있다. 영상 처리 장치는 8개의 구역들 각각에 대응하는 벡터들의 방향성 성분만을 이용하여 8개의 구역들 각각에 대응하는 히스토그램들을 생성할 수 있다. 이때, 영상 처리 장치는 8개의 구역들 각각에서 미리 설정된 기준보다 작은 움직임 크기를 갖는 픽셀들은 제외하고 히스토그램을 생성할 수 있다. 영상 처리 장치는 8개 구역 별 히스토그램을 통합하여 하나의 특징 벡터를 구성할 수 있다.
도 6은 다른 실시예에 따른 영상 처리 방법을 나타낸 흐름도이다. 도 6을 참조하면, 일 실시예에 따른 영상 처리 장치는 입력 영상을 수신할 수 있다(610). 입력 영상은 영상 처리 장치에 의해 촬영 또는 캡쳐된 영상일 수도 있고, 영상 처리 장치 외부의 촬영 장치에 의해 촬영되고, 영상 처리 장치의 통신 인터페이스를 통해 전달된 영상일 수도 있다.
영상 처리 장치는 입력 영상으로부터 피사체를 포함하는 전경 영상 및 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리할 수 있다(620). 영상 처리 장치는 단계(610)에서 수신한 입력 영상, 및 단계(620)에서 분리된 전경 영상을 기초로 심층 인공 신경망(625)을 통해 피사체에 대한 카메라 프레이밍(camera framing)을 추정할 수 있다(630).
또한, 영상 처리 장치는 단계(610)에서 수신한 입력 영상으로부터 밀집 옵티컬 플로우 맵(concentrated optical flow maps)을 추출할 수 있다(640). 영상 처리 장치는 밀집 옵티컬 플로우 맵을 이용함으로써 프레임 장면에 대한 사전 지식없이도 이전 프레임과 현재 프레임 사이의 움직임 (정보)을 추정할 수 있다. 여기서, 움직임 정보는 관심 객체가 어떻게 움직이고 있는지에 대한 정보이다. 이전 프레임은 예를 들어, 이전 입력 영상에 대응되고, 현재 프레임은 현재 입력 영상에 대응될 수 있다. 이전 프레임과 현재 프레임은 서로 연속하는 프레임일 수 있다. 영상 처리 장치는 예를 들어, 이전 프레임과 현재 프레임에서 각 픽셀의 방향성 및 크기를 이용하여 밀집 옵티컬 플로우 맵을 추출할 수 있다.
영상 처리 장치는 삼등분 법칙을 이용하여 단계(640)에서 추출한 밀집 옵티컬 플로우 맵에 대한 특징 벡터를 구성할 수 있다(650).
영상 처리 장치는 심층 인공 신경망(625) 을 통해 카메라 워크를 추정할 수 있다(660). 영상 처리 장치는 단계(650)에서 구성한 특징 벡터를 심층 인공 신경망(625)에 인가함으로써 카메라 워크를 추정할 수 있다.
영상 처리 장치는 단계(630)을 통해 추정된 카메라 프레이밍 및 단계(660)을 통해 추정된 카메라 워크 중 적어도 하나를 출력할 수 있다(680).
실시예에 따라서, 단계(620) 내지 단계(630)의 카메라 프레이밍 추정 과정과 단계(640) 내지 단계(660)의 카메라 워크 추정 과정은 병렬적으로 처리될 수도 있고, 순차적으로 처리될 수도 있다.
도 7은 일 실시예에 따른 제2 신경망을 트레이닝하는 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 일 실시예에 따른 트레이닝 장치는 카메라 워크 및 카메라 프레이밍을 분류하는 신경망(730)을 포함할 수 있다. 이때, 신경망(730)은 예를 들어, 1,637개의 영상들을 포함하는 Motiff CG dataset에 의해 영상에 대응하는 카메라 워크 및 카메라 프레이밍을 분류하도록 미리 트레이닝될 수 있다.
트레이닝 장치는 앞서의 트레이닝 과정에서 이용된 트레이닝 데이터(Motiff CG dataset)에 포함되지 않은 새로운 시험 영상(Unseen)을 준비할 수 있다(710).
트레이닝 장치는 단계(710)에서 준비한 새로운 시험 영상 각각에 대응하는 카메라 워크와 카메라 프레이밍을 레이블링할 수 있다(720).
트레이닝 장치는 단계(710)에서 준비된 새로운 시험 영상을 앞서 트레이닝된 신경망(730)에 입력할 수 있다. 트레이닝 장치는 신경망(730)의 출력 결과와 단계(720)에서 레이블링한 결과를 비교할 수 있다(740).
트레이닝 장치는 단계(740)의 비교 결과를 기초로, 신경망(730)을 통해 분류된 카메라 워크 및 카메라 프레이밍의 정확도를 계산할 수 있다(750).
트레이닝 장치는 카메라 워크 및 카메라 프레이밍의 정확도가 향상되도록 신경망(730)을 트레이닝할 수 있다.
도 8은 일 실시예에 따른 영상 처리 장치의 블록도이다. 도 8을 참조하면, 일 실시예에 따른 영상 처리 장치(800)는 통신 인터페이스(810), 프로세서(830), 및 메모리(850)를 포함한다. 통신 인터페이스(810), 프로세서(830), 및 메모리(850)는 통신 버스(805)를 통해 서로 통신할 수 있다.
통신 인터페이스(810)는 입력 영상을 수신한다. 또한, 통신 인터페이스(810)는 프로세서(830)에 의해 추정된 카메라 프레이밍, 및 카메라 워크 중 적어도 하나를 출력한다. 통신 인터페이스(810)는 프로세서(830)에 의해 분리된 전경 영상, 및 배경 영상을 더 출력할 수 있다.
프로세서(830)는 입력 영상으로부터 피사체를 포함하는 전경 영상 및 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리한다. 프로세서(830)는 입력 영상, 및 전경 영상을 기초로 피사체에 대한 카메라 프레이밍을 추정한다. 프로세서(830)는 입력 영상으로부터 옵티컬 플로우 맵을 추출한다. 프로세서(830)는 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성한다. 프로세서(830)는 특징 벡터를 이용하여 카메라 워크를 추정한다.
프로세서(830)는 미리 학습된 제1신경망을 이용하여 입력 영상으로부터 전경 영상 및 배경 영상을 분리할 수 있다.
프로세서(830)는 입력 영상에 대응하는 현재 프레임 및 현재 프레임의 이전 프레임을 이용하여 옵티컬 플로우 맵을 추출할 수 있다.
프로세서(830)는 삼등분 법칙을 이용하여 옵티컬 플로우 맵을 복수의 구역들로 분할할 수 있다. 프로세서(830)는 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들의 방향성 성분을 이용하여 히스토그램을 생성할 수 있다. 프로세서(830)는 구역들 별로 움직임 크기가 미리 설정된 기준보다 작은 픽셀들을 제외한 나머지 픽셀들을 기초로 히스토그램을 생성할 수 있다. 프로세서(830)는 각 구역 별 히스토그램을 통합함으로써 특징 벡터를 구성할 수 있다.
또한, 프로세서(830)는 도 1 내지 도 7을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(830)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(830)는 프로그램을 실행하고, 영상 처리 장치 (800)를 제어할 수 있다. 프로세서(830)에 의하여 실행되는 프로그램 코드는 메모리(850)에 저장될 수 있다.
메모리(850)은 입력 영상 및/또는 프로세서(830)에 의해 분리된 전경 영상 및 배경 영상을 저장할 수 있다. 또한, 메모리(850)는 프로세서(830)에 의해 추정된 피사체에 대한 카메라 프레이밍 및/또는 카메라 워크를 저장할 수 있다.
이 밖에도, 메모리(850)는 상술한 프로세서(830)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 메모리(850)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(850)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(850)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (19)

  1. 입력 영상으로부터 피사체를 포함하는 전경 영상 및 상기 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리하는 단계;
    상기 입력 영상, 및 상기 전경 영상을 기초로 상기 피사체에 대한 카메라 프레이밍(camera framing)을 추정하는 단계;
    상기 입력 영상으로부터 옵티컬 플로우 맵(optical flow maps)을 추출하는 단계;
    상기 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성하는 단계;
    상기 특징 벡터를 이용하여 카메라 워크(camera work)를 추정하는 단계; 및
    상기 카메라 프레이밍 및 상기 카메라 워크 중 적어도 하나를 출력하는 단계
    를 포함하는, 영상 처리 방법.
  2. 제1항에 있어서,
    상기 전경 영상 및 상기 배경 영상을 분리하는 단계는
    미리 트레이닝된 제1신경망을 이용하여 상기 입력 영상으로부터 상기 전경 영상 및 상기 배경 영상을 분리하는 단계
    를 포함하는, 영상 처리 방법.
  3. 제2항에 있어서,
    상기 제1 신경망은
    컨볼루션 뉴럴 네트워크(Convolutional Neural Network; CNN)를 포함하는, 영상 처리 방법.
  4. 제1항에 있어서,
    상기 카메라 프레이밍을 추정하는 단계는
    상기 전경 영상에 포함된 피사체 정보를 이용하여 상기 입력 영상으로부터 상기 피사체의 특징점들을 추출하는 단계; 및
    상기 피사체의 특징점들로부터 상기 피사체에 대한 카메라 프레이밍을 추정하는 단계
    를 포함하는, 영상 처리 방법.
  5. 제4항에 있어서,
    상기 피사체는 사람을 포함하고,
    상기 피사체의 특징점들은
    상기 사람의 눈, 코, 귀, 목, 어깨, 팔꿈치, 손목, 골반, 무릎, 발목 중 적어도 하나를 포함하는, 영상 처리 방법.
  6. 제1항에 있어서,
    상기 카메라 프레이밍은
    클로즈 업(close-up), 바스트(bust), 미디엄(medium), 니(knee), 풀(full), 및 롱(long) 중 적어도 하나의 피사체 배치 구조를 포함하는, 영상 처리 방법.
  7. 제1항에 있어서,
    상기 옵티컬 플로우 맵을 추출하는 단계는
    상기 입력 영상에 대응하는 현재 프레임 및 상기 현재 프레임의 이전 프레임을 이용하여 상기 옵티컬 플로우 맵을 추출하는 단계
    를 포함하는, 영상 처리 방법.
  8. 제7항에 있어서,
    상기 옵티컬 플로우 멥에 포함된 각 픽셀들은 방향성 및 크기를 포함하는 벡터를 가지는, 영상 처리 방법.
  9. 제1항에 있어서,
    상기 특징 벡터를 구성하는 단계는
    삼등분 법칙을 이용하여 상기 옵티컬 플로우 맵을 복수의 구역들로 분할하는 단계; 및
    상기 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들에 기초하여 상기 특징 벡터를 구성하는 단계
    를 포함하는, 영상 처리 방법.
  10. 제9항에 있어서,
    상기 벡터들에 기초하여 상기 특징 벡터를 구성하는 단계는
    상기 벡터들의 방향성 성분을 이용하여 상기 구역들 별로 히스토그램(histogram)을 생성하는 단계; 및
    상기 구역 별 히스토그램을 통합함으로써 상기 특징 벡터를 구성하는 단계
    를 포함하는, 영상 처리 방법.
  11. 제1항에 있어서,
    상기 카메라 워크를 추정하는 단계는
    상기 특징 벡터를 미리 트레이닝된 제2 신경망에 인가함으로써 상기 카메라 워크를 추정하는 단계
    를 포함하는, 영상 처리 방법.
  12. 제11항에 있어서,
    상기 제2 신경망은
    카메라 프레이밍 및 카메라 워크가 레이블링된 복수의 트레이닝 영상들을 이용하여 트레이닝된 것인, 영상 처리 방법.
  13. 제11항에 있어서,
    상기 제2 신경망은
    MLP(Multi-Layer Perceptrons) 모델을 포함하는, 영상 처리 방법.
  14. 제1항에 있어서,
    상기 카메라 워크는
    팬(fan), 틸트(tilt), 오빗(orbit), 크레인(crane), 트랙(track), 및 스테틱(static) 중 적어도 하나의 카메라 움직임을 포함하는, 영상 처리 방법.
  15. 하드웨어와 결합되어 제1항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  16. 입력 영상을 수신하는 통신 인터페이스; 및
    상기 입력 영상으로부터 피사체를 포함하는 전경 영상 및 상기 피사체를 제외한 나머지 객체들을 포함하는 배경 영상을 분리하고, 상기 입력 영상, 및 상기 전경 영상을 기초로 상기 피사체에 대한 카메라 프레이밍을 추정하고, 상기 입력 영상으로부터 옵티컬 플로우 맵을 추출하고, 상기 옵티컬 플로우 맵에 기초하여 특징 벡터를 구성하며, 상기 특징 벡터를 이용하여 카메라 워크를 추정하는 프로세서
    를 포함하고,
    상기 통신 인터페이스는
    상기 카메라 프레이밍, 및 상기 카메라 워크 중 적어도 하나를 출력하는,
    영상 처리 장치.
  17. 제16항에 있어서,
    상기 프로세서는
    미리 트레이닝된 제1신경망을 이용하여 상기 입력 영상으로부터 상기 전경 영상 및 상기 배경 영상을 분리하는, 영상 처리 장치.
  18. 제16항에 있어서,
    상기 프로세서는
    상기 입력 영상에 대응하는 현재 프레임 및 상기 현재 프레임의 이전 프레임을 이용하여 상기 옵티컬 플로우 맵을 추출하는, 영상 처리 장치.
  19. 제16항에 있어서,
    상기 프로세서는
    삼등분 법칙을 이용하여 상기 옵티컬 플로우 맵을 복수의 구역들로 분할하고, 상기 분할된 복수의 구역들 중 적어도 일부 구역에 대응하는 벡터들의 방향성 성분을 이용하여 구역 별 히스토그램을 생성하며, 상기 구역 별 히스토그램을 통합함으로써 상기 특징 벡터를 구성하는, 영상 처리 장치.
PCT/KR2019/002099 2018-10-18 2019-02-21 인공 신경망에 기반한 영상 처리 방법 및 장치 WO2020080616A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/275,772 US20220044414A1 (en) 2018-10-18 2019-02-21 Method and device for processing image on basis of artificial neural network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180124256 2018-10-18
KR10-2018-0124256 2018-10-18
KR10-2019-0019620 2019-02-20
KR1020190019620A KR102203109B1 (ko) 2018-10-18 2019-02-20 인공 신경망에 기반한 영상 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2020080616A1 true WO2020080616A1 (ko) 2020-04-23

Family

ID=70283465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002099 WO2020080616A1 (ko) 2018-10-18 2019-02-21 인공 신경망에 기반한 영상 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US20220044414A1 (ko)
WO (1) WO2020080616A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605070B1 (ko) 2020-07-06 2023-11-24 한국전자통신연구원 인식 모델 학습 장치, 촬영본 영상 분석 장치 및 촬영본 검색 서비스 제공 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100915525B1 (ko) * 2007-12-18 2009-09-04 한국전자통신연구원 칼만 필터를 이용한 실시간 카메라 움직임 추정시스템에서의 움직임 추정 방법 및 장치
KR101340308B1 (ko) * 2012-06-08 2013-12-11 주식회사 마이씨에프 영상 처리 장치 및 방법
KR20170088227A (ko) * 2016-01-22 2017-08-01 삼성전자주식회사 영상에서의 전경 검출 장치 및 방법
KR20180068867A (ko) * 2016-12-14 2018-06-22 임머숀 코퍼레이션 비주얼 오도메트리에 기초한 자동 햅틱 발생
KR20180071947A (ko) * 2016-12-20 2018-06-28 서울대학교산학협력단 영상 처리 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009079560A1 (en) * 2007-12-17 2009-06-25 Stein Gausereide Real time video inclusion system
JP4623200B2 (ja) * 2008-10-27 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US9324374B2 (en) * 2013-11-11 2016-04-26 Magisto Ltd. Method and system for automatic generation of clips from a plurality of images based on an inter-objects relationship score
US10977802B2 (en) * 2018-08-29 2021-04-13 Qualcomm Incorporated Motion assisted image segmentation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100915525B1 (ko) * 2007-12-18 2009-09-04 한국전자통신연구원 칼만 필터를 이용한 실시간 카메라 움직임 추정시스템에서의 움직임 추정 방법 및 장치
KR101340308B1 (ko) * 2012-06-08 2013-12-11 주식회사 마이씨에프 영상 처리 장치 및 방법
KR20170088227A (ko) * 2016-01-22 2017-08-01 삼성전자주식회사 영상에서의 전경 검출 장치 및 방법
KR20180068867A (ko) * 2016-12-14 2018-06-22 임머숀 코퍼레이션 비주얼 오도메트리에 기초한 자동 햅틱 발생
KR20180071947A (ko) * 2016-12-20 2018-06-28 서울대학교산학협력단 영상 처리 장치 및 방법

Also Published As

Publication number Publication date
US20220044414A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
WO2020130309A1 (ko) 영상 마스킹 장치 및 영상 마스킹 방법
WO2021091021A1 (ko) 화재 검출 시스템
WO2019050360A1 (en) ELECTRONIC DEVICE AND METHOD FOR AUTOMATICALLY SEGMENTING TO BE HUMAN IN AN IMAGE
WO2017213439A1 (ko) 멀티 스티커를 이용한 영상 생성 방법 및 장치
WO2017090892A1 (ko) Osd 정보 생성 카메라, osd 정보 합성 단말기(20) 및 이들로 구성된 osd 정보 공유 시스템
KR102203109B1 (ko) 인공 신경망에 기반한 영상 처리 방법 및 장치
WO2017142311A1 (ko) 다중 객체 추적 시스템 및 이를 이용한 다중 객체 추적 방법
WO2022158819A1 (en) Method and electronic device for determining motion saliency and video playback style in video
WO2017099500A1 (ko) 애니메이션 생성 방법 및 애니메이션 생성 장치
WO2021241804A1 (ko) 다중 플로우 기반 프레임 보간 장치 및 방법
WO2020149601A1 (ko) 3d cnn을 이용한 고속 영상 인식 방법 및 장치
WO2020101434A1 (ko) 영상의 리타겟팅을 위한 영상 처리 장치 및 방법
WO2020080616A1 (ko) 인공 신경망에 기반한 영상 처리 방법 및 장치
WO2016064107A1 (ko) 팬틸트줌 카메라 기반의 영상 재생방법 및 장치
WO2021096339A1 (ko) 이미지 변형 방법
WO2019098421A1 (ko) 모션 정보를 이용한 객체 복원 장치 및 이를 이용한 객체 복원 방법
WO2023080667A1 (ko) Ai 기반 객체인식을 통한 감시카메라 wdr 영상 처리
WO2024019337A1 (en) Video enhancement method and apparatus
WO2020189953A1 (ko) 인공지능에 기반하여 영상을 분석하는 카메라 및 그것의 동작 방법
WO2023158205A1 (ko) Ai 기반 객체인식을 통한 감시 카메라 영상의 노이즈 제거
WO2023022373A1 (en) Method and system for generating an animation from a static image
WO2019225799A1 (ko) 딥러닝 생성 모델을 이용한 사용자 정보 삭제 방법 및 장치
WO2021107734A1 (ko) 골프에 관한 콘텐츠를 추천하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2019124602A1 (ko) 객체 추적 방법 및 이를 수행하는 장치들
EP4281935A1 (en) Method and system for generating an animation from a static image

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19873754

Country of ref document: EP

Kind code of ref document: A1