Have you ever imagined how our facial patterns are recognized; or how the antiskid braking system works; all these are put into the application using Fuzzy logic toolbox, because of its computational perception properties. It deals with information that arises from cognition, that is, uncertain or imprecise or vague depending upon the situation. It gives us a broader view of a more in-depth analysis, which provides us a better assessment of options.
Fuzzy logic toolbox – An Introduction
Fuzzy logic has two different meanings. In a narrow sense, fuzzy logic is a logical system, which is an extension of multivalued logic. However, in the broader sense, Fuzzy Logic (FL) is almost synonymous with the theory of fuzzy sets. This theory relates to classes of objects with unsharp boundaries in which membership is a matter of degree.
Fuzzy Logic Toolbox provides us with functions, apps, and blocks of Simulink, which are used for analyzing, designing, and simulating systems based on fuzzy logic. This toolbox guides us through the steps of designing fuzzy inference systems. In its functions are provided for many standard methods, including fuzzy clustering and adaptive neuro-fuzzy learning.
This toolbox lets us model complex system behaviors using simple logic rules, and then implement these rules in a fuzzy inference system. We can use it as a stand-alone fuzzy inference engine. Alternatively, we can use fuzzy inference blocks in Simulink and simulate the fuzzy systems within a comprehensive model of the entire dynamic system.
Fuzzy Inference system
The fuzzy inference system can be referred to as the critical unit of the fuzzy logic system. Its primary function is based upon decision making. The rules which it follows is "IF <_condition_>THEN", which is connected through "OR" or "AND".
Let's take an example, if one condition is satisfied, then the rule is applicable. Now take the example of two rules which are applicable or suppose two situations are applicable, and you must draw the decision, keeping in mind both. Here the work of connectors come. We will be using connectors for implementing 2 rules or conditions simultaneously.
Now let's have an overview of the functional blocks of the Fuzzy Inference System.
Rule Base – It contains a different set of rules. The rules are generally IF-THEN based.
Database – It defines the fuzzy sets by defining the membership functions. These fuzzy sets are used in fuzzy rules.
Decision-making Unit – Perform different operations on the rules and provide us the decisions.
Fuzzification interface unit – its purpose is to convert the crisp input quantities into fuzzy quantities. The input that we will be provided to the inference system, the fuzzification unit will convert that into fuzzy quantities.
Defuzzification interface unit – it converts the fuzzy quantities into crisp quantities because, at the end of the process, some numerical value is required, and for that purpose, we need this conversion.
- A fuzzification unit supports the application of numerous fuzzification methods and converts the crisp input into fuzzy input.
- A Knowledge Base – Collection of rule base and database is formed upon the conversion of crisp input into fuzzy input.
- The defuzzification unit – Fuzzy input is finally converted into crisp input.
The Fuzzy inference methods are classified into two major categories, direct methods and indirect methods. The Direct methods include the Mamdani method and Takagi and Sugeno methods which are the most used. We encounter a difference between the two while obtaining the output. Indirect methods have proven to be tricky.
There are 2 crucial methods of fuzzy inference system, having different fuzzy rules. They are
Mamdani Fuzzy Inference system
Takagi-Sugeno Fuzzy Model (TS Method)
Now let's understand each of the methods involved in details.
Mamdani Fuzzy Inference System
This system was proposed in 1975 by Ebhasim Mamdani, so it got its name from it. It is commonly used in applications, like controlling a steam engine and boiler combination by synthesizing a set of fuzzy rules obtained from the people working on the system due to its simple structure of 'min-max' operations.
We will now go through the steps involved in the process. For this, we will consider a real-life example of giving tips for the service received at a restaurant. Based on this, we give a rating between 0 and 10 that represents the quality of service at a restaurant, which helps in evaluating the results.
Evaluating the antecedent for each rule.
Through our input values (crisp values), we obtain their membership values. This process is termed as input fuzzification. If the antecedent of the rule has more than one part, a fuzzy operator (t-norm or t-conorm) is applied to obtain a single membership value.
When fuzzifying initially, the antecedent (service is excellent) we obtain the rating to which the service is excellent. For example, if we rate it as 3 (which gives a wrong impression when measured according to the highest limit, 10), which means that the service provided is low as a result, we obtain membership function as 0. In the second part of the antecedent (food is delicious), if we rate it as 8 (which gives a good impression when measured according to the highest limit, 10), which means that the service provided is suitable as a result, we obtain membership function as 0.7.
Now we can see that the 2 statements are joined by a "OR" (service is excellent, or food is delicious), we apply OR operation. A decision is made that is any of the conditions is satisfied, we obtain the membership function. This gives the maximum value as a result
Suppose if it was joined by "AND" then the membership function obtained would have been the minimum.
Obtaining the conclusion of each rule applied
From the result that we obtained from step 1 by evaluating the antecedents, we now apply a fuzzy implication operator to obtain a new fuzzy set for the further process.
By using the minimum operator, we can scale down the output received.
Summing up the conclusions
In this step, we will be combining all the outputs for the rules specified in the previous step, into a fuzzy set. This will be done using the fuzzy aggregation operator.
Examples of some aggregation operators are:
The Maximum
The Sum
The Probabilistic sum
Defuzzification
While solving any decision-based problem, we want the answer in numeric form or crisp values instead of a fuzzy set.
Like considering the above example, we want to know the number of tips which we want to give for the services received instead of knowing the quality of tips. For this, we transform our fuzzy set, which we obtained in the above example into a numeric value. So, for every Mamdani, some simple steps are to be followed, which are as:
Step 1.
We must determine the fuzzy rules involved.
Step 2.
By using the input membership functions, we will be making the input values or crisp quantities fuzzy
Step 3.
In this step, we will be establishing the rule strength by combining the fuzzified inputs according to the fuzzy rules.
Step 4.
Now the process will go to the other part; that is the consequence, and previously, we were dealing with the antecedent. We will determine the consequences of rule by combining the rule strength and the output membership function.
Step 5.
For getting the output distribution, combine all the consequences. From this, we obtained the defuzzified output distribution is obtained.
After the fuzzification process is done and we receive our output, but the output received is in the form of a fuzzy set and not in numeric or crisp quantities. So, for this, we need to transform the fuzzy set into numeric value or crisp quantities.
For this purpose, we use the defuzzification process called the centroid.Through the process pf centroid, we obtain the center value of the output received in the aggregation process
- Fuzzy logic helps in solving the day to day life situations.
- The concepts involved are straightforward to understand and implement.
- It is quite flexible, as it is effortless to modify. We can modify the fuzzy inference system (FIS) just by editing the rules, and there is no need for the creation of other FIS of the same purpose.
- Its flexibility is extended as it can be integrated into other classic control techniques.
Examples where fuzzy logic is used
Product | Company | Fuzzy Logic |
Anti-lock brakes | Nissan | Use fuzzy logic to controls brakes in hazardous cases depend on car speed, acceleration, wheel speed, and acceleration |
Auto transmission | NOK/Nissan | Fuzzy logic is used to control the fuel injection and ignition based on throttle setting, cooling water temperature, RPM, etc. |
Auto engine | Honda, Nissan | Use to select gear based on engine load, driving style, and road conditions. |
Copy machine | Canon | Using for adjusting drum voltage based on picture density, humidity, and temperature. |
Cruise control | Nissan, Isuzu, Mitsubishi | Use it to adjusts throttle setting to set car speed and acceleration |
Dishwasher | Matsushita | Use for adjusting the cleaning cycle, rinse and wash strategies based depend upon the number of dishes and the amount of food served on the dishes. |
Elevator control | Fujitec, Mitsubishi Electric, Toshiba | Use it to reduce waiting for time-based on passenger traffic |
Golf diagnostic system | Maruman Golf | Selects a golf club based on golfer’s swing and physique. |
Fitness management | Omron | Fuzzy rules are implied by them to check the fitness of their employees. |
Kiln control | Nippon Steel | Mixes cement |
Microwave oven | Mitsubishi Chemical | Sets lunes power and cooking strategy |
Palmtop computer | Hitachi, Sharp, Sanyo, Toshiba | Recognizes handwritten Kanji characters |
Plasma etching | Mitsubishi Electric | Sets etch time and strategy |
For designing our fuzzy inference systems, we must either use the Fuzzy Logic Designer App or the commands. For better results, we can specify the Input and Output membership functions.
Get Access to
Codes & Report!
Learn to implement Fuzzy Logic for Image Processing techniques like edge detection, noise reduction, image segmentation, etc.; Developed in MATLAB R2019a with Fuzzy Logic Designer Toolbox.
Image Processing using Fuzzy Logic
First, let us understand what image processing means that it is a process to perform specific techniques on an image, to get an enhanced image, or to extract some useful information from it. We can even consider it as a type of signal processing in which input is an image, and output may be image or characteristics/features associated with that image.
In Image processing, the techniques involved use filters to enhance an image. Their main applications are to transform the contrast, brightness, resolution, and noise level of an image.
Now moving on to Image processing using Fuzzy Logic, we have used a collection of different fuzzy approaches for image processing.Fuzzy image processing is the collection of all approaches that understand, represent, and process the images, their segments, and features as fuzzy sets.
Fuzzy image processing uses
- Image fuzzification
- Modification of membership values
- Image defuzzification
The technique which holds the highest priority is the modification of membership function. After the image data is transformed from a gray-level plane to the membership plane (fuzzification), appropriate fuzzy techniques modify the membership values. This can be done by fuzzy clustering, a fuzzy rule-based approach, a fuzzy integration approach, and so on.
Fuzzy Image processing is useful in representing uncertain data related to any image because of the following reasons: -
- These techniques can govern the vagueness and ambiguity efficiently
- Fuzzy logic is easy to understand the reasoning involved are very
- The fuzzy method will be more suitable to manage the imperfection than the traditional way. The input of the fuzzy inference system (FIS) is the original image and composed of a high pass filter.
For our Image processing, we have used medical images like CT Scan and MRI. These biomedical images are being used within the healthcare facilities for patient diagnosis, guiding treatment, planning treatment, and observing illness progression. Medical imaging basically processes missing, uncertain, complementary, ambiguous, inconsistent, and distorted data.
We will be analyzing these medical images and drawing conclusions using the Fuzzy Logic Toolbox. As the fuzzy logic act is a combined system for processing and representing numerical and symbolic data, and also the structural information, the fuzzy sets theory act as an intriguing and valuable tool, as it gives an excellent hypothetical basis to represent imprecision of the information.
Now let's understand what these Medical Images are.
A computerized tomography (CT) scan creates detailed images of the internal parts of the body by using X-rays. CT scans are sometimes referred to as CAT scans or computed tomography scans. CT Scans are done when there is damage to bones, injuries to internal organs, problems with blood flow, stroke, and cancer.
CT scans can help determine the location, size, and shape of a tumor before having radiotherapy, or allow a doctor to take a needle biopsy (where a small tissue sample is removed using a needle) or drain an abscess.
Magnetic resonance imaging (MRI) is another scanning technique, is a type of scan that uses strong magnetic fields and radio waves to produce detailed images of the inside of the body.
An MRI scan can be used to examine almost any part of the body, including the brain and spinal cord, bones and joints, breasts, heart and blood vessels, internal organs, such as the liver, womb or prostate gland
The results of an MRI scan can be used to help diagnose conditions, plan treatments, and assess how effective previous treatment has been.
Image Processing Using Edge Detection
In image processing, edge detection technique is used for finding the boundaries of objects within the images. It works by detecting discontinuities in the intensity of an image. Edge detection is used for image segmentation and data extraction in areas such as image processing, computer vision, and machine vision.
Standard edge detection algorithms include
- Sobel
- Canny
- Prewitt
- Roberts
- fuzzy logic methods.
For image processing, a vital stage is segmentation. Segmentation is a process that divides an image into several homogeneous regions. The division of the image is based on abrupt changes in the gray-level.
Based on the following fuzzy rules, an edge detection algorithm can be developed and implemented:
if (Imgx is zero) and (Imgy is zero) then (Iout is white)
if (Imgx is zero) or (Imgy is zero) then (Iout is black).
This is Fuzzy Logic-based edge detection for smooth and noisy CT and MRI scans. The edge detection is used to intensify the smoothness of the images. We have chosen Imgx and Imgy as the inputs, and then their conversion takes place in the fuzzy plane as defined by the fuzzy rules. This then leads to the defuzzification using the Mamdani inference.
The membership function is used for measuring the fuzziness. Our inputs are trapezoidal membership function, and output was the Gaussian MF. Our FIS variables include Imgx, Imgy, and Iout.
The rule editor helps us to define the rules, like here we have defined as if (Imgx is zero) and (Imgy is zero), then (Iout is white) similarly, if (Imgx is zero) or (Imgy is zero) then (Iout is black).
The rule viewer has given us a roadmap of exactly what the inference process is happening. So here we can do 7 plots in one window. Here the rows having the plots are the set of rules, whereas the columns can be referred to as variables. The rules which we defined earlier are present in the status line and can be viewed by clicking on the rule number.
Here we see a 3-dimensional surface that represents the Imgx, Imgy, and Iout. The surface viewer automatically gets updated on changing upon Input or Output variable. We have achieved the plot by specifying the rules for the fuzzy inference system, the membership functions which correspond to it, and the input and output as Imgx, Imgy, and Iout, respectively.
Image processing using image enhancement techniques
In image processing using image enhancement techniques, the most common method used is image binarization or enhancing directly through grayscale images. The steps involved in this process are: -
- Normalization of the images
- local orientation estimation
- local frequency estimation
- Filtering by designed Filters
The purpose behind normalizing the image is to decrease the dynamic range of the grayscale between ridges and valleys of the image estimation and the tuning of the filter parameters.
Based on the following fuzzy rules, an image enhancement algorithm can be developed and implemented:
if (Img is dark) then (Iout is dark)
if (Img is gray) then (Iout is gray)
if (Img is bright) then (Iout is brighter).
Through fuzzy enhancement techniques, we can obtain high-quality grayscale images that are generally degraded by impulsive noise during image acquisition or transmission. We have chosen Img as the input, and then its conversion takes place in the fuzzy plane as defined by the fuzzy rules. This then leads to the defuzzification using the Mamdani inference.
The membership function is used for measuring the fuzziness. Our inputs are trapezoidal membership function, and output was the Gaussian MF. Our FIS variables include Imgx and Iout.
The rule editor helps us to define the rules, like here we have defined as if (Img is dark) then (Iout is dark) similarly, if (Imgx is gray) then (Iout is gray) and if (Img is bright) then (Iout is brighter).
The rule viewer has given us a roadmap of exactly what the inference process is happening. So here we can do 7 plots in one window. Here the rows having the plots are the set of rules, whereas the columns can be referred to as variables. The rules which we defined earlier are present in the status line and can be viewed by clicking on the rule number.
We have achieved the output surface in a two-dimensional way by specifying the rules for the fuzzy inference system, the membership functions which correspond to it, and the input and output as Img and Iout, respectively.
Image Processing using Noise Reduction Techniques
As we all know that noise reduction is the process of removal of noise from a signal, so here the signal is our image and noise is the change in the pixel intensity of the image. Noise reduction algorithms tend to alter signals to a greater or lesser degree.
For the removal of noise, one of the most popular methods is the wiener filter. In this work, four types of noise (Gaussian noise, Salt & Pepper noise, Speckle noise, and Poisson noise) are used and image de-noising performed for different noise by Mean filter, Median filter, and Wiener filter.
Based on the following fuzzy rules, an image enhancement algorithm can be developed and implemented:
if (Mean is zero) and (Median is zero) then (out is Homogenous)
if (Mean is not zero) and (Median is not zero) then (out is details)
Through the Noise reduction techniques, we can obtain high-quality images after removal of noise. Noise basically means that the pixels of the image show different intensity values instead of the actual ones, which are generally during image acquisition or transmission. We have chosen the Mean and Median as our input, and then its conversion takes place in the fuzzy plane as defined by the fuzzy rules. This then leads to the defuzzification using the Mamdani inference.
The membership function is used for measuring the fuzziness. Our inputs are trapezoidal membership function, and output was the Gaussian MF. Our FIS variables include Mean, Median, and Iout.
The rule editor helps us to define the rules, like here we have defined as if (Mean is zero) and (Median is zero) then (out is Homogenous) similarly, if (Mean is not zero) and (Median is not zero) then (out is details).
The rule viewer has given us a roadmap of exactly what the inference process is happening. So here we can do 7 plots in one window. Here the rows having the plots are the set of rules, whereas the columns can be referred to as variables. The rules which we defined earlier are present in the status line and can be viewed by clicking on the rule number.
Here we see a 3-dimensional surface that represents the mean, median, and Iout. The surface viewer automatically gets updated on changing upon Input or Output variable. We have achieved the plot by specifying the rules for the fuzzy inference system, the membership functions which correspond to it, and the input and output as Mean, Median, and Iout, respectively.
C-means Clustering for Image Processing using Fuzzy Logic Toolbox
C-means clustering is a part of the image segmentation algorithm used for image processing using fuzzy logic. As in image segmentation, we take an image of interest and extracts portions of the image for ease of analysis and is widely used in medical and healthcare facilities. We will be analyzing brain tumors from MRI images of a cancerous patient. It works by counting the number of pixels in a tumor with excellent accuracy.
By using Fuzzy c-means clustering (FCM), the diagnosis becomes more manageable as it is an efficient way to calculate the number of pixels hence helping in diagnosing the tumor. This is done mainly by assigning the data points to multiple clusters. Each data point has an assigned degree of membership.
Conclusion
Fuzzy Image processing has proved to be useful in the field of medical and healthcare. The fuzzy set theory provides us with a suitable tool, which can represent the uncertainties arising in image processing and can model the relevant cognitive activity of human beings. The fuzzy approach has proved to be efficient as compared to other methods. The more important advantage of a fuzzy methodology lies in that the fuzzy membership function provides a natural means to model the uncertainty prevalent in an image scene.
Get instant access to the code, model, or application of the video or article you found helpful! Simply purchase the specific title, if available, and receive the download link right away! #MATLABHelper #CodeMadeEasy
Ready to take your MATLAB skills to the next level? Look no further! At MATLAB Helper, we've got you covered. From free community support to expert help and training, we've got all the resources you need to become a pro in no time. If you have any questions or queries, don't hesitate to reach out to us. Simply post a comment below or send us an email at [email protected].
And don't forget to connect with us on LinkedIn, Facebook, and Subscribe to our YouTube Channel! We're always sharing helpful tips and updates, so you can stay up-to-date on everything related to MATLAB. Plus, if you spot any bugs or errors on our website, just let us know and we'll make sure to fix it ASAP.
Ready to get started? Book your expert help with Research Assistance plan today and get personalized assistance tailored to your needs. Or, if you're looking for more comprehensive training, join one of our training modules and get hands-on experience with the latest techniques and technologies. The choice is yours – start learning and growing with MATLAB Helper today!
Education is our future. MATLAB is our feature. Happy MATLABing!
The Blog has been created by Mayuri Parkhe along with contributions or modifications from Nikita Mahoviya.
can i know what journal using this method?
i mean the method of edge detection