1. DETECTING HOUSES IN FLOODED
AREA WITH THE HELP OF DRONE
IMAGE USING DEEP LEARNING
Submitted By
Mohammad Izaz Ahamed
CSE 01706540
Under The Supervision Of
Mr. Sowmitra Das
Assistant Professor
This thesis is submitted to the Department of Computer Science and Engineering of
Port City International University in the fulfillment of the requirements for the degree
of Bachelor of Science (Engineering)
Department of Computer Science & Engineering
Port City International University
7-14, Nikunja Housing Society, South khulshi, Chattogram, Bangladesh
January 2023
2. DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
DETECTING HOUSES IN FLOODED
AREA WITH THE HELP OF DRONE
IMAGE USING DEEP LEARNING
Submitted By
Mohammad Izaz Ahamed
CSE 01706540
Under The Supervision Of
Mr. Sowmitra Das
Assistant Professor
Department of Computer Science & Engineering
Port City International University
7-14, Nikunja Housing Society, South khulshi, Chattogram, Bangladesh
This thesis is submitted to the Department of Computer Science and Engineering of
Port City International University in the fulfillment of the requirements for the degree
of Bachelor of Science (Engineering)
January 2023
3. Ⅰ
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
DECLARATION
It's hereby declared that I have independently completed this thesis under the supervision of
Mr. Sowmitra Das, Assistant Professor of the Department of CSE at Port City International
University. To the best of my knowledge, no portion of this work has been previously
submitted for any other degree or qualification at this or any other educational institution. I
also confirm that I have only used the resources that were specifically authorized.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
(Signature of the candidate)
Mohammad Izaz Ahamed
CSE 01706540
CSE 17 (day)
Department of CSE
Port City International University
4. Ⅱ
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
APPROVAL
This thesis titled “DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF
DRONE IMAGE USING DEEP LEARNING”, by Mohammad Izaz Ahamed has been
approved for summation to the Department of Computer Science and Engineering, Port City
International University, in partial fulfillment of the requirement for the degree of Bachelor
of Science (Engineering).
_ _ _ _ _ _ _ _ _ _ _ _ _ _
(Signature of Supervisor)
Mr. Sowmitra Das
Assistant Professor,
Department of Computer Science and Engineering
Port City International University
7, Nikunja Housing Society, South Khushi, Chottogram- 4202.
Chittagong, Bangladesh.
Email: sowmitracsecu@gmail.com
Telephone: +8801620325472
5. Ⅲ
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
DEDICATION
This thesis is respectfully dedicated to my esteemed teachers, my loving parents, and all those
who have supported and encouraged me throughout my academic journey and specially our
respected supervisor Mr. Sowmitra Das.
6. Ⅳ
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
ACKNOWLEDGEMENT
I would like to begin by offering my sincerest gratitude to the Almighty Allah for providing
me with the strength, determination, and opportunity to complete this project on time. My
deepest appreciation goes to my supervisor, Mr. Sowmitra Das, for his invaluable guidance
and support throughout the duration of this project. I am also grateful to my other esteemed
teachers at my university for their advice and assistance, both directly and indirectly, in
helping me stay focused on my thesis. Lastly, I extend my heartfelt thanks to my friends for
their unwavering support.
7. Ⅴ
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
ABSTRACT
Floods are a major natural disaster that can cause extensive damage to property,
infrastructure, and result in significant economic losses annually. In order to effectively
respond to such disasters, there is a need to develop an approach that can quickly detect the
houses in flooded areas. Satellite remote sensing has been utilized in emergency responses,
but it has limitations such as long revisit periods and inability to operate during rainy or
cloudy weather conditions. To address these limitations, this study proposes the use of drones
to detect flooded buildings. Through the utilization of deep learning models, specifically
YOLOv7, this study aims to develop an automated detection system for flooded buildings
using drone images. The results of the study show that the inundation of buildings and
vegetation can be accurately detected from the images with 92% accuracy. The performance
of the developed system was evaluated using various metrics such as accuracy, precision,
recall, and confusion matrices. Additionally, this study also presents an automated annotation
process to speed up the process of image annotation.
8. DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
TABLE OF CONTENTS
DECLARATION Ⅰ
APPROVAL Ⅱ
DEDICATION Ⅲ
ACKNOWLEDGMENTS Ⅳ
ABSTRACT Ⅴ
CHAPTER 1 1
INTRODUCTION 1
1.1 Overview 1
1.2 Problem Statement 1
1.3 Motivation 2
1.4 Objective 2
1.5 Object Detection 2
1.5.1 Object Localization 3
1.5.2 Object Classification 3
1.5.3 Object Instance Segmentation 3
1.6 YOLOv7 3
1.7 Organization of the document 4
CHAPTER 2 6
LITERATURE REVIEW 6
2.1 Overview 6
2.2 Previous Work 6
2.3 Research Summary 8
2.4 Scope of this problem 8
2.5 Challenges 8
CHAPTER 3 9
METHODOLOGY 9
3.1 Working Procedure 9
3.2 Proposed System 9
3.3 Data Collection 10
3.4 Data Preprocessing 11
3.4.1 Removing Unnecessary data 11
3.4.2 Data Resizing 11
3.5 Image Annotation 11
3.6 YOLOv7 Image Annotation 12
3.7 Automated Image Annotation 13
9. DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 4 16
HARDWARE AND TOOLKIT 16
4.1 Tools 16
4.1.1 Python 16
4.1.2 NumPy 17
4.1.3 Pandas 17
4.1.4 OS Module 17
4.1.5 Matplotlib 18
4.1.6 OpenCV 18
4.1.7 VS Code 18
4.1.8 Colab Notebook 19
4.2 Hardware 19
CHAPTER 5 20
RESULT & DISCUSSION 20
5.1 Performance Evaluation 20
5.1.1 IOU 20
5.1.2 Precision and Recall 21
5.1.3 Average Precision 21
5.1.4 Mean Average Precision 21
5.2 Experimental Analysis 22
5.3 YOLOv7 On Manually Annotated Dataset 22
5.3.1 Object Detection Report 22
5.3.2 Confusion Matrix 23
5.3.3 Accuracy & Loss Curve 23
5.4 YOLOv7 On Automatic Annotated Dataset 24
5.4.1 Object Detection Report 24
5.4.2 Confusion Matrix 24
5.4.3 Accuracy & Loss Curve 25
5.5 Comparison of Performance 26
CHAPTER 6 27
CONCLUSION & FUTURE WORK 27
6.1 Conclusion 27
6.2 Limitation 27
6.3 Future Work 27
CHAPTER 7 28
REFERENCES 28
7.1 References 28
10. DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
TABLE OF FIGURES
Figure 1: Basic flowchart of the proposed system 9
Figure 2: Example dataset Images of Flooded houses 10
Figure 3: YOLOv7 Annotation Format 12
Figure 4: YOLOv7 Annotated .txt File 12
Figure 5: Converting the image to Grayscale 13
Figure 6: Apply Adaptive Canny Edge Detection 14
Figure 7: Apply Dilation & Erosion 14
Figure 8: Find Coordinates 15
Figure 9: IOU 20
Figure 10: Object Detection Report For Manually Annotated Data 22
Figure 11: Confusion Matrix For Manually Annotated Data 23
Figure 12: Accuracy & Loss Curve For Manually Annotated Data 23
Figure 13: Object Detection Report For Automatic Annotated Data 24
Figure 14: Confusion Matrix For Automatic Annotated Data 24
Figure 15: Accuracy & Loss Curve For Automatic Annotated Data 25
11. 1
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 1
INTRODUCTION
1.1 Overview
Floods are one of the major natural disasters that cause huge damage to property,
infrastructure and economic losses every year. There is a need to develop an approach that
could instantly detect the houses in the flooded area. House detection using drones can be
helpful in a variety of ways, especially in emergency response situations such as floods. By
quickly and accurately identifying flooded buildings, emergency responders can prioritize
and target their efforts to provide aid and assistance to the most affected areas. Additionally,
the information obtained from house detection can also be used for post-disaster damage
assessments and to inform rebuilding efforts. Furthermore, this information can also be used
for urban planning and land management purposes, for example, to better understand the
distribution of housing in a region, and to identify areas that may be vulnerable to flooding.
In summary, house detection can provide valuable information to aid in emergency response
and recovery efforts, as well as for urban planning and land management. The objective of
our research is to develop a method for detecting houses in flooded areas. To achieve this, we
have used a dataset of over 3000 images (after augmentation) of flooded houses. To train our
model, we labeled the images in our dataset both manually and automatically by identifying
the presence of buildings and vegetation. Using the YOLOv7 model, we aim to develop an
automated detection system that can accurately identify flooded houses in images.
1.2 Problem Statement
The goal of this research is to create a system for identifying houses in flooded areas using
deep learning techniques. The proposed method utilizes the YOLOv7 model for automated
detection of flooded houses in images, with the aim of providing accurate and efficient
detection results.
12. 2
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
1.3 Motivation
The motivation for this research stems from the need to address the limitations of current
methods for detecting flooded houses. The traditional approaches such as satellite remote
sensing have long revisit periods and are unable to operate during adverse weather
conditions. This research aims to provide a more efficient and accurate method for
identifying flooded houses using deep learning techniques and drone images. The proposed
method is expected to aid emergency response efforts, inform rebuilding efforts and urban
planning, as well as make a meaningful impact on society by contributing to the development
of a tool that can assist in disaster response and recovery. Furthermore, this research presents
an opportunity to explore and contribute to the field of computer vision and deep learning.
1.4 Objective
The objective of this research is to develop a method for identifying and detecting impacted
houses in flooded areas using deep learning-based object detection techniques. Specifically,
our aim is to utilize the YOLOv7 model to detect and identify houses in images of flooded
areas with high accuracy, and to create an automatic annotation system to efficiently label
and process the dataset used to train our object detection model.
1.5 Object Detection
Object recognition is a computational technique related to computer vision and image
processing that deals with recognizing instances of semantic objects of a particular class
(people, buildings, cars, fruits, etc.) in digital images or videos. One popular approach to
object detection is using the YOLO (You Only Look Once) algorithm, which is a real-time
object detection system that is able to effectively detect objects in images and videos using a
single pass of the convolutional neural network (CNN). YOLO divides the input image into a
grid of cells and for each cell, it predicts a set of bounding boxes and corresponding class
probabilities. This approach allows for fast and accurate object detection in real-time
applications. Object recognition is a computer vision task that includes several subtasks such
as object localization, object classification, and object instance segmentation.
13. 3
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
1.5.1 Object Localization
This task is to determine the location of an object within an image or video. The most
common representation of the location of an object is a bounding box, which is a rectangular
box that surrounds an object. A bounding box is defined by the coordinates of the upper left
corner of the box, its width, and its height. This task is critical for object detection, as it
provides the information needed to identify the presence of an object within an image or
video.
1.5.2 Object Classification
This task is to identify the class or category of an object within an image or video. It is a
supervised machine learning problem, where the model is trained on a dataset of labeled
images and learns to recognize the different object classes. Object classification is used to
distinguish between different object classes, and the output of this task is typically a
probability score for each class.
1.5.3 Object Instance Segmentation
This task is to identify and segment out specific instances of objects within an image or
video. It is an extension of object localization, where not only the location of an object is
identified, but also the object pixels are segmented out. This task is more complex than object
localization and classification, as it requires the model to not only identify the object class,
but also the specific instance of that class. Object instance segmentation is used to identify
multiple instances of the same object class within an image or video, and the output of this
task is typically a mask or a binary image that indicates the presence of an object.
1.6 YOLOv7
YOLOv7 (You Only Look Once, version 7) is a state-of-the-art real-time object detection
algorithm that was developed by Alexey Bochkovskiy. It is a single-stage detector, which
means that it performs both object localization and classification in a single forward pass of
the convolutional neural network (CNN). This makes YOLOv7 particularly well-suited for
real-time object detection tasks where fast and accurate results are required. YOLOv7 uses a
new architecture that is more efficient than its predecessors, allowing it to run faster and with
less computational resources.
14. 4
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
It also incorporates several new features and improvements, including a new anchor scale
search algorithm, new data augmentation method, new depthwise separable convolution, and
a new architecture called SPP-Net (Spatial Pyramid Pooling Network) to improve the
detection of small objects. YOLOv7 has been shown to be highly accurate and efficient, with
a balance between speed and accuracy, and it is widely used in various real-world
applications, such as autonomous vehicles, surveillance, image retrieval, and object tracking.
1.7 Organization of the document
Chapter 1: Introduction
This chapter provides a general overview of the research work, including the purpose and
scope of the study. It will give a brief summary of the problem being addressed, the research
questions, and the main objectives of the study. Additionally, this chapter will give a general
idea of the content and structure of the upcoming chapters.
Chapter 2: Background and Literature Review
This chapter will provide an overview of the previous research in the field of object detection,
discussing the different methods that have been used and their applications. The chapter will
also provide a comprehensive review of the existing literature in the field, highlighting the
gaps in the current knowledge that the present study aims to address.
Chapter 3: Proposed System & Research Methodology
This chapter will provide a detailed description of the methods and techniques used to
conduct the research. It will explain the theoretical framework, research design, and data
collection and analysis procedures used in the study. The chapter will also present the results
of the research in a graphical and pictorial format, to provide a clear understanding of the
approach taken and the findings obtained.
Chapter 4: Overview of Software and Hardware Used
This chapter will describe the software and hardware used to implement the proposed system,
including the specific components and technologies used. It will provide an overview of the
tools and equipment used in the research and how they were employed to achieve the
research objectives.
15. 5
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
Chapter 5: Results and Discussion
This chapter will present the results of the proposed model for houses detection using object
detection. It will provide an in-depth analysis of the performance of the model, including
visual representations of the results, and a discussion of the findings. The chapter will also
evaluate the performance of the model using various metrics and provide insights into the
limitations of the proposed approach.
Chapter 6: Conclusion and Future Work
This chapter will summarize the main findings and conclusions of the research, highlighting
the key contributions of the proposed system for houses detection using object detection. It
will also discuss the limitations and challenges encountered during the research and propose
potential avenues for future work to improve the system. This chapter will give a brief
overview of the work discussed in the previous chapters.
16. 6
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 2
LITERATURE REVIEW
2.1 Overview
Building detection in flooded areas is a challenging task in the field of object detection,
where the goal is to accurately identify buildings or houses using images. Floods are a
common natural disaster that can cause significant damage to property and infrastructure, and
as a result, obtaining a sufficient dataset for this task can be difficult. In this literature review
section, we will explore previous research in object detection that is closely related to this
topic and examine the current state of the art in building detection in flooded areas.
2.2 Previous Work
“Convolutional neural networks for object detection in aerial imagery for disaster response
and recovery”In this research, the authors employed a technique known as YOLO for
identifying objects within aerial images, with a focus on applications related to disaster
response and recovery. They trained and evaluated their models using an in-house dataset of
8 annotated aerial videos from various US hurricanes in 2017-2018. They achieved 80.69%
mAP for high altitude and 74.48% for low altitude footage. Furthermore, they also found that
models trained on similar altitude footage perform better and that using a balanced dataset
and pre-trained weights improves performance and reduces training time. YOLOv7 can
improve the performance and accuracy.[1]
“Improved Mask R-CNN for Rural Building Roof Type Recognition from UAV High-
Resolution Images: A Case Study in Hunan Province, China” This paper presents a method
for identifying roof types of complex rural buildings using high-resolution UAV images,
which achieved F1-score, Kappa coefficient (KC) and Overall Accuracy (OA) averaging
0.777, 0.821 and 0.905 respectively. They use deep learning networks to analyze different
feature combinations .They found that the model incorporating Sobel edge detection features
had the highest accuracy.[2]
17. 7
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
“Flood Detection Based on Unmanned Aerial Vehicle System and Deep Learning” This
paper presents a study on the use of deep learning models for automated detection of flooded
buildings using UAV aerial images. The method was studied in a case study of Kangshan
embankment in Poyang Lake, and the results showed that flooding of central buildings and
vegetation could be recognized from images with 88% and 85% accuracy, respectively. The
research also shows that it is possible to estimate the buildings' inundation area according to
the UAV images and flight parameters. The study highlights the potential value of UAV
systems in providing accurate and timely visualization of the spatial distribution of
inundation for flood emergency response.[3]
“Drone-Based Water Level Detection in Flood Disasters” This paper presents research on
using aerial drone-based image recognition for fast and accurate assessment of flood damage.
In this work, we propose a water level detection system using an R-CNN learning model and
a new labeling method for reference objects such as houses and cars. This system uses data
augmentation and transfer-learning overlays of masked R-CNN for object detection models
to address the challenges of limited wild datasets of top-down flood images. Additionally, the
VGG16 network is employed for water level detection purposes. The system was evaluated
on realistic images captured at the time of a disaster and the results showed that the system
can achieve a detection accuracy of 73.42% with an error of 21.43 cm in estimating the water
level.[4]
“The application of UAV images in flood detection using image segmentation techniques”
This study presents research on the use of UAV-based image analysis for automated flood
detection. The study aims to develop a system that can automatically detect and analyze flood
severity using images captured by a UAV. The study utilizes RGB and HSI color models to
represent flood images and employs k-mean clustering and region growing for image
segmentation. The segmented images were validated with manually segmented images and
the results show that the region growing method using gray images has a better segmentation
accuracy of 88% compared to the k-mean clustering method. In this study, we also developed
an automatic flood monitoring system called Flood Detection Structure (FDS) based on the
domain extension method.[5]
18. 8
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
2.3 Research Summary
Various studies have been conducted using UAV and drone images for the detection of
flooded buildings, with the use of YOLO and Mask-RCNN being the most common
algorithms used. These studies have achieved high accuracy results, with some utilizing novel
techniques such as feature fusion and transfer learning. The result can be improved. However,
the process of manual annotation of the data remains a challenge in such research.
2.4 Scope of this problem
Using object detection includes developing an automated detection system that can accurately
identify flooded houses in images, using deep learning techniques and the YOLOv7 model.
The proposed method aims to provide efficient detection results by using YOLOv7.
Additionally, the scope of the problem also includes the need for automated annotation of
images. Which can make the system dynamic and save more time.
2.5 Challenges
The challenges include the limited availability of labeled datasets, difficulty in identifying
flooded houses in images due to similar appearance with other non-flooded structures, and
the need for accurate and efficient detection results. Additionally, the variability in lighting
and weather conditions, as well as the complexity of the flooded landscapes, can also pose
challenges in detecting flooded houses. The limited resources and time for collecting and
labeling the data is also one of the major challenges in this research.
19. 9
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 3
METHODOLOGY
3.1 Working Procedure
This chapter provides an overview of the technical approach used to develop the system for
detecting flooded houses using object detection techniques. It explains the system
architecture, including the specific algorithms and techniques used for automated image
annotation and detection of buildings/houses in flooded areas. Additionally, it highlights any
challenges that were encountered during the development process and how they were
addressed.
3.2 Proposed System
Figure 1: Basic flowchart of the proposed system
20. 10
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
3.3 Data Collection
The collection and annotation of high-quality datasets is crucial for the development of any
real-world AI application, particularly in the field of object detection. However, obtaining
such datasets can be a challenging task due to the complexity and unstructured nature of real-
world data. This challenge is amplified in the case of detecting flooded houses, where the
availability of relevant and accurately labeled datasets is limited. In this research, we aimed
to address this challenge by collecting and annotating a dataset of 500 images from AIDER[6]
of flooded houses.We agumanted(Mosaic augmentation) the dataset and split it into 70%
training 20% validation and 10% test data. Here is the distribution:
● Train: (2048, 640, 640, 3)
● validation: (593, 640, 640, 3)
● Test: (283, 640, 640, 3)
Figure 2: Example dataset Images of Flooded houses
21. 11
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
3.4 Data Preprocessing
This chapter discusses the process of data pre-processing and cleaning, which is an essential
step in preparing the dataset for object detection. We began by removing any irrelevant or
noisy data from the dataset. This included removing images that did not belong to any of the
classes we were interested in. We also performed image resizing and brightness adjustments
to ensure a stable and consistent dataset for training and testing the object detection model.
3.4.1 Removing Unnecessary data
We preprocessed the dataset to ensure that it was clean and ready for training. This involved
removing any images that were noisy or did not represent flooded buildings. We also made
sure to remove any duplicate images, ensuring that the final dataset was as diverse and
representative as possible. Additionally, we also performed any necessary image adjustments,
such as brightness and contrast enhancements, to further improve the quality of the dataset.
This step was crucial in ensuring that our model was able to learn from the best possible data
and achieve high levels of accuracy during the training process.
3.4.2 Data Resizing
We resized all images to a standard resolution of 640×640 pixels with 3 channels to ensure
consistency across the dataset. This allows for better processing and training of our models.
Additionally, this ensures that all images are of the same size and aspect ratio, making it
easier to work with and analyze the data.
3.5 Image Annotation
The dataset must be labeled in order for the model to understand the relationship between the
input data and the desired output. However, in many cases, obtaining a labeled dataset can be
a time-consuming and labor-intensive process. In this study, we used an online annotation
tool called Roboflow to manually label our dataset for object detection. This involved
drawing bounding boxes around the objects of interest in the images and providing
appropriate labels for each object. Additionally, we also experimented with using different
methods of automatic annotation to label our images. This allowed us to quickly and
efficiently label our dataset, which is essential for training an accurate deep learning model.
22. 12
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
3.6 YOLOv7 Image Annotation
We used the yolov7 format for bounding box annotation, which is stored in .txt files. Each
row in the file represents one object and includes the class, x and y coordinates of the center,
and the width and height of the bounding box. These coordinates are normalized to the
dimensions of the image, with values between 0 and 1. It's important to note that class
numbers are zero-indexed, starting from 0.
Figure 3: YOLOv7 Annotation Format
Figure 4: YOLOv7 Annotated .txt File
Here in the Figure 4 the columns are (class, x_center, y_center, width, height) format.
23. 13
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
3.7 Automated Image Annotation
The process of image annotation is a crucial but time-consuming task in the field of computer
vision and object detection. It involves manually labeling images in a dataset with relevant
information, such as object class, location, and attributes. This is a labor-intensive task that
can take a significant amount of time and resources, especially when the dataset is large or
constantly changing. However, with the advancement of technology, it is now possible to
automate this process, making it more efficient and cost-effective. Automated image
annotation techniques, can be trained to recognize the object with high accuracy, reducing the
need for human intervention. This not only saves time and resources, but also ensures that the
dataset is up-to-date and accurate. By automating the image annotation process, it becomes
much more feasible to keep up with the rapid pace of data generation and improve the
performance of machine learning models. For our dataset, we used opencv library to achieve
our goal. The process is shown below:
Figure 5: Converting the image to Grayscale
To apply automated image annotation techniques, it is necessary to follow some essential
steps. One important step is to convert the images to grayscale and apply Gaussian blur to
remove small noise. This is an essential step that ensures the next process will have better
results.
24. 14
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
Figure 6: Apply Adaptive Canny Edge Detection
We used Adaptive Canny Edge Detection[7] is an improved version of the traditional Canny
Edge Detection algorithm that uses local image intensity to adjust the threshold values for the
hysteresis thresholding step, making it more robust to variations in the image intensity and
noise. By tuning the parameters, we can get the edges of buildings only.
For calculating the threshold values is to use the following equations:
Lower threshold = mean(image intensity) - k1 * std(image intensity)
Upper threshold = mean(image intensity) + k2 * std(image intensity)
Where k1 and k2 are constants that are used to control the threshold values, and mean and std
are the mean and standard deviation of the image intensity in the region around each pixel.
Figure 7: Apply Dilation & Erosion
We also applied Dilation to join the shape and thickening it, and Erosion to remove small
noises.
25. 15
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
Figure 8: Find Coordinates
After that, we can use the Contour Approximation Method to find the coordinate and the
bounding box from the binary image. We then converted the abounding box coordinate to
YOLO label format and got the annotated .txt file.
26. 16
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 4
HARDWARE AND TOOLKIT
This chapter details the software and hardware components utilized in the development of our
system for detecting houses in flooded areas. The specific tools and technologies used to
implement the system will be discussed in depth.
4.1 Tools
The tools that will be utilized in the implementation of the proposed system include:
● Python
● NumPy
● Pandas
● OS
● Matplotlib
● OpenCV
● VS Code
● Colab Notebook
4.1.1 Python
Python is a widely-used, high-level programming language that is widely used in web
development, scientific computing, data analysis, artificial intelligence, and other fields. It
has a simple and easy-to-learn syntax, making it a popular choice for beginners and
experienced programmers alike. Python is also known for its large and active community,
which has developed a wide range of libraries and frameworks that make it easy to build
complex and powerful applications. These libraries provide a powerful and flexible set of
tools for building and training neural networks, which is the core technology behind our
system for detecting flooded houses. In this work, Python is used as a primary programming
language for implementing the deep learning model.
27. 17
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
4.1.2 NumPy
NumPy is a library in Python that is commonly used for image processing tasks. It provides a
powerful array object, as well as a number of functions for manipulating arrays, including
mathematical and statistical operations. One of the main advantages of using NumPy for
image processing is its ability to perform element-wise operations on arrays, which allows for
efficient implementation of many image processing algorithms. Additionally, NumPy can be
easily integrated with other libraries, such as OpenCV, making it a versatile tool for image
processing tasks.
It has a variety of attributes, such as the following:
● A powerful object for an N-dimensional array
● Advanced (broadcasting) features Tools for combining
● Fortran and C/C++ programs
● Useful Fourier transform, random number, and linear algebra abilities
● Can be used to store common data in a multidimensional format
● Can quickly and cleanly connect to a variety of databases
● Allows the generation of any data types
4.1.3 Pandas
Pandas is a Python library that is used for data manipulation and analysis. It provides
powerful data structures like the Data Frame and Series, which allows for easy manipulation
and analysis of large datasets. Pandas also has built-in functions for handling missing data,
merging and joining data, and filtering and grouping data. Additionally, it has strong support
for reading and writing data in various file formats such as CSV, Excel, and SQL. Pandas is a
crucial tool for data scientists and data analysts and is widely used in data wrangling, data
exploration, and data visualization tasks.
4.1.4 OS Module
The Python OS module provides tools for interacting with the operating system. It allows for
the use of operating system-dependent features and contains a variety of file system interface
functions through the os and os.path modules. These functions can be used for tasks such as
navigating file directories and manipulating files and directories.
28. 18
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
4.1.5 Matplotlib
Matplotlib is a powerful library for creating visualizations in Python. It can be used to create
static, animated, and interactive plots, making it a versatile tool for data exploration and
analysis. In our project, we utilized Matplotlib for visualizing the detected flooded houses by
plotting the images and displaying the results of our model. This made it easy to understand
the performance of our model and gain insights from the data. Overall, Matplotlib played an
important role in our project by providing a clear and intuitive way to present our findings.
4.1.6 OpenCV
In this project, we used OpenCV, which is an open-source computer vision library, to
perform various image processing tasks. This library contains a wide range of tools and
functions that can be used to process and analyze images and videos. In our project, we used
OpenCV to read, display, and manipulate images. We also used it to perform image cropping,
resizing, and thresholding to enhance the image quality. Additionally, OpenCV's feature
detection and extraction capabilities were used to identify objects in the flooded images,
which is an important step in object detection. Overall, OpenCV proved to be a valuable tool
in this project as it allowed us to perform various image processing tasks efficiently and
effectively.
4.1.7 VS Code
Visual Studio Code (VS Code) is a popular source-code editor that is widely used by
developers for its powerful features and ease of use. Developed by Microsoft, it is available
for Windows, Linux, and macOS and is designed for building and debugging modern web
and cloud applications. Some of the key features of VS Code include debugging, syntax
highlighting, intelligent code completion, and code refactoring, as well as support for a wide
range of programming languages and a large number of customizable extensions. It is
considered as a lightweight, fast and flexible code editor.
29. 19
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
4.1.8 Colab Notebook
Colab Notebook is a web-based platform for machine learning development. It is a free,
open-source Jupyter notebook environment that requires no setup and runs entirely in the
cloud. With Colab Notebook, you can write, execute, and share code with others, as well as
import data, train models, and collaborate with others in real-time. It also allows you to use
powerful hardware such as GPUs and TPUs for training models. It also provides a seamless
integration with Google Drive, which makes it easy to store and access your data and models.
Overall, Colab Notebook is a great tool for data scientists, machine learning engineers, and
researchers, who need a powerful and easy-to-use environment for their work.
4.2 Hardware
● Processor : Intel(R) Core(TM) i3-8130U CPU @ 2.20GHz 2.21 GHz
● Ram : 8 GB DDR4, 2400MHz
● OS : Windows 10
30. 20
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 5
RESULT & DISCUSSION
This chapter presents the results and performance analysis of our proposed system, YOLOv7,
on our dataset of flood affected building images. The metrics used include accuracy,
precision, recall, and mAP. Additionally, the chapter includes visual representations of the
comparison between actual and predicted results for both the automatic and manual
annotation methods.
5.1 Performance Evaluation
The mAP (mean Average Precision) metric is commonly used to evaluate the performance of
object detection models, such as YOLO. It is calculated by taking into account various factors
including the Intersection over Union (IOU), precision, recall, and the precision-recall curve.
The mAP score provides a comprehensive measure of the model's overall accuracy.
5.1.1 IOU
IOU is a metric used to evaluate the performance of object detection models such as YOLO,
by measuring the overlap between predicted and ground truth bounding boxes. mAP is the
mean Average Precision, which takes into account the IOU threshold for successful detection.
Figure 9: IOU
mAP50 is the accuracy when IOU is set at 50%, meaning that if there is more than 50%
overlap between the predicted and ground truth bounding boxes, it is considered a correct
detection. The higher the IOU threshold, the stricter the evaluation, and thus the lower the
mAP value.
31. 21
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.1.2 Precision and Recall
Precision is a metric that measures the accuracy of positive predictions. It is the ratio of true
positive detections to the total number of detections, including false positives. A precision of
1.0 means all positive predictions were correct, while a lower value indicates false positives.
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 =
𝑃𝑃
𝑃𝑃 + 𝑃𝑃
Precision measures the proportion of correctly identified positive instances, while recall
measures the proportion of actual positive instances that were correctly identified. A model
with high precision and high recall is considered to be accurate.
𝑃𝑃𝑃𝑃𝑃𝑃 =
𝑃𝑃
𝑃𝑃 + 𝑃𝑃
5.1.3 Average Precision
Average Precision (AP) is a commonly used metric in object detection to evaluate the
performance of a model. It is calculated by measuring the area under the Precision-Recall
Curve. AP is considered a more comprehensive metric as it takes into account both precision
and recall, providing a more accurate assessment of the model's performance. A higher AP
value indicates that the model is able to identify more relevant objects and minimize false
positives, resulting in a better-performing model.
5.1.4 Mean Average Precision
The metric of mAP (mean Average Precision) is a useful tool for evaluating the performance
of object detection models. It takes into account both precision and recall by averaging the
AP (Average Precision) values for all classes in the model. A higher mAP value indicates a
more accurate and efficient model. It is commonly used to compare the performance of
different models and to identify areas for improvement.
𝑃𝑃𝑃 =
1
𝑃
∑𝑃
𝑃=1 𝑃𝑃𝑃
32. 22
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.2 Experimental Analysis
The experiments have been separated into two parts. In the first part, we evaluate the
performance of our proposed system, YOLOv7, applied to our manually annotated dataset.
The dataset consists of two classes, buildings and vegetation, which were labeled by human
experts. We trained the YOLOv7 model using this dataset and calculated the accuracy,
precision, recall, and mAP. In the second part of the experiments, we applied the YOLOv7
model on the automated annotated dataset and compare the results with the manually
annotated dataset. Overall, our experiments aim to provide a comprehensive evaluation of the
performance of YOLOv7 on our flood affected building detection dataset.
5.3 YOLOv7 On Manually Annotated Dataset
We trained the Manually Annotated Dataset on YOLOv7, and the results were quite
impressive. The model was able to achieve a high level of accuracy, with an overall mAP of
around 0.92. The precision and recall were both very high, with precision being around 0.90
and recall being around 0.86. This indicates that the model was able to accurately detect and
classify the buildings and vegetation in the images with a high degree of accuracy. Overall,
the results of this experiment were very promising and demonstrate the potential of YOLOv7
for use in flood detection systems.
5.3.1 Object Detection Report
Figure 10: Object Detection Report For Manually Annotated Data
33. 23
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.3.2 Confusion Matrix
Figure 11: Confusion Matrix For Manually Annotated Data
5.3.3 Accuracy & Loss Curve
Figure 11: Accuracy & Loss Curve For Manually Annotated Data
34. 24
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.4 YOLOv7 On Automatic Annotated Dataset
We trained the YOLOv7 model on the Automated Annotated Dataset, and it performed little
less than the previous model. The model achieved a high level of accuracy, with an overall
mAP of around 0.73. It had a good precision of around 0.79, and recall of around 0.69. The
use of automated annotation system not only saves time but also gives the promising results.
The results of this experiment indicate that YOLOv7 could be an effective tool for detecting
flooded buildings in images.
5.4.1 Object Detection Report
Figure 10: Object Detection Report For Automatic Annotated Data
5.4.2 Confusion Matrix
Figure 11: Confusion Matrix For Automatic Annotated Data
35. 25
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.4.3 Accuracy & Loss Curve
Figure 11: Accuracy & Loss Curve For Automatic Annotated Data
36. 26
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
5.5 Comparison of Performance
YOLOv7
(manual
annotation)
YOLOv7
(Automatic
annotation)
Precision
0.90 0.79
Recall
0.86 0.69
mAP@0.5
Accuracy 0.92 0.73
Table 1: Model Comparison
The results from both the manually annotated dataset and the automated annotated dataset
were compared and analyzed. The model trained on the manually annotated dataset showed a
slightly higher mAP of around 0.78 compared to the model trained on the automated
annotated dataset, which had a mAP of around 0.73. Both models had similar precision and
recall scores, with the manually annotated model having slightly higher precision at 0.83 and
the automated annotated model having slightly higher recall at 0.71. However, the use of an
automated annotation system greatly reduced the time and resources needed for annotation,
highlighting the potential benefits of this approach. Overall, both models showed promising
results in detecting flooded buildings in images.
37. 27
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 6
CONCLUSION & FUTURE WORK
This chapter presents the conclusions and evaluations of our proposed system, based on the
results and observations from the experiments. It also highlights the limitations of the current
research and suggests potential future work to improve the system's performance.
6.1 Conclusion
We compared the results of training YOLOv7 on both manual and automated annotated
datasets and found that the model achieved a higher accuracy with the manual annotated
dataset, with an overall mAP of around 92%. However, using an automated annotation
system saved a significant amount of time. Overall, the results of this comparison
demonstrate the potential for using YOLOv7 in flood detection systems and the benefits of
using an automated annotation system to speed up the process.
6.2 Limitation
The study used a few images for training and testing the model, which may not be
representative of all possible flood scenarios. It only focused on detecting flooded buildings,
and did not consider other types of flooding, such as road flooding or flash flooding.
6.3 Future Work
We will continue analyzing and try to improve the model and try to build projects with it.
38. 28
DETECTING HOUSES IN FLOODED AREA WITH THE HELP OF DRONE IMAGE USING DEEP LEARNING
CHAPTER 7
REFERENCES
7.1 References
[1] Y. Pi, N. D. Nath, and A. H. Behzadan, “Convolutional neural networks for object
detection in aerial imagery for disaster response and recovery,” Advanced Engineering
Informatics, vol. 43, p. 101009, Jan. 2020, doi: 10.1016/j.aei.2019.101009.
[2] Y. Wang, S. Li, F. Teng, Y. Lin, M. Wang, and H. Cai, “Improved Mask R-CNN for
Rural Building Roof Type Recognition from UAV High-Resolution Images: A Case Study in
Hunan Province, China,” Remote Sensing, vol. 14, no. 2, p. 265, Jan. 2022, doi:
10.3390/rs14020265.
[3] K. Yang, S. Zhang, X. Yang, and N. Wu, “Flood Detection Based on Unmanned Aerial
Vehicle System and Deep Learning,” Complexity, vol. 2022, pp. 1–9, May 2022, doi:
10.1155/2022/6155300.
[4] H. Rizk, Y. Nishimur, H. Yamaguchi, and T. Higashino, “Drone-Based Water Level
Detection in Flood Disasters,” International Journal of Environmental Research and Public
Health, vol. 19, no. 1, p. 237, Dec. 2021, doi: 10.3390/ijerph19010237.
[5] N. S. Ibrahim, S. M. Sharun, M. K. Osman, S. B. Mohamed, and S. H. Y. S. Abdullah,
“The application of UAV images in flood detection using image segmentation techniques,”
Indonesian Journal of Electrical Engineering and Computer Science, vol. 23, no. 2, p. 1219,
Aug. 2021, doi: 10.11591/ijeecs.v23.i2.pp1219-1226.
[6] C. Kyrkou, “AIDER: Aerial Image Database for Emergency Response applications,” GitHub,
Feb. 18, 2022. https://github.com/ckyrkou/AIDER (accessed Jan. 23, 2023).
[7] G. Jie and L. Ning, “An Improved Adaptive Threshold Canny Edge Detection Algorithm,”
IEEE Xplore, Mar. 01, 2012. https://ieeexplore.ieee.org/abstract/document/6187852
(accessed Nov. 18, 2021).