The present application is a national phase entry under 35 U.S.C. § 371 of International Application No. PCT/CN2013/077228, filed Jun. 14, 2013, entitled “IMAGE PROCESSING INCLUDING ADJOIN FEATURE BASED OBJECT DETECTION, AND/OR BILATERAL SYMMETRIC OBJECT SEGMENTATION”, which designated, among the various States, the United States of America. The Specification of the PCT/CN2013/077228 Application is hereby incorporated by reference.
The present disclosure relates to the field of data processing, in particular, to apparatuses, methods and storage medium associated with imaging processing, including but not limited to adjoin feature based object detection, and/or bilateral symmetric object segmentation.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Advances in general purpose microprocessors, graphics processors, networking, and related technologies have led to an increase in availability of multimedia contents via the Internet. Oftentimes, applications and/or users are interested in detection and/or classification of objects in images, in particular, computational efficient (and therefore power and/or energy efficient) object detection and/or classification, such as in the cases of mobile device, like smartphones and/or computing tablets.
Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
Apparatuses, methods and storage medium associated with image processing, are disclosed herein. In embodiments, a method for processing one or more images may include generating, e.g., by a computing device, a plurality of pairs of keypoint features. Each pair of keypoint features may include a first keypoint feature from a first of the one or more images, and a second keypoint feature from a second of the one or more images. The computing device may further generate, for each pair of keypoint features, first one or more adjoin features for the first keypoint feature of the keypoint feature pair, and corresponding second one or more adjoin features for the second keypoint feature of the keypoint feature pair. The computing device may additionally determine for each pair of keypoint features, whether an adjoin feature of the first keypoint feature of the keypoint feature pair is similar to the corresponding adjoin feature of the second keypoint feature of the keypoint feature pair. The computing device may also determine whether the first and the second image have at least one similar object, based at least in part on a result of the determination of similarity between the corresponding adjoin features of the first and second keypoint features of the keypoint feature pairs.
In embodiments, a method for processing one or more images may include pairwise matching local features of an image, by a computing device, to generate an initial plurality of point pairs for the image. The computing device may further scale consistency check the point pairs to eliminate falsely matched point pairs from the initial plurality of point pairs, to result with a first intermediate plurality of scale consistency checked point pairs. The computing device may further content consistency check the first intermediate plurality of scale consistency checked point pairs, to discard dominant point pairs in background of the image, to result in a second intermediate plurality of content consistency checked point pairs. The computing device may additionally discriminative foreground and background modeling of the image based at least in part on the second intermediate plurality of content consistency checked point pairs. The computing device may also segment a bilateral symmetric object in the image based at least in part on geometric properties of the discriminative foreground and background modeled image.
In embodiments, an apparatus, e.g., a smartphone or a computing tablet, may include one or more processors, and at least one storage medium having instructions configured to cause the apparatus, in response to operation by the one or more processors, to perform one or more of the above described methods and their variants. In embodiments, at least one storage medium may include instructions, in response to execution by an apparatus, cause the apparatus to perform one or more of the above described methods and their variants.
In the detailed description to follow, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of illustration embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.
Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.
For the purposes of the present disclosure, the phrase “A and/or B” means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C).
The description may use the phrases “in an embodiment,” or “in embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous.
As used hereinafter, including the claims, the term “module” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
Referring now
Processor and memory arrangement 102 is intended to represent a broad range of processors and memory devices, including without limitations, arrangements designed for mobile computing. For examples, without limitations, processor may be any one of a number of single or multi-core general or special purpose processors known in the art. One or more general or special purpose processors may be used. An example of a special purpose processor may include, but is not limited to, a graphics processor. Memory may be any one of a number of volatile and/or non-volatile memory known in the art including, but are not limited to, dynamic random access memory (DRAM), FLASH, and so forth. Similarly, one or more memory units may be used. Storage 104 may be any one of a number of magnetic, optical, and/or solid state storage device or devices. Processor and memory arrangement 102 and storage 104 may be co-located on the same platform and coupled with each other 106 via, e.g., a system bus, or remotely located from each other, and coupled with each other 106 via, e.g., one or more private and/or public networks, such as the Internet. That is, processor and memory arrangement 102 alone, or in conjunction with storage 104, may form a single computing device, such as a smartphone, a computing tablet, an ultrabook, a laptop, a desktop, a server, a set-top box, a game console, a media player, an e-reader, and so forth.
Further, computing arrangement 100 may include other components, such as display devices, and/or wired or wireless communication interfaces. Display devices may be any one of a number of display devices known in the art including, but are not limited to, touch screen displays. An example of wired communication interfaces may include an Ethernet networking interface. Examples of wireless communication interfaces may include interfaces that support WiFi, 3G4G wireless communications. Computing arrangement 100 may also include input devices, such as keyboard or other cursor control and/or gesture recognition devices. Still further, computing arrangement 100 may include camera, Global Position System (GPS) support, and various sensors.
Still referring to
Referring now to
Referring now also to
In embodiments, reference image B may be one of a number candidate images preliminarily selected from images 142. The candidate images may be preliminarily selected by, e.g., fast approximate nearest neighbor searching technique, such as, kd tree indexing, hierarchical clustering, vocabulary tree, and so forth.
From block 302, process 300 may proceed to block 304. At block 304, IODS 132 may identify the adjoin features for the extracted keypoint features si. In embodiments, given a keypoint feature si=[Xi, ri, θi, f(Xi, ri, θi)]T, the K adjoin features of si may be identified as si*k=[Xi*k, ri, θi, f(Xi*k, ri, θ)]T where X*ki=Xi+2 ri[cos(ak), sin(ak)]T, ak=θi+2πk/K, k=1, 2, . . . K−1, and K is an adjoin feature order. As shown in
Since the adjoin feature naturally encodes the local spatial relationship with invariant scale-shift-rotation, in embodiments, the discriminative power of a keypoint feature may be increased through employment of the spatial relationship constraint of the adjoin features. Therefore, if a pair of keypoint features <si, sj> is correctly matched, their accompanied adjoin features <sk*i, sk*j> should be matched too. On the contrary, a matched adjoin feature pair <sk*i, sk*j> can verify and filter the pair of keypoints <si, sj>. Still referring to
At block 306, IODS 132 may compare and determine whether adjoin features {S*kA S*kB} of corresponding keypoint features {SA SB} are similar. In embodiments, from block 306, process 300 may proceed to block 308, where IODS 132 may generate a set M containing similar adjoin features {S*kA S*kB} of corresponding keypoint features {SA SB}, based on a result of the determination operations performed in block 306. For example, IODS 132 may include a pair of keypoint features <si, sj> as a member of set M, if at least one pair of their corresponding adjoin features <s*ki, s*kj> are determined to be similar. In embodiments, from block 308, process 300 may proceed to block 310, where IODS 132 may identify whether query frame A and reference frame B as similar or dissimilar, based at least in part on the set M generated in block 308. For example, IODS 132 may identify query frame A and reference frame B as similar if the size of set M exceeds a threshold.
In embodiments, IODS 132 may also identify common objects in the images, based at least in part on the content of set M. Further, IODS 132 may also generate a geometric primitive, such as a rectangular box, to bound the object detected in both frames to highlight the object.
In embodiments, the generation of set M may be performed algorithmically as follows:
By embedding the local spatial constraint, the adjoin feature matching may significantly reduce the number of false positive point matching. Exemplary advantages may be summarized as follows:
In embodiments, process 300 may be repeated multiple times in sequence or in parallel for multiple reference images for each query image, until a match is found, until a threshold number of matches are found, or until any one of a number of termination criteria is met, such as exhaustion of time and/or computing resources allocated.
Referring now briefly back to
Referring now to
The basic problem of bilateral symmetry detection may be considered as a problem to identify local image region pairs which are sufficiently similar when flipping them about respective axes. The problem is challenging not only because there are many parameters needed to be accurately determined but also because there can be significant variations in images due to changing illuminations, backgrounds and/or distortions. In embodiments, IOBSSF 136 may address the problem from the perspective of grouping point pairs through matching local features. Consider (xi, yi, θi, si, fi) and (xj, yj, θj, sj, fj) as two sets containing the image coordinates, orientations, scales and local feature vectors of point Pi and point Pj, respectively, αij be the angle of the line segment connecting point Pi and point Pj, Cij be the midpoint of this line segment. In mathematical notion, the feature orientations at point Pi and point Pj are strict bilateral symmetric if and only if θi+θj−2αij=π as illustrated by illustration 500 of
In embodiments, IOBSSF 136 may first obtain a collection matched point pairs. For example, given an image, IOBSSF 136 may:
(1) generate a keypoint set {P1, P2, . . . , PK} and a corresponding feature set {(x1, y1, θ1, s1, f1), (x2, y2, θ2, s2, f2), . . . , (xK, yK, θK, sK, fK)} using a specific keypoint detector and a related descriptor, such as SIFT (Scale-Invariant Feature Transform) and SURF (Speed Up Robust Features);
(2) generate a mirrored keypoint set {{circumflex over (P)}1, {circumflex over (P)}2, . . . , {circumflex over (P)}K} and its feature set {({circumflex over (x)}1, ŷ1, {circumflex over (θ)}1, ŝ1, {circumflex over (f)}1), ({circumflex over (x)}2, ŷ2, {circumflex over (θ)}2, ŝ2, {circumflex over (f)}2), . . . , ({circumflex over (x)}K, ŷK, {circumflex over (θ)}K, ŝK, {circumflex over (f)}K)}, where xi={circumflex over (x)}i, y1=ŷi, si=ŝi;
(3) for each keypoint Pi in {P1, P2, . . . , PK}, find its mirror {circumflex over (P)}j in {{circumflex over (P)}1, {circumflex over (P)}2, . . . , {circumflex over (P)}K} by computing rank-1 nearest neighbor between fi and {{circumflex over (f)}1, {circumflex over (f)}2, . . . , {circumflex over (f)}K}.
Once a collection of K matched point pairs are obtained, IOBSSF 136 may use Eq. (1) below to measure the symmetry magnitude of each matched point pair (Pi, {circumflex over (P)}j).
Mij=1−cos(θi+{circumflex over (θ)}j−2αij), (1)
From block 402, process 400 may proceed to block 404. At block 404, IOBSSF 136, using, e.g., a scale consistency checking module, may perform scale consistency check on the grouped point pairs to eliminate falsely matched point pairs. In embodiments, IOBSSF 136 may use Eq. (2) to compute scale ratio rs to evaluate the scale consistency of each matched point pair (Pi, {circumflex over (P)}j).
From block 404, process 400 may proceed to block 406. At block 404, IOBSSF 136, using, e.g., a content consistency checking module, may perform content consistency check on the grouped point pairs to discard dominant point pairs. In embodiments, IOBSSF 136, may first use linear Hough transform to group matched point pairs sharing with the same bilateral symmetry axis. In embodiments, for a matched point pair (Pi, {circumflex over (P)}j), IOBSSF 136 may represent the reflective axis as
ρij=xc cos(aij)+yc sin(aij), (3)
where (xc, yc) are the image centered coordinates of the midpoint of the line segment connecting point Pi and its mirror {circumflex over (P)}j, αij is the angle of this line segment and it is computed from
According to linear Hough transform, each matched point pair (Pi, {circumflex over (P)}j) casts a vote weighted by its symmetry magnitude Mij in (ρij, αij) space. After accumulating the votes, the global dominant bilateral symmetry group can be identified by finding the maximum in (ρij, αij) space. Multiple local dominant bilateral symmetry groups can also be determined by finding multiple maxima. The described approach is applicable for both global and local dominant bilateral symmetry groups.
In practice, although most of the point pairs in the dominant group are usually in the target region, there can be some point pairs positioned in the background region. In embodiments, IOBSSF 136 may evaluate whether two local image regions centered at a dominant point pair are sufficiently similar in content or not. Given a dominant point pair (Pi, {circumflex over (P)}j), let R(Pi) and R({circumflex over (P)}j) be the two circular image regions of N pixels centered at point Pi and point {circumflex over (P)}j, respectively, IOBSSF 136 may measure the content consistency by summing up L1 formed color differences over pixel pairs in R(Pi) and R({circumflex over (P)}j), using Eq. (5) below. I(Rxy(Pi)) and I(Rxy({circumflex over (P)}j)) denote the RGB color values of two paired pixels at Rxy(Pi) and Rxy({circumflex over (P)}j), respectively.
In embodiments, IOBSSF 136 may discard any point pair with dij larger than threshold tc. IOBSSF 136 may also eliminate any point pair whose dij is significantly different from those of other point pairs in the same group. Whether the difference amounts to “significantly different” may be application dependent.
Still referring to
The operations may be considered as having six major parts. In part 1, IOBSSF 136 may obtain a rectangular image region compactly including dominant point pairs. The rectangular image region may be considered as the initial foreground region (i.e., object region), and the outer margin containing the remained pixels may be considered as the background. Based on the feature values of the pixels in the foreground and background, in part 2, IOBSSF 136 may focus on constructing discriminative models of foreground and background. In embodiments, IOBSSF 136 may choose multiple discriminative features from a set of candidate features generated from linear combinations of RGB pixel values. Histogram feature may be used to represent foreground and background due to its robustness and efficiency. Given a set of M candidate features denoted as
{(w11R+w12G+w13B), (w21R+w22G+w23B), . . . , (wM1R+wM2G+wM3B)}, and
let hf and hg be the histogram models of foreground and background computed from one candidate feature, IOBSSF 136 may measure the capability of this feature to separate foreground and background by
In embodiments, IOBSSF 136 may combine the features with largest 3 sepi values to generate histogram models of foreground and background.
In part 3, IOBSSF 136 may segment the image based on the class-conditional distributions of feature values. As a result, a binary image may be obtained. In part 4, IOBSSF 136 may use particular morphological operations to eliminate noises in the binary image. In part 5, IOBSSF 136 may label the connected component sharing the largest overlap with the initial foreground region as the segmented object. In part 6, the accurate object region may be located by mirroring segmented object around its bilateral symmetry.
Referring now briefly back to
Referring now to
From block 602, process 600 may proceed to block 604. At 604, IOCS 134, using, e.g., a pose estimation and rectification module, may estimate and rectify poses of the bilateral symmetric object candidates. Often, object candidates in images may not be captured from views that clearly exhibit their bilateral symmetry. Thus, to achieve robust fine-grained recognition, IOCS 134 may first estimate the object pose and then rectify the estimated pose. The orientation of each detected bilateral symmetric object candidate should directly correlate with the angle θ of its reflective axis, thus accurate pose rectification can be done relatively easy via rotating each detected object candidate {θ−90, if θ>90|θ+90, if θ≤90} degrees clockwise or {270−θ, if θ>90|90−θ, if θ≤90} degrees counterclockwise around its reflective axis.
From block 604, process 600 may proceed to block 606. At block 606, IOCS 134, using, e.g., a matching module, may eliminate false positives. IOCS 134, may eliminate the false positives by using a template based matching method. For example, let X and {circumflex over (X)} be the co-occurrence histograms of oriented gradients (COHOG) descriptors concerning the clockwise and counterclockwise rotated images of a detected bilateral symmetric object candidate of interest, respectively. Further, let {Ti} be a set of COHOG descriptors concerning the template images of K object classes. IOCS 134, may identify an object candidate as a true positive or false positive, in accordance with the following rules:
where dt is a threshold.
For classifying butterflies, COHOG descriptors may be eye-spot-and-strip weighted (ESSW) COHOG descriptors.
Subtle differences between closely correlated subordinate categories may be important for fine-grained object recognition. Different sub-categories or species of the bilateral symmetric objects can be effectively identified via the distinct distributions of the COHOG descriptor, in particular, ESSW-COHOG descriptors in the case of fine-grained recognition of butterfly species. Thus, in embodiments, from block 606, process 600 may proceed to block 608. At block 608, IOCS 134, using, e.g., a descriptor generation module, may generate descriptors to represent the object candidates. COHOG may be considered a feature descriptor which expresses the object region as a statistical distribution of pairwise gradient orientations with various positional offsets. Mathematically, a COHOG H defined over the gradient orientations of a grayscale w×h image I can be expressed as
where Iigo is the indexed gradient orientation image of I and (Δx, Δy) is a positional offset.
In embodiments, in lieu of computing COHOG as using Eq. (10) in which each gradient orientation pair at a specific positional offset has the same vote, IOCS 134 may include a weighing procedure to enhance the importance of the gradient orientation pairs related to COHOG, while decrease the importance of the other pairs. In embodiments, scale invariant feature transform (SIFT) keypoints detected in images may correlate strongly with COHOG. Therefore, in embodiments, IOCS 134 may obtain the weight function from a statistical analysis of the orientations of the SIFT keypoints detected over the training images. The implementation may be summarized as follows:
Referring briefly to
Referring back to
In embodiments, IOCS 134 may employ a spectral regression based method for fine-grained bilateral symmetric object sub-category recognition. For example, let T be a training dataset containing P normalized images from K classes. Further, let pk be the number of the training images for the kth class, It be a testing image, IOCS 134 may determine the sub-category of a bilateral symmetric object through spectral regression as follow:
where k=1, . . . , K and y0=[1, 1, . . . , 1]1×PT, find K−1 basis vectors {vk} by solving
Referring now to
Each of these elements may perform its conventional functions known in the art. In particular, system memory 804 and mass storage devices 806 may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with IODS 132, IOCS 134 and/or IOBSSF 136 of
The persistent copy of the programming instructions may be placed into persistent mass storage devices 806 in the factory, or in the field, through, for example, a distribution medium (not shown), such as a compact disc (CD), or through communication interface 810 (from a distribution server (not shown)). That is, one or more distribution media having an implementation of the agent program may be employed to distribute the agent and program various computing devices.
The number, capability and/or capacity of these elements 810-812 may vary, depending on the intended use of example computer 800, e.g., whether example computer 800 is a stationary computing device like a set-top box or a desktop computer, or a mobile computing device, like a smartphone, tablet, ultrabook or laptop. The constitutions of these elements 810-812 are otherwise known, and accordingly will not be further described.
Referring back to
Thus, example embodiments described include, but are not limited to:
Example 1 may be a method for processing one or more images, where the method may include generating, by a computing device, a plurality of pairs of keypoint features, with each pair of keypoint features including a first keypoint feature from a first of the one or more images, and a second keypoint feature from a second of the one or more images; and generating, by the computing device, for each pair of keypoint features, first one or more adjoin features for the first keypoint feature of the keypoint feature pair, and corresponding second one or more adjoin features for the second keypoint feature of the keypoint feature pair. The method may further include determining, by the computing device, for each pair of keypoint features, whether an adjoin feature of the first keypoint feature of the keypoint feature pair is similar to the corresponding adjoin feature of the second keypoint feature of the keypoint feature pair; and determining, by the computing device, whether the first and the second image have at least one similar object, based at least in part on a result of the determination of similarity between the corresponding adjoin features of the first and second keypoint features of the keypoint feature pairs.
Example 2 may be example 1, where generating a plurality of pairs of keypoint features may include identifying a first plurality of keypoint features of the first image; identifying a second plurality of keypoint features of the second image; and pairing the first and second plurality of keypoint features of the first and second images.
Example 3 may be example 1 or 2, where generating, for each pair of keypoint features, first one or more adjoin features for the first keypoint feature of the keypoint feature pair, and corresponding second one or more adjoin features for the second keypoint feature of the keypoint feature pair may include: for each pair of keypoint features, identifying the first one or more adjoin features for the first keypoint feature of the keypoint feature pair; and identifying the corresponding second one or more adjoin features for the second keypoint feature of the keypoint feature pair.
Example 4 may be any one of examples 1-3, where determining whether the first and the second image have at least one similar object may include: generating a set of similar keypoint feature pairs, wherein the keypoint features of a similar keypoint feature pair are determined to be similar based at least in part on a result of the determination of similarity between the corresponding adjoin features of the keypoint features of the similar keypoint feature pairs; and outputting the set of similar keypoint feature pairs.
Example 5 may be example 4, where the method may further include highlighting, by the computing device, at least an object in the first image based at least in part on some of the keypoint features of the first image that are members of the set of similar keypoint feature pairs.
Example 6 may be example 5, where highlighting may include bounding the object with a geometric primitive.
Example 7 may include an apparatus for processing one or more images, where the apparatus may include one or more processors; and at least one storage medium coupled to the one or more processors, and having instructions configured to cause the apparatus, in response to operation by the one or more processors, to implement an image object detection service that includes performance any one of the methods of examples 1-6.
Example 8 may be example 7 where the apparatus may be a selected one of a set-top box, a smartphone, a computing tablet, an ultrabook, a laptop computer, a desktop computer, a server computer, a game console, or a media player.
Example 9 may include at least one storage medium, where the storage medium may include a plurality of instructions, in response to execution by an apparatus, cause the apparatus to implement an image object detection service that includes performance of any one of the methods of examples 1-6.
Example 10 may include a method for processing one or more images, where the method may include: pairwise matching local features of an image, by a computing device, to generate an initial plurality of point pairs for the image; and scale consistency checking the point pairs, by the computing device, to eliminate falsely matched point pairs from the initial plurality of point pairs, resulting with a first intermediate plurality of scale consistency checked point pairs. The method may further include content consistency checking the first intermediate plurality of scale consistency checked point pairs, by the computing device, to discard dominant point pairs in background of the image, resulting in a second intermediate plurality of content consistency checked point pairs; discriminative foreground and background modeling of the image, by the computing device, based at least in part on the second intermediate plurality of content consistency checked point pairs; and segmenting, by the computing device, a bilateral symmetric object in the image based at least in part on geometric properties of the discriminative foreground and background modeled image.
Example 11 may be example 10, where pairwise matching may include detecting symmetry in the image; and generating symmetric constellations of features, wherein generating symmetric constellations of features includes generating two sets of points {Pi} and {Pj} that respectively include image coordinates, orientations, scales and local feature vectors of the points {Pi} and {Pj}.
Example 12 may be example 10 or 11, where scale consistency checking may include computing a scale ratio for each point pair, and discarding a point pair if the scale ratio of a point pair is less than a threshold.
Example 13 may be any one of examples 10-12, where content consistency checking may include grouping matched point pairs that share a bilateral symmetry axis.
Example 14 may be any one of examples 10-13, where content consistency checking a point pair may include computing an average color difference for regions correspondingly comprising the points of the point pair, and discarding the point pair if the average color difference of the point pair is larger than a threshold.
Example 15 may be any one of examples 10-14, where discriminative foreground and background modeling of the image may include obtaining a rectangular region that bounds the dominant point pairs; temporarily designating the rectangular region as foreground of the image, and remainder of the image as background of the image; and generating a plurality of histograms to model features of the foreground and the background based at least in part on color values of pixels of the image.
Example 16 may be example 15, where segmenting may include obtaining a binary image based at least in part on the histograms; performing morphological operations to eliminate noises in the binary image; labeling connect components sharing largest overlap with the foreground as a segmented portion of the bilateral symmetric object; and mirroring the segmented portion across an axis to identify the other segmented portion of the bilateral symmetric object.
Example 17 may include an apparatus for processing one or more images, where the apparatus may include one or more processors; and at least one storage medium coupled to the one or more processors, and having instructions configured to cause the apparatus, in response to operation by the one or more processors, to implement an image object bilateral symmetric segmentation function that includes performance of any one of the methods of example 10-16.
Example 18 may be example 17, where the apparatus may be a selected one of a set-top box, a smartphone, a computing tablet, an ultrabook, a laptop computer, a desktop computer, a server computer, a game console, or a media player.
Example 19 may include at least one storage medium, where the storage medium may include a plurality of instructions, in response to execution by an apparatus, cause the apparatus to implement an image object bilateral symmetric segmentation function that includes performance of any one of the methods of examples 10-16.
Example 20 may include a method for processing one or more images, where the method may include detecting, by a computing device, bilateral symmetric point pair groups to locate a plurality of bilateral symmetric object candidates in an image; and identify, by the computing device, poses of the plurality of object candidates. The method may further include eliminating, by the computing devices, false positives of the object candidates, based at least in part on the poses, and a plurality of templates; generating, by the computing devices, descriptors representing remaining object candidates; and identifying, by the computing device, species of the remaining candidates through spectral regression, using the generated descriptors. Example 20a may be example 20, where the object candidates are butterfly candidates.
Example 21 may be example 20, where identifying poses may include estimating poses and rectifying estimated poses.
Example 22 may include an apparatus for processing one or more images, where the apparatus may include one or more processors; and at least one storage medium coupled to the one or more processors, and having instructions configured to cause the apparatus, in response to operation by the one or more processors, to implement an image object classification service that includes performance of any one of the methods of examples 20-21.
Example 23 may be example 22, where the apparatus may be a selected one of a set-top box, a smartphone, a computing tablet, an ultrabook, a laptop computer, a desktop computer, a server computer, a game console, or a media player.
Example 24 may include at least one or more storage medium, where the storage medium may include a plurality of instructions, in response to execution by an apparatus, cause the apparatus to implement an image object classification service that includes performance of any one of the methods of examples 20-21.
Example 25 may include an apparatus for processing one or more images, where the apparatus may include one or more processors; and at least one storage medium coupled to the one or more processors, and having instructions configured to cause the apparatus, in response to operation by the one or more processors, to perform one or more of the methods of examples 1-6, 10-16, and 20-21.
Example 26 may be example 25, where the apparatus may be a selected one of a set-top box, a smartphone, a computing tablet, an ultrabook, a laptop computer, a desktop computer, a server computer, a game console, or a media player.
Example 27 may include at least one storage medium, wherein the storage medium may include a plurality of instructions, in response to execution by an apparatus, cause the apparatus to perform one or more of the methods of examples 1-6, 10-16, and 20-21.
Example 28 may include means for performing any one of the methods of examples 1-6; and means for performing any one of the methods of examples 10-16, or 20-21.
Example 29 may include means for performing any one of the methods of examples 11-16; and means for performing any one of the methods of claims 20-21.
Although certain embodiments have been illustrated and described herein for purposes of description, a wide variety of alternate and/or equivalent embodiments or implementations calculated to achieve the same purposes may be substituted for the embodiments shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that embodiments described herein be limited only by the claims.
Where the disclosure recites “a” or “a first” element or the equivalent thereof, such disclosure includes one or more such elements, neither requiring nor excluding two or more such elements. Further, ordinal indicators (e.g., first, second or third) for identified elements are used to distinguish between the elements, and do not indicate or imply a required or limited number of such elements, nor do they indicate a particular position or order of such elements unless otherwise specifically stated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/077228 | 6/14/2013 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2014/198055 | 12/18/2014 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5067162 | Driscoll, Jr. | Nov 1991 | A |
5585861 | Taniguchi | Dec 1996 | A |
6639691 | Acharya | Oct 2003 | B2 |
6711293 | Lowe | Mar 2004 | B1 |
6834119 | Chen | Dec 2004 | B2 |
8442307 | Anati | May 2013 | B1 |
8582821 | Feldman | Nov 2013 | B1 |
9275432 | Wang | Mar 2016 | B2 |
20030146913 | Shen | Aug 2003 | A1 |
20040022431 | Beardsley | Feb 2004 | A1 |
20040114800 | Ponomarev | Jun 2004 | A1 |
20050265601 | Cathier et al. | Dec 2005 | A1 |
20060153447 | Ouchi | Jul 2006 | A1 |
20070047840 | Xu | Mar 2007 | A1 |
20090129655 | Lossev | May 2009 | A1 |
20090184171 | Lv | Jul 2009 | A1 |
20100103257 | Chang | Apr 2010 | A1 |
20100119113 | Kuleschow | May 2010 | A1 |
20110026833 | Sugino | Feb 2011 | A1 |
20110085728 | Gao | Apr 2011 | A1 |
20120051656 | Wang | Mar 2012 | A1 |
20120263388 | Vaddadi | Oct 2012 | A1 |
20130188018 | Stevens | Jul 2013 | A1 |
20140133550 | Pau | May 2014 | A1 |
20150043828 | Valente | Feb 2015 | A1 |
Number | Date | Country |
---|---|---|
1361501 | Jul 2002 | CN |
1384464 | Dec 2002 | CN |
1430767 | Jul 2003 | CN |
1508756 | Jun 2004 | CN |
1628325 | Jun 2005 | CN |
1755709 | Apr 2006 | CN |
101764923 | Jun 2010 | CN |
102075729 | May 2011 | CN |
102236901 | Nov 2011 | CN |
19702728 | Aug 1997 | DE |
201133357 | Oct 2011 | TW |
201209758 | Mar 2012 | TW |
Entry |
---|
Partial Supplementary European Search Report dated Jan. 26, 2017 for European Application No. 13886672.8, 8 pages. |
D. G. Lowe, “Object Recognition from Local Scale-Invariant Features”, Proceedings of the Seventh IEEE International Conference on Computer Vision, Jan. 1, 1999, 8 pages. |
Wikipedia: “Scale-invariant feature transform”, Jan. 17, 2017, retrieved from the Internet: URL:https://en.wikipedia.org/wiki/Scale-invariant_feature_transform, 17 pages. |
International Search Report and Written Opinion dated Mar. 13, 2014 for International Application No. PCT/CN2013/077228, 10 pages. |
Extended European Search Report dated Apr. 28, 2017 for European Application No. 13886672.8, 11 pages. |
Office Action dated May 2, 2018 for Chinese Patent Application No. 201380076574.0, 19 pages. |
Number | Date | Country | |
---|---|---|---|
20140369608 A1 | Dec 2014 | US |