USPatent applicationPatented

Image processing apparatus, non-transitory computer readable medium storing program, and image processing method

Granted 18 Aug 2015 · 1 office action

Current assignee: FUJIFILM Business Innovation Corp. · originally Xerox

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Chuan Wang, Takeshi Onishi · Examiner: Ruiping Li · AU 2666 · TC 2600

Life of the application

11 dated events
⤢ drag to zoom20122014201620182020202220242026202820302032ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Provided is an image processing apparatus including a first specifying unit that specifies second feature point candidates, a second specifying unit that specifies second feature point candidates, an evaluating unit that generates evaluation information on evaluation of the second feature point candidate of a target first feature point based on the result of comparison between the relative position of the other first feature point to the target first feature point and the relative position of the second feature point candidate of the other first feature point to the second feature point candidate of the target first feature point, and a setting unit that sets the second feature point candidate of the target first feature point in accordance with the evaluation information as the second feature point corresponding to the target first feature point.

Description

9 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2011-271203 filed Dec. 12, 2011.

BACKGROUND
›Technical Field

The present invention relates to an image processing apparatus, a non-transitory computer readable medium storing a program, and an image processing method.

›SUMMARY

According to an aspect of the present invention, there is provided an image processing apparatus including: a first specifying unit that specifies second feature point candidates serving as the candidates for a second feature point corresponding to a target first feature point, which is one of plural first feature points extracted from a first image including plural character regions corresponding to characters, among plural second feature points extracted from a second image based on the result of comparison between a feature count representing image features at the target first feature point and a feature count representing image features at each of the plural second feature points; a second specifying unit that specifies second feature point candidates among the plural second feature points with respect to another first feature point included in a character region different from the target first feature point among the plural first feature points based on the result of comparison between a feature count representing image features at the other first feature point and a feature count representing image features at each of the plural second feature points; an evaluating unit that generates evaluation information on evaluation of the second feature point candidate of the target first feature point based on the result of comparison between the relative position of the other first feature point to the target first feature point and the relative position of the second feature point candidate of the other first feature point to the second feature point candidate of the target first feature point; and a setting unit that sets the second feature point candidate of the target first feature point in accordance with the evaluation information as the second feature point corresponding to the target first feature point. Current processes of combining document images fail to acceptably take into account corresponding feature points. The present invention relates to an apparatus, program, and method for acceptably combining related document images.

›BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:

FIG. 1 is a diagram illustrating a configuration of an image processing apparatus;

FIG. 2A is a diagram illustrating a first document image;

FIG. 2B is a diagram illustrating a second document image;

FIG. 2C is a diagram illustrating a document;

FIG. 3A is a diagram illustrating feature points;

FIG. 3B is a diagram illustrating the correspondence between feature points;

FIG. 4A is a flowchart illustrating the process performed by the image processing apparatus;

FIG. 4B is a flowchart illustrating the process performed by the image processing apparatus;

FIG. 4C is a flowchart illustrating the process performed by the image processing apparatus;

FIG. 5A is a diagram illustrating first feature points;

FIG. 5B is a diagram illustrating second feature points;

FIG. 6 is a diagram illustrating a directional vector and an angle; and

FIG. 7 is a functional block diagram illustrating functions realized by the image processing apparatus.

›DETAILED DESCRIPTION · 1 of 4

Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings.

FIG. 1 is a diagram illustrating the configuration of an image processing apparatus 2 according to an exemplary embodiment of the present invention. The image processing apparatus 2 is a general computer and includes a control unit 4 , a main memory 6 , an operation input unit 8 , a display unit 10 , and a hard disk 12 .

The control unit 4 is a microprocessor and executes various types of information processing in accordance with a program stored in the main memory 6 . The main memory 6 stores the program. The program may be read from a computer-readable information storage medium such as a DVD (registered trademark)-ROM and stored in the main memory 6 , and may be supplied from a communication network and stored in the main memory 6 . Moreover, various types of data necessary in the course of information processing are stored in the main memory 6 .

The operation input unit 8 is an interface for allowing a user to perform input operations, for example a keyboard and mouse. The operation input unit 8 outputs a signal representing an operation input performed by the user, to the control unit 4 . Moreover, the display unit 10 is a CRT display or a liquid crystal display, and outputs information input from the control unit 4 .

The hard disk 12 stores various types of information. In the case of the present exemplary embodiment, a first document image 14 a and a second document image 14 b which are bitmap images are stored on the hard disk 12 . FIG. 2A illustrates the first document image 14 a , and FIG. 2B illustrates the second document image 14 b . The portion with hatched lines represents the background. As illustrated in FIGS. 2A and 2B , the left part of the document illustrated in FIG. 2C appears in the first document image 14 a , and the right part of the document appears in the second document image 14 b . Some portions appear in both the first and second document images 14 a and 14 b . Coordinate axes X and Y are set in the first and second document images 14 a and 14 b.

In the image processing apparatus 2 , feature points are extracted from the first and second document images 14 a and 14 b . FIG. 3A illustrates part of the extracted feature points. The respective points represent feature points.

Moreover, feature points in which similar feature counts are obtained between the first and second document images 14 a and 14 b are correlated with each other. That is, first feature points corresponding to respective feature points extracted from the first document image 14 a are specified within the second document image 14 b . FIG. 3B illustrates the correspondence between feature points.

Moreover, the first document image 14 a is transformed so that one set of the correlated feature points is identical to the other set of feature points, and a combined document image is generated by combining the transformed first document image 14 a with the second document image 14 b . FIG. 20 illustrates the combined document image.

In the image processing apparatus 2 , even when the second document image 14 b includes plural feature points having feature counts similar to the feature points extracted from the first document image 14 a (for example, the second document image 14 b includes plural characters (for example, the character “F”) included in the first document image 14 a ), the first feature points corresponding to the feature points extracted from the first document image 14 a are specified with high accuracy. This will be described below.

FIGS. 4A , 4 B, and 4 C are flowcharts illustrating the process executed by the image processing apparatus 2 . The process illustrated in the drawings is executed when the control unit 4 operates in accordance with the program.

First, the control unit 4 detects plural feature points P 1 (hereinafter referred to as first feature points P 1 ) from the first document image 14 a and feature counts C 1 representing the image features at the respective feature points P 1 (S 101 ) and stores the coordinates of the first feature points P 1 and the feature counts C 1 in the main memory 6 . In the present exemplary embodiment, the control unit 4 detects the first feature points P 1 and the feature counts C 1 by a scale-invariant feature transform (SIFT) method. The feature counts C 1 are so-called SIFT feature counts and are expressed as a multi-dimensional vector of 128-dimensions. The multi-dimensional vector is invariant to rotation and scaling of an image. Moreover, a representative direction indicated by the multi-dimensional vector is referred to as an orientation. The orientation is expressed as a 2-dimensional vector. FIG. 5A illustrates the first feature points P 1 . The arrows represent orientations.

Moreover, in a manner similar to step S 101 , the control unit 4 detects plural feature points P 2 (hereinafter referred to as second feature points P 2 ) from the second document image 14 b and feature counts C 2 representing the image features at the respective feature points P 2 (S 102 ) and stores the coordinates of the second feature points P 2 and the feature counts C 2 in the main memory 6 . FIG. 5B illustrates the second feature points P 2 .

Moreover, the control unit 4 performs a known character region detecting process (for example, morphology process) to specify character regions corresponding to respective characters included in the first document image (S 103 ). For example, the control unit 4 specifies a region occupied by a circumscribed rectangle of a certain character as a character region corresponding to the character. Moreover, the control unit 4 recognizes respective characters included in the first document image.

Moreover, the control unit 4 reads first feature points P 1 i (i=1 to N 1 ) included in any of the character regions and feature counts C 1 i at the first feature points P 1 i from the main memory 6 (S 104 ). The first feature points p 1 i (i=1 to N 1 ) correspond to “plural first feature points.”

›DETAILED DESCRIPTION · 2 of 4

Moreover, in a manner similarly to step S 103 , the control unit 4 specifies character regions corresponding to respective characters included in the second document image 14 b (S 105 ). Moreover, the control unit 4 (second feature acquiring unit) reads second feature points P 2 l (l=1 to N 2 ) included in any of the character regions and feature counts C 2 l at the second feature point P 2 l from the main memory 6 (S 106 ). The second feature points P 2 l (l=1 to N 2 ) correspond to “plural second feature points.”

Moreover, the control unit 4 executes the following processes with respect to each of the first feature points P 1 i as processing targets. The first feature point P 1 i serving as a processing target corresponds to a “target first feature point.”

That is, the control unit 4 (first specifying unit) specifies second feature point candidates P 2 j serving as candidates for the second feature point P 2 corresponding to the first feature point P 1 i among the plural second feature points P 2 l (S 107 ). Specifically, the control unit 4 calculates a Euclidean distance between the feature count C 2 l (the multi-dimensional vector) at the second feature point P 2 l and the feature count C 1 i (the multi-dimension vector) with respect to each of the second feature points P 2 l and specifies the second feature points P 2 l of which the Euclid distance is a threshold value or less as the second feature point candidates P 2 j .

Moreover, the control unit 4 determines whether the number N 3 of second feature point candidates P 2 j is “1” (S 108 ). When the number N 3 of second feature point candidates P 2 j is “l” (S 108 : Yes), the control unit 4 sets the second feature point candidate P 2 j as the second feature point P 2 corresponding to the first feature point P 1 i (S 120 ). Specifically, the control unit 4 treats the first feature point P 1 i and the second feature point candidate P 2 j as a group.

On the other hand, when plural second feature point candidates P 2 j are specified (S 108 : No), the control unit 4 specifies a character region including a different character from the character region including the first feature point P 1 i among character regions positioned within a predetermined distance from the character region including the first feature point P 1 i (S 109 ). For example, in the case of the first document image 14 a illustrated in FIG. 5A , it is assumed that the first feature point P 1 detected from the character “F” on the upper side is the target first feature point P 1 i to be processed. In this case, two second feature points P 2 detected from two characters “F” included in the second document image 14 b are specified as the second feature point candidates P 2 j . Thus, in step S 109 , character regions surrounding the respective characters “A”, “B”, “C”, “E”, “G”, “I”, “J”, and “K” different from the character “F” are specified among the character regions (that is, the character regions surrounding the respective characters “A”, “B”, “C”, “E”, “G”, “I”, “J”, and “K”) positioned around the character region surrounding the character “F” on the upper side. As a result, character regions positioned on different rows or columns from the character region surrounding the character “F” on the upper side are also specified.

Moreover, the control unit 4 specifies first feature points P 1 k (k=1 to N 4 ) included in any of the character regions specified in S 109 among the plural first feature points P 1 i (S 110 ). For example, in the case of FIG. 5A , the first feature point P 1 detected from the character “C” and the first feature point P 1 detected from the character “C” are specified as the first feature points P 1 k (other first feature point).

Moreover, the control unit 4 initializes the evaluation values V j (j=1 to N 3 ) of the respective second feature point candidates P 2 j (j=1 to N 3 ) to “0” (S 111 ) and executes the following processes with respect to each of the first feature points P 1 k .

That is, the control unit 4 (second specifying unit) performs the same process as step S 107 to specify second feature point candidates P 2 m (m=1 to N 5 ) serving as the candidates for the second feature point P 2 corresponding to the first feature point P 1 k among the plural second feature points P 2 l (S 112 ). Moreover, the control unit 4 calculates a directional vector V ik extending from the first feature point P 1 i (target first feature point) to the first feature point P 1 k (other first feature point) (S 113 ). Moreover, the control unit 4 also calculates the distance d ik between the first feature point P 1 i and the first feature point P 1 k in step S 113 .

Moreover, the control unit 4 calculates the clockwise angle θ ik of the directional vector V ik in the orientation indicated by the feature count C 1 i at the first feature point P 1 i (target first feature point) (S 114 ). FIG. 6 illustrates the directional vector V ik and the angle θ ik when the character “F” on the upper side of the first document image 14 a is the first feature point P 1 i , and the character “C” on the top right side of the character “F” is the first feature point P 1 k . The bold arrow illustrated in FIG. 6 shows an orientation.

Moreover, the control unit 4 executes the following processes with respect to each of the combinations of the second feature point candidates P 2 j (j=1 to N 3 ) and the second feature point candidates P 2 m (m=1 to N 5 ).

That is, the control unit 4 calculates a directional vector V jm extending from the second feature point candidate P 2 j (the second feature point candidate of the target first feature point) to the second feature point candidate P 2 m (the second feature point candidate of another first feature point) (S 115 ). Moreover, the control unit 4 also calculates the distance d jm between the second feature point candidate P 2 j and the second feature point candidate P 2 m in step S 115 .

Moreover, the control unit 4 calculates the clockwise angle θ jm of the directional vector V jm in the orientation indicated by the feature count C 2 j at the second feature point candidate P 2 j (the second feature point candidate of the target first feature point) (S 116 ).

›DETAILED DESCRIPTION · 3 of 4

Moreover, the control unit 4 determines whether the difference Δθ between the angle θ ik and the angle θ jm is a threshold angle or less, and the difference Δd between the distance d ik and the distance d jm is a threshold distance or less (S 117 ). When the difference Δθ is a threshold angle or less and the difference Δd is a threshold distance or less (S 117 : Yes), the control unit 4 (evaluating unit) increases the evaluation value V j by “1” (S 118 ). The control unit 4 may determine in step S 117 only whether the difference Δθ between the angle θ ik and the angle θ jm is a threshold angle or less. When the difference Δθ between the angle θ ik and the angle θ jm is a threshold angle or less, the control unit 4 may increase the evaluation value V j by “1” in step S 118 .

In this way, when the evaluation values V j are determined for the respective second feature point candidates P 2 j (j=1 to N 3 ), the control unit 4 (setting unit) sets the second feature point candidate P 2 j having the largest evaluation value V j as the second feature point P 2 corresponding to the first feature point P 1 j (S 119 ). That is, the control unit 4 treats the first feature point P 1 j and the second feature point candidate P 2 j having the largest evaluation value V j as a group.

In this way, when the corresponding second feature points P 2 are set for the respective first feature points P 1 i , the control unit 4 reads the first feature point P 1 n (n=1 to N 6 ) which is not included in any character region and the feature count C 1 n at the first feature point P 1 n from the main memory 6 (S 121 ). Moreover, the control unit 4 reads the second feature point P 2 q (q=1 to N 7 ) which is not included in any character region and the feature count C 2 q at the second feature point P 2 q from the main memory 6 (S 122 ). The steps S 121 and S 122 aim to acquire feature points extracted from a region where a figure is drawn, for example.

Moreover, the control unit 4 executes the following processes with respect to each of the first feature points P 1 n .

That is, the control unit 4 specifies the second feature point candidates P 2 of the first feature point P 1 n from plural second feature points P 2 q in a manner similarly to step S 107 (S 123 ). Since plural feature points exhibiting similar image features are not extracted from a region where a figure is drawn, one second feature point candidate P 2 is generally specified for one first feature point P 1 n in step S 123 .

Therefore, the control unit 4 sets the second feature point candidate P 2 specified in step S 123 as the second feature point P 2 corresponding to the first feature point P 1 n (S 124 ).

When the corresponding second feature points P 2 are determined for the respective first feature points P 1 extracted from the first document image 14 a by the processes illustrated in FIGS. 4A to 40 , the control unit 4 calculates deformation parameters such that the respective first feature points P 1 are made identical to the corresponding second feature points P 2 . Moreover, the control unit 4 deforms the first document image 14 a using the deformation parameters and generates a combined document image (see FIG. 20 ) by combining the transformed first document image 14 a with the second document image 14 b.

In the image processing apparatus 2 , the second feature points P 2 exhibiting image features similar to each of the respective first feature points P 1 are specified as the second feature point candidates. When plural second feature point candidates are present for a certain first feature point P 1 (hereinafter referred to as a target first feature point P 1 ), the relative position of the other first feature point P 1 to the target first feature point P 1 is compared with the relative position of “second feature point candidate of the other first feature point P 1 ” to “second feature point candidate of the target first feature point P 1 .” The second feature point P 2 corresponding to the target first feature point P 1 is selected from the second feature point candidates of the target first feature point P 1 based on the comparison result. Thus, even when plural feature points exhibiting features similar to the feature points extracted from the first document image 14 a are extracted from the second document image 14 b , one feature point corresponding to the feature point extracted from the first document image 14 a is specified with high accuracy.

Moreover, the relative position of the other first feature point P 1 to the target first feature point P 1 is expressed as a rotation angle of “the direction from the target first feature point P 1 to the other first feature point P 1 ” with respect to “the orientation at the target first feature point P 1 .” Moreover, the relative position of “the second feature point candidate of the other first feature point P 1 ” to “the second feature point candidate of the target first feature point P 1 ” is expressed as a rotation angle of “the direction from the second feature point candidate of the target first feature point P 1 to the second feature point candidate of the other first feature point P 1 ” to “the orientation at the second feature point candidate of the target first feature point P 1 .” Thus, the relative position of the other first feature point P 1 to the target first feature point P 1 is evaluated regardless of the direction of the first document image 14 a . Similarly, the relative position of “the second feature point candidate of the other first feature point P 1 ” to “the second feature point candidate of the target first feature point P 1 ” is evaluated regardless of the direction of the second document image 14 b . In this respect, one feature point corresponding to the feature point extracted from the first document image 14 a is specified with high accuracy.

If the direction of the first document image 14 a is the same as the direction of the second document image 14 b , the directional vector V ik (see step S 113 ) may be used as the information representing the relative position of the first feature point P 1 k to the first feature point P 1 i , and the directional vector V jm (see step S 115 ) may be used as the information representing “the relative position of the second feature point candidate P 2 m of the first feature point P 1 k to the second feature point candidate P 2 j of the first feature point P 1 i .” In this case, the control unit 4 may determine in step S 117 whether the angle between the directional vector V ik and the directional vector V jm is a threshold value or less, and execute the process of step S 118 when the angle between the directional vector V ik and the directional vector V jm is a threshold value or less.

›DETAILED DESCRIPTION · 4 of 4

FIG. 7 is a functional block diagram illustrating the functions realized by the image processing apparatus 2 . As illustrated in FIG. 7 , in the image processing apparatus 2 , a first feature point acquiring unit 16 , a second feature point acquiring unit 18 , a matching unit 20 , a second feature point candidate specifying unit 22 , a relative position calculating unit 24 , an evaluating unit 26 , a setting unit 28 , a parameter calculating unit 30 , a geometry conversion unit 32 , and a combining unit 34 are realized. These functions are realized when the control unit 4 operates in accordance with the program.

The first feature point acquiring unit 16 acquires plural first feature points P 1 i included in any of the character regions in the first document image 14 a and feature counts C 1 i at these first feature points P 1 i (see step S 104 ). Moreover, the second feature point acquiring unit 18 acquires plural second feature points P 2 l included in any of the character regions in the second document image 14 b and feature counts C 2 l at these second feature points P 2 l (see step S 106 ).

The matching unit 20 sets one second feature point P 2 of the plural second feature points P 2 l as one second feature point P 2 corresponding to the first feature point P 1 i with respect to each of the first feature points P 1 i . That is, the matching unit 20 executes the following processes with respect to the respective one of the first feature points P 1 i as the target first feature point P 1 i .

That is, the second feature point candidate specifying unit 22 specifies the second feature point candidate P 2 j of the target first feature point P 1 i based on the result of comparison between the feature count C 1 i at the target first feature point P 1 i and the feature count C 2 l at each of the respective second feature points P 2 l (see step S 107 ). Moreover, the second feature point candidate specifying unit 22 specifies the second feature point candidate P 2 m of “the first feature point P 1 k included in a different character region from the target first feature point P 1 among the plural first feature points P 1 i ” based on the result of comparison between the feature count C 1 k at the first feature point P 1 k and the feature count C 2 l at each of the respective second feature points P 2 l (see step S 112 ).

Moreover, the relative position calculating unit 24 calculates a relative position of the first feature point P 1 k to the target first feature point P 1 i . Moreover, the relative position calculating unit 24 also calculates a relative position of “the second feature point candidate P 2 m of the first feature point P 1 k ” to “the second feature point candidate P 2 j of the target first feature point P 1 i ”. In the present exemplary embodiment, the relative position calculating unit 24 calculates the angle θ ik and the angle θ jm (see steps S 114 and S 116 ).

Moreover, the evaluating unit 26 generates an evaluation value V j on evaluation of the second feature point candidate P 2 j of the target first feature point P 1 i based on the result of comparison between both relative positions (see steps S 117 and S 118 ). Moreover, the setting unit 28 sets the second feature point candidate P 2 j as the second feature point P 2 corresponding to the target first feature point P 1 i in accordance with the evaluation value V j (see step S 119 )

The parameter calculating unit 30 calculates deformation parameters (geometry conversion parameters) for deforming the first document image 14 a so that the respective first feature points P 1 are made identical to the corresponding second feature points P 2 . Moreover, the geometry conversion unit 32 converts the geometry of the first document image 14 a using the deformation parameters, and the combining unit 34 generates a combined document image (see FIG. 2C ) by combining the first document image 14 a of which the geometry is converted with the second document image 14 b.

The exemplary embodiment of the present invention is not limited to the exemplary embodiment described above.

For example, the feature count may be a SURF (Speeded Up Robust Features) feature count acquired by a SURF method.

The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various exemplary embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.

Claims as granted

8 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G06T7/00
  • G06K9/00
  • G06K9/62
  • G06K9/46

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2012Jan 2013Jul 2013Jan 2014Jul 2014Jan 2015Jul 2015USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
3.1 y
1,145 days filing → grant
Office actions
1
non-final + final
Responses
1
1 RCE
Examiner
Ruiping Li
art unit 2666 · TC 2600
Citations: 3 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20122014201620182020202220242026202820302032Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock