Factors To Consider For Choosing The Process Model: Complexity and Project Size
Factors To Consider For Choosing The Process Model: Complexity and Project Size
22BCE0754
JAYA VARDHAN
LA-1
Scenario:
In detecting edges using image processing system license plate edge is detected. An
image processing and computer vision methodology is used to detect edge of the license plate. Image
preprocessing steps are used for accurate result. Image enhancement, recognition, restoration and
compression steps are used in this project to detect edge of the license plate. Before image
preprocessing steps, RGB image is converted to gray scale image and image is resized keeping aspect
ratio same. Morphological processing is used which helps to detect text more accurately. Image is
converted to double. Edge detection method is used to detect edges and image intensity level is
increased. Objects which have gaps are filled. After Edge detection, image might contain many
horizontal and vertical lines. These lines should be removed from image which helps to extract only
text from image. After applying these image preprocessing steps, image is left with few smaller
unwanted objects. These unwanted objects are removed. After applying image preprocessing steps,
edge detection function is applied on processed image. The edges of image are considered to be the
most important attributes of image that provide valuable information for human image perception.
As the data of edge detection is very large, therefore the speed of image processing becomes a
difficult problem. Finally detected edge of the name plate is displayed.
1st Aim:
To assign a process model,a process model (also called a software development lifecycle or
SDLC) is a representation of a software development process. It defines the sequence of stages or
activities involved in creating and maintaining software.
Requirements
Requirements are expected to change frequently based on user feedback or
market conditions.
Customer Involvement
Customer Involvement is for feedbacks and any risk management issues while
detecting license plates and speed,complexity while coming to time(As Customer Involvement is
minimal)
Risk management
Project has high risks related to technology, performance, or user
requirements,which is crucial for addressing uncertainties in image processing algorithms.
The Spiral model combines iterative development with risk assessment, making it suitable for projects
with significant complexity and uncertainty. It emphasizes continuous refinement and risk
management.
Why we choose the Spiral Model:
Stages:
The project can be split into multiple stages, with each stage involving planning
, risk assessment, engineering, and review.
Risk Evaluation
At the conclusion of each spiral, evaluate risks associated with image
processing methods, including the efficiency of edge detection approaches and
the influence of preprocessing stages on performance.
Prototyping
Creating prototpes for various image processing methods (Algorithms) and
assess their efficency in Identifying License plates in the images. In consideration of
risk management (time and errors)
User Feedback:
Taking feedbacks from users after end of each phase to improve the
method and implement required changes
1. Waterfall Model:
The Waterfall Model is a linear and sequential approach where each phase must
be completed before moving to the next. It does not accommodate changes easily. If requirements
evolve or if the initial edge detection methods do not yield satisfactory results, going back to a
previous phase cannot be done(Money loss).
2. V Model
The V-Model emphasizes verification and validation at each development stage, with a
corresponding testing phase for each development phase.Similar to the Waterfall Model, it is not
well-suited for projects with evolving requirements. Changes in the image processing techniques or
algorithms would require revisiting multiple phases.
3. Incremental Model
4. Agile Model
2. Image Preprocessing
Color Space Conversion: Transform the RGB image into a grayscale format. This simplification
reduces data complexity, as edge detection algorithms generally function more effectively on
single-channel images.
Resizing: Adjust the image size while preserving the aspect ratio to maintain the integrity of the
license plate features, making it suitable for further processing.
4. Morphological Processing
Employ morphological operations, such as dilation and erosion, to refine the text structure on
the license plate. This process aids in connecting fragmented text and eliminating minor noise.
5. Edge Detection
Convert the image to a double format to facilitate edge detection algorithms. Utilize an edge
detection technique, such as Canny, Sobel, or Prewitt, to pinpoint the edges within the image. The
Canny edge detector is particularly favored for its proficiency in identifying a broad spectrum of
edges.
scalability: The system should support the simultaneous upload of multiple images
without any decline in performance.
reliability: The system should reliably deliver precise edge detection outcomes across
diverse license plate designs and environmental conditions.
A Work Breakdown Structure (WBS) is a hierarchical decomposition of a project into smaller, more
manageable components. It helps in organizing the team's work into manageable sections, making it
easier to plan, execute, and monitor the project. The WBS is typically represented in a tree structure
or a list format.
UML Diagrams
Unified Modeling Language (UML) diagrams are essential tools in software engineering and system
design. They provide a standardized way to visualize the design of a system, making it easier for
stakeholders to understand and communicate about the system's architecture and behavior.
Capture Image: The system enters this state when the process of capturing an image starts.
Image Preprocessing: The acquired image undergoes preprocessing to ready it for additional analysis.
Utilize Edge Detection: The edge detection algorithm is utilized on the preprocessed image.
Store Processed Image: The user stores the completed processed image.
This state diagram effectively represents the sequential flow of states in the image processing system.
Sequence flow diagram
Enhanced Diagram
User (Performer)
Engages solely with the primary system to initiate and obtain the final outcome.
Accepts image input from the user and oversees the processing pipeline.
Manages the progression between preprocessing, edge detection, post-processing, and visualization.
Grayscale Conversion: Transforms the image into gray tones, streamlining processing.
Class Diagram
Rough Sketch
Orientation of what I done in drawing the Class diagram
1. ImageProcessingSystem
Role: Acts as the main controller or entry point to the system.
Method:
2. ImagePreprocessing
Role: Handles the transformation of raw input images to a format suitable for edge detection.
Methods:
Interaction: After preprocessing, it forwards the output to the edge detection module.
3. EdgeDetection
Role: Analyzes the image to find meaningful boundaries or shapes.
Methods:
4. DisplaySystem
Role: Handles output visualization.
Method:
Conversion to Grayscale: Simplifies the image by removing color and reducing data complexity.
Resizing with Aspect Ratio Preserved: Ensures consistent image dimensions while maintaining
proportions.
Morphological Processing:
Techniques like dilation, erosion, closing are used to improve text and structure visibility.
Converts image pixel values into floating point format (usually [0,1]) for more precise operations.
Increase Intensity:
Fill Gaps:
3. Edge Detection
After preprocessing, an edge detection algorithm (e.g., Canny, Sobel) is applied.
4. Post-Edge Processing
After detecting edges, the image may contain noise and irrelevant information:
These are often parts of the vehicle body or frame—not part of the license plate text.
5. Final Output
The cleaned, edge-detected image is passed to the Display System.
These edges contain critical data, and they form the base for future tasks like character segmentation
and recognition (OCR).
Level-2
Rough Diagrams
Level -2
Flow Representation
This input image, in RGB format, is sent into the preprocessing pipeline.
2. Convert to Grayscale
Why? Reduces the complexity of the image by removing color.
Converts it into a single-channel grayscale image which contains only intensity information.
4. Morphological Processing
Why? Enhances structural elements (like text and shapes).
Helps strengthen lines, edges, and character shapes—useful for detecting plates accurately.
5. Convert to Double
Why? Converts pixel values from integer format to floating-point (double precision).
Allows more accurate mathematical processing in the next steps (especially for intensity and filtering).
6. Increase Intensity
Why? Brightens dark areas and enhances contrast.
Helps improve visibility of edges and characters, making them easier to detect.
7. Fill Gaps
Why? Connects broken parts in objects—especially useful when characters or shapes are incomplete.
Ensures only important objects (like the plate and characters) are retained.
This preprocessed image is now ready for the edge detection stage, where actual plate boundaries
and text features are identified.
Vehicle
This entity represents details about a vehicle.
Attributes:
vehicle_id (Primary Key)
vehicle_license_no
vehicle_owner_id
vehicle_insurance_id
registration_id
Owner
This entity holds information about the owner of a vehicle.
Attributes:
owner_id (Primary Key)
PAT_NO (Possibly Personal Authentication Token or License Number)
personal_details
vehicle_id
Attributes:
owner_id (Foreign Key from Owner)
vehicle_id (Foreign Key from Vehicle)
Rules violated
total_fine
Class: ImagePreprocessing
This class includes several functions, each with a specific role in improving the image:
1.convertToGrayScale()
2.resizeImage()
Adjusts image dimensions without distorting it.
Ensures consistent input size for further processing.
3.applyMorphologicalProcessing()
4.convertToDouble()
5.increaseIntensity()
6.fillGaps()
7.removeUnwantedObjects()
Class: EdgeDetection
detectEdges()
Applies edge detection algorithms (e.g., Canny, Sobel).Finds the boundaries of the license plate and
characters.
1.removeLines()
2.extractText()
Class: DisplaySystem
1.showDetectedEdges()
Image Processing
Role: Acts as the central coordinator that controls the flow of data between all other components.
Responsibilities:
Initiates preprocessing
Sends data to edge detection
Passes image to line and noise cleaning modules
Sends final result to display module
3. Preprocessing Module
Role: Prepares the image for edge detection by enhancing key features and reducing complexity.
Sub-components:
Grayscale Converter: Converts RGB image to grayscale
Image Resizer: Scales image while maintaining aspect ratio
Morphological Processor: Performs operations like dilation and erosion
Intensity Enhancer: Increases image contrast for better visibility
Double Converter: Converts image to double precision
Gap Filler: Fills in gaps between elements, useful for character connectivity
Display Module
Role: Outputs the final processed image.
Sub-component:
Output Viewer: Visual component that shows the final edge-detected image to the user
User Device is Camera and other hardware used in user side like capturing the vehicle_id
Display Server is Web-site for description of fines and how it happened
Processing Server
Represents: The backend server or system that performs all the heavy-lifting for image processing.
Testing Phase
To verify that each module (preprocessing, edge detection, noise removal, etc.) and the system as a
whole works correctly and meets the intended functionality.
Performance Testing
Processing speed — how long does it take per image?
Memory usage.
Can it handle a batch of images?