1 / 35

A Comparison of Deterministic and Stochastic Logic for Image Processing Applications

ECE 753 PROJECT. A Comparison of Deterministic and Stochastic Logic for Image Processing Applications. U nder the guidance of Dr. Kewal Saluja Presented By Rakesh Roshan Amalraj Rasika Joshi Gayatri Vishwanathan University of Wisconsin - Madison

jin-booker
Download Presentation

A Comparison of Deterministic and Stochastic Logic for Image Processing Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 753 PROJECT A Comparison of Deterministic and Stochastic Logic for Image Processing Applications Under the guidance of Dr. KewalSaluja Presented By RakeshRoshanAmalraj Rasika Joshi GayatriVishwanathan University of Wisconsin - Madison Dept. of Electrical & Computer Engineering 1

  2. Outline • Motivation • Introduction to Stochastic Logic • Relevance in Real Time Signal Processing • Stochastic Architecture • Analysis for Gamma Correction • Analysis for Edge detection • Architecture for Mean filter • Fault Injection Methods • Results and Discussion • Conclusion and Future Work

  3. Motivation • Progressive scaling • Necessity for Fault tolerance especially in Real-Time applications • Continuing downscaling of IC design calls for power efficiency • Need for hardware with smaller area • Increasing need to meet timing requirements at a high rate of accuracy • Existing methods -> ECC and hardware redundancy

  4. Why Stochastic Computing??? • Randomness->valuable resource • Convert probability values into another - statistical bit stream • Compared to Deterministic computing, lacks place value -> no MSB and LSB • Computation is robust

  5. Stochastic for Image Processing Applications • SC and real time image processing can handle image intensities and probabilities with good noise tolerance. • SC supports massive parallelism. • Hardware cost is less • Outperforms binary computing in processing tasks involving stored images. • High fault tolerance

  6. How does it work really? The interpretation of Digital logic Blocks is considered differently: Egs- A mux can be a scaled adder, an AND gate can be a multiplier, OR gate an adder and so on

  7. Not every input can be represented in a probabilistic bit sequence • The range of inputs should be within [0,1] and the outputs should fall in same interval • To accommodate inputs greater than 1, they are generally scaled by a factor to bring them within [0,1] interval. • Any polynomial function can be represented in Stochastic logic-only if coefficients lie between [0,1] or else they are converted to Bernstein Polynomials:

  8. Continued… • Non polynomial functions such as trigonometric functions etc. can be converted using the Bernstein Approximation: But for our designs we merely use approximated versions of the Bernstein Coefficients to suit the application.

  9. Stochastic Architecture Generate input Stochastic bit stream using LFSRs

  10. Schematic Diagram

  11. Modus operandi:

  12. Gamma Correction • A popular image processing Technique used to apply contrast to images. • The operation applied: Vout=A*Vin^(ϒ). Factor used is usually 0.45 • Generally Complex floating point number Crunching Involved • Hefty N-bit adders, Multipliers, Subtractors shown in Fig.(b)

  13. Results for Gamma Correction • 4-BIT IMAGE (Bird) • 8-BIT IMAGE (Lena) A1 B1 B2 A2 A1 and B1 are deterministic gamma corrected Images A2 and B2 are Stochastic Gamma Corrected Images

  14. Edge Detection • An edge in an image is a significant local change in the image intensity. • Typically occurs on the boundary between two regions in an image.

  15. What Causes Intensity Changes? • Geometric events • Surface orientation (boundary) discontinuities • Depth discontinuities • Color and texture discontinuities • Non-geometric events • Illumination changes • Specularities • Shadows • Inter-reflections

  16. Image to Edge map • Important features can be extracted from the edges of an image (e.g., corners, lines, curves). • These features are used by higher-level computer vision algorithms (e.g., recognition).

  17. Stochastic Implementation • The edge detection implementation is based on the Robert Cross Algorithm. • Uses Parallel Processing to deal with the every pixel of the input matrix.

  18. Deterministic Implementation • Synthesis shows that stochastic design has less area-delay and power dissipation. • Stochastic design Provides maximum parallelism .

  19. Mean Filter or Smoothing Filter • ‘MEAN filter’ computes the average of the neighboring pixels of every pixel in the image matrix and performs a smoothing effect that would render certain types of noises ineffective.

  20. Mean Filter Architecture • Deterministic Implementation would require many adders and a multiplier • In stochastic domain MUXes can function as a scaled adders as shown before • Cases to be considered: • a) Image pixels in the four corners were given only 3 neighbors. • b) Image pixels in the last row were given an accommodation of 4neighbors. • c) Image pixels well into the matrix were given a maximum of 8 neighbors. • d) Image pixels in the last column of each row of the matrix were assigned 4 neighbors. Inputs would be 8 pixel neighbours Select Lines: A=B=C=0.5

  21. Fault Injection Methods • Fault injection was done for all three applications Gamma Correction, Edge Detection and Mean Filtering to compare the fault tolerance capabilities of  the Deterministic and Stochastic logic • Two types of Faults were introduced: • Soft Errors (Random Bit Flips ) • Salt & Pepper Noise in Images

  22. Fault Injection

  23. Fault Injection (contd.)

  24. Problems faced Results and Discussion • IMPLEMENTATION DETAILS: • Implemented of hardware modules : Verilog HDL • Simulations and Introduction of Bit Flip Faults : ModelSim • Synthesis : DesignVision • Pre-processing of input images, Processing of the simulation outputs to Images, Salt & Pepper fault-injection and obtaining PSNR and SSIM Index : MATLAB • METRICS USED TO ASSESS FAULT-TOLERANCE : • PSNR: Peak Signal to Noise Ratio value is in dB and a PSNR of 50-70dB is considered a good image. • SSIM: Structural SIMilarity index measures the similarity between two images. It is a quality measure of one of the images being compared, with the other image as reference. An SSIM index of 1 implies the two images are equal and any value above 0.7 is considered a decent quality image.

  25. Problems faced Results and Discussion (contd.) (c) (d) (e) (f) Gamma Correction

  26. Problems faced Results and Discussion (contd.) a) Original Lena (8 bit Image) and b) Gamma Corrected through Matlab (b) (a ) Deterministic Gamma Correction Stochastic Gamma Correction (c) (f)(g) (e) (d) Table 2: Comparison of SSIM and PSNR for Stochastic and Deterministic Implementations of Gamma Correction for 8bit Image and below, graphs representing the data given above. Figure 10: 4bit ‘Bird’ Image Gamma Corrected: (c) No Fault (d) 6.25% fault (e) 12.5% fault (f) 20% fault (g) 25% fault

  27. Results and Discussion (contd.) b) 8-bit Image

  28. Results and Discussion (contd.) Figure 12: Edge Detection for Lena 8bit Image Deterministic Edge Detection (a) No Fault (b) 5% Salt&Pepper (c) 10% Salt&Pepper Edge Detection Stochastic Edge Detection

  29. Results and Discussion (contd.) • a) No Fault (b) 5% Error (c) 10% Error Stochastic Mean Filter Deterministic Mean Filter Mean Filtering

  30. Results and Discussion (contd.) Hardware Statistics

  31. Conclusion (Summary) • We have studied the functioning, advantages and disadvantages of Stochastic Logic versus Deterministic Logic • Carried out hardware implementation of Image Processing applications, such as Gamma Correction, and Edge Detection in Stochastic and Deterministic Logic • Proposed a simple yet effective design for implementing an Averaging or Smoothing Filter in Stochastic Logic and compared its performance • Injected Faults and compared the Fault tolerance capabilities for Image Processing applications using the SSIM and PSNR metrics

  32. Take Away Table : Overall Comparison of Deterministic and Stochastic Implementation Logic

  33. Future Work • Tackle the overhead of delay introduced by randomizing and derandomizing the input and output signals • Efficient use of the randomizer and derandomizer modules to further reduce area are of top priority. • Explore more critical applications such as control signals or avenues such as audio signal / speech processing, apart from Image Processing applications. • Expand the possible range of functions that can be implemented through Stochastic Logic • Stochastic Logic can offer a paradigm shift in digital circuit design and if not escape the power wall, at least delay it

  34. References • Main References • Weikang Qian; Xin Li; Riedel, M.D.; Bazargan, K.; Lilja, D.J., "An Architecture for Fault-Tolerant Computation with Stochastic Logic," Computers, IEEE Transactions on , vol.60, no.1, pp.93,105, Jan. 2011 • Alaghi, A.; Cheng Li; Hayes, J.P., "Stochastic Circuits for Real-Time Image-Processing Applications," Design Automation Conference (DAC), 2013 50th ACM / EDAC / IEEE , vol., no., pp.1,6, May 29 2013-June 7 2013 • Li, Peng, and David J. Lilja. "Using Stochastic Computing to Implement Digital Image Processing Algorithms." Computer Design (ICCD), 2011 IEEE 29th International Conference on. IEEE, 2011.

  35. THANK YOU!

More Related