Adaptive Thresholding for the DigitalDesk
- 格式:pdf
- 大小:547.52 KB
- 文档页数:14
Adaptive Thresholding Using the Integral ImageDerek Bradley∗Carleton University,Canada derek@derekbradley.caGerhard RothNational Research Council of CanadaGerhard.Roth@nrc-cnrc.gc.caFigure1:Real-time adaptive image thresholding.Left:Input image.Center:Wellner’s previous technique.Right: Our technique.Abstract.Image thresholding is a common task in many computer vision and graphics applications.The goal of thresholding an image is to classify pixels as either“dark”or“light”.Adaptive thresholding is a form of thresholding that takes into account spatial variations in illumination.We present a technique for real-time adaptive thresholding using the integral image of the input.Our technique is an extension of a previous method.However,our solution is more robust to illumination changes in the image.Additionally,our method is simple and easy to implement. Our technique is suitable for processing live video streams at a real-time frame-rate,making it a valuable tool for interactive applications such as augmented reality.Source code is available online.1IntroductionImage thresholding segments a digital image based on a certain characteristic of the pixels(for example,intensity value).The goal is to create a binary representation of the image,classifying each pixel into one of two categories, such as“dark”or“light”.This is a common task in many image processing applications,and some computer graphics applications.For example,it is often one of thefirst steps in marker-based augmented reality systems[Billinghurst et al.2001;Bradley and Roth2004;Fiala2005],and it has been used in high dynamic range photography[Ward 2003].The most basic thresholding method is to choose afixed threshold value and compare each pixel to that value.These techniques have been described and evaluated extensively in a number of survey papers[Weszka and Rosenfeld1978;Palumbo et al.1986;Sahoo et al.1988;Lee et al.1990;Glasbey1993;Trier and Jain1995;Sezgin and Sankur2004].However,fixed thresholding often fails if the illumination varies spatially in the image or over time in a video stream.In order to account for variations in illumination,the common solution is adaptive thresholding.The main difference here is that a different threshold value is computed for each pixel in the image.This technique provides more robust-ness to changes in illumination.A number of adaptive thresholding methods exist[White and Rohrer1983;Bernsen 1986;Parker1991;Wellner1993;Yang et al.1994;Shen and Ip1997;Chan et al.1998;Savakis1998;Sauvola and Pietikainen2000;Yang and Yan2000].Further examples and comparisons can be found in[Venkateswarlu and Boyle1995;Sezgin and Sankur2004].We present a very simple and clear technique using integral images.Our ∗Currently at The University of British Columbia,bradleyd@cs.ubc.camethod is easy to implement for real-time performance on a live video stream.Though our technique is an extension to a previous method[Wellner1993],we increase robustness to strong illumination changes.In addition,we present a clear and tidy solution without increasing the complexity of the implementation.Our technique is also similar to the thresholding method of White and Rohrer for optical character recognition[White and Rohrer1983],however we present an implementation designed for real-time video.The motivation for this work isfindingfiducials in augmented reality applications.Pintaric also presents an adaptive thresholding algorithm specifically for augmented reality markers[Pintaric2003],however his method requires that afiducial has been located in a previous frame in order for the technique to threshold correctly.Our algorithm makes no assumptions and is more general,suitable for use in any application.The source code is available online at the address listed at the end of this paper.2Background2.1Real-Time Adaptive ThresholdingIn this paper we focus on adaptively thresholding images from a live video stream.In order to maintain real-time performance,the thresholding algorithm must be limited to a small constant number of iterations through each image.Thresholding is often a sub-task that makes up part of a larger process.For instance in augmented reality, input images must be segmented to locate known markers in the scene that are used to dynamically establish the pose of the camera.A simple and fast adaptive thresholding technique is therefore an important tool.2.2Integral ImagesAn integral image(also known as a summed-area table)is a tool that can be used whenever we have a function from pixels to real numbers f(x,y)(for instance,pixel intensity),and we wish to compute the sum of this function over a rectangular region of the image.Examples of where integral images have been applied include texture mapping[Crow1984],face detection in images[Viola and Jones2004],and stereo correspondence[Veksler2003]. Without an integral image,the sum can be computed in linear time per rectangle by calculating the value of the function for each pixel individually.However,if we need to compute the sum over multiple overlapping rectangular windows,we can use an integral image and achieve a constant number of operations per rectangle with only a linear amount of preprocessing.To compute the integral image,we store at each location,I(x,y),the sum of all f(x,y)terms to the left and above the pixel(x,y).This is accomplished in linear time using the following equation for each pixel(taking into account the border cases),I(x,y)=f(x,y)+I(x−1,y)+I(x,y−1)−I(x−1,y−1).(1) Figure2(left and center)illustrates the computation of an integral image.Once we have the integral image,the sum of the function for any rectangle with upper left corner(x1,y1),and lower right corner(x2,y2)can be computed in constant time using the following equation,x2∑x=x1y2∑y=y1f(x,y)=I(x2,y2)−I(x2,y1−1)−I(x1−1,y2)+I(x1−1,y1−1).(2)Figure2(right)illustrates that computing the sum of f(x,y)over the rectangle D using Equation2is equivalent to computing the sums over the rectangles(A+B+C+D)-(A+B)-(A+C)+A.Figure2:The integral image.Left:A simple input of image values.Center:The computed integral image.Right: Using the integral image to calculate the sum over rectangle D.3The TechniqueOur adaptive thresholding technique is a simple extension of Wellner’s method[Wellner1993].The main idea in Wellner’s algorithm is that each pixel is compared to an average of the surrounding pixels.Specifically,an approximate moving average of the last s pixels seen is calculated while traversing the image.If the value of the current pixel is t percent lower than the average then it is set to black,otherwise it is set to white.This method works because comparing a pixel to the average of nearby pixels will preserve hard contrast lines and ignore soft gradient changes.The advantage of this method is that only a single pass through the image is required.Wellner uses1/8th of the image width for the value of s and15for the value of t.However,a problem with this method is that it is dependent on the scanning order of the pixels.In addition,the moving average is not a good representation of the surrounding pixels at each step because the neighbourhood samples are not evenly distributed in all directions.By using the integral image(and sacrificing one additional iteration through the image),we present a solution that does not suffer from these problems.Our technique is clean,straightforward,easy to code,and produces the same output independently of how the image is processed.Instead of computing a running average of the last s pixels seen,we compute the average of an s x s window of pixels centered around each pixel.This is a better average for comparison since it considers neighbouring pixels on all sides.The average computation is accomplished in linear time by using the integral image.We calculate the integral image in thefirst pass through the input image.In a second pass,we compute the s x s average using the integral image for each pixel in constant time and then perform the comparison. If the value of the current pixel is t percent less than this average then it is set to black,otherwise it is set to white. The following pseudocode demonstrates our technique for input image in,output binary image out,image width w and image height h.procedure AdaptiveT hreshold(in,out,w,h)1:for i=0to w do2:sum←03:for j=0to h do4:sum←sum+in[i,j]5:if i=0then6:intImg[i,j]←sum7:else8:intImg[i,j]←intImg[i−1,j]+sum9:end if10:end for11:end for12:for i =0to w do 13:for j =0to h do 14:x 1←i −s /2{border checking is not shown }15:x 2←i +s /216:y 1←j −s /217:y 2←j +s /218:count ←(x 2−x 1)×(y 2−y 1)19:sum ←intImg [x 2,y 2]−intImg [x 2,y 1−1]−intImg [x 1−1,y 2]+intImg [x 1−1,y 1−1]20:if (in [i ,j ]×count )≤(sum ×(100−t )/100)then 21:out [i ,j ]←022:else 23:out [i ,j ]←25524:end if 25:end for 26:end for4Performance and ExamplesWe tested our real-time adaptive thresholding technique on a Pentium 4processor at 3.4Ghz with a Point Grey Dragonfly camera,capturing at a resolution of 640x 480pixels.On average our technique operates at approximately 15milliseconds per frame,yielding a frame-rate of 65frames per second.Since we require two iterations through each image rather than just one as in Wellner’s method,we expect to perform slower.In practice we measured our technique at approximately 2.5times slower than that of Wellner,however we still achieve a real-time frame-rate and a better segmentation.Two examples of our adaptive thresholding result are presented in Figure 1and Figure 3.The results of Wellner’s method are also shown.Figure 1illustrates a text example with a very dark shadow.Our method is able to segment all of the text in the image.Figure 3illustrates an augmented reality example with a number of planar markers that are tracked in a video stream.In this example our technique provides near perfect segmentation despite the strong illumination changes in the image.Wellner’s technique fails at the specular reflection in the center of the image at the bottom,and the dark shadow in the top corners.Figure 3:Augmented reality marker example.Left:Input image.Center:Wellner’s method.Right:Our technique.5DiscussionOur previous work in augmented reality [Bradley and Roth 2004]demonstrates a need for robust adaptive threshold-ing of real-time video streams.Our technique is well-suited for scenes with strong spatial changes in illumination.Temporal variations in illumination are also handled automatically,which is not the case for global thresholding methods.The main drawback of our method is that we must process the image twice.However,this is not a sig-nificant drawback with the current speed of processors and our technique is still suitable for real-time applications. The amount of processing can also be minimized by performing the thresholding step at pixel(i−s/2,j−s/2)at the same time as computing the integral image at pixel(i,j).In this case,a constant amount of processing must be performed for the following number of pixels,(w×h)+(s2×w)+(s2×h)−(s24).(3)This technique for thresholding makes the assumption that the image contains primarily background pixels(to be segmented as white)and that the foreground pixels are rather distributed in the image.In the case of a foreground component that is larger than s x s pixels,the center of the component will be incorrectly classified as background. This problem can be alleviated by using a larger kernel(ie:by increasing s),howeverfine details in the segmentation may then be lost.The kernel size should be set appropriately according to the application.ReferencesB ERNSEN,J.1986.Dynamic thresholding of gray-level images.In Int.Conf.Pattern Recognition,vol.2,1251–1255.B ILLINGHURST,M.,K ATO,H.,AND P OUPYREV,I.2001.The magicbook-moving seamlessly between reality and virtuality.IEEE Comput.Graph.Appl.21,3,6–8.B RADLEY,D.,AND R OTH,G.2004.Augmenting non-rigid objects with realistic lighting.Tech.Rep.NRC47398, National Research Council of Canada,October.C HAN,F.H.Y.,L AM,F.K.,AND Z HU,H.1998.Adaptive thresholding by variational method.IEEE Transactions on Image Processing7,3(March),468–473.C ROW,F.C.1984.Summed-area tables for texture mapping.SIGGRAPH Comput.Graph.18,3,207–212.F IALA,M.2005.ARTag,afiducial marker system using digital techniques.In Proc.of Computer Vision and Pattern Recognition,vol.2,590–596.G LASBEY,C.A.1993.An analysis of histogram-based thresholding algorithms.CVGIP:Graph.Models Image Process.55,6,532–537.L EE,S.,C HUNG,S.,AND P ARK,R.1990.A comparative performance study of several global thresholding techniques for puter Vision Graphics Image Processing52,2(Nov.),171–190.P ALUMBO,P.W.,S WAMINATHAN,P.,AND S RIHARI,S.N.1986.Document image binarization:Evaluation of algorithms.SPIE697,278–285.P ARKER,J.R.1991.Gray level thresholding in badly illuminated images.IEEE Trans.Pattern Anal.Mach.Intell. 13,8,813–819.P INTARIC,T.2003.An adaptive thresholding algorithm for the augmented reality toolkit.In IEEE Int.Augmented Reality Toolkit Workshop.S AHOO,P.K.,S OLTANI,S.,W ONG,A.K.,AND C HEN,Y.C.1988.A survey of thresholding techniques. Comput.Vision Graph.Image Process.41,2,233–260.S AUVOLA,J.,AND P IETIKAINEN,M.2000.Adaptive document image binarization.PR33,2(February),225–236.S AVAKIS,A.E.1998.Adaptive document image thresholding using foreground and background clustering.In ICIP(3),785–789.S EZGIN,M.,AND S ANKUR,B.2004.Survey over image thresholding techniques and quantitative performance evaluation.Journal of Electronic Imaging13,1,146–168.S HEN,D.,AND I P,H.H.S.1997.A hopfield neural network for adaptive image segmentation:An active surface paradigm.PRL18,37–48.T RIER,O.D.,AND J AIN,A.K.1995.Goal-directed evaluation of binarization methods.PAMI17,12(December), 1191–1201.V EKSLER,O.2003.Fast variable window for stereo correspondence using integral images.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR2003),556–661.V ENKATESWARLU,N.B.,AND B OYLE,R.D.1995.New segmentation techniques for document image analysis. IVC13,7(September),573–583.V IOLA,P.,AND J ONES,M.J.2004.Robust real-time face put.Vision57,2,137–154.W ARD,G.2003.Fast,robust image registration for compositing high dynamic range photographs from hand-held exposures.journal of graphics tools8,2,17–30.W ELLNER,P.D.1993.Adaptive thresholding for the digitaldesk.Tech.Rep.EPC-93-110,EuroPARC.W ESZKA,J.S.,AND R OSENFELD,A.1978.Threshold evaluation techniques.IEEE Trans.on System,Man and Cybernetics SMC-8,8,622–629.W HITE,J.M.,AND R OHRER,G.D.1983.Image thresholding for optical character recognition and other applica-tions requiring character image extraction.IBMRD27,4(July),400–411.Y ANG,Y.,AND Y AN,H.2000.An adaptive logical method for binarization of degraded document images.PR33, 5(May),787–807.Y ANG,J.D.,C HEN,Y.S.,AND H SU,W.H.1994.Adaptive thresholding algorithm and its hardware implemen-tation.PRL15,141–150.Web Information:Source code for our technique and additional image examples are available on the web.The web address is www.derekbradley.ca/AdaptiveThresholding/index.html.。
ABSTRACTBarcodes are commonly used with merchandise to speed up product checkout at department stores and to keep inventory. A barcode is a machine readable code consisting of a series of bars and spaces printed in defined ratios. The function of the ba rcode scanner is to “read” the image presented by the bar code. Common handheld scanning technologies include wands and lasers. They have some limitations such as limited depth of field, limited life span due to mechanical wear and the barcodes must reside on flat surfaces. Besides that, barcodes must be aligned in a proper way for reading thus limiting the robustness of these readers. This project is aimed towards improving these limitations, by using an active vision system. This project is to decode the UPC-A and EAN-13 barcodes using an active vision system, consisting of a camera and user-written software. The camera will feed the software with continuous frames of images from the environment. These images are converted to grayscale and some preprocessing is performed. Image is filtered (such as sharpening and noise reduction) and converted to binary. An adaptive thresholding algorithm is used to reduce the effects of uneven illumination. Image is then scanned horizontally, vertically and diagonally for barcodes, thus enabling it to decode rotated barcodes. Error correction and predictive decoding is implemented to improve the speed and accuracy of the system. Overall system performance is benchmarked with existing commercially available software. REVIEW OF LITERATURE STUDIES2.3 Vision Based Barcode ReadersReading barcodes using vision has fascinated many researchers. Most of the research carried out concentrated on locating and reading barcodes. In the past, several methods were used to locate and recognize barcodes captured using a camera, in real-time or from an image. Researches on barcode localization were carried out by S. Arnould et. al.2.3.2 Barcode ReadingExtending their work in barcode localization [13], N. Normand and C. Viard-Gaudin continued the work on to barcode reading [16]. The reading is performed on the region obtained from the localization in [13]. The bar widths are obtained by calculating the second-order derivative and extracting the zero crossings. A deblurring mechanism is also implemented. The decoding is then done according to the symbology. A 100% ratio of reading was obtained with the following conditions; narrowest bar of 0.5mm, 3px/mm and a blurring of 1-5 pixels. The processing time is around 20 seconds for a 2048 x 2048 image on a Sparc 2.2.4.3 EncodingThe process of encoding an EAN-13 or UPC-A barcode is relatively straight forward. EAN-13 requires 12-digits of data to be present for encoding while the 13th digit (the check digit) will be calculated from the data. UPC-A on the other hand requires 11-digits of data for encoding, and the 12th digit will be calculated from the data and will become the check digit. The encoding process is the same for both symbologies, except that, during the encoding process, a zero is added in front of the UPC-A datato make it 12 digits. For example, if the data is …12345678901‟, a zero will be padded and it will become …0-12345678901‟ prior to encoding.Each character has its own code and it is represented using 7 modules. The corresponding modules are determined from Table 2.2 and Table 2.3. The first digit will determines the parity encoding of the left hand side characters. Steps for encoding are given below.Example of encoding an EAN-13 barcode (assume the check digit is already calculated);Data = 7-501031-311309 (12 digits + 1 check digit)1. The parity digit is …7‟, thus from Table2.2, the parity encoding for the six right hand characters are in the order of Odd-Even-Odd-Even-Odd-Even.2. The first of the left hand digits (the second digit of the 13 digit barcode) is 5. Because the parity is odd (obtained from step 1), by referring to Table 2.3, the digit 5-odd will be encoded as 0110001, and is shown in Figure 2.4.Figure 2.4: Encoding the number …5‟3. The second digit is 0, and the parity is even. From Table 2.3, the code for 0-even is 0100111.4. The remaining left hand digits are encoded in the same manner.5. The right hand digits are encoded directly from Table 2.3.6. The final barcode will be;Table 2.2: Parity encoding tableTable 2.3: Character encoding table2.4.4 Check Digit CalculationThe check digit is a character included with the symbol to check on the validity of a barcode‟s data when decoding. In the previous section, the check digit was a ssumed available. However, in the actual encoding process, the check digit is calculated based on the data to be encoded. The process of calculating the check digit is given below,1. Multiply all odd digits with 3 (the first digit is even).2. Add all the even digits with the multiplied odd digits.3. Add a number X to the sum, so that it is evenly divisible by 10.4. The number X is the check digit.Example: Assume the data to be encoded is;Data = 7-501031-31130C (12 digits + 1 check digit)C is the check digit to be determined.1. Multiply all odd digits with 3,2. Add all the even digits with the multiplied odd digits.Total sum = 7+15+0+3+0+9+1+9+1+3+3+0 = 513. 51+9 = 60, evenly divisible by 10.4. So check digit is 9.5. Final barcode value is 7-501031-3113092.5.5 DecodingDecoding is just the reverse of the encoding process. By comparing the bars with Table 2.3, the corresponding digit value and its parity can be determined. The parity of the six left hand characters will decide the first character of the barcode. When allthe digits are obtained, the check digit can be calculated and then compared with the check digit obtained from scanning. If the check digits do match, the barcode is verified and assumed to be correct.THEORETICAL BACKGROUND3.1 IntroductionImaging systems basically consist of imaging devices and image processing elements. Depending on the type of application and analysis, the acquired image must fulfill certain requirements for acceptable processing. This means that certain constraints on the hardware and software must be met for the processing to work properly. Imaging hardware includes the camera, lens, lighting and the workspace, while the software will act as the image processing element. It is the aim of this chapter to discuss these physical constraints and to decide on the proper parameters for the purpose of acquiring good quality barcodes in real-time.3.2 Imaging DevicesThe imaging system should produce images with enough quality so that the desired objects can be extracted successfully for processing. Several factors contribute to overall image quality including resolution, contrast, depth of view (DoV), perspective, and distortion. Proper selection of camera lens, processing environment and the camera itself will ensure a good quality image will be acquired.Cameras are constructed with a variety of lenses that collect and focus light on to the image plane. That is, light emanates from a point in the world in all directions and then focused to a point. Such imaging systems are often described with the simpler thin-lens model. Under the thin-lens model the projection of the central or principal ray obeys the rules of perspective projection, given by Eq 3.1 and Eq. 3.2, where f is the focal length, while d o and d i is the distance between the object plane and the image plane to the optical center of the lens respectively. All other derivations will be based on this model.ALGORITHMS & IMPLEMENTATION4.2 Overall System DesignThe system consists of image acquisition and an image processing element which is the software as shown in Figure 4.1. Image is acquired from a camera (online) or directly from a BMP file (offline). Online acquisition is in real-time. Two cameras were used for online acquisition and they were the Pulnix TMC-1000 progressive scan frame grabber and the KPC-S38CZV interlace scan camera. Both cameras areinterfaced to the PC using their respective Peripheral Component Interface (PCI) based interface cards.Figure 4.1: Block diagram of projectThe software supports color and grayscale images; however the image height must be equal to its width and must be evenly divisible by 8. In other words, only square images are supported with sizes in multiples of 8 such as 256x256px and 360x360px. However, there is no limit to the size of image (provided there is enough memory). This constraint is put in place to take advantage of parallel execution using the MultiMedia eXtension (MMX) technology. Although such constraint is unnecessary and parallel execution can be performed for any image size, putting this constraint simplifies the programming task. For real-time acquiring, the program processes each frame as individual images and processing is performed sequentially before processing the next incoming frame. Thus, to ensure smooth processing, the algorithms are optimized for speed rather than for size. As for offline processing, the image is obtained from a windows bitmap file (BMP).CONCLUSION & SUMMARY6.1 SummaryThe program developed had been successful at decoding barcodes in real-time. It handles uneven illumination very well making it suitable for use in conditions where unpredictable lighting is expected. The program is able to decode EAN-13 and UPC-A barcodes even when the acquiring resolution is low, at around 360x360 pixels. When tested for continuous capturing, the program performed well with a recognition rate of 35-40 FPS on a Pentium 4 2.0GHz with a frame size of 512x512 pixels. The program has the capability to detect rotated (skewed), twirled and sheared barcodes, and is able to detect multiple barcodes in a scene. These are the several advantages it has over conventional laser based barcode readers. It has a high recognition rate, and outperformed all the commercial programs which were put to test against it. The program also has a high tolerance towards visual noise which makes it able to detect barcodes successfully even in complex scenes.6.2 ConclusionIn general, the objectives of this project have been achieved. The program developed is fit for real-time application in many areas such as in manufacturing and retail industries. The first step to obtain good recognition is always to have a good hardware and application environment. Camera and lens selection are very important in obtaining a good acquisition. Appropriate selection of FoV and DoV will ensure enough operation volume, and sufficient object resolution. The installation oflighting is also important because improper lighting will cause glare and shadowing in the object being captured. This will further complicate the recognizing process. Decoding barcodes using vision requires a good deal of image processing. Thisincludes grayscaling, thresholding and noise filtering. Thresholding can be considered a vital process as it will determine whether the barcode can be decoded successfully or not. Several thresholding algorithms were investigated to determine the effectiveness and the suitability for real-time implementation.Recognition in real-time means tighter time constraints and thus the algorithms must be efficient and fast. Several factors that contribute to the execution time are the image size, the processing power of the computer and the efficiency of the algorithms. To achieve real-time performance, algorithms were implemented using MMX technology which greatly reduces processing time.。
SCI论文摘要中常用的表达方法要写好摘要,需要建立一个适合自己需要的句型库(选择的词汇来源于SCI高被引用论文)引言部分(1)回顾研究背景,常用词汇有review, summarize, present, outline, describe等(2)说明写作目的,常用词汇有purpose, attempt, aim等,另外还可以用动词不定式充当目的壮语老表达(3)介绍论文的重点内容或研究范围,常用词汇有study, present, include, focus, emphasize, emphasis, attention等方法部分(1)介绍研究或试验过程,常用词汇有test study, investigate, examine,experiment, discuss, consider, analyze, analysis等(2)说明研究或试验方法,常用词汇有measure, estimate, calculate等(3)介绍应用、用途,常用词汇有use, apply, application等结果部分(1)展示研究结果,常用词汇有show, result, present等(2)介绍结论,常用词汇有summary, introduce,conclude等讨论部分(1)陈述论文的论点和作者的观点,常用词汇有suggest, repot, present, expect, describe 等(2)说明论证,常用词汇有support, provide, indicate, identify, find, demonstrate, confirm, clarify等(3)推荐和建议,常用词汇有suggest,suggestion, recommend, recommendation, propose,necessity,necessary,expect等。
摘要引言部分案例词汇review•Author(s): ROBINSON, TE; BERRIDGE, KC•Title:THE NEURAL BASIS OF DRUG CRA VING - AN INCENTIVE-SENSITIZATION THEORY OF ADDICTION•Source: BRAIN RESEARCH REVIEWS, 18 (3): 247-291 SEP-DEC 1993 《脑研究评论》荷兰SCI被引用1774We review evidence for this view of addiction and discuss its implications for understanding the psychology and neurobiology of addiction.回顾研究背景SCI高被引摘要引言部分案例词汇summarizeAuthor(s): Barnett, RM; Carone, CD; 被引用1571Title: Particles and field .1. Review of particle physicsSource: PHYSICAL REVIEW D, 54 (1): 1-+ Part 1 JUL 1 1996:《物理学评论,D辑》美国引言部分回顾研究背景常用词汇summarizeAbstract: This biennial review summarizes much of Particle Physics. Using data from previous editions, plus 1900 new measurements from 700 papers, we list, evaluate, and average measuredproperties of gauge bosons, leptons, quarks, mesons, and baryons. We also summarize searches for hypothetical particles such as Higgs bosons, heavy neutrinos, and supersymmetric particles. All the particle properties and search limits are listed in Summary Tables. We also give numerous tables, figures, formulae, and reviews of topics such as the Standard Model, particle detectors, probability, and statistics. A booklet is available containing the Summary Tables and abbreviated versions of some of the other sections of this full Review.SCI摘要引言部分案例attentionSCI摘要方法部分案例considerSCI高被引摘要引言部分案例词汇outline•Author(s): TIERNEY, L SCI引用728次•Title:MARKOV-CHAINS FOR EXPLORING POSTERIOR DISTRIBUTIONS 引言部分回顾研究背景,常用词汇outline•Source: ANNALS OF STATISTICS, 22 (4): 1701-1728 DEC 1994•《统计学纪事》美国•Abstract: Several Markov chain methods are available for sampling from a posterior distribution. Two important examples are the Gibbs sampler and the Metropolis algorithm.In addition, several strategies are available for constructing hybrid algorithms. This paper outlines some of the basic methods and strategies and discusses some related theoretical and practical issues. On the theoretical side, results from the theory of general state space Markov chains can be used to obtain convergence rates, laws of large numbers and central limit theorems for estimates obtained from Markov chain methods. These theoretical results can be used to guide the construction of more efficient algorithms. For the practical use of Markov chain methods, standard simulation methodology provides several Variance reduction techniques and also gives guidance on the choice of sample size and allocation.SCI高被引摘要引言部分案例回顾研究背景presentAuthor(s): L YNCH, M; MILLIGAN, BG SC I被引用661Title: ANAL YSIS OF POPULATION GENETIC-STRUCTURE WITH RAPD MARKERS Source: MOLECULAR ECOLOGY, 3 (2): 91-99 APR 1994《分子生态学》英国Abstract: Recent advances in the application of the polymerase chain reaction make it possible to score individuals at a large number of loci. The RAPD (random amplified polymorphic DNA) method is one such technique that has attracted widespread interest.The analysis of population structure with RAPD data is hampered by the lack of complete genotypic information resulting from dominance, since this enhances the sampling variance associated with single loci as well as induces bias in parameter estimation. We present estimators for several population-genetic parameters (gene and genotype frequencies, within- and between-population heterozygosities, degree of inbreeding and population subdivision, and degree of individual relatedness) along with expressions for their sampling variances. Although completely unbiased estimators do not appear to be possible with RAPDs, several steps are suggested that will insure that the bias in parameter estimates is negligible. To achieve the same degree of statistical power, on the order of 2 to 10 times more individuals need to be sampled per locus when dominant markers are relied upon, as compared to codominant (RFLP, isozyme) markers. Moreover, to avoid bias in parameter estimation, the marker alleles for most of these loci should be in relatively low frequency. Due to the need for pruning loci with low-frequency null alleles, more loci also need to be sampled with RAPDs than with more conventional markers, and sole problems of bias cannot be completely eliminated.SCI高被引摘要引言部分案例词汇describe•Author(s): CLONINGER, CR; SVRAKIC, DM; PRZYBECK, TR•Title: A PSYCHOBIOLOGICAL MODEL OF TEMPERAMENT AND CHARACTER•Source: ARCHIVES OF GENERAL PSYCHIATRY, 50 (12): 975-990 DEC 1993《普通精神病学纪要》美国•引言部分回顾研究背景,常用词汇describe 被引用926•Abstract: In this study, we describe a psychobiological model of the structure and development of personality that accounts for dimensions of both temperament and character. Previous research has confirmed four dimensions of temperament: novelty seeking, harm avoidance, reward dependence, and persistence, which are independently heritable, manifest early in life, and involve preconceptual biases in perceptual memory and habit formation. For the first time, we describe three dimensions of character that mature in adulthood and influence personal and social effectiveness by insight learning about self-concepts.Self-concepts vary according to the extent to which a person identifies the self as (1) an autonomous individual, (2) an integral part of humanity, and (3) an integral part of the universe as a whole. Each aspect of self-concept corresponds to one of three character dimensions called self-directedness, cooperativeness, and self-transcendence, respectively. We also describe the conceptual background and development of a self-report measure of these dimensions, the Temperament and Character Inventory. Data on 300 individuals from the general population support the reliability and structure of these seven personality dimensions. We discuss the implications for studies of information processing, inheritance, development, diagnosis, and treatment.摘要引言部分案例•(2)说明写作目的,常用词汇有purpose, attempt, aimSCI高被引摘要引言部分案例attempt说明写作目的•Author(s): Donoho, DL; Johnstone, IM•Title: Adapting to unknown smoothness via wavelet shrinkage•Source: JOURNAL OF THE AMERICAN STATISTICAL ASSOCIATION, 90 (432): 1200-1224 DEC 1995 《美国统计学会志》被引用429次•Abstract: We attempt to recover a function of unknown smoothness from noisy sampled data. We introduce a procedure, SureShrink, that suppresses noise by thresholding the empirical wavelet coefficients. The thresholding is adaptive: A threshold level is assigned to each dyadic resolution level by the principle of minimizing the Stein unbiased estimate of risk (Sure) for threshold estimates. The computational effort of the overall procedure is order N.log(N) as a function of the sample size N. SureShrink is smoothness adaptive: If the unknown function contains jumps, then the reconstruction (essentially) does also; if the unknown function has a smooth piece, then the reconstruction is (essentially) as smooth as the mother wavelet will allow. The procedure is in a sense optimally smoothness adaptive: It is near minimax simultaneously over a whole interval of the Besov scale; the size of this interval depends on the choice of mother wavelet. We know from a previous paper by the authors that traditional smoothing methods-kernels, splines, and orthogonal series estimates-even with optimal choices of the smoothing parameter, would be unable to perform in a near-minimax way over many spaces in the Besov scale.Examples of SureShrink are given. The advantages of the method are particularly evident when the underlying function has jump discontinuities on a smooth backgroundSCI高被引摘要引言部分案例To investigate说明写作目的•Author(s): OLTV AI, ZN; MILLIMAN, CL; KORSMEYER, SJ•Title: BCL-2 HETERODIMERIZES IN-VIVO WITH A CONSERVED HOMOLOG, BAX, THAT ACCELERATES PROGRAMMED CELL-DEATH•Source: CELL, 74 (4): 609-619 AUG 27 1993 被引用3233•Abstract: Bcl-2 protein is able to repress a number of apoptotic death programs. To investigate the mechanism of Bcl-2's effect, we examined whether Bcl-2 interacted with other proteins. We identified an associated 21 kd protein partner, Bax, that has extensive amino acid homology with Bcl-2, focused within highly conserved domains I and II. Bax is encoded by six exons and demonstrates a complex pattern of alternative RNA splicing that predicts a 21 kd membrane (alpha) and two forms of cytosolic protein (beta and gamma). Bax homodimerizes and forms heterodimers with Bcl-2 in vivo. Overexpressed Bax accelerates apoptotic death induced by cytokine deprivation in an IL-3-dependent cell line. Overexpressed Bax also counters the death repressor activity of Bcl-2. These data suggest a model in which the ratio of Bcl-2 to Bax determines survival or death following an apoptotic stimulus.SCI高被引摘要引言部分案例purposes说明写作目的•Author(s): ROGERS, FJ; IGLESIAS, CA•Title: RADIATIVE ATOMIC ROSSELAND MEAN OPACITY TABLES•Source: ASTROPHYSICAL JOURNAL SUPPLEMENT SERIES, 79 (2): 507-568 APR 1992 《天体物理学杂志增刊》美国SCI被引用512•Abstract: For more than two decades the astrophysics community has depended on opacity tables produced at Los Alamos. In the present work we offer new radiative Rosseland mean opacity tables calculated with the OPAL code developed independently at LLNL. We give extensive results for the recent Anders-Grevesse mixture which allow accurate interpolation in temperature, density, hydrogen mass fraction, as well as metal mass fraction. The tables are organized differently from previous work. Instead of rows and columns of constant temperature and density, we use temperature and follow tracks of constant R, where R = density/(temperature)3. The range of R and temperature are such as to cover typical stellar conditions from the interior through the envelope and the hotter atmospheres. Cool atmospheres are not considered since photoabsorption by molecules is neglected. Only radiative processes are taken into account so that electron conduction is not included. For comparison purposes we present some opacity tables for the Ross-Aller and Cox-Tabor metal abundances. Although in many regions the OPAL opacities are similar to previous work, large differences are reported.For example, factors of 2-3 opacity enhancements are found in stellar envelop conditions.SCI高被引摘要引言部分案例aim说明写作目的•Author(s):EDV ARDSSON, B; ANDERSEN, J; GUSTAFSSON, B; LAMBERT, DL;NISSEN, PE; TOMKIN, J•Title:THE CHEMICAL EVOLUTION OF THE GALACTIC DISK .1. ANALYSISAND RESULTS•Source: ASTRONOMY AND ASTROPHYSICS, 275 (1): 101-152 AUG 1993 《天文学与天体物理学》被引用934•Abstract:With the aim to provide observational constraints on the evolution of the galactic disk, we have derived abundances of 0, Na, Mg, Al, Si, Ca, Ti, Fe, Ni, Y, Zr, Ba and Nd, as well as individual photometric ages, for 189 nearby field F and G disk dwarfs.The galactic orbital properties of all stars have been derived from accurate kinematic data, enabling estimates to be made of the distances from the galactic center of the stars‘ birthplaces. 结构式摘要•Our extensive high resolution, high S/N, spectroscopic observations of carefully selected northern and southern stars provide accurate equivalent widths of up to 86 unblended absorption lines per star between 5000 and 9000 angstrom. The abundance analysis was made with greatly improved theoretical LTE model atmospheres. Through the inclusion of a great number of iron-peak element absorption lines the model fluxes reproduce the observed UV and visual fluxes with good accuracy. A new theoretical calibration of T(eff) as a function of Stromgren b - y for solar-type dwarfs has been established. The new models and T(eff) scale are shown to yield good agreement between photometric and spectroscopic measurements of effective temperatures and surface gravities, but the photometrically derived very high overall metallicities for the most metal rich stars are not supported by the spectroscopic analysis of weak spectral lines.•Author(s): PAYNE, MC; TETER, MP; ALLAN, DC; ARIAS, TA; JOANNOPOULOS, JD•Title:ITERA TIVE MINIMIZATION TECHNIQUES FOR ABINITIO TOTAL-ENERGY CALCULATIONS - MOLECULAR-DYNAMICS AND CONJUGA TE GRADIENTS•Source: REVIEWS OF MODERN PHYSICS, 64 (4): 1045-1097 OCT 1992 《现代物理学评论》美国American Physical Society SCI被引用2654 •Abstract: This article describes recent technical developments that have made the total-energy pseudopotential the most powerful ab initio quantum-mechanical modeling method presently available. In addition to presenting technical details of the pseudopotential method, the article aims to heighten awareness of the capabilities of the method in order to stimulate its application to as wide a range of problems in as many scientific disciplines as possible.SCI高被引摘要引言部分案例includes介绍论文的重点内容或研究范围•Author(s):MARCHESINI, G; WEBBER, BR; ABBIENDI, G; KNOWLES, IG;SEYMOUR, MH; STANCO, L•Title: HERWIG 5.1 - A MONTE-CARLO EVENT GENERA TOR FOR SIMULATING HADRON EMISSION REACTIONS WITH INTERFERING GLUONS SCI被引用955次•Source: COMPUTER PHYSICS COMMUNICATIONS, 67 (3): 465-508 JAN 1992:《计算机物理学通讯》荷兰Elsevier•Abstract: HERWIG is a general-purpose particle-physics event generator, which includes the simulation of hard lepton-lepton, lepton-hadron and hadron-hadron scattering and soft hadron-hadron collisions in one package. It uses the parton-shower approach for initial-state and final-state QCD radiation, including colour coherence effects and azimuthal correlations both within and between jets. This article includes a brief review of the physics underlying HERWIG, followed by a description of the program itself. This includes details of the input and control parameters used by the program, and the output data provided by it. Sample output from a typical simulation is given and annotated.SCI高被引摘要引言部分案例presents介绍论文的重点内容或研究范围•Author(s): IDSO, KE; IDSO, SB•Title: PLANT-RESPONSES TO ATMOSPHERIC CO2 ENRICHMENT IN THE FACE OF ENVIRONMENTAL CONSTRAINTS - A REVIEW OF THE PAST 10 YEARS RESEARCH•Source: AGRICULTURAL AND FOREST METEOROLOGY, 69 (3-4): 153-203 JUL 1994 《农业和林业气象学》荷兰Elsevier 被引用225•Abstract:This paper presents a detailed analysis of several hundred plant carbon exchange rate (CER) and dry weight (DW) responses to atmospheric CO2 enrichment determined over the past 10 years. It demonstrates that the percentage increase in plant growth produced by raising the air's CO2 content is generally not reduced by less than optimal levels of light, water or soil nutrients, nor by high temperatures, salinity or gaseous air pollution. More often than not, in fact, the data show the relative growth-enhancing effects of atmospheric CO2 enrichment to be greatest when resource limitations and environmental stresses are most severe.SCI高被引摘要引言部分案例介绍论文的重点内容或研究范围emphasizing •Author(s): BESAG, J; GREEN, P; HIGDON, D; MENGERSEN, K•Title: BAYESIAN COMPUTATION AND STOCHASTIC-SYSTEMS•Source: STATISTICAL SCIENCE, 10 (1): 3-41 FEB 1995《统计科学》美国•SCI被引用296次•Abstract: Markov chain Monte Carlo (MCMC) methods have been used extensively in statistical physics over the last 40 years, in spatial statistics for the past 20 and in Bayesian image analysis over the last decade. In the last five years, MCMC has been introduced into significance testing, general Bayesian inference and maximum likelihood estimation. This paper presents basic methodology of MCMC, emphasizing the Bayesian paradigm, conditional probability and the intimate relationship with Markov random fields in spatial statistics.Hastings algorithms are discussed, including Gibbs, Metropolis and some other variations. Pairwise difference priors are described and are used subsequently in three Bayesian applications, in each of which there is a pronounced spatial or temporal aspect to the modeling. The examples involve logistic regression in the presence of unobserved covariates and ordinal factors; the analysis of agricultural field experiments, with adjustment for fertility gradients; and processing oflow-resolution medical images obtained by a gamma camera. Additional methodological issues arise in each of these applications and in the Appendices. The paper lays particular emphasis on the calculation of posterior probabilities and concurs with others in its view that MCMC facilitates a fundamental breakthrough in applied Bayesian modeling.SCI高被引摘要引言部分案例介绍论文的重点内容或研究范围focuses •Author(s): HUNT, KJ; SBARBARO, D; ZBIKOWSKI, R; GAWTHROP, PJ•Title: NEURAL NETWORKS FOR CONTROL-SYSTEMS - A SURVEY•Source: AUTOMA TICA, 28 (6): 1083-1112 NOV 1992《自动学》荷兰Elsevier•SCI被引用427次•Abstract:This paper focuses on the promise of artificial neural networks in the realm of modelling, identification and control of nonlinear systems. The basic ideas and techniques of artificial neural networks are presented in language and notation familiar to control engineers. Applications of a variety of neural network architectures in control are surveyed. We explore the links between the fields of control science and neural networks in a unified presentation and identify key areas for future research.SCI高被引摘要引言部分案例介绍论文的重点内容或研究范围focus•Author(s): Stuiver, M; Reimer, PJ; Bard, E; Beck, JW;•Title: INTCAL98 radiocarbon age calibration, 24,000-0 cal BP•Source: RADIOCARBON, 40 (3): 1041-1083 1998《放射性碳》美国SCI被引用2131次•Abstract: The focus of this paper is the conversion of radiocarbon ages to calibrated (cal) ages for the interval 24,000-0 cal BP (Before Present, 0 cal BP = AD 1950), based upon a sample set of dendrochronologically dated tree rings, uranium-thorium dated corals, and varve-counted marine sediment. The C-14 age-cal age information, produced by many laboratories, is converted to Delta(14)C profiles and calibration curves, for the atmosphere as well as the oceans. We discuss offsets in measured C-14 ages and the errors therein, regional C-14 age differences, tree-coral C-14 age comparisons and the time dependence of marine reservoir ages, and evaluate decadal vs. single-year C-14 results. Changes in oceanic deepwater circulation, especially for the 16,000-11,000 cal sp interval, are reflected in the Delta(14)C values of INTCAL98.SCI高被引摘要引言部分案例介绍论文的重点内容或研究范围emphasis •Author(s): LEBRETON, JD; BURNHAM, KP; CLOBERT, J; ANDERSON, DR•Title: MODELING SURVIV AL AND TESTING BIOLOGICAL HYPOTHESES USING MARKED ANIMALS - A UNIFIED APPROACH WITH CASE-STUDIES •Source: ECOLOGICAL MONOGRAPHS, 62 (1): 67-118 MAR 1992•《生态学论丛》美国•Abstract: The understanding of the dynamics of animal populations and of related ecological and evolutionary issues frequently depends on a direct analysis of life history parameters. For instance, examination of trade-offs between reproduction and survival usually rely on individually marked animals, for which the exact time of death is most often unknown, because marked individuals cannot be followed closely through time.Thus, the quantitative analysis of survival studies and experiments must be based oncapture-recapture (or resighting) models which consider, besides the parameters of primary interest, recapture or resighting rates that are nuisance parameters. 结构式摘要•T his paper synthesizes, using a common framework, these recent developments together with new ones, with an emphasis on flexibility in modeling, model selection, and the analysis of multiple data sets. The effects on survival and capture rates of time, age, and categorical variables characterizing the individuals (e.g., sex) can be considered, as well as interactions between such effects. This "analysis of variance" philosophy emphasizes the structure of the survival and capture process rather than the technical characteristics of any particular model. The flexible array of models encompassed in this synthesis uses a common notation. As a result of the great level of flexibility and relevance achieved, the focus is changed from fitting a particular model to model building and model selection.SCI摘要方法部分案例•方法部分•(1)介绍研究或试验过程,常用词汇有test,study, investigate, examine,experiment, discuss, consider, analyze, analysis等•(2)说明研究或试验方法,常用词汇有measure, estimate, calculate等•(3)介绍应用、用途,常用词汇有use, apply, application等SCI高被引摘要方法部分案例discusses介绍研究或试验过程•Author(s): LIANG, KY; ZEGER, SL; QAQISH, B•Title: MULTIV ARIATE REGRESSION-ANAL YSES FOR CATEGORICAL-DATA •Source:JOURNAL OF THE ROY AL STA TISTICAL SOCIETY SERIES B-METHODOLOGICAL, 54 (1): 3-40 1992《皇家统计学会志,B辑:统计方法论》•SCI被引用298•Abstract: It is common to observe a vector of discrete and/or continuous responses in scientific problems where the objective is to characterize the dependence of each response on explanatory variables and to account for the association between the outcomes. The response vector can comprise repeated observations on one variable, as in longitudinal studies or genetic studies of families, or can include observations for different variables.This paper discusses a class of models for the marginal expectations of each response and for pairwise associations. The marginal models are contrasted with log-linear models.Two generalized estimating equation approaches are compared for parameter estimation.The first focuses on the regression parameters; the second simultaneously estimates the regression and association parameters. The robustness and efficiency of each is discussed.The methods are illustrated with analyses of two data sets from public health research SCI高被引摘要方法部分案例介绍研究或试验过程examines•Author(s): Huo, QS; Margolese, DI; Stucky, GD•Title: Surfactant control of phases in the synthesis of mesoporous silica-based materials •Source: CHEMISTRY OF MATERIALS, 8 (5): 1147-1160 MAY 1996•SCI被引用643次《材料的化学性质》美国•Abstract: The low-temperature formation of liquid-crystal-like arrays made up of molecular complexes formed between molecular inorganic species and amphiphilic organic molecules is a convenient approach for the synthesis of mesostructure materials.This paper examines how the molecular shapes of covalent organosilanes, quaternary ammonium surfactants, and mixed surfactants in various reaction conditions can be used to synthesize silica-based mesophase configurations, MCM-41 (2d hexagonal, p6m), MCM-48 (cubic Ia3d), MCM-50 (lamellar), SBA-1 (cubic Pm3n), SBA-2 (3d hexagonal P6(3)/mmc), and SBA-3(hexagonal p6m from acidic synthesis media). The structural function of surfactants in mesophase formation can to a first approximation be related to that of classical surfactants in water or other solvents with parallel roles for organic additives. The effective surfactant ion pair packing parameter, g = V/alpha(0)l, remains a useful molecular structure-directing index to characterize the geometry of the mesophase products, and phase transitions may be viewed as a variation of g in the liquid-crystal-Like solid phase. Solvent and cosolvent structure direction can be effectively used by varying polarity, hydrophobic/hydrophilic properties and functionalizing the surfactant molecule, for example with hydroxy group or variable charge. Surfactants and synthesis conditions can be chosen and controlled to obtain predicted silica-based mesophase products. A room-temperature synthesis of the bicontinuous cubic phase, MCM-48, is presented. A low-temperature (100 degrees C) and low-pH (7-10) treatment approach that can be used to give MCM-41 with high-quality, large pores (up to 60 Angstrom), and pore volumes as large as 1.6 cm(3)/g is described.Estimates 介绍研究或试验过程SCI高被引摘要方法部分案例•Author(s): KESSLER, RC; MCGONAGLE, KA; ZHAO, SY; NELSON, CB; HUGHES, M; ESHLEMAN, S; WITTCHEN, HU; KENDLER, KS•Title:LIFETIME AND 12-MONTH PREV ALENCE OF DSM-III-R PSYCHIATRIC-DISORDERS IN THE UNITED-STA TES - RESULTS FROM THE NATIONAL-COMORBIDITY-SURVEY•Source: ARCHIVES OF GENERAL PSYCHIATRY, 51 (1): 8-19 JAN 1994•《普通精神病学纪要》美国SCI被引用4350次•Abstract: Background: This study presents estimates of lifetime and 12-month prevalence of 14 DSM-III-R psychiatric disorders from the National Comorbidity Survey, the first survey to administer a structured psychiatric interview to a national probability sample in the United States.Methods: The DSM-III-R psychiatric disorders among persons aged 15 to 54 years in the noninstitutionalized civilian population of the United States were assessed with data collected by lay interviewers using a revised version of the Composite International Diagnostic Interview. Results: Nearly 50% of respondents reported at least one lifetime disorder, and close to 30% reported at least one 12-month disorder. The most common disorders were major depressive episode, alcohol dependence, social phobia, and simple phobia. More than half of all lifetime disorders occurred in the 14% of the population who had a history of three or more comorbid disorders. These highly comorbid people also included the vast majority of people with severe disorders.Less than 40% of those with a lifetime disorder had ever received professional treatment,and less than 20% of those with a recent disorder had been in treatment during the past 12 months. Consistent with previous risk factor research, it was found that women had elevated rates of affective disorders and anxiety disorders, that men had elevated rates of substance use disorders and antisocial personality disorder, and that most disorders declined with age and with higher socioeconomic status. Conclusions: The prevalence of psychiatric disorders is greater than previously thought to be the case. Furthermore, this morbidity is more highly concentrated than previously recognized in roughly one sixth of the population who have a history of three or more comorbid disorders. This suggests that the causes and consequences of high comorbidity should be the focus of research attention. The majority of people with psychiatric disorders fail to obtain professional treatment. Even among people with a lifetime history of three or more comorbid disorders, the proportion who ever obtain specialty sector mental health treatment is less than 50%.These results argue for the importance of more outreach and more research on barriers to professional help-seekingSCI高被引摘要方法部分案例说明研究或试验方法measure•Author(s): Schlegel, DJ; Finkbeiner, DP; Davis, M•Title:Maps of dust infrared emission for use in estimation of reddening and cosmic microwave background radiation foregrounds•Source: ASTROPHYSICAL JOURNAL, 500 (2): 525-553 Part 1 JUN 20 1998 SCI 被引用2972 次《天体物理学杂志》美国•The primary use of these maps is likely to be as a new estimator of Galactic extinction. To calibrate our maps, we assume a standard reddening law and use the colors of elliptical galaxies to measure the reddening per unit flux density of 100 mu m emission. We find consistent calibration using the B-R color distribution of a sample of the 106 brightest cluster ellipticals, as well as a sample of 384 ellipticals with B-V and Mg line strength measurements. For the latter sample, we use the correlation of intrinsic B-V versus Mg, index to tighten the power of the test greatly. We demonstrate that the new maps are twice as accurate as the older Burstein-Heiles reddening estimates in regions of low and moderate reddening. The maps are expected to be significantly more accurate in regions of high reddening. These dust maps will also be useful for estimating millimeter emission that contaminates cosmic microwave background radiation experiments and for estimating soft X-ray absorption. We describe how to access our maps readily for general use.SCI高被引摘要结果部分案例application介绍应用、用途•Author(s): MALLAT, S; ZHONG, S•Title: CHARACTERIZATION OF SIGNALS FROM MULTISCALE EDGES•Source: IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 14 (7): 710-732 JUL 1992•SCI被引用508次《IEEE模式分析与机器智能汇刊》美国•Abstract: A multiscale Canny edge detection is equivalent to finding the local maxima ofa wavelet transform. We study the properties of multiscale edges through the wavelet。
万方数据 万方数据函数:DmwBitmap(MPE_XGraphgraph,int算,inty,void+bitmap),对应图4.用MPE自身带有的画点的功能来逐点描绘也不能完成这个操作.因为它只有16种颜色.连基本的256色灰度图也不能表达;DrawCur(MPE_XGraph,graph,intsize,void{array),对应图5;DrawSurface(MPE_XGraphgraph,int省,intY,intViewArgl,intViewAr92,voidbitmap),对应图6。
图4位图的显示图5一维数组显示5结论MPI消息传递接口库的MPICH实现包含了一个简单的图形输出功能。
用于集群计算机上的并行程序的计算结果可视化。
该MPE图形功能可以运行于所有MPI实现之上.但是由于它所提供的绘图功能有限.不能满足其它复杂输出的要求。
若是使用现有一些可视化工具则要另外安装软件和学习相关的编程接口规范。
通过对MPICH附带的MPE图形功能相关的大量复杂代码和文档的分析,弄清其设计思路、与Unix的X窗口系统关系、源代码分布、头文件和库的依赖关系等等.提出了扩展MPE图形库的方法步骤.成功地实现了MPE图形库的扩图6二维数组显示充,形成mpe—image库,增加了多个适合于图像分析处理结果的绘图函数.使得只需要MPI编程知识就可以完成相关应用程序的图形编程.这种方法也适用于扩展其它对图形化的输出结果有特殊要求的应用。
(收稿日期:2006年4月)参考文献1.ELusk.ClusterComputing[C].In:Proceedings,2002IEEEInternationalConferenceon,2002-09:4352.AChan,WGropp,ELusk.User’SGuideforMPE:ExtensionsforMPIPrograms[EB/OL].http://www-unix.mcs.anl.gov/mpi/mpich/docs/mpe-man/mpeman.htm,20053.WGropp,EKarrels,ELusk.MPEgraphics—scalableX11graphicsinMPI[C].In:ScalableParallelLibrariesConference,Proceedingsofthe1994,1994-10:49~544.NMatthew,RStones.BeginningLinuxProgramming[M].2“Edition,WroxPress。
About the T utorialOpenCV is a cross-platform library using which we can develop real-time computer vision applications. It mainly focuses on image processing, video capture and analysis including features like face detection and object detection. In this tutorial, we explain how you can use OpenCV in your applications.AudienceThis tutorial has been prepared for beginners to make them understand the basics of OpenCV library. We have used the Java programming language in all the examples, therefore you should have a basic exposure to Java in order to benefit from this tutorial. PrerequisitesFor this tutorial, it is assumed that the readers have a prior knowledge of Java programming language. In some of the programs of this tutorial, we have used JavaFX for GUI purpose. So, it is recommended that you go through our JavaFX tutorial before proceeding further - /javafx/.Copyright & Disclaimer© Copyright 2017 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at **************************T able of ContentsAbout the Tutorial (1)Audience (1)Prerequisites (1)Copyright & Disclaimer (1)Table of Contents (2)1.OpenCV – Overview (5)Computer Vision (5)Applications of Computer Vision (5)Features of OpenCV Library (6)OpenCV Library Modules (7)A Brief History of OpenCV (8)2.OpenCV – Environment (9)Installing OpenCV (9)Eclipse Installation (11)Setting the Path for Native Libraries (18)3.OpenCV — Storing Images (21)The Mat Class (21)Creating and Displaying the Matrix (23)Loading Image using JavaSE API (25)4.OpenCV – Reading Images (27)5.OpenCV ─ Writing an Image (29)6.OpenCV— GUI (31)Converting Mat to Buffered Image (31)Displaying Image using AWT/Swings (32)Displaying Image using JavaFX (34)TYPES OF IMAGES (38)7.OpenCV — The IMREAD_XXX Flag (39)8.OpenCV ─ Reading an Image as Grayscale (41)9.OpenCV ─ Reading Image as BGR (45)IMAGE CONVERSION (49)10.OpenCV ─ Colored Images to GrayScale (50)11.OpenCV ─ Colored Image to Binary (54)12.OpenCV ─ Grayscale to Binary (58)DRAWING FUNCTIONS (62)13.OpenCV – Drawing a Circle (63)14.OpenCV – Drawing a Line (67)15.OpenCV ─ Drawing a Rectangle (71)16.OpenCV – Drawing an Ellipse (75)17.OpenCV – Drawing Polylines (79)18.OpenCV – Drawing Convex Polylines (84)19.OpenCV—Drawing Arrowed Lines (88)20.OpenCV – Adding Text (92)BLUR OPERATIONS (96)21.OpenCV – Blur (Averaging) (97)22.OpenCV – Gaussian Blur (100)23.OpenCV – Median Blur (103)FILTERING (106)24.OpenCV – Bilateral Filter (107)25.OpenCV – Box Filter (110)26.OpenCV – SQRBox Filter (113)27.OpenCV – Filter2D (116)28.OpenCV—Dilation (119)29.OpenCV – Erosion (122)30.OpenCV ─ Morphological Operations (125)31.OpenCV ─ Image Pyramids (131)Pyramid Up (131)Pyramid Down (133)Mean Shift Filtering (136)THRESHOLDING (139)32.OpenCV – Simple Threshold (140)33.OpenCV – Adaptive Threshold (144)Other Types of Adaptive Thresholding (147)34.OpenCV ─ Adding Borders (148)SOBEL DERIVATIVES (153)35.OpenCV – Sobel Operator (154)36.OpenCV – Scharr Operator (157)More Scharr Derivatives (159)TRANSFORMATION OPERATIONS (160)37.OpenCV – Laplacian Transformation (161)38.OpenCV – Distance Transformation (164)CAMERA & FACE DETECTION (169)39.OpenCV – Using Camera (170)40.OpenCV ─ Face Detection in a Picture (175)41.OpenCV ─ Face Detection using Camera (179)GEOMETRIC TRANSFORMATIONS (184)42.OpenCV ─ Affine Translation (185)43.OpenCV – Rotation (188)44.OpenCV – Scaling (191)45.OpenCV – Color Maps (194)MISCELLANEOUS CONCEPTS (202)46.OpenCV – Canny Edge Detection (203)47.OpenCV – Hough Line Transform (206)48.OpenCV – Histogram Equalization (210)1.OpenCVOpenCV is a cross-platform library using which we can develop real-time computer vision applications. It mainly focuses on image processing, video capture and analysis including features like face detection and object detection.Let’s start the chapter by defining the term "Computer Vision".Computer VisionComputer Vision can be defined as a discipline that explains how to reconstruct, interrupt, and understand a 3D scene from its 2D images, in terms of the properties of the structure present in the scene. It deals with modeling and replicating human vision using computer software and hardware.Computer Vision overlaps significantly with the following fields:∙Image Processing: It focuses on image manipulation.∙Pattern Recognition: It explains various techniques to classify patterns.∙Photogrammetry:It is concerned with obtaining accurate measurements from images.Computer Vision Vs Image ProcessingImage processing deals with image-to-image transformation. The input and output of image processing are both images.Computer vision is the construction of explicit, meaningful descriptions of physical objects from their image. The output of computer vision is a description or an interpretation of structures in 3D scene.Applications of Computer VisionHere we have listed down some of major domains where Computer Vision is heavily used. Robotics Application∙Localization ─ Determine robot location automatically∙Navigation∙Obstacles avoidance∙Assembly (peg-in-hole, welding, painting)∙Manipulation (e.g. PUMA robot manipulator)∙Human Robot Interaction (HRI): Intelligent robotics to interact with and serve peopleMedicine Application∙Classification and detection (e.g. lesion or cells classification and tumor detection)∙2D/3D segmentation∙3D human organ reconstruction (MRI or ultrasound)∙Vision-guided robotics surgeryIndustrial Automation Application∙Industrial inspection (defect detection)∙Assembly∙Barcode and package label reading∙Object sorting∙Document understanding (e.g. OCR)Security Application∙Biometrics (iris, finger print, face recognition)∙Surveillance ─ Detecting certain suspicious activities or behaviorsTransportation Application∙Autonomous vehicle∙Safety, e.g., driver vigilance monitoringFeatures of OpenCV LibraryUsing OpenCV library, you can –∙Read and write images∙Capture and save videos∙Process images (filter, transform)∙Perform feature detection∙Detect specific objects such as faces, eyes, cars, in the videos or images.∙Analyze the video, i.e., estimate the motion in it, subtract the background, and track objects in it.OpenCV was originally developed in C++. In addition to it, Python and Java bindings were provided. OpenCV runs on various Operating Systems such as windows, Linux, OSx, FreeBSD, Net BSD, Open BSD, etc.This tutorial explains the concepts of OpenCV with examples using Java bindings.OpenCV Library ModulesFollowing are the main library modules of the OpenCV library.Core FunctionalityThis module covers the basic data structures such as Scalar, Point, Range, etc., that are used to build OpenCV applications. In addition to these, it also includes the multidimensional array Mat, which is used to store the images. In the Java library of OpenCV, this module is included as a package with the name org.opencv.core.Image ProcessingThis module covers various image processing operations such as image filtering, geometrical image transformations, color space conversion, histograms, etc. In the Java library of OpenCV, this module is included as a package with the name org.opencv.imgproc.VideoThis module covers the video analysis concepts such as motion estimation, background subtraction, and object tracking. In the Java library of OpenCV, this module is included as a package with the name org.opencv.video.Video I/OThis module explains the video capturing and video codecs using OpenCV library. In the Java library of OpenCV, this module is included as a package with the name org.opencv.videoio.calib3dThis module includes algorithms regarding basic multiple-view geometry algorithms, single and stereo camera calibration, object pose estimation, stereo correspondence and elements of 3D reconstruction. In the Java library of OpenCV, this module is included as a package with the name org.opencv.calib3d.features2dThis module includes the concepts of feature detection and description. In the Java library of OpenCV, this module is included as a package with the name org.opencv.features2d. ObjdetectThis module includes the detection of objects and instances of the predefined classes such as faces, eyes, mugs, people, cars, etc. In the Java library of OpenCV, this module is included as a package with the name org.opencv.objdetect.HighguiThis is an easy-to-use interface with simple UI capabilities. In the Java library of OpenCV, the features of this module is included in two different packages namely, org.opencv.imgcodecs and org.opencv.videoio.A Brief History of OpenCVOpenCV was initially an Intel research initiative to advise CPU-intensive applications. It was officially launched in 1999.∙In the year 2006, its first major version, OpenCV 1.0 was released.∙In October 2009, the second major version, OpenCV 2 was released.∙In August 2012, OpenCV was taken by a nonprofit organization .OpenCV In this chapter, you will learn how to install OpenCV and set up its environment in your system.First of all, you need to download OpenCV onto your system. Follow the steps given below. Step 1: Open the homepage of OpenCV by clicking the following link: / On clicking, you will see its homepage as shown below.2.Step 2: Now, click the Downloads link highlighted in the above screenshot. On clicking, you will be directed to the downloads page of OpenCV.Step 3: On clicking the highlighted link in the above screenshot, a file named opencv-3.1.0.exe will be downloaded. Extract this file to generate a folder opencv in your system, as shown in the following screenshot.Step 4:Open the folder OpenCV-> build ->java. Here you will find the jar file of OpenCV named opencv-310.jar. Save this file in a separate folder for further use.Eclipse InstallationAfter downloading the required JAR files, you have to embed these JAR files to your Eclipse environment. You can do this by setting the Build Path to these JAR files and by using pom.xml.Setting Build PathFollowing are the steps to set up OpenCV in Eclipse:Step 1: Ensure that you have installed Eclipse in your system. If not, download and install Eclipse in your system.Step 2: Open Eclipse, click on File, New, and Open a new project as shown in the following screenshot.Step 3: On selecting the project, you will get the New Project wizard. In this wizard, select Java project and proceed by clicking the Next button, as shown in the following screenshot.Step 4: On proceeding forward, you will be directed to the New Java Project wizard. Create a new project and click Next, as shown in the following screenshot.Step 5:After creating a new project, right-click on it. Select Build Path and click Configure Build Path… as shown in the following screenshot.Step 6: On clicking the Build Path option,you will be directed to the Java Build Path wizard.Click the Add External JARs button,as shown in the following screenshot.Step 7: Select the path where you have saved the file opencv-310.jar.Step 8: On clicking the Open button in the above screenshot, those files will be added to your library.Step 9: On clicking OK, you will successfully add the required JAR files to the current project and you can verify these added libraries by expanding the Referenced Libraries.Setting the Path for Native LibrariesIn addition to the JAR files, you need to set path for the native libraries (DLL files) of OpenCV.Location of DLL files: Open the installation folder of OpenCV and go to the sub-folder build -> java. Here you will find the two folders x64 (64 bit) and x86 (32 bit) which contain the dll files of OpenCV.Open the respective folder suitable for your operating system, then you can see the dll file, as shown in the following screenshot.Now, set the path for this file too by following the steps given below—Step 1: Once again, open the JavaBuildPath window. Here you can observe the added JAR file and the JRE System Library.Step 2: On expanding it, you will get the system libraries and Native library location, as highlighted in the following screenshot.OpenCV Step 3:Double-click on the Native library location. Here, you can see the Native Library Folder Configuration window as shown below—Here, click the button External Folder…and select the location of the dll file in your system.3.OpenCVTo capture an image, we use devices like cameras and scanners. These devices record numerical values of the image (Ex: pixel values). OpenCV is a library which processes the digital images, therefore we need to store these images for processing.The Mat class of OpenCV library is used to store the values of an image. It represents an n-dimensional array and is used to store image data of grayscale or color images, voxel volumes, vector fields, point clouds, tensors, histograms, etc.This class comprises of two data parts: the header and a pointer∙Header: Contains information like size, method used for storing, and the address of the matrix (constant in size).∙Pointer: Stores the pixel values of the image (Keeps on varying).The Mat ClassThe OpenCV Java library provides this class with the same name (Mat) within the package org.opencv.core.ConstructorsThe Mat class of OpenCV Java library has various constructors, using which you can construct the Mat object.Note:∙Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices.∙The type of the matrices were represented by various fields of the class CvType which belongs to the package org.opencv.core.Methods and DescriptionFollowing are some of the methods provided by the Mat class.In this section, we are going to discuss our first OpenCV example. We will see how to create and display a simple OpenCV matrix.Given below are the steps to be followed to create and display a matrix in OpenCV.Step 1: Load the OpenCV native libraryWhile writing Java code using OpenCV library, the first step you need to do is to load the native library of OpenCV using the loadLibrary(). Load the OpenCV native library as shown below.Step 2: Instantiate the Mat classInstantiate the Mat class using any of the functions mentioned in this chapter earlier.Step 3: Fill the matrix using the methodsYou can retrieve particular rows/columns of a matrix by passing index values to the methods row()/col().And, you can set values to these using any of the variants of the setTo() methods.ExampleYou can use the following program code to create and display a simple matrix in Java using OpenCV library.On executing the above program, you will get the following output.Loading Image using JavaSE APIThe BufferedImage class of the java.awt.image.BufferedImage package is used to store an image and the ImageIO class of the package import javax.imageio provides methods to read and write Images.ExampleYou can use the following program code to load and save images using JavaSE library.On executing the above program, you will get the following output.If you open the specified path, you can observe the saved image as follows—End of ebook previewIf you liked what you saw…Buy it from our store @ https://。
Three-dimensional speckle suppression in optical coherence tomography based on the curvelettransformZhongping Jian1,*, Lingfeng Yu1, Bin Rao1, Bruce J. Tromberg1, and Zhongping Chen1,2 1Beckman Laser Institute, University of California, Irvine, California 92612, USA2z2chen@*zjian@Abstract: Optical coherence tomography is an emerging non-invasivetechnology that provides high resolution, cross-sectional tomographicimages of internal structures of specimens. OCT images, however, areusually degraded by significant speckle noise. Here we introduce to ourknowledge the first 3D approach to attenuating speckle noise in OCTimages. Unlike 2D approaches which only consider information inindividual images, 3D processing, by analyzing all images in a volumesimultaneously, has the advantage of also taking the information betweenimages into account. This, coupled with the curvelet transform’s nearlyoptimal sparse representation of curved edges that are common in OCTimages, provides a simple yet powerful platform for speckle attenuation.We show the approach suppresses a significant amount of speckle noise,while in the mean time preserves and thus reveals many subtle features thatcould get attenuated in other approaches.©2010 Optical Society of AmericaOCIS codes: (110.4500) Imaging systems: Optical Coherence Tomography; (110.6150)Imaging systems: Speckle Imaging; (100.2980) Image processing: Image Enhancement. References and links1. D. Huang, E. A. Swanson, C. P. Lin, J. S. Schuman, W. G. Stinson, W. Chang, M. R. Hee, T. Flotte, K. Gregory,C. A. Puliafito, and J. G. Fujimoto, “Optical Coherence Tomography,” Science 254(5035), 1178–1181 (1991).2. J. M. Schmitt, “Array detection for speckle reduction in optical coherence microscopy,” Phys. Med. Biol. 42(7),1427–1439 (1997).3. J. M. Schmitt, S. H. Xiang, and K. M. Yung, “Speckle in Optical Coherence Tomography,” J. Biomed. Opt. 4(1),95 (1999).4. A. Ozcan, A. Bilenca, A. E. Desjardins, B. E. Bouma, and G. J. Tearney, “Speckle reduction in optical coherencetomography images using digital filtering,” J. Opt. Soc. Am. A 24(7), 1901 (2007).5. D. L. Marks, T. S. Ralston, and S. A. Boppart, “Speckle reduction by I-divergence regularization in opticalcoherence tomography,” J. Opt. Soc. Am. A 22(11), 2366 (2005).6. D. C. Adler, T. H. Ko, and J. G. Fujimoto, “Speckle reduction in optical coherence tomography images by use ofa spatially adaptive wavelet filter,” Opt. Lett. 29(24), 2878–2880 (2004).7. M. Gargesha, M. W. Jenkins, A. M. Rollins, and D. L. Wilson, “Denoising and 4D visualization of OCTimages,” Opt. Express 16(16), 12313–12333 (2008).8. P. Puvanathasan, and K. Bizheva, “Speckle noise reduction algorithm for optical coherence tomography basedon interval type II fuzzy set,” Opt. Express 15(24), 15747–15758 (2007).9. S. H. Xiang, L. Zhou, and J. M. Schmitt, “Speckle Noise Reduction for Optical Coherence Tomography,” Proc.SPIE 3196, 79 (1997).10. Z. Jian, Z. Yu, L. Yu, B. Rao, Z. Chen, and B. J. Tromberg, “Speckle Attenuation by Curvelet Shrinkage inOptical Coherence Tomography,” Opt. Lett. 34, 1516 (2009).11. E. J. Candès, L. Demanet, D. L. Donoho, and L. Ying, “Fast Discrete Curvelet Transforms,” SIAM MultiscaleModel. Simul. 5(3), 861 (2006).12. E. J. Candès, and D. L. Donoho, “Curvelets–a surprisingly effective nonadaptive representation for objects withedges,” in Curves and Surface Fitting, C. Rabut, A. Cohen, and L. L. Schumaker, eds. (Vanderbilt University Press, Nashville, TN., 2000).13. E. J. Candès, and D. L. Donoho, “New tight frames of curvelets and optimal representations of objects withpiecewise C2 singularities,” Commun. Pure Appl. Math. 57, 219 (2003).14. J.-L. Starck, E. J. Candès, and D. L. Donoho, “The Curvelet Transform for Image Denoising,” IEEE Trans.Image Process. 11(6), 670–684 (2002).#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 102415. B. Rao, L. Yu, H. K. Chiang, L. C. Zacharias, R. M. Kurtz, B. D. Kuppermann, and Z. Chen, “Imaging pulsatileretinal blood flow in human eye,” J. Biomed. Opt. 13(4), 040505 (2008).16. S. G. Chang, B. Yu, and M. Vetterli, “Spatially adaptive wavelet thresholding with context modeling for imagedenoising,” IEEE Trans. Image Process. 9(9), 1522–1531 (2000).1. IntroductionOptical coherence tomography (OCT) has been undergoing rapid development since its introduction in the early 1990s [1]. It provides high resolution, cross-sectional tomographic images of internal structures of specimens, and therefore gains a wide variety of application in the field of biomedical imaging. Compared with other medical imaging modalities, 3D OCT has advantages in that it is non-invasive and it can acquire and display volume information in real time. However, due to its coherent detection nature, OCT images are accompanied with a significant amount of speckle noise, which not only limits the contrast and signal-to-noise ratio of images, but also obscures fine image features.Various methods have been developed to minimize the effect of speckle noise. Those methods can generally be classified into two categories: the first one performs noise attenuation by acquiring extra data, such as using spatial compounding and frequency compounding [2, 3]. While effective, this method generally requires extra effort to acquire data and cannot process images from standard OCT systems, and is therefore less preferred than the second category, which uses digital signal processing techniques to process images acquired with standard OCT systems. Different digital signal processing algorithms have been proposed, including for example enhanced Lee filter [4], median filter [4], symmetric nearest neighbor filter [4], adaptive Wiener filter [4], I-divergence regularization [5], as well as filtering in a transform domain such as the wavelet [4, 6–9]. Recently we described a speckle suppression algorithm in a transform domain called curvelets [10]. There we showed the curvelet representation of OCT images is very efficient, and with that, we significantly improved qualities of OCT images in the respects of signal to noise ratio, contrast to noise ratio, and so on.In almost all those algorithms, however, speckle reduction is performed on each image in a volume individually, and then all despeckled images are put together to form a volume. This process treats images as if they are independent from each other and therefore no relationship among different images is utilized, which is a waste of information provided by 3D OCT data. As many biological structures have layered structures not just in 2D, but also in 3D, and speckle noise is still random in 3D, we would expect that a despeckling algorithm based on 3D processing will be more powerful in attenuating noise and preserving features, especially those fine features across different images.There are a number of ways to do 3D processing, such as extending those two-dimensional filters mentioned above to three dimensional, or performing a 3D transform followed by processing in the transformed domain. The 3D transform can be, for example, the 3D wavelet transform, the 3D curvelet transform, or a hybrid one, such as a 2D curvelet transform of individual images followed by a one-dimensional wavelet transform along the perpendicular direction. Given the many superior properties of the curvelet transform, here we extend our earlier work of 2D curvelets to 3D, by performing the speckle attenuation in the 3D curvelet domain. We will first introduce some background information of the curvelet transform and its properties, then describe our algorithm in detail, and finally present the curvelet despeckling results tested on three-dimensional Fourier domain OCT images.2. Method2.1 Curvelet transformThe curvelet transform is a recently developed multiscale mathematical transform with strong directional characters [11–13]. It is designed to efficiently represent edges and other singularities along curves. The transform decomposes signals using a linear and weighted combination of basis functions called curvelets, in a similar way as the wavelet transform decomposes signals as a summation of wavelets. Briefly, the curvelet transform is a higher-#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1025dimensional extension of the wavelet transform. While the wavelet transform providesstructured and sparse representations of signals containing singularities that satisfy a variety of local smoothness constraints, including for example piecewise smoothness, they are unableto capitalize in a similar effective fashion on signals of two and more dimensions. The curvelet transform can measure information of an object at specified scales and locations and only along specified orientations. To achieve that, curvelets first partition the frequency plane into dyadic coronae, and (unlike wavelets) then subpartition the coronae into angular wedges [11]. Curvelets have time-frequency localization properties of wavelets, yet (unlike wavelets) also show a high degree of directionality and anisotropy. The curvelet transform is particularly suitable for noise attenuation, as it maps signals and noise into different areas in the curvelet domain, the signal’s energy is concentrated in a limited number of curvelet coefficients, and the reconstruction error decays rapidly as a function of the largest curvelet coefficients.The two-dimensional curvelets are, roughly speaking, 2D extensions of wavelets. Theyare localized in two variables and their Fourier duals (e.g., x-y and fx-fy), and are uniquelydecided by four parameters: scale, orientation, and two translation parameters (x,y)). There are several software implementations of the curvelet transform, and the one often used is the wrapping method of Fast Discrete Curvelet Transform (FDCT) [11]. The left of Fig. 1 shows a curvelet partitioning of fx-fy plane, where there are 6 scales, represented by the squares, and going from the inner to outer, the scale is j =1,2,3,…6. Each scale is further partitioned into a number of orientations, and the number doubles every other scale starting from the second (coarsest) scale. That is, going from the inner to the outer, the number of orientations is l=1, n, 2n, 2n, 4n, 4n… where n is the number of orientation at the second (coarsest) scale. This way, the directional selectivity increases for finer scales. The right side of Fig. 1 shows two example curvelets at the specific scales and orientations denoted by A and B in the partition diagram, respectively. Each curvelet oscillates in one direction, and varies more smoothly in the others. The oscillations in different curvelets occupy different frequency bands. Each curvelet is spatially localized, as its amplitude decays rapidly to zero outside of certain region. The directional selectivity of curvelets can be observed, for example, (A) is mainly along the horizontal direction while (B) is in another direction. This property can be utilized to selectively attenuate/preserve image features along certain directions.Fig. 1. Left: A schematic of the curvelet partitioning of fx-fy domain. The number of scales is6, and the number of orientations at the second scale is 8. Right: two example curvelets, shownfor the scale and orientation A and B, respectively. The curvelet A is along horizontaldirection, while B is along a dipping direction.The three-dimensional (3D) transform is very similar to the two-dimensional transform,except that each scale is defined by concentric cubes in the fx-fy-fz domain, and the division into orientations is performed by dividing the square faces of the cubes into sub-squares. Like in 2D transform, the number of orientations is specified for the second (coarsest) scale, which then determines the number of sub-squares in each direction. For example, a value of 8 orientations would lead to 64 sub-squares on each face. And since there are 6 faces to each cube, there would be a total of 384 orientations at that scale. The number of orientations doubles every other scale for finer scales, the same way as in the 2D transform.#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010(C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 10262.2 The despeckling algorithmThe curvelet-based despeckling algorithm consists of the following steps:I. A preprocessing step is first applied to the acquired data to compensate for the motionof the target during the data acquisition process. 3D OCT data is acquired image byimage, not obtained at one single shot. Although the scanning time can be quite short, the target can still move during that short time. The motion can have significant impact on acquired images. For example, it can seriously distort the shapeof the target, making the edge detection and other image analysis especially challenging. It can also make some continuous features across images not continuousany more, which would make the corresponding 3D curvelet transform coefficientssmaller than they should. Those smaller coefficients can then be attenuated duringthe despeckled process, which in turn, can lead to the loss of image features. Tominimize the impact of the motion, those features are first aligned in all directions.For example, for our acquired retina images, data are preprocessed based on the ideathat Retinal Pigment Epithelium (RPE) in neighboring images should be continuous,and blood vessels in fundus image should have minimal abrupt changes. The aligneddata is then further processed in the next steps.II. Take a logarithm operation of the aligned data. This is to convert the multiplicative noise into additive noise, as it is well known that speckles can be well modeled asmultiplicative noise. That is, log(s) = log(x) + log(z), where s is the measured data, xis the noise free signals to be recovered, and z is the speckle noise.III. Take the 3D forward curvelet transform of the data to produce the curvelet coefficients. The curvelet transform is a linear process, so the additive noise is stilladditive after the transform: S j,l,p = X j,l,p + Z j,l,p, where S j,l,p, X j,l,p, and Z j,l,p are thecoefficients for measured data, speckle-free signals, and speckle noise, respectively;j, l and p are parameters used for the curvelet transform, j is the scale, l is the orientation, and p is the spatial coordinates.IV. Selectively attenuate the obtained curvelet coefficients. A hard threshold T j,l is applied to each curvelet coefficients S j,l,p, so thatS = S j,l,p when |S j,l,p|>T j,l, and,,j l pS =0 when |S j,l,p|≤T j,l.j l p,,V. Take the inverse 3D curvelet transform of the attenuated curvelet coefficients to reconstruct despeckled data. The obtained data is in logarithm scale, so an exponential calculation of base 10 is applied to convert the despeckled data back tothe original linear scale when needed.In the process, one of the most important steps is the selection of the threshold T j,l, which determines to a large extent the performance of the algorithm. Here we use a simple yet powerful strategy called k-sigma method to set the threshold [14], in which T j, l=k×σ1×σ2, where k is an adjustable parameter, σ1 is the standard deviation of noise from a background region in the image data, and σ2 is the standard deviation of noise in the curvelet domain at a specific scale j and orientation l. By choosing a background region that does not have image features, one can directly compute the mean value and the standard deviation σ1. σ2, on the other hand, cannot be directly calculated from the forward curvelet transformed data, because the transformed data contain coefficients of not only noises, but also of image features, and it is not easy to separate them in the curvelet domain. One easier way to get σ2 is to simulate the noise data from the mean value and σ1, by assuming the noise has Gaussian distribution. Then the simulated data is transformed into the curvelet domain. The standard deviation σ2 at a specific scale and orientation can then be directly computed [14]. Although the noise in the background region may not be exactly the same as some speckle noises, the adjustable parameter k compensates that and the value of k can vary with scale and/or orientation. The#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1027larger k is, the more noise will be removed, and the best of its value can be determined by trial and error. To quantify the performance of the algorithm, we compute five quality metrics [6]: contrast-to-noise ratio (CNR), which measures the contrast between image features and noise,and defined to be 10log[()s b CNR μμ=−; equivalent number of looks (ENL),which measure the smoothness of areas that should be homogeneous but are corrupted by speckle noise, and defined to be 22/s s ENL μσ=, where μs and σs are the mean and standard deviation of a signal area, and μb and σb are the mean and standard deviation of a background noise area, respectively; peak signal to noise ratio (SNR), defined as 20log[max()/]SNR x σ=, where x is the amplitude data and σ is the noise variance of the background noise area; crosscorrelation (XCOR), which measures the similarity between theimages before and after denoising, and is defined as ,,,/m n m n m n XCOR s y =∑,where s is the intensity data before denoising, y is the intensity data after denoising, and m and n are the indexes of the images; and FWHM, the full width at half maximum, which measures the image sharpness. Both CNR and ENL are computed using log scale data, and are averaged over many areas. SNR and XCOR are computed using linear scale data. The value of XCOR is smaller than 1, and the larger XCOR is, the closer the denoised image is to the original image.2.3 Experimental setupThe image data is acquired by a Fourier domain OCT system [15]. The low-coherence light source has a center wavelength of 890nm and an FWHM bandwidth of 150nm. A broadband optical isolator was used to prevent optical feedback before light enters a 2 by 2 broadband fiber- coupler-based interferometer. Light at the reference arm was focused onto a reference mirror. The sample arm was modified from the patient module of a Zeiss Stratus OCT instrument. The detection arm was connected to a high performance spectrometer, which makes the system bench-top sensitivity of 100 dB with 650 μw light out of the sample-arm fiber and 50 μs CCD integration time. A 9 dB of SNR roll-off from 0 mm imaging depth to 2 mm depth was observed. The system speed was set to be 16.7 K A-lines/s, with its CCD A-line integration time being 50 μs and the line period being 60 μs. With the system, we acquired a 3D volume of human retina, with a lateral resolution of 7.8 μm and axial resolution of 4 μm.3. ResultsWe applied our algorithm to the acquired data. Figure 2 shows experimentally acquired cross-sectional images of human retina in three perpendicular planes: (a) x-y (B-scan), (b) x-z, and (c) y-z, respectively, where x is in the depth direction, y is perpendicular to x and is in the B-scan plane, z is perpendicular to both x and y directions and is the third dimension. Figure 3 shows the same images after being denoised by the 3D algorithm. For direct comparison, the images in two figures are shown on the same color scale and no pixel thresholding is applied. The background region, where there are no distinct image features, is the upper region in (a) and (b), as well as the middle and right noise region of (c). In obtaining the despeckled results, we have tested a number of combinations of parameters to perform the 3D curvelet transform, and the used values are: the number of scales is 3, and the number of orientations at the second coarsest scale is 16. A common threshold k=0.42 is used at all scales and orientations.(C) 2010 OSA 18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1028#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010Fig. 2. (color online) acquired cross-sectional retina images before denoising at differentplanes: (a) x-y plane (B-scan plane), (b) x-z plane along the vertical solid white line in (a), and(c) the cross-section image in the y-z plane along the horizontal solid white line in (a). Thewhite dotted lines in the figure indicate where the signals in Fig. 5 are shown.Fig. 3. (color online) the same images shown in Fig. 2, but after denoising, and shown on thesame color scale. The black arrow in (b) indicates the photoreceptor inner and outer segmentjunction that is preserved and made more distinct by the despeckling process. The two blackarrows in (c) indicate two yellow features that are preserved and made more distinct by thedespeckling process.Fig. 4. (color online) the cross section signals along the three white dot lines in Fig. 2, before(blue dotted) and after (red solid) denoising. The edge sharpness of the original image is wellpreserved in the denoising process. The denoising process also makes clearer the layeredstructure of the retina, as indicated by the more distinct peak values in the denoised signals.Much of the noise in the images has been reduced, which is most obvious in the background regions. To have a better comparison, Fig. 4 shows a one-dimensional cross-section of the image at the indicated white dotted line in Fig. 2, from images (a), (b) and (c),#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1029respectively. The despeckled signals are much cleaner than the original ones: the strong noise fluctuation in the original signals is attenuated, not only at the places where only noise resides, but also in other parts where noise is superimposed on the signals. And the attenuation of the speckle noise is achieved when the edge sharpness and image features of the original signal are both well preserved, demonstrating the ability of the algorithm in preserving signals while attenuating noise.The despeckling process makes some features of the object more obvious. For example, it is challenging, from the original signals (blue dotted lines) in Fig. 4 (a) and (b), to judge where the layered structure of the retina is, but it is much easier to do so from the denoised signals (red solid lines): the denoised signals, with the noised fluctuation removed, provide more distinct peaks and therefore the locations of the layered structure. This is especially useful for further automatic image analysis, as the less the ambiguity there is, the more accurate the results will be.Often times some image features are not distinct in a single image, but they are continuous across many neighboring images. In 2D despeckling, those weak image features tend to be attenuated with the speckle noise, as their amplitude and therefore transformed coefficients are close to those of noise. They, however, can be better preserved in 3D processing, as a three-dimensional curvelet transform would give relatively large coefficients for those continuous features across images than for randomly appeared speckle noise. An example is the two yellow features indicated by two black arrows in Fig. 3(c). They are easily discernible in the despeckled data, but can be barely observed from the image before despeckling. Another example is the photoreceptor inner and outer segment junction (IS/OS) indicated by the black arrow in Fig. 3(b), which is nicely continuous across images (along the direction of z) and distinct from its neighboring features, but the same feature is less distinct in the image before despeckling.To see this effect more clearly, Fig. 5 shows the same images in Fig. 2 denoised by 2D despeckling algorithm, where the threshold in the 2D algorithm [10] is chosen so that the crosscorrelation between Fig. 5(a) and Fig. 2(a) is the same as the crosscorrelation between Fig. 3(a) and Fig. 2(a). Not only the features indicated by the black arrows are more distinct and continuous in the 3D despeckling results, but also the layers of tissue where the white arrows reside in Fig. 5 are more preserved in the 3D results. The reason for this preservation difference is that these layers of tissue have the signals that are comparable to those of noise, as a result, when only a single image is despeckled in 2D despeckling, their transformed coefficients are close to those of noise and therefore can be attenuated easily. On the other hand, in 3D despeckling, because of the continuous features, the transformed coefficients are larger than those of noise and therefore are preserved better.Fig. 5. (color online) the same images shown in Fig. 2, but after denoising by the 2D curveletalgorithm. The features indicated by the black arrows are preserved and made more distinct bythe despeckling process, but to a less degree than the 3D algorithm. The layers of tissue wherethe white arrows reside are significantly attenuated, while those in 3D are largely preserved.#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1030The improvement of the image quality is also reflected in quality metric numbers. Table 1 lists the results of the quality metrics for three different thresholds of 3D method and one threshold for 2D method, and Fig. 6 shows the trend of SNR and crosscorrelation XCOR for more 3D thresholds. Comparing the original signal to the despeckled signal at threshold k=0.5, the signal to noise ratio is significantly increased by 32.59dB, the contrast to noise ratio is increased by 3.17dB, the sharpness, calculated based on the FWHM of the photoreceptor inner and outer segment junction (IS/OS) from the Fig. 4(b), is improved by 1.55 times, and the smooth region is more smooth after despeckling, with the equivalent number of looks increased by more than 3 times. All those are achieved when the crosscorrelation is 0.914. Although the number 0.914 might not seem ideal, as we have seen from Fig. 2, 3, and 5, the sharpness and features of the original images are still well preserved in the despeckled images.Table 1. Image Quality MetricsOriginal132.95 4.6430.4332.963D, k=0.40.91963.707.3794.3523.043D, k=0.50.91465.547.81102.9221.323D, k=0.60.91265.118.00181.4121.722D, k=0.50.91959.127.87169.6922.76Fig. 6. SNR and Crosscorrelation as a function of different threshold k in the 3D despecklingalgorithm. The algorithm improves the most SNR of 32.59 dB at k=0.5, and thecrosscorrelation between the original image and the despeckled image is 0.914. Thecrosscorrelation does not change much between k=0.6 and k=1.0, which demonstrates thecurvelet transform’s advantage in despeckling, as further explained in the text.With the increase of threshold k, as expected, SNR, CNR and ENL all increase while XCOR decreases. However, the signal to noise ratio does not always increase, instead it reaches the maximum of 65.54dB at k=0.5, then begins to drop to ~60dB at k=1.0, as shown in Fig. 6; the crosscorrelation decreases initially at small k values, and then it does not change significantly for k between 0.6 and 1.0. This is a very interesting phenomenon, as we would think the crosscorrelation should decrease all the time with increasing thresholds. It, however, is explainable and from another perspective, shows the advantage of processing in the curvelet domain; that is, curvelets provide a sparse representation so that most signal energy is concentrated in a limited number of curvelet coefficients, and the curvelet reconstruction error decays rapidly as a function of maximum curvelet coefficients. As a result, although increasing k leads to zeroing of more curvelet coefficients, so long as the threshold is not large enough to attack those limited number of major curvelet coefficients, an almost the same data can still be reconstructed and therefore the crosscorrelation does not vary much. Of course, increasing the threshold further would, eventually, lead to the loss of image features#118852 - $15.00 USD Received 21 Oct 2009; revised 14 Dec 2009; accepted 18 Dec 2009; published 7 Jan 2010 (C) 2010 OSA18 January 2010 / Vol. 18, No. 2 / OPTICS EXPRESS 1031。
最近想尝试一下小波的用法,就这matlab的帮助尝试了一下它的例子,顺便翻译了一下帮助的内容,发现matlab帮助做的确实不错,浅显易懂!现把翻译的文档写出来吧,想学习的共同学习吧!小波工具箱简介小波工具箱包含了图像化的工具和命令行函数,它可以实现如下功能:l 测试、探索小波和小波包的特性l 测试信号的统计特性和信号的组分l 对一维信号执行连续小波变换l 对一维、二维信号执行离散小波分析和综合l 对一维、二维信号执行小波包分解(参见帮助Using Wavelet Packets)l 对信号或图像进行压缩、去噪另外,工具箱使用户更方便的展示数据。
用户可以做如下选择:l 显示哪个信号l 放大感兴趣的区域l 配色设计来显示小波系数细节工具箱可以方便的导入、导出信息到磁盘或matlab工作空间。
具体详见File Menu Options一维连续小波分析这一部分来测试连续小波分析的特性。
连续小波分析只需要一个小波函数cwt。
在这一部分将学到如下内容:l 加载信号l 对信号执行连续小波变换l 绘制小波系数l 绘制指定尺度的小波系数l 绘制整个尺度小波系数中的最大值l 选择显示方式l 在尺度和伪频率之间切换l 细节放大l 在普通或绝对模式下显示系数l 选择执行小波分析的尺度使用命令行执行连续小波分析这个例子是一个包含噪声的正弦波1. 加载信号4. 选择分析的尺度cwt函数的第二个参数可以设定任意小波分析的尺度,只要这些尺度满足如下要求l 所有尺幅必须为正实数l 尺度的增量必须为正l 最高的尺度不能超过由信号决定的一个最大值如下面的代码可以执行从2开始的偶数尺度计算c = cwt(noissin,2:2:128,'db4','plot');显示结果如下这幅图像很明确的表示出了信号的周期性。
使用图形接口做连续小波分析1. 开启一维连续小波工具,只需输入如下命令wavemenu出现如下小波工具箱主菜单选择Continuous Wavelet 1-D菜单项,出现如下一维信号分析连续小波分析工具2. 加载信号选择菜单File->Load Signal,在Load Signal对话框里选择noissin.mat文件,它在matlab安装目录的toolbox/wavelet/wavedemo文件夹下,点击OK加载信号。
基于OpenCV的图像处理Image Processing Based On OpenCV摘要:OpenCV是近年来最受欢迎的计算机视觉应用库。
在其基础上编写图像处理代码效率得到有效提高。
本文旨在对OpenCV进行一个快速全面简介,通过介绍其数据结构、HighGUI库,图像处理函数使读者能快速形成对OpenCV印象。
文章详细介绍了2.4.4版本在VS2010中的安装测试说明。
读者能够在此基础上架构自己代码。
文章最后通过自适应阈值分割实例来介绍OpenCV的具体应用。
关键词:OpenCV VS2010 图像处理KeyWords: OpenCV VS2010 image processingAbstract: OpenCV is one of the most popular computer vision library in recent years. Prepared on the basis of its image processing code efficiency improved effectively. This paper aims to OpenCV for a rapid and comprehensive introduction, through the presentation of its data structures, HighGUI libraries, image processing functions so that readers can quickly form on the OpenCV impression. Finally, version 2.4.4 introduced in detail the installation in VS2010 test instructions. On this basis, the reader can structure their own code. Finally, the paper uses adaptive thresholding examples to introduce specific application of OpenCV.OpenCV诞生于Inter研究中心,采用C/C++编写,包含覆盖计算机视觉众多应用领域的五百多个函数。
形状:轮廓检测1-1 桑农,唐奇伶,张天序,基于初级视皮层抑制的轮廓检测方法,红外与毫米波学报,2007,26(1):47-51,601-2 唐奇伶,桑农,张天序,Contour detection based on contextual influence, Image and Vision Computing, (有电子文档)1-3 唐奇伶,桑农,张天序,Extraction of salient contours from cluttered scenes, Pattern Recognition, (有电子文档)更多内容见唐奇伶博士论文1-4 C. Grigorescu, N. Petkov and M.A. Westenberg, Contour detection based on nonclassical receptive field inhibition, IEEE Transactions on Image Processing, 2003, 12(7):729-739 (有电子文档)1-5 Zhaoping Li, A saliency map in primary visual cortex, TRENDS in Cognitive Sciences, 2002, 6(1): 9-16(有电子文档)1-6 Zhaoping Li, Visual segmentation by contextual influences via intra-cortical interactions in the primary visual cortex, Network: Comput. Neural Syst., 1999, 10:187-212 (有电子文档)图像分割2-1 桑农,张天序,曹治国,基于边缘约束的红外目标图像松弛分割技术,电子学报,1999,30(7):1027-1031 (有电子文档)2-2 闫成新,桑农,张天序,Local entropy-based transition region extraction and thresholding, Pattern Recognition Letters, 2003, 24(16): 2935-2941 (有电子文档)局部复杂度,度信息,小波变换,多阈值Y.J.Zhang, J.J. Gerbrands, Transition region determination based thresholding, Pattern Recognition Letters, 1991, 12(1): 13-23AM Groenewald, E Barnard, EC Botha. Related approaches to gradient-based thresholding, Pattern Recognition Letters, 1993, 14(7): 567-572Panda D P, Rosenfeld A. Image segmentation by pixel classification in (gray level, edge Value) space. IEEE Trans Computers, 1978, C-27(9):875-879更多内容见闫成新博士论文2-3 桑农,李恒,彭维雪,张天序,Knowledge-based adaptive thresholding segmentation of digital subtraction angiography images, Image and Vision Computing (有电子文档)Xiaoyi Jiang; Mojon, D.; Adaptive local thresholding by verification-based multithreshold probing with application to vessel detection in retinal images, IEEE PAMI, 2003, 25(1): 131-1372-4 谌海心,沈振康,夏放怀,一种基于目标特征的多门限图像分割方法,电子学报,1999,27(3):32-36 (有电子文档)2-5 E. Borenstein, E. Sharon, and S. Ullman. Combining top-down and bottom-up segmentations.In POCV04, 2004 (有电子文档)2-6 Bastian Leibe, Ales Leonardis, and Bernt Schiele. Combined Object Categorization and Segmentation with an Implicit Shape Model in ECCV’04 Workshop on Statistical Learning in Computer Vision, Prague, May 2004 (有电子文档)2-7 Anat Levin Yair Weiss, Learning to Combine Bottom-Up and Top-Down Segmentation (有电子文档)2-8 Tu, Zhuowen; Chen, Xiangrong; Yuille, Alan L.; Zhu, Song-Chun, Image parsing: Unifyingsegmentation, detection, and recognition, Proceedings of the IEEE International Conference on Computer Vision, v 1, 2003, p 18-25 (有电子文档)目标识别模型3-1 M. Riesenhuber, T. Poggio, Models of object recognition, Nature Neuroscience, 2000, 3: 11991204 (有电子文档)3-2 M. Riesenhuber, T. Poggio, Hierarchical models of object recognition in cortex, Nature Neuroscience, 1999, 2(11): 1019-1025 (有电子文档)3-3 T. Poggio, S. Edelman, A network that learns to recognize three-dimensional objects, Nature, 1990, 343(18): 263-2663-4. T. Serre, M. Riesenhuber, T. Poggio, Object-specific features, biological vision and real world object recognition, MIT Computer Science and Artificial Intelligence Laboratory, 2004 (有电子文档)3-5 Thomas J. Palmeri, Isabel Gauthier, Visual object understanding, Nature Neuroscience, 2004, 5: 1-13 (有电子文档)3-6 S. Ullman, M. Vidal-Naquet, E. Sali, Visual features of intermediate complexity and their use in classification, Nature Neuroscience, 2002, 5(7): 682-687 (有电子文档)3-7 Rodrigo Sigala, Thomas Serre, Tomaso Poggio, Martin Giese,Learning Features of Intermediate Complexity for the Recognition of Biological Motion. ICANN (1) 2005: 241-2463-8 Thomas Serre Lior Wolf Tomaso Poggio, Object Recognition with Features Inspired by Visual Cortex, CVPR'05 (有电子文档)3-9 Jim Mutch, Davia G. Lowe, Multiclass object recognition with sparse, localized features, CVPR'06,11-18 (有电子文档)模块化分类识别神经网络4 .Wang, S.Z.Der and N.M.Nasrabadi, Automatic target recognition using afeature-decomposition and data-decomposition modular neural network, IEEE IP, 1998, IP-7(8): 1113-1121 (有电子文档)运动:5-1 George Sperling, Zhong-Lin Lu, A systems analysis of visual motion perception, High-Level Motion Processing, 153-183 (有电子文档)5-2. Zhong-Lin Lu, George Sperling, Three-systems theory of human visual motion perception: review and update, Journal of the Optical Society of America, 2001, 18(9): 2331-2370 (有电子文档)5-3. Edward H Adelson, James R Bergen, Spatiotemporal energy models for the perception of motion, Journal of the Optical Society of America, 1985, 2(2): 284-299 (有电子文档)注意:6-1 L. Itti, C. Koch, E. Niebur, A Model of Saliency-Based Visual Attention for Rapid Scene Analysis, IEEE PAMI, 1998, 20(11):1254-1259 (有电子文档)6-2 Laurent Itti. Carl Gold, Christof Koch, Visual attention and target detection in cluttered natural scenes, Optical Engineering, 2001, 40(9): 1784-1793 (有电子文档)6-3 同1-26-4 同1-36-5 Erik Blaser, George Sperling, Zhonglin Lu, Measuring the amplification of attention, Proceedings of the National Academy of Sciences of the United States of America, 1999, 96(9): 11681-11686 (有电子文档)6-6 A maximum-likelihood strategy for directing attention during visual search (有电子文档)6-7 Automatic foveation for video compression using a neurobiological model of visual attention (有电子文档)6-8 Combining bottom-up and top-down attentional influences (有电子文档)6-9 Selective visual attention in object detection processes (有电子文档)。
OpenCV相机标定findChessboardCorners()与cornerSubPi。
OpenCV 官⽅⽂档findChessboardCorners():Finds the positions of internal corners of the chessboard.bool cv::findChessboardCorners( InputArray image, Size patternSize, OutputArray corners, int flags = CALIB_CB_ADAPTIVE_THRESH+CALIB_CB_NORMALIZE_IMAGE )Python:retval, corners = cv.findChessboardCorners(image, patternSize[, corners[, flags]])Parametersimage Source chessboard view. It must be an 8-bit grayscale or color image.patternSizeNumber of inner corners per a chessboard row and column ( patternSize = cvSize(points_per_row,points_per_colum) = cvSize(columns,rows)). corners Output array of detected corners.flags Various operation flags that can be zero or a combination of the following values:CALIB_CB_ADAPTIVE_THRESH Use adaptive thresholding to convert the image to black and white, rather than a fixed threshold level (computed from the average image brightness CALIB_CB_NORMALIZE_IMAGE Normalize the image gamma with equalizeHist before applying fixed or adaptive thresholding.CALIB_CB_FILTER_QUADS Use additional criteria (like contour area, perimeter, square-like shape) to filter out false quads extracted at the contour retrieval stage.CALIB_CB_FAST_CHECK Run a fast check on the image that looks for chessboard corners, and shortcut the call if none is found. This can drastically speed up the call in the degene no chessboard is observed.The function attempts to determine whether the input image is a view of the chessboard pattern and locate the internal chessboard corners. The function returns a non-zero value if all of the corners are found and they are placed in a certain order (row by row, left to right in every row). Otherwise, if the function fails to find all the corners or reorder them, it returns 0. For example, a regular chessboard has 8 x 8 squares and 7 x 7 internal corners, that is, points where the black squares touch each other. The detected coordinates are approximate, and to determine their positions more accurately, the function calls cornerSubPix. You also may use the function cornerSubPix with different parameters if returned coordinates are not accurate enough.cornerSubPix():Refines the corner locations.Python: cv2.cornerSubPix(image, corners, winSize, zeroZone, criteria)Parameter:image Input imagecornersInitial coordinates of the input corners and refined coordinates provided for outputwinSize Half of the side length of the search window. For example, if winSize=Size(5,5) , then a 5*2+1 x 5*2+1 = 11 x 11 search window is used.zeroZone Half of the size of the dead region in the middle of the search zone over which the summation in the formula below is not done. It is used sometimes to avoid possible singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such a size.criteria Criteria for termination of the iterative process of corner refinement. That is, the process of corner position refinement stops either after criteria.maxCount iterations or when the corner position moves by less than criteria.epsilon on some iteration.。
record, Figure 15 shows the result for the rotated image. It seems unlikely that further develop-ments would produce a technique that generates significantly better results, so this is currently used for the DigitalDesk. The maximum amount of time it takes to run (for a full 768 x 575image) is about 2 seconds on a SPARCstation 2 without paying special attention to optimization.Steve Freeman has modified this algorithm to go about 6 times faster by hard-coding multiplica-tions and divisions to use powers of two so that shifting can be used instead. Further optimizations are possible, but will not make much difference for most interactions because they typically only operate on a small part of the image. For thresholded full-frame video as used by the DoubleDigi-talDesk, and BrightBoard [6] however, these optimizations will be more important.AcknowledgementsThanks to Mike Flynn, Mik Lamming, Peter Robinson, Steve Freeman, and Quentin Stafford Fraser for helpful discussions on this topic.References1Castleman, K. R.Digital Image Processing , Prentice-Hall, Englewood Cliffs, N.J. 1979.2Bartz, M. R. “The IBM 1975 Optical Page Reader. Part II: Video Thresholding System”IBM Journal of Research and Development, Sep. 1968, pp. 354-363.3Floyd, R. W. and Steinberg, L. An Adaptive Algorithm for Spatial Greyscale.Proceedings of the S.I.D 17, 2 (sedond quarter 1976), 75-77.4Haralick, Robert M. and Shapiro, Linda G. “Image Segmentation Techniques” Computer Vision, Graphics and Image Processing 29 January 1985, pp. 100-132.5Pratt, William K.Digital Image Processing John Wiley & Sons 1991.6Stafford-Fraser, Quentin "Brightboard..."7Weszka, Joan S. “A Survey of Threshold Selection Techniques” Computer Graphics and Image Processing 7, April 1978, pp.259-2658Standard reference to half-toning and ditheringFigure 15: thresholding an image with vertical lighting variationNotice how well-formed all the letters are. Also, this is one of the few algorithms that does noteliminate the thin horizontal line below the word “PaperW orks.” Images whose intensity change mainly in the vertical direction are not as challenging as ones that change horizontally, but for the Figure 14: moving average alternatively from left to right and from right to left andaveraging the two together.site result from going in the other, producing an every-other-line effect. (See Figure 13 which is printed a little larger to show the effect better.) Superficially, this image may not look as pretty, but it is better than any of the previous algorithms in important ways because there are no big holes or parts of letters missing. The result is basically a combination of Figure 10a and Figure 10b, but the right-hand shadow has the every-other-line effect because when coming from the left, the background gets darker and the intensity of the shadow falls below the threshold, producing black. When the moving average wraps around the edge and includes the dark black edge (due to over-scanning), the threshold falls below the intensity of the shadow and the result is white as it traverses from right to left.A small modification of this algorithm gets rid of the every-other-line effect and produces consis-tently good results across a wide range of images. The modification is to keep the previous line of approximate averages (which were calculated by scanning in the opposite direction) and to aver-age the current line’s average with the previous line’s average, so we useThis lets the threshold take some account of the vertical axis and produces the results in Figure 14.Figure 13: moving average alternatively from left to right and from right to left.h n ()g n ()g n width −()+2=to calculate.Instead of traversing the image from left to right or right to left, another possibility is to traverse it alternatively from the left and from the right as illustrated in Figure 12. [This way of scanning wascalled by the ancient Greeks boustrophedon , or "as the ox plows."] It makes very little difference with the centered average (as seen in Figure 11b), but if we go back to using the approximate moving average defined by g(n), then alternate scanning improves things. The only anomaly is inthe “gray” regions of an unevenly lit image, where going in one direction can produce the oppo-Figure 11b: centered moving aver-age scanning in alternate directionsFigure 11a: centered moving aver-age scanning from left to right.Figure 12: traversing pixels in alternate direction every other line.p nis to use sp 0, but because of edge effects,p 0 is not always a representative value, so another possi-bility is 127s (based on the midvalue for 8 bit pixels). In either case, this choice only affects the first few values of g. The weight of g (0) relative to the total of all weights used in calculating g s (n)isso if s = 10, for example, then for any n > 6,g(0) contributes less than 10% of g 10(n ); for any n >22,g(0) contributes less than 1%. For s = 100, less than 10% happens after 8 pixels and less than 1% happens after 68 pixels.The results from using this approximate moving average are similar (actually better) than the pre-cise moving average, as can be seen in Figure 10a and Figure 10b.It would be good if the moving average did not work better with lighting from one direction or an other. Figure 11a shows the result of using another method to calculate the moving average.Instead of using the trailing line behind each pixel, it uses (an evenly weighted, not approximate)moving average that is centered about the n th pixel. This uses a definition of f(n) whereUsing this method there are still some significant gaps in the letters, however, and it is also slower 11s−()n 11s −()ni 0=n∑Figure 10b: approximate movingaverage scanning from right to left.Figure 10a: approximate movingaverage scanning from left to right.f s n ()p n s 2i −+i 0=s 1−∑=best results for a variety of images. Figure 9a shows the result of using this algorithm scanning the rows of pixels from left to right. Figure 9b is exactly the same algorithm except the moving aver-age scans from right to left. Notice in this image, that the left-most letters of the smaller text are incomplete, and there are more holes in the word PaperW orks. Also, the right-most black edge is much narrower. This is all because the background lighting of the image gets darker from left to right.A fast way to calculate an approximate (weighted) moving average is to subtract 1/s part of it and add the value of only the latest pixel instead of using all s pixels. Thus g(n) is an approximation of f(n) whereThe main difference between f (n) and g(n) is that g(n)puts more weight on the pixels that are closest to n , which is good (in fact the weighting function is exponential). Notice that if all values of p n are the same, then g(n) = f(n). For example, if s = 2, thenand g 2(n) = f 2(n) =2p n because g 2(n-2)=2p n .A remaining question is how to start the algorithm, or what value to use for g(0). One possibility Figure 9b: moving average scan-ning from right to left.Figure 9a: moving average scan-ning from left to right.g s n ()g s n 1−()g s n 1−()s −p n+=p n =11s−()+g s n 1−()⋅p =n 11s −()p n 1−11s−()2p n 2−++. . .11s−()i p n i −i 0=n ∑=g 2n ()p n p n 1−2g 2n 2−()4++=to vary smoothly across the image, and the result can be very bad (see in Figure 8.)Quick Adaptive ThresholdingMost algorithms in the literature are more complex than W all’s algorithm, require more passes through the image and would take even longer to run e.g . [4, 5, 7]. It seems possible to implement a much simpler and faster algorithm for adaptive thresholding, so this section describes the steps taken so far in that direction for the DigitalDesk.The basic idea is to run through the image while calculating a moving average of the last s pixels seen.When the value of a pixel is significantly lower than this average it is set to black, otherwise it is left white. Only one pass through the image is necessary, and the algorithm is simple enough to be implemented in hardware. It is interesting to note the similarities between the following algorithms and the one developed at IBM using analog hardware in 1968 [2].Let p n represent the value of a pixel at point n in the image being thresholded. For these purposeswe treat the image as though it were a single row of pixels composed of all the rows in the image lined up next to each other.Let f s (n) be the sum of the values of the last s pixels at point n .The value of the resulting image T (n) is either 1 (for black) or 0 (for white) depending on whether it is t percent darker than the average value of the previous s pixels.Using 1/8th of the width of the image for the value of s and 15 for the value of t seems to yield the Figure 8: local histograms can be fooled. . .p n-s f s n ()p n i−i 0=s 1−∑=T(n ) = 1 if p n f s n ()s()100t −100()<0 otherwisethresholding, and as a consequence, there is also no standard or optimal method for doing it [5] (p. 597). Instead, there are several ad hoc methods, some of which are more popular than others. Because the methods are ad hoc, it would be useful to be able to measure their performance. For this, Haralick and Shapiro [4] propose the following guidelines: regions should be uniform and homogeneous with respect to gray tone; region interiors should be simple and without many small holes; adjacent regions should have significantly different values; and boundaries of each segment should be simple, not ragged, and must be spatially accurate.According to Pratt, no quantitative performance metric has been developed for image threshold-ing. It seems the main way to evaluate an algorithm is simply to look at the result and judge whether it looks right. For images of text, there is a quantitative possibility. The result of various algorithms under various lighting conditions could be fed to an OCR system, and the text pro-duced from this can be compared to the original text. Although potentially useful, this approach was not systematically used for the algorithms described below, because it was deemed unlikely to give a different evaluation from the “looks better” judgement.For interactive applications of the DigitalDesk, users must wait for thresholding to finish when completing interaction techniques such as “copy and paste” of text or graphics. So another impor-tant quantitative performance metric is speed. The following sections describe various adaptive thresholding algorithms and show the results they produce.Adaptive thresholding based on Wall’s algorithmOne technique for calculating a threshold that varies across the image according to background illumination was developed by R. J. Wall and is described in [1]. The following algorithm is loosely based on this description. First, it breaks up the image into smaller tiles and calculates a histogram for each tile. Based on the peaks of these histograms, a threshold is chosen for each tile. Then, every point in the image is assigned a threshold by interpolating between the values chosen for each tile. Figure 7 was generated from the same gray image as Figure 6, but using this tech-below the peak. From these values, 16 tiles were formed with their corners at the center of each of the 9 tiles, and the threshold values were interpolated across each of these tiles from the corners. The result is much better than global thresholding, but because it requires more than one pass through the image, it is quite slow. Another problem with this technique is that with some images, the local histograms can be fooled by a large amount of black or white, causing the threshold notMuch of the text then becomes unreadable, as illustrated in Figure 6.Producing good thresholded images from paper that is unevenly lit requires an adaptive thresh-olding algorithm. This technique varies the threshold value across the image according to the background illumination at each pixel. The discussion below is illustrated with the results of algo-rithms applied to the image in Figure 6. This is a challenging test because the image is lit from the side, and it has black text on a white background (the word “PaperW orks”), white text on a black background (“XEROX”), gray text on a white background (“The best way...”), various shadows,and a thin horizontal black line under the word “PaperW orks.”Adaptive ThresholdingAn ideal adaptive thresholding algorithm would produce the same result when applied to an unevenly lit page as a global thresholding algorithm would produce when applied to a perfectly evenly lit page. The brightness of each pixel is normalized to compensate for being more or less illuminated, and only then is a decision made as to whether the result should be black or white.The question then, is how to determine the background illumination at each point. One simple way to do this is to grab the image of a blank page before grabbing the page to be thresholded.This blank page can then be used as a reference image. For each pixel to be thresholded, the value of the corresponding pixel in the reference image is subtracted before applying the threshold.This method produces very good results as long as the lighting does not change between the time when the reference image and subject image are each grabbed. On a desk, however, the lighting changes frequently as the user's shadow moves across the desk or doors, lamps and other objects are moved about. If there is a window in the room, then the lighting also changes throughout the day. One solution might be to immediately precede each grab with a reference grab of a blank page at the same location, but this would be almost as inconvenient to use as a scanner, thus defeating an important reason for using an overhead video camera in the first place.Another solution is to try to estimate the background illumination at each pixel by making some assumptions about what the image should look like. We could assume, for example, that the image is mostly background (e.g. white), and that dark markings make up a smaller part of the image. Another assumption we could make is that the background lighting changes relatively slowly across the page compared to the changes in light and dark due to marks on page. Manyalgorithms based on such assumptions are possible. There is no mathematical theory of adaptive Figure 6: global thresholding of unevenly lit imageThis histogram-based global thresholding technique works quite well for images that are evenly lit or, as in the examples above, for images that represent very small parts of paper where the light does not vary much. But it fails to produce good results for larger areas and in normal office light-ing where the range of brightness varies greatly across the desk. Because a single global thresholdvalue is used for the entire image, some parts of the image become too white and others too dark.threshold at 134lost in the noise, so it is impossible to reliably locate a local minimum between peaks.Figure 4: Grabbed image with “dark” peak almost lost in the noiseIn any case, a large (background) peak is always present and easy to find, so a useful strategy for thresholding an image is the following:1)Calculate the histogram.2)Locate the large peak by finding the maximum value of a moving average of the histogramcurve. The moving average smooths out the effects of noise on the maximum value, asshown in Figure 3 and Figure 4.3)Select the threshold value at a certain proportion of the distance between this peak and theminimum value.Experimentation seems to indicate that 1/2 of this distance produces quite good results in a broad range of lighting conditions ranging from very bright to almost completely dark. The figures below show an image grabbed under four different lighting conditions and the result from apply-ing this histogram-based global thresholding algorithm to each. Despite the wide range of lighting (as can be seen from the histograms) this algorithm selects an appropriate threshold in each case, and the thresholded result for each is almost identical.will be of the dark ink. A histogram of the pixel intensities should look something like Figure 2.A large background peak should be visible, as well as a smaller peak for the dark ink. The whole curve might be shifted to the left or right depending on the ambient light level, but in any case, the best value to pick for thresholding is the local minimum between the two peaks. This is fine in theory, but how well does it work in practice? Figure 3 shows a frame-grabbed image and its his-togram for which the technique works well. The smoothed histogram shows two prominent peaks,and it would not be difficult to calculate a near-ideal threshold by fitting a curve to this histogram or even taking the midpoint between the two peaks. This is not a typical image, however, because it has large amounts of both black and white. The DigitalDesk must also be able to threshold images like the one in Figure 4. In the histogram of this image, the smaller “dark” peak is almostFigure 2: theoretical histogramFigure 3: Grabbed image with clearly bimodal histogramtext images to an optical character recognition (OCR) server. The system cannot use the gray images (typically 8 bits per pixel), so it must convert them to black and white images (one bit per pixel). There are many ways to do this. In some cases, when the resulting black and white image is meant to be viewed by people, it should look as much as possible like a gray-scale image and the image is dithered or half-toned(using a technique such as [3]) to produce a result like Figure 1. Although this image looks like a gray-scale image, it is made up of small black and white spots of varying patterns, densities and sizes. Human vision makes sense of these images almost as well as the gray images and the original black and white images. But for machine processing opera-tions, such as character recognition, select & paste operations, and merging together of many dif-ferent images, the system cannot use dithered or half-toned images. Although only one bit per pixel, these images are even less suitable for machine processing than the original gray-scale images. The system needs simple patterns of lines, characters, and relatively large patches of black and white. The process by which these types of black and white images are generated from gray images is commonly referred to as thresholding, and it is an important requirement for any digital desk system.There are many ways to threshold an image, but the basic process is to examine each gray pixel and decide whether to make it either black or white. This report describes the various techniques that were developed and tested for thresholding on the DigitalDesk, and it ends with the descrip-tion of an algorithm that was found to be suitable. This algorithm (here called “quick adaptive thresholding”) may not be the best possible, but it works well enough that other problems of the DigitalDesk became more important when the work reached the stage described here.Global ThresholdingIn a way, thresholding can be seen as an extreme form of contrast enhancement, or making light pixels lighter and dark pixels darker. The simplest (and most common) way to threshold an image is to set all pixels below a certain gray-level to black, and to clear all others to white. The question then is how to select this gray-level. One possibility is to pick the center of the range of possible values, so if pixels are eight bits deep (ranging from 0 to 255), for example, then 128 would be selected. This approach works well if all the “dark” pixels of the image really do have values under 128, and light pixels have values above 128, but if the image is over or under exposed, then the result might be all white or black. It is better to look at the range of actual values instead of possible values to determine the threshold. The maximum and minimum values for each pixel in the image can be found, then the midpoint used as the threshold. An even better way to select the threshold is not just to look at the range of actual values, but also their distribution. If, for exam-ple, you expect the image to be of black line art, or text on a white background then you expect that most pixels will be the intensity of the background and a smaller but significant proportionAdaptive Thresholding for the DigitalDeskPierre D. Wellnerwellner@Introduction to the problemThe image produced by a video camera pointing at black printing on a white sheet of paper is not truly black and white. This image is gray-scale (or color) no matter where the camera is pointed. Unless lighting on the desk is carefully controlled, video images of paper lying on the desk are poor representations of the originals. Unlike the inside of a scanner or photocopier, it is very diffi-cult to guarantee even lighting across the surface of a desk. This open space may be exposed to desk lamps, overhead lights, windows or moving shadows, all of which can cause varying bright-ness across the page. Human vision compensates for this, but when the image of paper on the desk is manipulated by machine without taking these variations into account the results can be very bad. In Figure 1, for example, the background of the right hand “in case of emergency” box does not match the surrounding background, leaving a distinct edge. The box on the right appearsFigure 1: copy & paste with an unevenly lit gray-scale image.lighter than the box on the left, even though it is an exact copy (fold this page if you want to check). The only difference is in the brightness of the surrounding background. It gets darker from left to right because the light was on the left side of the paper from which this image was grabbed, This problem is most noticeable when dealing with high contrast line art or text because the orig-inal document is genuinely black and white, yet the camera produces an image of varying levels of gray. Many applications prototyped on the DigitalDesk must clearly determine which parts of the image are meant to be black or white in order to project line art back onto the desk, or to pass。