IP Library › Granted Patent US 8,619,074
Granted Patent B2
US 8,619,074 · App. 12/964,820 · Granted Dec 31, 2013

Rendering personalized text on curved image surfaces

Inventors: Raja Bala (Webster, NY); Zhigang Fan (Webster, NY); Reiner Eschbach (Webster, NY); Hengzhou Ding (West Lafayette, IN); Jan P. Allebach (West Lafayette, IN); Charles A. Bouman (West Lafayette, IN)
Assignee: Xerox Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,619,074
App. No.
12/964,820
Filed
Dec 10, 2010
Granted
Dec 31, 2013
Kind
B2
Art Unit
2612
USPC
345/419
Abstract

As set forth herein, a computer-implemented method facilitates replacing text on cylindrical or curved surfaces in images. For instance, the user is first asked to perform a multi-click selection of a polygon to bound the text. A triangulation scheme is carried out to identify the pixels. Segmentation and erasing algorithms are then applied. The ellipses are estimated accurately through constrained least squares fitting. A 3D framework for rendering the text, including the central projection pinhole camera model and specification of the cylindrical object, is generated. These parameters are jointly estimated from the fitted ellipses as well as the two vertical edges of the cylinder. The personalized text is wrapped around the cylinder and subsequently rendered.

Claims (63)

1. A computer-implemented method for placing personalized text onto a curved surface in an image, comprising:

receiving user input pertaining to a location of an existing text string in the image;

defining a bounding polygon according to user input;

segmenting the existing text string;

performing connected component analysis on the text string to identify connected components in the existing text string;

detecting at least one of upper and lower extreme edge pixels of text characters represented by the connected components;

identifying an edge at each side of the curved surface;

via a processor, calculating 3D curved surface geometry and camera geometry using the upper and lower extreme edge pixels of the text characters and left and right edges, wherein calculating the 3D curved surface geometry and camera geometry comprises generating a 3D central projection pinhole camera model defined as:

[E,l L ,l R ]=M(f,{right arrow over (n)},{right arrow over (s)})

where E is a projected ellipse, l L is a left edge of the cylinder, l R is a right edge of the cylinder, M is the model that maps a 3D object to its 2D projection on an image plane, f is a focal length from a point of origin to an image plane, {right arrow over (n)} is a normal vector, and {right arrow over (s)} is a shift vector;

erasing the existing text string by replacing text pixels with background-colored pixels; and

inserting a personalized text string into the location of the erased text according to the calculated 3D curved surface geometry and camera geometry to personalize the image, and outputting the personalized image.

2. The method according to claim 1 , wherein the user input comprises a plurality of points on the image selected by the user using a graphical user interface (GUI), and further comprising defining the bounding polygon as a function of the user-selected points.

3. The method according to claim 1 , further comprising segmenting the existing text string according to pixel color.

4. The method according to claim 1 , wherein the curved surface is cylindrical and the upper and lower extreme edge pixels of the text characters fall on an ellipse within the image.

5. The method according to claim 1 , further comprising:

building a cost function of the 3D geometry parameters f, {right arrow over (n)}, {right arrow over (s)} that describes a degree to which the projected ellipse and left and right cylinder edges match the measured ellipse and left and right cylinder images obtained from image data; and

calculating 3D geometry parameters f,{right arrow over (n)}, {right arrow over (s)} that minimize the said cost function.

6. The method according to claim 5 wherein the cost function C comprises a first component C 1 that describes a degree to which the projected ellipse obtained from the model M matches a measured ellipse computed from extreme edge pixels of text characters in the image, and a second component C 2 that describes a degree to which the projected left and right edges l L and l R obtained from the model M match the left and right edges identified within the image.

7. The method of claim 6 wherein the first component C 1 is determined as a function of:

a distance between center points of the projected ellipse and the measured ellipse;

a difference between the lengths of semi-minor axes of the projected ellipse and the measured ellipse;

a difference between the lengths of semi-major axes of the projected ellipse and the measured ellipse; and

an angle between the semi major axes of the projected ellipse and the measured ellipse.

8. The method according to claim 7 wherein the first component C 1 is computed as a function of distances from the detected extreme edge pixels of text characters to the projected ellipse E.

9. The method according to claim 6 , wherein the second component C 2 is determined as a function of distances between endpoints of projected and identified edge lines bounding the edges of the cylinder.

10. A system that facilitates replacing an existing text string on a curved surface in an image with a personalized text string, comprising:

a non-transitory computer-readable medium that stores computer-executable instructions;

a processor that executes the computer-executable instructions, the instructions comprising:

receiving user input pertaining to a location of an existing text string in the image;

defining a bounding polygon according to user input;

segmenting the existing text string;

performing connected component analysis on the text string to identify connected components in the existing text string;

detecting upper and lower extreme edge pixels of text characters represented by the connected components;

identifying an edge at each side of the curved surface;

calculating 3D curved surface geometry and camera geometry using the upper and lower extreme edge pixels of the text characters and identified edges, wherein calculating 3D curved surface geometry and camera geometry comprises generating a 3D central projection pinhole camera model defined as:

[E,l L ,l R ]=M(f,{right arrow over (n)},{right arrow over (s)})

where E is a projected ellipse, l L , is a left edge of the curved surface, l R is a right edge of the curved surface, M is the model,f is a focal length from a point of origin to an image plane, {right arrow over (n)} is a normal vector, and {right arrow over (s)} is a shift vector;

erasing the existing text string by replacing text pixels with background-colored pixels; and

inserting a personalized text string into the location of the erased text according to the calculated 3D curved surface geometry and camera geometry.

11. The system according to claim 10 , wherein the user input comprises a plurality of points on the image selected by the user using a graphical user interface (GUI), and the instructions further comprising defining the bounding polygon as a function of the user-selected points.

12. The system according to claim 10 , the instructions further comprising segmenting the existing text string according to at least one of pixel color and pixel luminescence.

13. The system according to claim 10 , wherein the curved surface is cylindrical.

14. The system according to claim 10 , the instructions further comprising building a cost function that describes a degree to which an output ellipse matches a measured ellipse in the image.

15. The system according to claim 14 , wherein:

the cost function C comprises a first component C 1 and a second component C 2 ;

wherein the first component is determined as a function of:

a distance between center points of the output ellipse and the measured ellipse;

a difference between the lengths of semi-minor axes of the output ellipse and the measured ellipse;

a difference between the lengths of semi-major axes of the output ellipse and the measured ellipse; and

an angle between the semi major axes of the output ellipse and the measured ellipse; and

wherein the second component is determined as a function of distances between endpoints of edge lines bounding the edges of the curved surface.

16. A computer-implemented method for placing personalized text onto a curved surface in an image, comprising:

bounding a region on a curved surface in the image;

segmenting an existing text string in the bounded region;

detecting upper and lower extreme edge pixels of text characters represented by connected components in the bounded region;

identifying an edge at each side of the curved surface;

via a processor, calculating 3D curved surface geometry and camera geometry by generating a 3D central projection pinhole camera model defined as:

[E,l L ,l R ]=M(f,{right arrow over (n)},{right arrow over (s)})

where E is a projected ellipse, l L is a left edge of the curved surface, l R is a right edge of the curved surface, M is the model, f is a focal length from a point of origin to an image plane, {right arrow over (n)} is a normal vector, and {right arrow over (s)} is a shift vector;

replacing existing text pixels in the bounded region with background-colored pixels; and

inserting a personalized text string into the bounded region according to the calculated 3D curved surface geometry and camera geometry to personalize the image, and outputting the personalized image.

17. The method according to claim 16 , wherein the curved surface is cylindrical.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2011
From: PURDUE RESEARCH FOUNDATION
To: XEROX CORPORATION
Reel/Frame 026765/0716 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SERIAL NO. AND TITLE PREVIOUSLY RECORDED ON REEL 025470 FRAME 0245.ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SERIAL NO. TO BE 12/964820 FOR RENDERING PERSONALIZED TEXT ON CURVED IMAGE SURFACES Recorded Feb 7, 2011
From: ALLEBACH, JAN P.; BOUMAN, CHARLES ADDISON; DING, HENGZHOU
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 025763/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2010
From: BALA, RAJA; FAN, ZHIGANG; ESCHBACH, REINER
To: XEROX CORPORATION
Reel/Frame 025470/0042 →
Continuity (1)
Related Publication 20120146991A1 · Jun 14, 2012