Images in bitonal formats often include watermarks, stamps, or other patterns and artifacts. These patterned artifacts may be represented as a series of geometric points, dots, and/or dashes in the general shape of the original pattern. These patterned artifacts make other processes such as optical character recognition (OCR) difficult or impossible when items or pixels of interest are also found within the pattern. Current patterned artifact removal solutions use methods of erosion to minimize the unwanted patterned artifact. However, such methods also erode the pixels/items of interest which, in turn, cause failures in other processes, such as OCR, that are desired to be carried out on or with the image.
The present disclosure relates to a computer-implemented system and method for the removal of unwanted patterned artifacts that may overlap desired information or pixels/items of interest on a bitonal image and maintaining the integrity of the desired information or pixels/items of interest. Unwanted patterned artifacts might be added to a document prior to scanning, or are created when a document is scanned, or are otherwise present at the time the document is scanned.
A method for removing a patterned artifact from an initial bitonal image, the method being performed by one or more processors and comprising identifying the patterned artifact in the initial bitonal image, removing the patterned artifact to create a new bitonal image with the patterned artifact substantially removed; identifying text in the new bitonal image; and cleaning the new bitonal image to remove one or more remaining portions of the patterned artifact and thereby create a second new bitonal image.
A method for removing a patterned artifact from an initial bitonal image, the method being performed by one or more processors and comprising the steps of: (a) identifying the patterned artifact in the initial bitonal image. Wherein the identifying the patterned artifact step includes generating a modified image by applying an erosion algorithm based on stroke width of the initial image, and defining, in the modified image, an artifact boundary and thereby identify the patterned artifact. The method also includes step (b), removing the patterned artifact to create a new bitonal image with the patterned artifact substantially removed.
A method for removing a patterned artifact from an initial bitonal image, the method being performed by one or more processors and comprising: (a) identifying the patterned artifact in the initial bitonal image; (b) removing the patterned artifact to create a new bitonal image with the patterned artifact substantially removed, (c) identifying text in the new bitonal image, and (d) cleaning the new bitonal image to remove one or more remaining portions of the patterned artifact and thereby create a second new bitonal image. Wherein the identifying the patterned artifact step includes: (i) generating a modified image by applying an erosion algorithm based on stroke width of the initial image; (ii) marking noise locations of the modified image; and (iii) defining, in the modified image, an artifact boundary and thereby identify the patterned artifact. Wherein the removing the patterned artifact step includes: (i) applying one or more filters in the artifact boundary defined from the identifying the patterned artifact step; (ii) dilating the identified patterned artifact; and (iii) removing areas having a size larger than areas marked as noise from the marking step of the identifying the patterned artifact step and thereby creating the new bitonal image with the patterned artifact substantially removed. Wherein the step of identifying text in the new bitonal image includes: (i) identifying text in the new bitonal image; (ii) rank reducing the identified text to create one or more potential blocks of text; (iii) a first removing of one or more remaining portions of the patterned artifact through applying a binary AND operation on the identified text from the identifying text in the new bitonal image step with the one or more potential blocks of text from the rank reducing step to create a first intermediate bitonal image of the new bitonal image; (iv) dilating the first intermediate bitonal image; and (v) comparing the dilated first intermediate bitonal image with the initial bitonal image within the artifact boundary defined from the identifying the patterned artifact step thereby further removing the one or more remaining portion of the patterned artifact and creating a second intermediate bitonal image of the new bitonal image. Wherein the cleaning the new bitonal image step includes: cleaning the second intermediate bitonal image by applying a binary AND operation on the second intermediate bitonal image with the initial bitonal image within the artifact boundary defined from the identifying the patterned artifact step and thereby create the second new bitonal image.
A non-transitory computer-readable storage media having stored thereon a plurality of computer-executable instructions for removing a patterned artifact from an initial bitonal image which, when executed by a processor, cause the processor to: identify the patterned artifact in the initial bitonal image, wherein the identification of the patterned artifact in the bitonal image includes generating a modified image by applying an erosion algorithm based on stroke width of the initial image; and defining, in the modified image, an artifact boundary and thereby identify the patterned artifact, remove the patterned artifact to create a new bitonal image with the patterned artifact substantially removed, and clean the new bitonal image to remove one or more remaining portions of the patterned artifact and thereby create a second new bitonal image.
A system comprising: a processor; and a computer-readable storage media operably connected to said processor. The computer-readable storage media includes instructions that when executed by the processor, cause performance of the processor to remove a patterned artifact from an initial bitonal image by performing operations including: identify the patterned artifact in said initial bitonal image; remove the patterned artifact to create a new bitonal image with the patterned artifact substantially removed; identify text in the new bitonal image; and clean the new bitonal image to remove one or more remaining portion of the patterned artifact and thereby create a second new bitonal image.
The system and method described herein focus on removing unwanted patterned artifacts 102 found on bitonal images 100. The unwanted patterned artifacts 102 may have been added to a document post-print and prior to scanning, or may have been created when a document is scanned, or are otherwise present at the time the document is scanned. The unwanted patterned artifacts 102 may generally be present in a bitonal image 100 as a plurality of unconnected dots or dashes. For example, the text “NON-NEGOTIABLE” depicted in
A simplified block diagram of a computer-implemented method for removing a patterned artifact from a bitonal image is depicted in
Referring to
With reference to
The process for determining the stroke width is explained in NISTIR 5843, Component-Based Handprint Segmentation Using Adaptive Writing Style Model, Michael D. Garris, National Institute of Standards and Technology, 1996, the entirety of which is incorporated by reference. The formulation of the stroke width is found on page 5 in the first paragraph of section three of Garris. It is defined as “the median horizontal run length in the image.”
The method proceeds to step 208 to mark the noise locations within the structuring element found from step 206. The marked noise locations of step 208 are illustrated in
Once artifact area boundary is identified the system and method proceed to step 212 of removing the identified patterned artifact 102.
With reference to visual representation depicted in
The removal step 212 further includes step 218 of applying noise filters to remove the patterned artifact 102 while leaving the desired information or items of interest 103, such as lines and character fields. For example, with reference to
The removal step 212 further includes step 220 of re-evaluating the noise. With reference to the visual depiction shown in
With reference to
To remove the remaining unwanted patterned artifacts 105, the image 104 of
For example, with reference to the visual depiction at
Step 222 may further include step 226, rank reducing the text as visually depicted in
Step 228 of removing the one or more remaining portions 105 of artifact 102 of the text identification and clean up step 222 is visually depicted in
The text identification and clean up step 222 further includes a dilating step 230 by dilating the image depicted in
The text identification and clean up step 222 further includes removing the one or more remaining portions 105 of the patterned artifact 102 by utilizing a comparison step 232 by applying a binary “AND” operation of the dilated image depicted in
The text identification and clean up step 222 further includes step 234 of cleaning up image 106 to achieve a second new or second modified bitonal image 108 depicted in
Table 2 shows an example of a sample of how the disclosed computer-implemented methods, systems, and techniques described herein increases accuracy of identifying patterned artifacts 102, removing the artifact 102, and maintaining the integrity of the items of interest 103 of a given bitonal image.
As shown in Table 2, in the sample, 6,304 characters were reviewed. Approximately 80.7%, i.e. 5,085 characters, were misread when the computing systems and described methods and techniques for patterned artifact removal was not applied. When the described patterned artifact removal systems, techniques, and methodology was implemented on the same set of characters, only 1,191 characters or 18.9% resulted in a misread, thereby showing that the presently described systems, techniques, and methods result in an improvement for recognizing patterned artifact(s), removing the artifact(s), and maintaining the integrity of the items of interest of 61.8% or 3,894 characters of the given data set.
Computing device 502 includes a central processing unit (CPU) 504. CPU 504 includes one or more processors reading and/or executing instructions, programs, and applications stored in memory 506 and/or computer readable storage media of I/O devices 508, and accessing and/or storing data in memory 506 and/or computer readable storage media of I/O devices 508. CPU is operably connected with memory 506. CPU 504 is also operably connected with I/O devices 508 through an applicable interface component for the corresponding I/O device 508, e.g. port (serial, parallel USB), wire, card (sound, video, network), and the like. Exemplary types of CPU 504 may include general purpose processors, digital programmable devices, microcontrollers, digital signal processors (DSPs), application specific integrated circuit (ASIC), and field programmable gate array (FPGA), or other components and combinations thereof designed to perform the functions described herein.
Memory 506 includes data storage, volatile memory, e.g. random access memory (RAM), and non-volatile memory, e.g. read only memory (ROM).
I/O devices 508 include various devices that a user may use to interact with the computing device 502. Representative I/O devices 508 include keyboards, touchscreens, mouse and other pointing devices; a visual display device, such as a cathode ray tube, liquid crystal display, screens, and other suitable display devices for visually communicating and interacting with the user; audio devices, such as a microphone, headphones, speakers; and print devices for printing, scanning, faxing, and/or receiving and/or transmitting data and images. I/O devices 508 may also include computer readable storage media, e.g. mass storage devices, disks, magnetic disks, optical disks, magnetic tape, flash memory, RAM, ROM, EEPROM, or any other media that can be used to carry or store computer-readable information. I/O devices 508 may also include a communication device for connecting computing system 500 with one or more other computing systems over a network, e.g. wired and/or wirelessly, utilizing one or more communications protocols, e.g. IEEE 802.11, IEEE 802.3, TCP/IP, cellular protocols, any other communications protocols, and combinations thereof.
System 500 may include one or more I/O devices 508 of the same type or of different types and combinations thereof and one or more computing devices 502 of the same type or of different types and combinations thereof may be operably connected to each other and cooperating together to carry out the methods, functions, and techniques described herein.
The functions, methods, or algorithms described herein may be implemented in hardware, software, firmware, or any combinations thereof. When implemented in software, the described methods, functions, and techniques may be stored in memory, computer-readable storage media, and/or combinations thereof and transmitted as one or more instructions or code to cause CPU 504 to operate in accordance with the methods, functions, techniques, and teachings of the present disclosure. The operable connection of the various components of computing system 500 described in reference to
As previously discussed above, the inclusion of certain numerical values for defining areas, dilation, rank reducing, etc. are for exemplary purposes only and the system, method, functions, and techniques described herein are not intended to be limited to those values. Adjustment of the numerical values are within the skills and knowledge of a person skilled in the art and the numerical values used may differ per application and use of the presently described system, method, functions, and techniques.
Although certain steps are described herein and illustrated in the figures as occurring sequentially, some steps may occur simultaneously with each other or in an order that is not depicted. The present disclosure of the disclosed system, methods, techniques, and functions are not to be limited to the precise descriptions and illustrations. Other embodiments will be apparent to one skilled in the art. As such, the foregoing description merely enables and describes the general uses of the described systems, methods, and techniques. While certain embodiments of the systems, methods, and techniques have been described for the purpose of this disclosure, those skilled in the art can make changes without departing from the spirit and scope thereof. Thus, the appended claims define what is claimed.
This application claims priority from U.S. Provisional Patent Application Ser. No. 62/434,208, entitled PATTERNED ARTIFACT REMOVAL FOR BITONAL IMAGES, filed Dec. 14, 2016, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6023534 | Handley | Feb 2000 | A |
6757081 | Fan | Jun 2004 | B1 |
7454060 | Paik et al. | Nov 2008 | B2 |
8373724 | Ratnakar et al. | Feb 2013 | B2 |
8442311 | Hobbs | May 2013 | B1 |
9251614 | Tian | Feb 2016 | B1 |
20040042657 | Barton | Mar 2004 | A1 |
20040175037 | Guleryuz | Sep 2004 | A1 |
20070019881 | Curtis | Jan 2007 | A1 |
20070036435 | Bhattacharjya | Feb 2007 | A1 |
20070189615 | Liu | Aug 2007 | A1 |
20070253040 | Lee | Nov 2007 | A1 |
20090119296 | Neogi | May 2009 | A1 |
20100073735 | Hunt | Mar 2010 | A1 |
20130050764 | Zhan | Feb 2013 | A1 |
20140193029 | Vassilieva | Jul 2014 | A1 |
Entry |
---|
“Document Analysis System”, K.Y. Wong et al., IBM J. Res. Develop. vol. 26 No. 6 (Nov. 1982). |
“Component-Based Handprint Segmentation Using Adaptive Writing Style Model”, Michael D. Garris, National Institute of Standards and Technology (1997). |
Number | Date | Country | |
---|---|---|---|
62434208 | Dec 2016 | US |