|The Atari SIG Historical Archive|
|Created and hosted by: atarimax.com|
|[ HOME | GO ATARI | 8-BIT | ST/TT | PORTFOLIO | LYNX | JAGUAR | LIBRARY ]|
Article #23 (29 is last): Newsgroups: freenet.sci.comp.atari.product.16-32bit.reviews From: JJL101@PSUVM.BITNET Subject: Migraph OCR/DTP/Commercial Posted-By: xx004 (aa400 - John J. Lehett) Edited-By: xx004 (aa400 - John J. Lehett) Date: Sat Jul 18 14:19:14 1992 Taken from: Atari Explorer Online (#9202) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | | | MIGRAPH OCR | | | By John L. McLaughlin | | | --------------------------------------------------------------- Requirements: Any ST/STe/TT computer with 2 MB or more RAM and hard disk. Hand- or full-page scanner optional. Summary: Sophisticated, trainable optical character-recognition (OCR) package, capable of making short work of data-input. Manufacturer: MiGraph, Inc., 32799 Pacific Highway S., Federal Way, WA 98003 (206) 838-4677 Price: $299.00 Though paper provides a convenient and tangible medium for human communication, it's not great for talking to machines. Scanning has solved the problem of how to get images from paper into computer memory. But because computers store images and text in completely different ways, images of text, such as a scan of this magazine page, require further processing before the information they contain can be used by word processors, spreadsheets, and other "text-handling" applications. MiGraph OCR (short for "Optical Character Recognition") provides the missing link -- converting scanned text to ASCII files that can be used directly by a wide variety of applications. The program can accept previously-scanned monochrome .IMG or TIFF files; or process input directly from a MiGraph or compatible hand-scanner. The OCR Process MiGraph OCR begins its job by methodically chopping up a scanned image: first into discrete lines of text, then into masses identified as words and subdivided into characters. This, alone, is a fairly complicated process, involving raster image-processing (to remove spurious background shading and stray pixels, improve contrast and separate characters, etc.) and geometric analysis (to correct for text misalignment). Next, using a font-recognition engine licensed from Omnifont (world leaders in OCR software design), MiGraph OCR turns the bitmapped image of each character into a vector expression describing its shape in terms unrelated to size or resolution. Characters are recognized by comparing their vector descriptions against a dictionary of character forms in different fonts and point sizes -- a process that yields a far higher percentage of "hits" than prior OCR techniques involving bitmap comparisons. Additional refinement is obtained by referencing against a user dictionary, created by "training" the device on text with particular characteristics. As a last step, MiGraph OCR performs a complex lexical and syntactic analysis, using one of four supplemental dictionaries based on the Proximity/Merriam-Webster Linguibase. This further assists the program in making intelligent "guesses" about characters whose forms remain ambiguous. Using OCR Installing MiGraph OCR is simple. An INSTALL program is included on the main disk that lets you specify the folder into which you want program files stored. The utility also lets you identify which of the four supplemental dictionaries you wish installed: versions for English, German, French, and Dutch are included on two support disks. A minimum of 2 MB free space must exist on the target partition, prior to installation. OCR's main control screen is simple and well-designed, and a little random button-clicking quickly reveals how most of the program works. Nevertheless, to help get you started, the manual includes several step-by-step, hands-on tutorials. The general control panel, accessed by clicking on the "hammer" icon, lets you specify input source (scanner or file), output format, and set refining parameters for the OCR process. Selecting "scanner" as the input device causes the appearance of a secondary scanner configuration dialog which lets you define resolution, area, and direction of input scans. Select "Get Image," and you're flying. If you've elected to scan, the hand scanner is activated and managed automatically -- all you have to do is move it down (or across) the page. OCR performs best when presented with a straight scan, so a scanning tray is recommended. The only glitch I noticed was caused, as it turned out, by the fact that I was running MiGraph OCR on a Mega STe at 16 MHz, with blitter and caches enabled. Apparently, some combination of these features throws off the sample timing, so that illegible scans are produced. The fix, at least until MiGraph issues an upgrade, is to use the Control Panel to turn off all enhancements while scanning is in progress. They can (and should) be turned on again, afterwards, since OCR processing benefits from the increased system throughput. Once scanning is complete, the scanned image appears in OCR's work window. Your first job is to assess the quality of the scan, to determine if it is appropriate for OCR processing. Because low-quality scans take unnecessarily long to process, and produce a large number of errors, it's best to repeat doubtful scans at this point. The next step is to select regions of the scanned image for input to OCR. This is done in very straightforward fashion, by dragging rectangles or drawing polyline boxes around desired portions of the image. Multiple regions can be sorted so that they are processed in any desired order. An added plus: to avoid having to make duplicate scans of the same material, MiGraph OCR also lets you define the graphic regions of any scan, saving them as .IMG or TIFF files. When OCR is initiated, the program performs several unattended passes: rectifying the image, segmenting it, and generating a first interpretation of its content. Because the process can take a while, you are kept appraised of progress by a succession of dialog boxes. If automatic processing has been selected, output text is then saved transparently to the designated file. Otherwise, the interactive learning phase begins. During interactive learning, the system presents you with problem areas of your scan, in greatly enlarged form, and asks you to correct or approve of its interpretations. The process is easily managed, though it can be time-consuming if many problems exist (the process can be aborted at any point, however, and the resulting text file saved to disk with markers inserted to indicate ambiguous characters). When correcting a problem, it's important to determine whether it's a result of poor scan quality or from an unfamiliar font or point size. When scan-quality is at fault, you should correct the problem in text, without updating the current user dictionary. Entering a correction is usually a matter of typing a single letter, though occasionally, the program will present you with groups of several adjacent letters for identification. Very rarely, the program will assume that two adjacent characters are one, and will not accept multiple characters for insertion. Alternatively, when you've identified a legitimate "training" situation (i.e., the program has failed to recognize text because it contains some regular feature (e.g., font, point size, or special letterform) which is unfamiliar) you can "train" OCR to recognize the character in the future. A vectorized image of the new letterform is added to the current user dictionary, which can be saved back to disk at the end of the session. Over time, dictionaries can be developed and refined for each type of text you regularly use as input, and these can add remarkably to the accuracy of OCR's interpretation. When you tell OCR to "learn" a new character, you must take care to input the correction properly. OCR immediately applies any corrected interpretation to similar ambiguities throughout the text -- a process designed to prevent your having to correct the same mistake more than once. Unfortunately, however, this also means that an erroneous correction can easily be propagated through your output, and -- if unrecognized at the end of the session -- perhaps even entered accidentally in the current dictionary when it is saved back to disk. Unfortunately, there's no way to "edit" the updated dictionary after a training pass, nor to return to a problem area during the pass, to re- enter a correction. So a fair amount of dictionary-refinement can be lost, if you're not careful. While I've described using OCR to process only a single scanned unit of text, it's also very easy to append the results of several OCR sessions to the same output file, creating a single result document that can be imported to a word processor. Alternatively, however, I've had good luck employing utilities such as WizWorks!' Scan-Lite to conjoin several scans into one uniform image before importing into OCR. Unfortunately, I have no means of testing how well MiGraph OCR would perform on input from a full-page flatbed scanner; but I suspect that for serious applications, this option should be thoroughly explored. Performance Once a sufficiently-refined user dictionary has been created for text from a particular source, MiGraph OCR is very accurate. It's also fairly quick, at least when processing in automatic mode: a page of Courier 10-pitch type, scanned at 300 dpi, can be output as ASCII in something like three minutes, which is marginally faster than an average-to-good touch typist could enter the same material. Naturally, text output by OCR must be further processed before it can be considered correct. At least part of this process (i.e., spell- checking) can be automated, however. Because performance accuracy is so dependent on user dictionaries, MiGraph OCR is most useful when input is derived from only a limited range of text-types. Even with this constraint, however, it's easy to imagine a broad range of applications. Particularly intriguing is the idea of using MiGraph OCR to convert faxes, received via faxmodem, to ASCII files -- providing a wholly "paperless" solution to fax correspondence in the computer context. Only one significant feature is lacking: the ability to queue multiple files for input and unattended processing. Hopefully, this feature will be added in a future upgrade, since it would make the program highly competitive with Kurzweil and other dedicated OCR systems, particularly in the small office environment.