WO2014133597A1 - Determination of object occlusion in an image sequence - Google Patents

Determination of object occlusion in an image sequence Download PDF

Info

Publication number
WO2014133597A1
WO2014133597A1 PCT/US2013/067189 US2013067189W WO2014133597A1 WO 2014133597 A1 WO2014133597 A1 WO 2014133597A1 US 2013067189 W US2013067189 W US 2013067189W WO 2014133597 A1 WO2014133597 A1 WO 2014133597A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
occlusion map
motion
occlusion
regularized
Prior art date
Application number
PCT/US2013/067189
Other languages
French (fr)
Inventor
Vidhya Seran
William L. Gaddy
Original Assignee
Spinella Ip Holdings, Inc.
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 Spinella Ip Holdings, Inc. filed Critical Spinella Ip Holdings, Inc.
Priority to JP2015560170A priority Critical patent/JP2016508652A/en
Priority to CA2899401A priority patent/CA2899401A1/en
Priority to CN201380073866.9A priority patent/CN105074726A/en
Priority to EP13876181.2A priority patent/EP2962247A4/en
Priority to KR1020157026133A priority patent/KR20150122715A/en
Publication of WO2014133597A1 publication Critical patent/WO2014133597A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images

Definitions

  • the present invention relates generally to digital image processing, and more particularly, to a method and system for automatic determination of the presence, location, and type of occlusion regions between a pair of images.
  • Figure 1 shows an example of an image pair 100a, 100b, with background 105 and foreground 110, where a foreground object 115 is in motion and which shows an occlusion region 120 and a disocclusion region 125.
  • a foreground object 115 is in motion in a video sequence
  • background pixels of the image 100b in the forward-motion direction are hidden (known herein as occlusion or the occlusion region 120) while background pixels of the image 100b behind the motion are revealed (known herein as disocclusion or the disocclusion region 125).
  • occlusion regions In the occluded areas of an image, there is no definite motion attributable to the background; concomitantly, there is no definite motion attributable to the foreground object in disoccluded regions of the image.
  • occlusion regions These two types of areas within a pair of images (collectively known herein as occlusion regions) are very problematic for motion estimation in general, and for many optical flow systems in particular, because erroneous motion vector values in these regions tend to propagate into non-occlusion regions, adversely affecting the overall accuracy of the optical flow estimation. Determination of occlusion regions has many benefits for other high-value video analysis tasks in addition to improvement of optical flow and motion estimation, such as disparity and depth estimation, image segmentation, object identification, and 3D conversion and projection.
  • Occlusion has received much attention in the context of motion estimation, depth estimation and image/video segmentation.
  • Occlusion can be estimated or computed explicitly or implicitly.
  • Occlusion boundaries themselves provide strong cues for 3D scene reconstruction. Methods as described in A. Saxena, M. Sun, and A. Y. Ng, "Make3D: Learning 3D Scene structure form a Single Image," PAMI, 31: 824-840, 2009, and in D. Hoiem, A. A. Efros, and A.Hebert, "Recovering Occlusion Boundaries from an Image," International Journal on Computer Vision, pages 1-19, 2010, propose to find occlusion boundaries using a single frame by over- segmentation and supervised- learning.
  • occlusion boundary detection is an inherently ambiguous problem.
  • Other methods attempt to layer input video into flexible sprites to infer occluded pixels/regions (see e.g., N. Jojic and B. J. Frey, "Learning Flexible Sprites in Video layers,” in CVPR, 2001).
  • Layered methods provide realistic modeling of occlusion boundaries, but these methods need to have continuous regions, relative order of surfaces, and predetermined motion.
  • the method described in Sun, D., Sudderth, E. B., Black, M. J. "Layered image motion with explicit occlusions, temporal consistency, and depth ordering," in: Advances in Neural Information Processing Systems, pp.
  • Ince S., Konrad, J., "Occlusion-aware optical flow estimation,” IEEE Trans. Image Processing 17(8), 1443-1451 (2008), (hereinafter, "Ince"), discloses a method and systems for joint determination of optical flow and occlusion, but the systems are coupled and this method is not applicable for coupling to a non-optical-flow motion estimation system, such as block matching. Further, Ince ignores the notion of either a diffusion tensor or structure tensor of the images in order to improve robustness.
  • Motion cues are very important for identifying occlusion regions and boundaries.
  • the objective of any motion estimation is to compute a flow field that represents the motion of points in two consecutive frames, and the most accurate motion estimation techniques should be able to handle occlusions.
  • Some occlusion detection work based on motion as described in Alvarez and Ince jointly estimates backward and forward motion and marks inconsistent pixels as occluded regions. In such circumstances, occlusion is detected implicitly and the occlusion detection is coupled with the motion estimation method itself. These methods encounter problems within highly textured imagery areas and do not succeed with large displacements or occlusion regions.
  • a processing device receives a first image and a second image.
  • the processing device estimates a field of motion vectors between the first image and the second image.
  • the processing device motion compensates the first image toward the second image to obtain a motion-compensated image.
  • the processing device compares a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field.
  • the processing device inputs the error field to a weighted error cost function to obtain an initial occlusion map.
  • the processing device regularizes the initial occlusion map to obtain a regularized occlusion map.
  • regularizing may further comprise obtaining a regularized error field.
  • comparing and regularizing may be repeated until a value based on at least one of the regularized occlusion map or the regularized error field is below a threshold value.
  • motion compensating the first image toward the second image comprises image warping the field of motion vectors from the first image toward the second image.
  • the initial occlusion map and the regularized occlusion map are each based on a weighted error cost function.
  • the weighted error cost function may be at least one of a sum- of- square differences measure, a locally scaled sum-of- square differences measure, a normalized cross-correlation measure, or a zero-mean normalized cross-correlation measure.
  • the weighted error cost function may be based on a local weighting over a local region of support.
  • the local weighting over a local region of support may be based on an eigensystem analysis of the local structure tensor of the motion-compensated image.
  • the local weighting over a local region of support is a gradient-energy weighting over the local region of support.
  • the gradient-energy weighting over a local region of support may be a sum of statistical variance or local contrast over the local region of support.
  • regularizing the occlusion map to obtain a regularized occlusion map may comprise applying a multi-sigma regularization to the occlusion map.
  • Applying a multi- sigma regularization to the occlusion map may comprise applying a 4-factor sigma filter to the occlusion map.
  • Input weights for the multi-factor sigma filter may comprise an initial coarse occlusion field estimate and, between the first image and the second image one or more of similarities of color value or luminance, similarities of circular values of motion vector directions, or similarities of motion vector magnitudes.
  • the multi-factor sigma filter may incorporate one or more weights, such as depth, or discontinuities of a range-to-target field.
  • Examples of the present disclosure provide a method and system for detecting and characterizing occlusion regions without any assumptions that depend on scene types, motion types, or supervised learning datasets. Examples of the present disclosure provide an accurate and precise occlusion region map. The occlusion detection is decoupled from the motion estimation itself, providing for flexible addition to any suitable optical flow or motion estimation system or method.
  • Figure 1 shows an example of an image pair with background and foreground, where the foreground object is in motion and shows occlusion and disocclusion regions.
  • Figure 2 is a block diagram of an example computing system for detecting one or more occlusion regions in an image sequence, in which examples of the present disclosure may operate.
  • Figure 3 shows an exemplary occlusion field/map.
  • Figure 4 is a flow diagram illustrating an example of a method for detecting occlusion regions and/or disocclusion regions in a sequence of images using the computing system of Figure 2.
  • FIG. 5 is a block diagram of an example data flow between modules that implement the method of Figure 4.
  • Figure 6 is a block diagram of an example data flow between modules that implement a weighted distance field module of Figure 5.
  • Figure 7 is a block diagram of an example data flow through a 4-factor sigma filter employed in a regularization module of Figure 5.
  • Figure 8 illustrates a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • Motion estimation has been extensively explored in the related art and a determination of accurate motion vectors between images is still a challenging problem.
  • Several solutions have historically been used for motion estimation, such as simple block matching, hierarchical block matching, and optical flow estimation.
  • Occlusion detection is also very important in estimating a disparity map for stereo matching.
  • Occlusion marking has independent applications beyond motion estimation and disparity map estimation, such as in video surveillance object sorting/object removal and re-projection of multi-view video and imagery. Also, marking occlusions is very useful for image segmentation, motion segmentation, image in-painting, and disparity in-painting.
  • Occlusion occurs under one of the following conditions: a camera or capture system is zoomed in/out, a new object appears in-frame, or old objects disappear from frame, and moving foreground objects reveal background pixels. For example, in stereoscopic image pairs, two images are captured from different angles and some pixels exist in only one view. As used herein, these pixels are known as occluded pixels. Similarly, in video surveillance, a person moving away from a camera or a new person appearing in front of the camera introduces occlusion.
  • FIG. 2 is a block diagram of an example computing system 200 for detecting one or more occlusion regions in an image sequence, in which examples of the present disclosure may operate.
  • the computing system 200 receives data from one or more data sources 205, such as a video camera or a still camera or an on-line storage device or transmission medium.
  • the computing system 200 may also include a digital video capture system 210 and a computing platform 215.
  • the digital video capturing system 210 processes streams of digital video, or converts analog video to digital video, to a form which can be processed by the computing platform 215 as data source 205.
  • the computing platform 215 comprises a host system 220 which may comprise, for example, a processing device 225, such as one or more central processing units 230a-230n.
  • the processing device 225 is coupled to a host memory 235.
  • the processing device may further implement a graphics processing unit 240 (GPU).
  • GPU graphics processing unit
  • other co-processor architectures may be utilized besides GPUs, such as, but not limited to, DSPs, FPGAs, or ASICs, or adjunct fixed- function features of the processing device 225 itself.
  • the GPU 240 may be collocated on the same physical chip or logical device as the central processing units 230a-230n, also known as an "APU", such as found on mobile phones and tablets. Separate GPU and CPU functions may be found on computer server systems where the GPU is a physical expansion card, and personal computer systems and laptops.
  • the GPU 240 may comprise a GPU memory 237. It will be appreciated by those skilled in the art that the host memory 235 and GPU memory 237 may also be collocated on the same physical chip(s) or logical device, such as on an APU.
  • the processing device 225 is configured to implement an occlusion map generator 245 for detecting occlusion regions and/or disocclusion regions in a sequence of images.
  • the occlusion map generator 245 may be configured to receive data (e.g., a first image and a second image) from the data source 205, and to receive an image data buffer 250, which is transferred to the GPU memory 237 as image buffer 255.
  • the processing device 225 may implement the occlusion map generator 245 as a component of the GPU 240.
  • the occlusion map generator 245 is configured to obtain a regularized occlusion map from the image buffer 255 as shown in Figure 3.
  • the totality of occluded regions for a given image is referred to as an occlusion map.
  • the regularized occlusion map may be displayed on a display 270.
  • the occlusion map generator 245 may transmit the regularized occlusion map to one or more downstream devices 290 directly or through a network 295.
  • Figure 4 is a flow diagram illustrating an example of a method 400 for detecting occlusion regions and/or disocclusion regions in a sequence of images.
  • the method 400 may be performed by a computer system 200 of Figure 2 and may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions run on a processing device), or a combination thereof.
  • the method 400 is performed by the occlusion map generator 245 of the computing system 200 of Figure 2.
  • the occlusion map generator 245 estimates a field of motion vectors between a first image and a second image based on the received data from the image buffer 255.
  • the occlusion map generator 245 operates on the field of motion vectors to motion compensate the first image toward the second image to obtain a motion-compensated image.
  • the occlusion map generator 245 image warps the field of motion vectors from the first image toward the second image.
  • the occlusion map generator 245 compares a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field.
  • the occlusion map generator 245 inputs the error field to a weighted error cost function to obtain an initial occlusion map.
  • the weighted error cost function may be at least one of a sum-of-square differences measure, a locally scaled sum-of-square differences measure, a normalized cross-correlation measure, or a zero- mean normalized cross-correlation measure.
  • the weighted error cost function may be based on a local weighting over a local region of support.
  • the local weighting over a local region of support may be based on an eigensystem analysis of the local structure tensor of the motion-compensated image.
  • the local weighting over a local region of support may be a gradient-energy weighting over the local region of support.
  • the gradient-energy weighting over a local region of support may be a sum of statistical variance or local contrast over the local region of support.
  • the occlusion map generator 245 regularizes the initial occlusion map to obtain a regularized occlusion map. In one example, when the occlusion map generator 245 regularizes the initial occlusion map, the occlusion map generator 245 may further regularize the error field.
  • regularizing the occlusion map to obtain a regularized occlusion map may comprise applying a multi-sigma regularization to the occlusion map and the error field.
  • applying a multi-sigma regularization to the occlusion map and error field may comprise applying a 4-factor sigma filter to the occlusion map.
  • the occlusion map generator 245 repeats the comparing and the regularizing steps (i.e., repeating steps 430-460); otherwise, processing terminates.
  • f(x,y,t) be the current frame denotes frame and f(x,y, t-1) be the previous frame.
  • the relationship between f(x,y,t ) and f(x,y, t-1 ) can be denoted as Eq 1 :
  • This map represents a gray scale image mask, or alternatively a 2-dimensional matrix of positive values, that in ideal circumstances accurately identifies each pixel as being occluded, where middle range values can either represent variations in confidence, or alternatively degree of transparency of the occluding object(s).
  • the problems addressed are of finding the occluded areas in a sequence of images and to perform regularization of the resulting occlusion map to attain temporal stability and to prevent recursive error propagation.
  • FIG. 5 is a block diagram of one example of data flow through a sequence of modules 500 that comprise the occlusion map generator 245 of Figure 3.
  • a motion estimation module 508 estimates motion vectors of a motion vector field 502 from a first frame 504 (e.g., a previous frame 504) f(x,y,t-l J to a second frame 506 (e.g., an original frame 506) frame f(x,y,t).
  • the motion estimation module 508 may implement a motion estimate method which can be, for example, a sub-pixel hierarchical block-based method, optical flow, or recursive disparity estimation for stereoscopic pairs.
  • a motion compensated warping module 510 may apply a motion compensation warping function W t - > (t-i) to the motion vector field 502 to obtain a motion warped first frame 512 (e.g., a motion warped previous frame 512) .
  • the function W t - > ( t -i) can be expanded as Eq. 2,
  • the regime as in Eq. 3 ensures that every destination pixel in the compensation will be visited, ensuring a dense image, it also ignores occlusion.
  • the warping method of Eq. 2 can be described as a "scatter" method whereby every pixel of the compensated image is not guaranteed to be visited, or filled in. By pre-filling the compensated image buffer with a signal value, unvisited regions in the scatter-based warping operation are left with this signal value undisturbed. This, in turn, forms the starting point of the occlusion map 514.
  • a weighting function block 516 may apply a weighting function to the motion warped first (e.g., previous) frame 512 to obtain an weighting field 513 which informs subsequent processing steps of the weight to be applied to error cost function analysis for each pixel.
  • the weighting field 513 may be stored in a separate data buffer or in the alpha channel or fourth channel of the motion warped first (e.g., previous) frame 512.
  • the weighting function may comprise a simple identity function, or something more complex such as Eigensystem analysis of the local structure tensor.
  • a weighted error cost function block 518 may apply a weighted error cost function using the weights supplied by the weighting field 513. Error pixels from the motion warped first (e.g., previous) frame 512 can be calculated from the weighted error cost function and thereby the occluded areas can be further marked while avoiding the areas already marked.
  • ZNCC Zero-mean Normalized Cross Correlation
  • R is the region of support considered for correlation matching and selecting R as 3x3 pixels may be suitable for real-time processing, and 5x5 may be suitable for offline processing. It will be appreciated by those skilled in the art that, over time, larger regions of support may be employed for real-time and offline processing as the underlying system speed and complexity increases.
  • the 3x3 and 5x5 regions-of-support may be provided as examples.
  • Correlation based matching metrics are very computationally expensive, but since motion vectors are already estimated from an external system, the difference metric can be estimated for a smaller region and does not require a search in a larger pixel region of support.
  • an eigensystem analysis can be utilized to provide a more precise and accurate weighting.
  • the methods described in U.S. Pat. No. 8,355,534, incorporated herein by reference, are particularly instructive, but of particular note here is the use of eigenvalues of the gradient structure tensor of the local region of support to determine whether the region is an isotropic, homogeneous region, one containing significant image texture, or one containing a strong contrast edge. Homogeneous and isotropic region image differences would be weighted less, than for example, those in a highly textured region, based upon such a tensor analysis.
  • Optical flow motion vectors and disparity maps commonly use regularization and smoothing steps to smooth discontinuities and outliers and further helps to stabilize the motion vector fields along the temporal axis in case of video. It is noted that occlusion and error fields benefit from separate treatment in the same way with a regularization module 520, apart from the motion vector field and the image field.
  • weighting function 516 and weighted error cost function 518 may include an eigensystem analysis as depicted in Figure 6.
  • a spatio- temporal gradient estimation 630 may be applied to the field of pixels for the previous frame 610 and the current frame 620 as taught in the '534 patent, which results in a two- dimensional gradient field 640, wherein gradient derivatives may be estimated, for example, in Eq. 9:
  • the gradient field 640 is input into a gradient tensor analysis 650, where the gradient values are input to a tensor, and the tensor is subjected to eigensystem analysis as in Eq 10: [0049]
  • the eigensystem analysis of Eq. 10 results in two Eigenvalues ⁇ and ⁇ 2 for each and every pixel, where the combination of each eigenvalue identifies the local structure of the image surrounding any aforesaid pixel.
  • the Eigenvalues obtained from gradient tensor analysis 650 result in Eigenvalues fields 660, which identify the Eigenvalues of the local structure tensor for each pixel of the input images 610 and 620.
  • the two Eigenvalues ⁇ and ⁇ 2 for each and every pixel may influence the weighting function 670 by discounting the error values in regions with high homogeneity (e.g. low ⁇ and ⁇ 3 ⁇ 4 and low edge dominance (e.g. low ⁇ relative to ⁇ 2 ).
  • the weighted error cost function 680 After computing a weighting field 675 as in region of support weighting 670, the weighted error cost function 680 computes a weighted error field 690 as described in the weighting function block 516 of Figure 5.
  • the previous frame 710, current frame 720, the resulting error field 730, and the initial occlusion map 740 may be input to a multi-factor sigma filter 750 that operates on the initial occlusion map and field 730 and 740 (similar to the well-known two-factor Bilateral Filter as taught in Tomasi et al, "Bilateral filtering for gray and color images," International Conference on Computer Vision, (1998) pp 839-846), but which may include four or more sigmas (factors): an image color distance function (RGB/YUV) based upon the previous frame 710, current frame 720, a directional distance function for 2D motion vectors based on the weighted distance field 730, a magnitude distance function for 2D motion vectors based on the weighted distance field 730, and occlusion as initially marked in initial occlusion map 740.
  • RGB/YUV image color distance function
  • the multi-factor sigma filter 750 may be implemented such that when spatial smoothing is applied, if a pixel location is marked as occluded, its contribution to the filter bank coefficients may be penalized heavily, which in turn avoids any unwanted distortions at the object boundaries. Additionally, difference data from dissimilar motion regions by virtue of their associated motion vector directions or magnitudes may be penalized if they are not similar.
  • the multi-factor- sigma filter 750 differs from the bilateral filters and their
  • a multi-factor sigma filter 750 can be represented in equation form as in Eq 11:
  • r() of Eq. 11 is the radiosity function, which observes color differences and/or luminance values
  • r() of Eq. 12 is a suitable color difference function based on the RGB or YUV values present in an image /, as in Eq 13:
  • fC() of Eq 13. may transform the RGB or YUV values to an HSV colorspace representation in one example, as in Eq 14-19:
  • VQ chroma
  • a, b and c are user supplied weighting values, which by way of a non-limiting example may be 0.5, 0.5 and 1.0, respectively; and, where function d() of Eq.11 measures the motion vector similarity, which may include for example: a simple magnitude difference measurement function as in Eq 21:
  • d() is a function to measure simple Euclidian distance between motion vectors and where D() is a function as in Eq 22-25, whereby a method to independently evaluate motion vector direction similarities is provided: atan2 mv ⁇ x,y, t) x ,mv ⁇ x,y, t) v ) + ⁇
  • A0 (x, y, t) min[ abs( 0 2 - G ⁇ abs ⁇ - 1.0 - ⁇ absC ⁇ + 1.0 - 0 ] [0055] Further, to numerically emphasize the motion vectors' angular differences, the difference of angles is transformed to a logarithmic scale. If motion vectors for a particular spatial location change direction by a great amount, their difference D() is computed on a logarithmic weighting scale as in Eq 25:
  • Figure 8 illustrates a diagrammatic representation of a machine in the example form of a computer system 800 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet.
  • the machine may operate in the capacity of a server machine in client-server network environment.
  • the machine may be a personal computer (PC), a set-top box (STB), a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • STB set-top box
  • server a server
  • network router switch or bridge
  • the example computer system 800 includes a processing device (processor) 802, a main memory 804 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 806 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 816, which communicate with each other via a bus 808.
  • processor processing device
  • main memory 804 e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • static memory 806 e.g., flash memory, static random access memory (SRAM)
  • SRAM static random access memory
  • Processor 802 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor 802 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processor 802 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • DSP digital signal processor
  • the occlusion map generator 245 shown in Figures 2 may be executed by processor 802 configured to perform the operations and steps discussed herein.
  • the computer system 800 may further include a network interface device 822.
  • the computer system 800 also may include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820 (e.g., a speaker).
  • a video display unit 810 e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)
  • an alphanumeric input device 812 e.g., a keyboard
  • a cursor control device 814 e.g., a mouse
  • a signal generation device 820 e.g., a speaker
  • a drive unit 816 may include a computer-readable medium 824 on which is stored one or more sets of instructions (e.g., instructions of the occlusion map generator 245) embodying any one or more of the methodologies or functions described herein.
  • the instructions of the occlusion map generator 245 may also reside, completely or at least partially, within the main memory 804 and/or within the processor 802 during execution thereof by the computer system 800, the main memory 804 and the processor 802 also constituting computer-readable media.
  • the instructions of the occlusion map generator 245 may further be transmitted or received over a network via the network interface device 822.
  • computer-readable storage medium 824 is shown in an example to be a single medium, the term “computer-readable storage medium” should be taken to include a single non-transitory medium or multiple non-transitory media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
  • the term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
  • Examples of the disclosure also relate to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • the high-throughput system and method as disclosed herein that improves the perceptual quality and/or the transmission or storage efficiency of existing image and video compression or transmission systems and methods solves problems in many fields, such as real-time efficiency for over-the-top video delivery, cost-effective real-time reduction of public radio-access-network congestion when both uploading and downloading video and image data from mobile devices, increased real-time pass-band television delivery capacity, increase of satellite transponder capacity, reduction of storage costs for content management systems and network DVR architectures, and high- throughput treatment of images and video at the distribution network core as but a few examples.
  • Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
  • a computer readable storage medium such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

A method and system for occlusion region detection and measurement between a pair of images are disclosed. A processing device receives a first image and a second image. The processing device estimates a field of motion vectors between the first image and the second image. The processing device motion compensates the first image toward the second image to obtain a motion-compensated image. The processing device compares a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field. The processing device inputs the error field to a weighted error cost function to obtain an initial occlusion map. The processing device regularizes the initial occlusion map to obtain a regularized occlusion map.

Description

DETERMINATION OF OBJECT OCCLUSION IN AN IMAGE SEQUENCE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. provisional patent application No. 61/769,311 filed February 26, 2013, the disclosure of which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] The present invention relates generally to digital image processing, and more particularly, to a method and system for automatic determination of the presence, location, and type of occlusion regions between a pair of images.
BACKGROUND
[0003] Determining an optical flow or motion vector field between two images, particularly for sequences of video frames and/or fields, is frequently encountered in many high-value video processing tasks such as coding, frame rate conversion, noise reduction, etc. Conventional methods for calculating optical flow encounter several stumbling blocks - many solutions of which are described in U.S. Pat. No. 8,355,534 (hereinafter, "the '534 patent"), incorporated herein by reference in its entirety. As taught in the '534 patent, object occlusion presents a challenge for any motion estimation system, such as an optical flow estimation system.
[0004] Figure 1 shows an example of an image pair 100a, 100b, with background 105 and foreground 110, where a foreground object 115 is in motion and which shows an occlusion region 120 and a disocclusion region 125. When the foreground object 115 is in motion in a video sequence, background pixels of the image 100b in the forward-motion direction are hidden (known herein as occlusion or the occlusion region 120) while background pixels of the image 100b behind the motion are revealed (known herein as disocclusion or the disocclusion region 125). In the occluded areas of an image, there is no definite motion attributable to the background; concomitantly, there is no definite motion attributable to the foreground object in disoccluded regions of the image. These two types of areas within a pair of images (collectively known herein as occlusion regions) are very problematic for motion estimation in general, and for many optical flow systems in particular, because erroneous motion vector values in these regions tend to propagate into non-occlusion regions, adversely affecting the overall accuracy of the optical flow estimation. Determination of occlusion regions has many benefits for other high-value video analysis tasks in addition to improvement of optical flow and motion estimation, such as disparity and depth estimation, image segmentation, object identification, and 3D conversion and projection.
[0005] The detection of occlusion has received much attention in the context of motion estimation, depth estimation and image/video segmentation. Occlusion can be estimated or computed explicitly or implicitly. Occlusion boundaries themselves provide strong cues for 3D scene reconstruction. Methods as described in A. Saxena, M. Sun, and A. Y. Ng, "Make3D: Learning 3D Scene structure form a Single Image," PAMI, 31: 824-840, 2009, and in D. Hoiem, A. A. Efros, and A.Hebert, "Recovering Occlusion Boundaries from an Image," International Journal on Computer Vision, pages 1-19, 2010, propose to find occlusion boundaries using a single frame by over- segmentation and supervised- learning. With no motion information, occlusion boundary detection is an inherently ambiguous problem. Other methods attempt to layer input video into flexible sprites to infer occluded pixels/regions (see e.g., N. Jojic and B. J. Frey, "Learning Flexible Sprites in Video layers," in CVPR, 2001). Layered methods provide realistic modeling of occlusion boundaries, but these methods need to have continuous regions, relative order of surfaces, and predetermined motion. The method described in Sun, D., Sudderth, E. B., Black, M. J., "Layered image motion with explicit occlusions, temporal consistency, and depth ordering," in: Advances in Neural Information Processing Systems, pp. 2226-2234 (2010), explicitly models occlusion and the results obtained are relatively accurate, but the method possesses a huge computational load. Finding occlusion regions represents a common problem in multi-view 3D projection and display methods. The most recent researched methods in this area are still prone to gross errors when the background or foreground underlying pixel data in these regions is homogeneous or have no texture information.
[0006] In Alvarez, et al, "Symmetrical dense optical flow estimation with occlusions detection," International Journal of Computer Vision 75(3), 371-385 (2007), (hereinafter, Alvarez), passing interest is focused on the role of the diffusion tensor and subsequent eigenvalue analysis, but this is only used to analyze the forward and backward symmetry of the optical flow solution, and not used to directly improve the accuracy of either the optical flow computation nor the occlusion computation.
[0007] Ince, S., Konrad, J., "Occlusion-aware optical flow estimation," IEEE Trans. Image Processing 17(8), 1443-1451 (2008), (hereinafter, "Ince"), discloses a method and systems for joint determination of optical flow and occlusion, but the systems are coupled and this method is not applicable for coupling to a non-optical-flow motion estimation system, such as block matching. Further, Ince ignores the notion of either a diffusion tensor or structure tensor of the images in order to improve robustness.
[0008] Motion cues are very important for identifying occlusion regions and boundaries. As described above, the objective of any motion estimation is to compute a flow field that represents the motion of points in two consecutive frames, and the most accurate motion estimation techniques should be able to handle occlusions. Some occlusion detection work based on motion as described in Alvarez and Ince, jointly estimates backward and forward motion and marks inconsistent pixels as occluded regions. In such circumstances, occlusion is detected implicitly and the occlusion detection is coupled with the motion estimation method itself. These methods encounter problems within highly textured imagery areas and do not succeed with large displacements or occlusion regions.
[0009] Xiao, et al, "Bilateral Filtering-Based Optical Flow Estimation with Occlusion Detection," Leonardis, A., Bischof, H., Pinz, A. (eds.) ECCV 2006, Part I. LNCS, vol. 3951, pp. 211-224, Springer, Heidelberg (2006) discloses another joint method for computing optical flow and occlusion, but its two computations are closely coupled into a joint regularization framework. Further, this method requires multiple iterations for convergence of the disclosed regularization function and is therefore not suitable for real-time computation for contemporaneous video resolutions such as 1080 and 4K.
[0010] Even the best conventional motion estimation methods with coupled occlusion detection systems suffer from two primary disadvantages. First, these methods are too computationally complex for real-time processing. Second, the occlusion region maps they produce are inherently noisy. Pixels marked as occlusions may frequently be false-positives or false-negatives, rendering their usage in subsequent video processing and analysis tasks challenging or impossible.
[0011] Accordingly, there is a need for an accurate, precise, low-computational complexity occlusion estimation system and method that in conjunction with a motion estimation system, increases the robustness and accuracy of such a system in the presence of large motions and resulting large occlusion regions.
BRIEF SUMMARY OF THE INVENTION [0012] The above-described problems are addressed and a technical solution is achieved in the art by providing a method and system for occlusion region detection and measurement between a pair of images. A processing device receives a first image and a second image. The processing device estimates a field of motion vectors between the first image and the second image. The processing device motion compensates the first image toward the second image to obtain a motion-compensated image. The processing device compares a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field. The processing device inputs the error field to a weighted error cost function to obtain an initial occlusion map. The processing device regularizes the initial occlusion map to obtain a regularized occlusion map.
[0013] In one example, regularizing may further comprise obtaining a regularized error field. In one example, comparing and regularizing may be repeated until a value based on at least one of the regularized occlusion map or the regularized error field is below a threshold value. In one example, motion compensating the first image toward the second image comprises image warping the field of motion vectors from the first image toward the second image. In one example, the initial occlusion map and the regularized occlusion map are each based on a weighted error cost function. The weighted error cost function may be at least one of a sum- of- square differences measure, a locally scaled sum-of- square differences measure, a normalized cross-correlation measure, or a zero-mean normalized cross-correlation measure. The weighted error cost function may be based on a local weighting over a local region of support. In one example, the local weighting over a local region of support may be based on an eigensystem analysis of the local structure tensor of the motion-compensated image. In another example, the local weighting over a local region of support is a gradient-energy weighting over the local region of support. The gradient-energy weighting over a local region of support may be a sum of statistical variance or local contrast over the local region of support.
[0014] In one example, regularizing the occlusion map to obtain a regularized occlusion map may comprise applying a multi-sigma regularization to the occlusion map. Applying a multi- sigma regularization to the occlusion map may comprise applying a 4-factor sigma filter to the occlusion map. Input weights for the multi-factor sigma filter may comprise an initial coarse occlusion field estimate and, between the first image and the second image one or more of similarities of color value or luminance, similarities of circular values of motion vector directions, or similarities of motion vector magnitudes. The multi-factor sigma filter may incorporate one or more weights, such as depth, or discontinuities of a range-to-target field.
[0015] Examples of the present disclosure provide a method and system for detecting and characterizing occlusion regions without any assumptions that depend on scene types, motion types, or supervised learning datasets. Examples of the present disclosure provide an accurate and precise occlusion region map. The occlusion detection is decoupled from the motion estimation itself, providing for flexible addition to any suitable optical flow or motion estimation system or method.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 shows an example of an image pair with background and foreground, where the foreground object is in motion and shows occlusion and disocclusion regions.
[0017] Figure 2 is a block diagram of an example computing system for detecting one or more occlusion regions in an image sequence, in which examples of the present disclosure may operate.
[0018] Figure 3 shows an exemplary occlusion field/map. [0019] Figure 4 is a flow diagram illustrating an example of a method for detecting occlusion regions and/or disocclusion regions in a sequence of images using the computing system of Figure 2.
[0020] Figure 5 is a block diagram of an example data flow between modules that implement the method of Figure 4.
[0021] Figure 6 is a block diagram of an example data flow between modules that implement a weighted distance field module of Figure 5.
[0022] Figure 7 is a block diagram of an example data flow through a 4-factor sigma filter employed in a regularization module of Figure 5.
[0023] Figure 8 illustrates a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
DETAILED DESCRIPTION
[0024] Motion estimation has been extensively explored in the related art and a determination of accurate motion vectors between images is still a challenging problem. Several solutions have historically been used for motion estimation, such as simple block matching, hierarchical block matching, and optical flow estimation. In order to estimate an accurate motion vector field, the occlusion problem needs to be explicitly confronted. Occlusion detection is also very important in estimating a disparity map for stereo matching. Occlusion marking has independent applications beyond motion estimation and disparity map estimation, such as in video surveillance object sorting/object removal and re-projection of multi-view video and imagery. Also, marking occlusions is very useful for image segmentation, motion segmentation, image in-painting, and disparity in-painting.
[0025] Occlusion occurs under one of the following conditions: a camera or capture system is zoomed in/out, a new object appears in-frame, or old objects disappear from frame, and moving foreground objects reveal background pixels. For example, in stereoscopic image pairs, two images are captured from different angles and some pixels exist in only one view. As used herein, these pixels are known as occluded pixels. Similarly, in video surveillance, a person moving away from a camera or a new person appearing in front of the camera introduces occlusion.
[0026] Figure 2 is a block diagram of an example computing system 200 for detecting one or more occlusion regions in an image sequence, in which examples of the present disclosure may operate. By way of non-limiting example, the computing system 200 receives data from one or more data sources 205, such as a video camera or a still camera or an on-line storage device or transmission medium. The computing system 200 may also include a digital video capture system 210 and a computing platform 215. The digital video capturing system 210 processes streams of digital video, or converts analog video to digital video, to a form which can be processed by the computing platform 215 as data source 205. The computing platform 215 comprises a host system 220 which may comprise, for example, a processing device 225, such as one or more central processing units 230a-230n. The processing device 225 is coupled to a host memory 235.
[0027] The processing device may further implement a graphics processing unit 240 (GPU). It will be appreciated by those skilled in the art that other co-processor architectures may be utilized besides GPUs, such as, but not limited to, DSPs, FPGAs, or ASICs, or adjunct fixed- function features of the processing device 225 itself. It will further be appreciated by those skilled in the art that the GPU 240 may be collocated on the same physical chip or logical device as the central processing units 230a-230n, also known as an "APU", such as found on mobile phones and tablets. Separate GPU and CPU functions may be found on computer server systems where the GPU is a physical expansion card, and personal computer systems and laptops. The GPU 240 may comprise a GPU memory 237. It will be appreciated by those skilled in the art that the host memory 235 and GPU memory 237 may also be collocated on the same physical chip(s) or logical device, such as on an APU.
[0028] The processing device 225 is configured to implement an occlusion map generator 245 for detecting occlusion regions and/or disocclusion regions in a sequence of images. The occlusion map generator 245 may be configured to receive data (e.g., a first image and a second image) from the data source 205, and to receive an image data buffer 250, which is transferred to the GPU memory 237 as image buffer 255. In one example, the processing device 225 may implement the occlusion map generator 245 as a component of the GPU 240. The occlusion map generator 245 is configured to obtain a regularized occlusion map from the image buffer 255 as shown in Figure 3. As used herein, the totality of occluded regions for a given image is referred to as an occlusion map. In one example, the regularized occlusion map may be displayed on a display 270. In another example, the occlusion map generator 245 may transmit the regularized occlusion map to one or more downstream devices 290 directly or through a network 295.
[0029] Figure 4 is a flow diagram illustrating an example of a method 400 for detecting occlusion regions and/or disocclusion regions in a sequence of images. The method 400 may be performed by a computer system 200 of Figure 2 and may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions run on a processing device), or a combination thereof. In one example, the method 400 is performed by the occlusion map generator 245 of the computing system 200 of Figure 2.
[0030] As shown in Figure 4, to permit the computing system 200 to generate a regularized occlusion map from a sequence of images, at block 410, the occlusion map generator 245 estimates a field of motion vectors between a first image and a second image based on the received data from the image buffer 255. At block 420, the occlusion map generator 245 operates on the field of motion vectors to motion compensate the first image toward the second image to obtain a motion-compensated image. In one example, when the occlusion map generator 245 motion compensates the first image toward the second image, the occlusion map generator 245 image warps the field of motion vectors from the first image toward the second image.
[0031] At block 430, the occlusion map generator 245 compares a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field. At block 440, the occlusion map generator 245 inputs the error field to a weighted error cost function to obtain an initial occlusion map. In one example, the weighted error cost function may be at least one of a sum-of-square differences measure, a locally scaled sum-of-square differences measure, a normalized cross-correlation measure, or a zero- mean normalized cross-correlation measure. In one example, the weighted error cost function may be based on a local weighting over a local region of support. The local weighting over a local region of support may be based on an eigensystem analysis of the local structure tensor of the motion-compensated image. In one example, the local weighting over a local region of support may be a gradient-energy weighting over the local region of support. In an example, the gradient-energy weighting over a local region of support may be a sum of statistical variance or local contrast over the local region of support.
[0032] At block 450, the occlusion map generator 245 regularizes the initial occlusion map to obtain a regularized occlusion map. In one example, when the occlusion map generator 245 regularizes the initial occlusion map, the occlusion map generator 245 may further regularize the error field.
[0033] In one example, regularizing the occlusion map to obtain a regularized occlusion map may comprise applying a multi-sigma regularization to the occlusion map and the error field. In one example, applying a multi-sigma regularization to the occlusion map and error field may comprise applying a 4-factor sigma filter to the occlusion map.
[0034] At block 460, if a value based on at least one of the regularized occlusion map or the regularized error field is above a threshold value, the occlusion map generator 245 repeats the comparing and the regularizing steps (i.e., repeating steps 430-460); otherwise, processing terminates.
[0035] Let f(x,y,t) be the current frame denotes frame and f(x,y, t-1) be the previous frame. The relationship between f(x,y,t ) and f(x,y, t-1 ) can be denoted as Eq 1 :
Eq. 1
Figure imgf000012_0001
where Wt->(t-i) denotes the motion-compensated mapping of frame f(x,y, t-1) to frame f(x,y,t). [0036] Thus the operator gives a per-pixel mapping between two frames and this is applicable to any motion model and estimating disparity map. Equation (1) holds true for everywhere in the video frame except for the occluded regions o(x,y,t-l). The totality of occluded regions for a given image is referred to as the occlusion map. This map represents a gray scale image mask, or alternatively a 2-dimensional matrix of positive values, that in ideal circumstances accurately identifies each pixel as being occluded, where middle range values can either represent variations in confidence, or alternatively degree of transparency of the occluding object(s). In the present disclosure, the problems addressed are of finding the occluded areas in a sequence of images and to perform regularization of the resulting occlusion map to attain temporal stability and to prevent recursive error propagation.
[0037] Figure 5 is a block diagram of one example of data flow through a sequence of modules 500 that comprise the occlusion map generator 245 of Figure 3. A motion estimation module 508 estimates motion vectors of a motion vector field 502 from a first frame 504 (e.g., a previous frame 504) f(x,y,t-l J to a second frame 506 (e.g., an original frame 506) frame f(x,y,t). The motion estimation module 508 may implement a motion estimate method which can be, for example, a sub-pixel hierarchical block-based method, optical flow, or recursive disparity estimation for stereoscopic pairs. Based on the motion vectors mvu(x,y, t-1) and mvv(x,y, t-1) calculated, a motion compensated warping module 510 may apply a motion compensation warping function Wt->(t-i) to the motion vector field 502 to obtain a motion warped first frame 512 (e.g., a motion warped previous frame 512). In an example, the function Wt->(t-i) can be expanded as Eq. 2,
Eq. 2
(x + mvu (x, y, t - 1), y + mvv (x, y, t - 1), t) « (x, y, t - 1) [0038] It will be appreciated by those skilled in the art that any number of motion compensation regimes may be employed, and the above example is provided for clarity of explanation. The occluded regions will not have true motion vectors since no information was available for the motion estimation system. An ideal motion estimation system may populate these areas with zero magnitude motion vectors or at least signal a lack of confidence in their accuracy by an out-of-band method such as by communicating a confidence map.
[0039] It is important to distinguish the warping method described with typical motion compensation regimes. In most motion compensation systems, a "gather" method is applied, such that:
Eq. 3
(x, y, t) « (x + mvu (x, y, t - 1), y + mvv (x, y, t - 1), t - 1)
[0040] While the regime as in Eq. 3 ensures that every destination pixel in the compensation will be visited, ensuring a dense image, it also ignores occlusion. By comparison, the warping method of Eq. 2 can be described as a "scatter" method whereby every pixel of the compensated image is not guaranteed to be visited, or filled in. By pre-filling the compensated image buffer with a signal value, unvisited regions in the scatter-based warping operation are left with this signal value undisturbed. This, in turn, forms the starting point of the occlusion map 514.
[0041 ] Next, since the second or original (true) f(x,y,t) frame 506 is known, a weighting function block 516 may apply a weighting function to the motion warped first (e.g., previous) frame 512 to obtain an weighting field 513 which informs subsequent processing steps of the weight to be applied to error cost function analysis for each pixel.. In an example, the weighting field 513 may be stored in a separate data buffer or in the alpha channel or fourth channel of the motion warped first (e.g., previous) frame 512. The weighting function may comprise a simple identity function, or something more complex such as Eigensystem analysis of the local structure tensor.
[0042] A weighted error cost function block 518 may apply a weighted error cost function using the weights supplied by the weighting field 513. Error pixels from the motion warped first (e.g., previous) frame 512 can be calculated from the weighted error cost function and thereby the occluded areas can be further marked while avoiding the areas already marked.
[0043] Nevertheless, special consideration is needed when choosing error cost functions to estimate error, since simple per-pixel differences (known commonly as Sum-of-Absolute- Differences) or un-weighted sum of squared differences may mark false negatives for homogenous regions and objects with low texture and false positives in image regions with strong contrast and edges. The following correlation based similarity measures (see e.g., Nuno Roma, Jose Santos- Victor, Jose Tome, "A Comparative Analysis Of Cross-Correlation Matching Algorithms Using a Pyramidal Resolution Approach," 2002) for estimating the error pixels for each pixel in a frame are instructive for the purpose of the preferred embodiment, but are not a limiting example:
Sum of Squared Differences (SSD),
Eq. 4
2
e(x, y, t) = ∑ (/( , j, t) - I(x + i, y + j, t))
Locally scaled Sum of Squared Differences (LSSD),
Eq. 5
I(i , t)
e(x, y, t) = ∑\ I(i, j, t) I(x + i, y + j, t) \
I(x, y, t)
Normalized Cross Correlation (NCC), and
Eq. 6 ∑(I(i, j, t) - I(x + i, y + j, t))2
e(x, y, t) =
l
Figure imgf000016_0001
Zero-mean Normalized Cross Correlation (ZNCC):
Eq. 7
∑(I(i, j,t) - /).(/(* + i, y + j, t) - )
(i,j)eR
e(x, y,t)
∑(/(/, j, - 1)2.∑(I(x + i, y + j, t) - 1)2
(i,j)≡R (i,j)eR
For the equations (4) - (7) shown above, R is the region of support considered for correlation matching and selecting R as 3x3 pixels may be suitable for real-time processing, and 5x5 may be suitable for offline processing. It will be appreciated by those skilled in the art that, over time, larger regions of support may be employed for real-time and offline processing as the underlying system speed and complexity increases. The 3x3 and 5x5 regions-of-support may be provided as examples.
[0044] Correlation based matching metrics are very computationally expensive, but since motion vectors are already estimated from an external system, the difference metric can be estimated for a smaller region and does not require a search in a larger pixel region of support.
[0045] In addition to the numerical methods for determining local weighting such as global and local mean as disclosed in Eq. 4-7 above, an eigensystem analysis can be utilized to provide a more precise and accurate weighting. The methods described in U.S. Pat. No. 8,355,534, incorporated herein by reference, are particularly instructive, but of particular note here is the use of eigenvalues of the gradient structure tensor of the local region of support to determine whether the region is an isotropic, homogeneous region, one containing significant image texture, or one containing a strong contrast edge. Homogeneous and isotropic region image differences would be weighted less, than for example, those in a highly textured region, based upon such a tensor analysis.
[0046] Optical flow motion vectors and disparity maps commonly use regularization and smoothing steps to smooth discontinuities and outliers and further helps to stabilize the motion vector fields along the temporal axis in case of video. It is noted that occlusion and error fields benefit from separate treatment in the same way with a regularization module 520, apart from the motion vector field and the image field.
[0047] To address the problems of noise, false-positives, and false negatives of the prior art in the final resulting occlusion map 514, weighting function 516 and weighted error cost function 518 may include an eigensystem analysis as depicted in Figure 6. First, a spatio- temporal gradient estimation 630 may be applied to the field of pixels for the previous frame 610 and the current frame 620 as taught in the '534 patent, which results in a two- dimensional gradient field 640, wherein gradient derivatives may be estimated, for example, in Eq. 9:
„ _ v„=i y»=i dPRGB (n, m) dPRGB (n, m) . h ( Λ
σχχ - λ„=_!m=_! weight{n, m)
ox ox
_ _ y n=i y m=i oDRGB (n, ) dDRGB (n, m) . h ( Λ
Oxy - λ„=_!m=_! — — weight{n, m)
_ _ y n=i y m=i oDRGB (n, ) dDRGB (n, m) . h ( Λ
Oyy - λ„=_! 2.m=_! — — weight{n, m)
_ _ y n=i ym=i oDRGB (n, ) dDRGB (n, m) . h ( Λ
σχί - λ„=_!m=_! — weight{n, m)
ox oxot
=∑r ∑ oDRGB (n, m) dDRGB (n, m)
[0048] The gradient field 640 is input into a gradient tensor analysis 650, where the gradient values are input to a tensor, and the tensor is subjected to eigensystem analysis as in Eq 10:
Figure imgf000017_0001
[0049] The eigensystem analysis of Eq. 10 results in two Eigenvalues λι and λ2 for each and every pixel, where the combination of each eigenvalue identifies the local structure of the image surrounding any aforesaid pixel.
[0050] The Eigenvalues obtained from gradient tensor analysis 650 result in Eigenvalues fields 660, which identify the Eigenvalues of the local structure tensor for each pixel of the input images 610 and 620. The two Eigenvalues λι and λ2 for each and every pixel may influence the weighting function 670 by discounting the error values in regions with high homogeneity (e.g. low λι and λ¾ and low edge dominance (e.g. low λι relative to λ2).
[0051] After computing a weighting field 675 as in region of support weighting 670, the weighted error cost function 680 computes a weighted error field 690 as described in the weighting function block 516 of Figure 5.
[0052] Referring to Figure 7, the previous frame 710, current frame 720, the resulting error field 730, and the initial occlusion map 740 may be input to a multi-factor sigma filter 750 that operates on the initial occlusion map and field 730 and 740 (similar to the well-known two-factor Bilateral Filter as taught in Tomasi et al, "Bilateral filtering for gray and color images," International Conference on Computer Vision, (1998) pp 839-846), but which may include four or more sigmas (factors): an image color distance function (RGB/YUV) based upon the previous frame 710, current frame 720, a directional distance function for 2D motion vectors based on the weighted distance field 730, a magnitude distance function for 2D motion vectors based on the weighted distance field 730, and occlusion as initially marked in initial occlusion map 740.
[0053] The multi-factor sigma filter 750 may be implemented such that when spatial smoothing is applied, if a pixel location is marked as occluded, its contribution to the filter bank coefficients may be penalized heavily, which in turn avoids any unwanted distortions at the object boundaries. Additionally, difference data from dissimilar motion regions by virtue of their associated motion vector directions or magnitudes may be penalized if they are not similar. The multi-factor- sigma filter 750 differs from the bilateral filters and their
derivatives in many ways, since the original proposed filter used only two parameters: spatial radius and image color difference. In one example, a multi-factor sigma filter 750 can be represented in equation form as in Eq 11:
∑ g(i - x, j - y, t)r(I(i, j, t) - I(x, y, t))d(mvu (i, j, t) - mvu(x, y, t))D(mvv(i, j, t) - mvv(x, y, t))o(i, j, t)e(x, y, t) ∑ g(i - x, j - y, t)r(I(i, j, t) - I(x, y, t)d(mvu(i, j, t) - mvu(x, y, t))D(mvv(i, j, t) - mvv(x, y, t))o(i, j, t) where e() is the error field 690 for the image, o() represents the initial occlusion field 685 provided by the warping compensation 510, and e '() is the resultant regularized occlusion map 760; and where g() is the Guassian spatial distance function, as in Eq 12:
Figure imgf000019_0001
where r() of Eq. 11 is the radiosity function, which observes color differences and/or luminance values, and r() of Eq. 12 is a suitable color difference function based on the RGB or YUV values present in an image /, as in Eq 13:
Figure imgf000019_0002
Where fC() of Eq 13. may transform the RGB or YUV values to an HSV colorspace representation in one example, as in Eq 14-19:
maxRGB = max(R, G, B)
minRGB = min(R, G, B)
chroma = maxRGB— minRGB ( NaN, if chroma = 0 mod 6, if maxRGB = R
chroma
(B— R)
+ 2, if maxRGB = G
chroma
(R— G)
+ 4 if maxRGB = B
chroma
VQ = chroma
0, if chroma = 0
SO chroma
, otherwise
V
and, where function fC( ) measures the color similarity in HSV color space, in one example as in Eq 20:
|atan2(H(ij',t) ,H(x,y,t) ) +π]
fC( ) =a + b(S(i,j,t) -S(x,y,y))
+ c(y(i,j, t) -V{x,y, t)) where a, b and c are user supplied weighting values, which by way of a non-limiting example may be 0.5, 0.5 and 1.0, respectively; and, where function d() of Eq.11 measures the motion vector similarity, which may include for example: a simple magnitude difference measurement function as in Eq 21:
(mvu(i,j,t)-mvu(x,y,t))
-0.5
mvu(i,j,t)-mvu(x, y,t))
where d() is a function to measure simple Euclidian distance between motion vectors and where D() is a function as in Eq 22-25, whereby a method to independently evaluate motion vector direction similarities is provided: atan2 mv{x,y, t)x ,mv{x,y, t)v) + π
θ1 {x, y, t) =
l π atan2 (mv(x, y, t— ϊ)χ , mv(x, y, t— l)y) + π θ2 (x, y, t) =
2 π
[0054] As a measure of the directional difference between motion vectors from frame-to- frame, motion vectors that point opposite to each other (180 degrees opposed) are considered most different, as in Eq. 24. Two such vectors would have differences in direction (theta) and magnitude (distance, or D):
A0 (x, y, t) = min[ abs( 02 - G^ abs^ - 1.0 - ^ absC ^ + 1.0 - 0 ] [0055] Further, to numerically emphasize the motion vectors' angular differences, the difference of angles is transformed to a logarithmic scale. If motion vectors for a particular spatial location change direction by a great amount, their difference D() is computed on a logarithmic weighting scale as in Eq 25:
D (x, y, t) = A6log (x, y, t) = 1.442695 log(1.0 + 2.0 x Δ0)
[0056] Then, the magnitude differences d() of Eq. 21 of the respective optical flow vectors for each spatial location are transformed to a logarithmic scale. This emphasizes large differences as opposed to small ones. In one example, values for these are as computed as in Eq 26:
[0057] d x, y, t) = log 1.0 + 4.0 x max
Figure imgf000021_0001
[0058] The regularization of the output occlusion field values o() and error field values e '() of Eq. 11 is not just using the radius considered, but also includes the difference in motion vectors, the image luminance and the occlusion markings. This excludes the occluded areas from the operation and will not introduce any distortions due to imperfect motion estimation vectors. [0059] In turn, the error field is now well-conditioned for a simple, consistent thresholding operation, whereby occlusion field pixels corresponding to error field values below a given threshold are marked as non-occlusion in the final occlusion map 0(), while those greater are marked affirmatively as occlusions in the final occlusion map 0(). A non-limiting example is provided in Eq 27:
if e(x, y, t) > threshold
Figure imgf000022_0001
if e(x, y, t) < threshold
wherein computation of function 0( ) results in the final refined occlusion map, as shown in Figure 5, where typical thresholds range from 0.003 to 0.006, by way of a non-limiting example.
[0060] Figure 8 illustrates a diagrammatic representation of a machine in the example form of a computer system 800 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In some examples, the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. The machine may operate in the capacity of a server machine in client-server network environment. The machine may be a personal computer (PC), a set-top box (STB), a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0061] The example computer system 800 includes a processing device (processor) 802, a main memory 804 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 806 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 816, which communicate with each other via a bus 808.
[0062] Processor 802 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor 802 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processor 802 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The occlusion map generator 245 shown in Figures 2 may be executed by processor 802 configured to perform the operations and steps discussed herein.
[0063] The computer system 800 may further include a network interface device 822. The computer system 800 also may include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820 (e.g., a speaker).
[0064] A drive unit 816 may include a computer-readable medium 824 on which is stored one or more sets of instructions (e.g., instructions of the occlusion map generator 245) embodying any one or more of the methodologies or functions described herein. The instructions of the occlusion map generator 245 may also reside, completely or at least partially, within the main memory 804 and/or within the processor 802 during execution thereof by the computer system 800, the main memory 804 and the processor 802 also constituting computer-readable media. The instructions of the occlusion map generator 245 may further be transmitted or received over a network via the network interface device 822.
[0065] While the computer-readable storage medium 824 is shown in an example to be a single medium, the term "computer-readable storage medium" should be taken to include a single non-transitory medium or multiple non-transitory media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable storage medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term "computer-readable storage medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
[0066] In the above description, numerous details are set forth. It is apparent, however, to one of ordinary skill in the art having the benefit of this disclosure, that examples of the disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the description.
[0067] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0068] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "receiving", "writing", "maintaining", or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and translates to a new coordinate system the data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0069] Examples of the disclosure also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. The high-throughput system and method as disclosed herein that improves the perceptual quality and/or the transmission or storage efficiency of existing image and video compression or transmission systems and methods solves problems in many fields, such as real-time efficiency for over-the-top video delivery, cost-effective real-time reduction of public radio-access-network congestion when both uploading and downloading video and image data from mobile devices, increased real-time pass-band television delivery capacity, increase of satellite transponder capacity, reduction of storage costs for content management systems and network DVR architectures, and high- throughput treatment of images and video at the distribution network core as but a few examples.
[0070] Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
[0071] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. Example structure for a variety of these systems appears from the description herein. In addition, the present disclosure is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosure as described herein.
[0072] It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other examples will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

What is claimed is:
1. A method for occlusion region detection, comprising:
receiving, at a processing device, a first image and a second image;
estimating, using the processing device, a field of motion vectors between the first image and the second image;
motion compensating, using the processing device, the first image toward the second image to obtain a motion-compensated image;
comparing, using the processing device, a plurality of pixel values of the motion- compensated image to a plurality of pixels of the first image to estimate an error field;
inputting, using the processing device, the error field to a weighted error cost function to obtain an initial occlusion map; and
regularizing, using the processing device, the initial occlusion map to obtain a regularized occlusion map.
2. The method of claim 1, wherein regularizing further comprises obtaining a regularized error field.
3. The method of claim 2, further comprising repeating said comparing and said regularizing until a value based on at least one of the regularized occlusion map or the regularized error field is below a threshold value.
4. The method of claim 1, wherein motion compensating the first image toward the second image comprises image warping the field of motion vectors from the first image toward the second image.
5. The method of claim 1, wherein the initial occlusion map and the regularized occlusion map are each based on a weighted error cost function.
6. The method of claim 5, wherein the weighted error cost function is at least one of a sum-of-square differences measure, a locally scaled sum-of-square differences measure, a normalized cross-correlation measure, or a zero-mean normalized cross-correlation measure.
7. The method of claim 6, wherein the weighted error cost function is based on a local weighting over a local region of support.
8. The method of claim 7, wherein the local weighting over a local region of support is based on an eigensystem analysis of the local structure tensor of the motion-compensated image.
9. The method of claim 7, wherein the local weighting over a local region of support is a gradient-energy weighting over the local region of support.
10. The method of claim 9, wherein the gradient-energy weighting over a local region of support is a sum of statistical variance or local contrast over the local region of support.
11. The method of claim 1, wherein regularizing the occlusion map to obtain a regularized occlusion map comprises applying a multi-sigma filter to the occlusion map.
12. The method of claim 11, wherein applying a multi-sigma filter to the occlusion map comprises applying a 4-f actor sigma filter to the occlusion map.
13. The method of claim 12, wherein input weights for the multi-factor sigma filter comprise an initial coarse occlusion field estimate and, between the first image and the second image one or more of similarities of color value or luminance, similarities of circular values of motion vector directions, or similarities of motion vector magnitudes, and.
14. The method of claim 13, wherein the multi-factor sigma filter incorporates one or more weights, such as depth, or discontinuities of a range-to-target field.
15. A system, comprising:
a memory;
a processing device coupled to and having use of the memory, the processing device to:
receive a first image and a second image;
estimate a field of motion vectors between the first image and the second image;
motion compensate the first image toward the second image to obtain a motion-compensated image;
compare a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field;
input the error field to a weighted error cost function to obtain an initial occlusion map; and
regularize the initial occlusion map to obtain a regularized occlusion map.
16. The system of claim 15, wherein regularizing further comprises obtaining a regularized error field.
17. The system of claim 16, further comprising repeating said comparing and said regularizing until a value based on at least one of the regularized occlusion map or the regularized error field is below a threshold value.
18. A non-transitory computer-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to perform operations comprising:
receiving a first image and a second image;
estimating a field of motion vectors between the first image and the second image; motion compensating the first image toward the second image to obtain a motion- compensated image;
comparing a plurality of pixel values of the motion-compensated image to a plurality of pixels of the first image to estimate an error field;
inputting the error field to a weighted error cost function to obtain an initial occlusion map; and
regularizing the initial occlusion map to obtain a regularized occlusion map.
19. The non-transitory computer-readable storage medium of claim 18, wherein regularizing further comprises obtaining a regularized error field.
20. The non-transitory computer-readable storage medium of claim 19, further comprising repeating said comparing and said regularizing until a value based on at least one of the regularized occlusion map or the regularized error field is below a threshold value.
21. The non-transitory computer-readable storage medium of claim 18, wherein the initial occlusion map and the regularized occlusion map are each based on a weighted error cost function.
22. The non-transitory computer-readable storage medium of claim 21, wherein the weighted error cost function is based on a local weighting over a local region of support.
23. The non-transitory computer-readable storage medium of claim 22, wherein the local weighting over a local region of support is based on an eigensystem analysis of the local structure tensor of the motion-compensated image.
24. The non-transitory computer-readable storage medium of claim 18, wherein regularizing the occlusion map to obtain a regularized occlusion map comprises applying a multi-sigma filter to the occlusion map.
25. The non-transitory computer-readable storage medium of claim 24, wherein applying a multi-sigma filter to the occlusion map comprises applying a 4-factor sigma filter to the occlusion map.
PCT/US2013/067189 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence WO2014133597A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015560170A JP2016508652A (en) 2013-02-26 2013-10-29 Determining object occlusion in image sequences
CA2899401A CA2899401A1 (en) 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence
CN201380073866.9A CN105074726A (en) 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence
EP13876181.2A EP2962247A4 (en) 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence
KR1020157026133A KR20150122715A (en) 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361769311P 2013-02-26 2013-02-26
US61/769,311 2013-02-26

Publications (1)

Publication Number Publication Date
WO2014133597A1 true WO2014133597A1 (en) 2014-09-04

Family

ID=50552869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/067189 WO2014133597A1 (en) 2013-02-26 2013-10-29 Determination of object occlusion in an image sequence

Country Status (7)

Country Link
US (2) US8718328B1 (en)
EP (1) EP2962247A4 (en)
JP (1) JP2016508652A (en)
KR (1) KR20150122715A (en)
CN (1) CN105074726A (en)
CA (1) CA2899401A1 (en)
WO (1) WO2014133597A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050828A1 (en) * 2018-09-05 2020-03-12 Hewlett-Packard Development Company, L.P. Optical flow maps

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8718328B1 (en) * 2013-02-26 2014-05-06 Spinella Ip Holdings, Inc. Digital processing method and system for determination of object occlusion in an image sequence
CN104735360B (en) * 2013-12-18 2017-12-22 华为技术有限公司 Light field image treating method and apparatus
KR102214934B1 (en) * 2014-07-18 2021-02-10 삼성전자주식회사 Stereo matching apparatus and method using unary confidences learning and pairwise confidences learning
EP2975850A1 (en) * 2014-07-18 2016-01-20 Thomson Licensing Method for correcting motion estimation between at least two frames of a video sequence, corresponding device, computer program and non-transitory computer-readable medium
WO2016014020A1 (en) 2014-07-21 2016-01-28 Hewlett-Packard Development Company, L.P. Radial histogram matching
CN104700432B (en) * 2015-03-24 2017-11-03 银江股份有限公司 A kind of adaptive adhesion Method of Vehicle Segmentation
WO2016172385A1 (en) * 2015-04-23 2016-10-27 Ostendo Technologies, Inc. Methods for full parallax compressed light field synthesis utilizing depth information
CN104867133B (en) * 2015-04-30 2017-10-20 燕山大学 A kind of quick substep solid matching method
PL412844A1 (en) * 2015-06-25 2017-01-02 Politechnika Poznańska System and method of coding of the exposed area in the multi-video sequence data stream
WO2017131735A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Image skew identification
EP3422992A4 (en) * 2016-03-02 2019-10-30 Covidien LP Systems and methods for removing occluding objects in surgical images and/or video
US10277844B2 (en) * 2016-04-20 2019-04-30 Intel Corporation Processing images based on generated motion data
CN106023250B (en) * 2016-05-16 2018-09-07 长春理工大学 A kind of evaluation method of image recognition and target masking intensity in tracking
CN106204597B (en) * 2016-07-13 2019-01-11 西北工业大学 A kind of video object dividing method based on from the step Weakly supervised study of formula
US10586308B2 (en) * 2017-05-09 2020-03-10 Adobe Inc. Digital media environment for removal of obstructions in a digital image scene
CN107292912B (en) * 2017-05-26 2020-08-18 浙江大学 Optical flow estimation method based on multi-scale corresponding structured learning
US11720745B2 (en) 2017-06-13 2023-08-08 Microsoft Technology Licensing, Llc Detecting occlusion of digital ink
CN107507232B (en) * 2017-07-14 2020-06-16 天津大学 Stereo matching method based on multi-scale iteration
CN107798694B (en) * 2017-11-23 2021-06-29 海信集团有限公司 Method, device and terminal for calculating pixel point parallax value
KR102655949B1 (en) 2018-05-30 2024-04-09 삼성전자주식회사 Face verifying method and apparatus based on 3d image
CN109087332B (en) * 2018-06-11 2022-06-17 西安电子科技大学 Block correlation-based occlusion detection method
CN111275801A (en) * 2018-12-05 2020-06-12 中国移动通信集团广西有限公司 Three-dimensional picture rendering method and device
CN110069990B (en) * 2019-03-18 2021-09-17 北京中科慧眼科技有限公司 Height limiting rod detection method and device and automatic driving system
CN111462191B (en) * 2020-04-23 2022-07-19 武汉大学 Non-local filter unsupervised optical flow estimation method based on deep learning
US11989854B2 (en) * 2021-06-23 2024-05-21 Apple Inc. Point-of-view image warp systems and methods
US11663772B1 (en) 2022-01-25 2023-05-30 Tencent America LLC Occluder generation for structures in digital applications
CN114928730B (en) * 2022-06-23 2023-08-22 湖南国科微电子股份有限公司 Image processing method and image processing apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110129015A1 (en) * 2007-09-04 2011-06-02 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157747A (en) * 1997-08-01 2000-12-05 Microsoft Corporation 3-dimensional image rotation method and apparatus for producing image mosaics
EP1437898A1 (en) * 2002-12-30 2004-07-14 Koninklijke Philips Electronics N.V. Video filtering for stereo images
US7408986B2 (en) * 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
US7957466B2 (en) * 2005-09-16 2011-06-07 Sony Corporation Adaptive area of influence filter for moving object boundaries
WO2009085205A1 (en) * 2007-12-20 2009-07-09 Integrated Device Technology, Inc. Image interpolation with halo reduction
US9626769B2 (en) * 2009-09-04 2017-04-18 Stmicroelectronics International N.V. Digital video encoder system, method, and non-transitory computer-readable medium for tracking object regions
WO2011094871A1 (en) * 2010-02-05 2011-08-11 Sensio Technologies Inc. Method and apparatus of frame interpolation
JP4991890B2 (en) * 2010-03-01 2012-08-01 株式会社東芝 Interpolated frame generation apparatus and method
US20120312961A1 (en) * 2011-01-21 2012-12-13 Headwater Partners Ii Llc Setting imaging parameters for image guided radiation treatment
US9445076B2 (en) * 2012-03-14 2016-09-13 Qualcomm Incorporated Disparity vector construction method for 3D-HEVC
US8718328B1 (en) * 2013-02-26 2014-05-06 Spinella Ip Holdings, Inc. Digital processing method and system for determination of object occlusion in an image sequence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110129015A1 (en) * 2007-09-04 2011-06-02 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AYVACI A ET AL.: "Motion Segmentation with Occlusions on Superpixel Graph", WORKSHOP ON DYNAMICAL VISION IN CONJUNCTION WITH ICCV, 27 September 2009 (2009-09-27), pages 727 - 734, XP031664643, Retrieved from the Internet <URL:HTTP:/WWW.VISION.UCLA.EDU/PAPERS/AYVACIS09.PDF> [retrieved on 20140410] *
AYVACI A ET AL.: "Occlusion Detection and Motion Estimation with Convex Optimization", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS., 1 December 2010 (2010-12-01), pages 1 - 4, XP055284181, Retrieved from the Internet <URL:http://www.vision.ucla.edu/papers/ayvaciRS10.pdf> [retrieved on 20140410] *
See also references of EP2962247A4 *
WERLBERGER M: "Motion Estimation with Non-Local Total Variation Regularization", COMPUTER VISION AND PATTERN RECOGNITION (CVPR)., 13 June 2010 (2010-06-13), pages 2464 - 2471, XP031725774, Retrieved from the Internet <URL:http://gpu4vision.icg.tugraz.at/papers/2010/werlberger_cvpr2010.pdf> [retrieved on 20140410] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050828A1 (en) * 2018-09-05 2020-03-12 Hewlett-Packard Development Company, L.P. Optical flow maps

Also Published As

Publication number Publication date
EP2962247A1 (en) 2016-01-06
US8718328B1 (en) 2014-05-06
JP2016508652A (en) 2016-03-22
US8831288B1 (en) 2014-09-09
CN105074726A (en) 2015-11-18
EP2962247A4 (en) 2016-09-14
US20140241582A1 (en) 2014-08-28
KR20150122715A (en) 2015-11-02
CA2899401A1 (en) 2014-09-04

Similar Documents

Publication Publication Date Title
US8718328B1 (en) Digital processing method and system for determination of object occlusion in an image sequence
US10621783B2 (en) Image processing method and apparatus using depth value estimation
Pradeep et al. MonoFusion: Real-time 3D reconstruction of small scenes with a single web camera
US9269003B2 (en) Diminished and mediated reality effects from reconstruction
US9794588B2 (en) Image processing system with optical flow recovery mechanism and method of operation thereof
Zhu et al. Edge-preserving guided filtering based cost aggregation for stereo matching
Choi et al. A consensus-driven approach for structure and texture aware depth map upsampling
US20180005039A1 (en) Method and apparatus for generating an initial superpixel label map for an image
Zhao et al. Real-time stereo on GPGPU using progressive multi-resolution adaptive windows
Brodský et al. Structure from motion: Beyond the epipolar constraint
KR20230107224A (en) Occlusion Masking and Supervised Learning for Optical Flow Estimation
Hu et al. IMGTR: Image-triangle based multi-view 3D reconstruction for urban scenes
Satapathy et al. Robust depth map inpainting using superpixels and non-local Gauss–Markov random field prior
Bagnato et al. A variational framework for structure from motion in omnidirectional image sequences
US10504235B2 (en) Method for generating three dimensional images
Brockers Cooperative stereo matching with color-based adaptive local support
Zhou et al. Stereo matching based on guided filter and segmentation
Pertuz et al. Region-based depth recovery for highly sparse depth maps
Afzal et al. Full 3D reconstruction of non-rigidly deforming objects
Yang et al. Multiview video depth estimation with spatial-temporal consistency.
Matsumoto et al. Real-time enhancement of RGB-D point clouds using piecewise plane fitting
Kondermann et al. Postprocessing of optical flows via surface measures and motion inpainting
Kim et al. A high quality depth map upsampling method robust to misalignment of depth and color boundaries
Raju et al. Motion detection and optical flow
JP7086761B2 (en) Image processing equipment, information processing methods and programs

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380073866.9

Country of ref document: CN

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

Ref document number: 13876181

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2899401

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2015560170

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2013876181

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013876181

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20157026133

Country of ref document: KR

Kind code of ref document: A