Tải bản đầy đủ (.pdf) (144 trang)

(Đồ án hcmute) xây dựng ứng dụng nhận diện hoa trên smart phone

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.62 MB, 144 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ PHẦN MỀM

XÂY DỰNG ỨNG DỤNG NHẬN DIỆN
HOA TRÊN SMART PHONE

GVHD: TS. HUỲNH XUÂN PHỤNG
SVTH: NGUYỄN TUẤN VŨ
MSSV: 16110527
SVTH: VÕ HUY HOÀNG
MSSV: 16110335

SKL 0 0 7 1 5 6

Tp. Hồ Chí Minh, năm 2020

do an


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
-----□□ □□-----

NGUYỄN TUẤN VŨ: 16110527
VÕ HUY HOÀNG: 16110335


Đề tài:
XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA TRÊN SMART PHONE

LUẬN ÁN TỐT NGHIỆP
GIẢNG VIÊN HƯỚNG DẪN
TS. HUỲNH XUÂN PHỤNG

KHÓA 2016-2020

do an


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
-----□□ □□-----

NGUYỄN TUẤN VŨ: 16110527
VÕ HUY HOÀNG: 16110335

Đề tài:
XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA TRÊN SMART PHONE

LUẬN ÁN TỐT NGHIỆP
GIẢNG VIÊN HƯỚNG DẪN
TS. HUỲNH XUÂN PHỤNG

KHÓA 2016-2020

1


do an


1

do an


ĐH SƯ PHẠM KỸ THUẬT TP.HCM

XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CNTT

Độc lập – Tự do – Hạnh phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Nguyễn Tuấn Vũ

MSSV 1: 16110527

Họ và tên Sinh viên 2: Võ Huy Hồng

MSSV 2: 16110335


Ngành: Cơng nghệ Thơng tin
Tên đề tài: XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA BẰNG HÌNH ẢNH TRÊN
SMARTPHONE
Họ và tên Giáo viên hướng dẫn: TS. Huỳnh Xuân Phụng
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2

do an


...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
5. Đánh giá loại:

6. Điểm:
Tp. Hồ Chí Minh, ngày…tháng…năm 2019
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

3

do an


ĐH SƯ PHẠM KỸ THUẬT TP.HCM

XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CNTT

Độc lập – Tự do – Hạnh phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Nguyễn Tuấn Vũ

MSSV 1: 16110527

Họ và tên Sinh viên 2: Võ Huy Hồng

MSSV 2: 16110335


Ngành: Cơng nghệ Thơng tin
Tên đề tài: XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA BẰNG HÌNH ẢNH TRÊN
SMARTPHONE
Họ và tên Giáo viên phản biện: TS. Lê Vĩnh Thịnh
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
4

do an


5. Đánh giá loại:

6. Điểm:
Tp. Hồ Chí Minh, ngày…tháng…năm 2019
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

5

do an


LỜI CÁM ƠN
Trong quá trình nghiên cứu đề tài, các giảng viên đã luôn hỗ trợ, hướng dẫn sinh
viên. Với tất cả sự kính trọng, nhóm thực hiện đề tài xin được bày tỏ lịng biết ơn đến
q thầy cơ đã luôn theo dõi và hướng dẫn trong suốt thời gian thực hiện đề tài.
Đầu tiên, nhóm xin gửi lời cảm ơn sâu sắc nhất đến Ban giám hiệu trường Đại
học Sư phạm Kỹ Thuật Thành phố Hồ Chí Minh đã tạo điều kiện, môi trường học tập
chất lượng, hiệu quả cho nhóm có thể phát huy một cách tốt nhất nghiên cứu.
Đồng thời, nhóm xin gửi lời cảm ơn đến Ban Chủ nhiệm khoa Công nghệ Thông
tin và các thầy cô khoa Công nghệ Thông tin - trường Đại học Sư phạm Kỹ thuật thành
phố Hồ Chí Minh đã tạo môi trường học tập và làm việc chuyên nghiệp, nhiệt tình giảng
dạy nhóm thực hiện đề tài nói riêng và sinh viên trong khoa Cơng nghệ Thơng tin nói
chung trong quá trình học tập và làm việc tại trường.
Đặc biệt, xin gửi lời cảm ơn chân thành nhất đến thầy Huỳnh Xuân Phụng –
giáo viên hướng dẫn Tiểu luận chuyên ngành – Khoa công nghệ thông tin – Đại học Sư
phạm Kỹ thuật Tp. Hồ Chí Minh, đã hướng dẫn, quan tâm, góp ý và ln đồng đồng
hành cùng nhóm trong những giai đoạn khó khăn nhất của đề tài.
Với những kinh nghiệm thực tiễn cịn thiếu sót và kinh nghiệm chun mơn cịn
non yếu, bài báo cáo vẫn có những thiếu sót và hạn chế nhất định. Kính mong nhận được
những phản hồi, đóng góp ý kiến và chỉ bảo thêm của q thầy cơ để nhóm có thể đạt
được những kiến thức hữu ích nhất, nâng cao ý thức để phục vụ cho kỹ năng sau này.

Xin chân thành cảm ơn!

6

do an


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
******

ĐỀ CƯƠNG LUẬN ÁN TỐT NGHIỆP
Họ và tên Sinh viên 1: Nguyễn Tuấn Vũ

MSSV 1: 16110527

Họ và tên Sinh viên 2: Võ Huy Hoàng

MSSV 2: 16110335

Thời gian làm luận án từ 26/03/2020 đến 15/07/2020
Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA BẰNG HÌNH ẢNH TRÊN
SMART PHONE
Họ và tên Giáo viên hướng dẫn: TS. Huỳnh Xuân Phụng
Nhiệm vụ thực hiện:
1. Tìm hiểu về thư viện TensorFlow và xây dựng model
2. Tìm hiểu về React Native, NodeJS, Express, Mongdb và cách xây dựng một ứng
dụng trên mobile

3. Xây dựng ứng dụng từ model đã train
Đề cương viết luận văn:
MỤC LỤC
1. Phần MỞ ĐẦU
1. Tính cấp thiết của đề tài
2. Mục tiêu của đề tài
3. Kết cấu của đề tài
2. Phần NỘI DUNG
Chương 1: Khảo sát hiện trạng
1.1. Khảo sát một số ứng dụng tương tự
1.2. Kết luận về những tiêu chí mà ứng dụng cần đạt được
Chương 2: Mơ hình hóa và thiết kế cơ sở dữ liệu
2.1.

Usecase Diagram
7

do an


2.2.

Chi tiết các actor

2.3.

Sơ đồ luồng dữ liệu và nghiệp vụ

2.4.


Cơ sở dữ liệu

Chương 3: Thiết kế màn hình giao diện và xử lý
3.1.

Các màn hình giao diện của guest

3.2.

Các màn hình giao diện của user

Chương 4: Lập trình
4.1.

Sơ đồ lớp

4.2.

Cấu trúc chương trình

Chương 5: Xây dựng mơ hình học sâu nhận dạng hoa
5.1.

Tổng quan về thư viện sử dụng

5.2.

Giới thiệu thuật toán CNN

5.3.


Giới thiệu về các CNN pre-trained models

5.4.

Triển khai mơ hình nhận diện hoa

Chương 6: Cài đặt và kiểm thử
6.1. Kế hoạch kiểm thử và quy trình kiểm thử
6.2. Thực hiện chạy các testcase
3. Phần KẾT LUẬN
4. Tài liệu tham khảo
KẾ HOẠCH THỰC HIỆN
STT

1

2

Thời gian

Nhiệm vụ
-

Khảo sát hiện trạng

-

Tiếp nhận u cầu


17/02 – 02/03

-

Mơ hình hóa u cầu

(Tuần 1 + 2)

-

Thiết kế CSDL

-

Thiết kế giao diện

-

Thiết kế xử lý

03/03 – 10/03

-

Tìm hiểu thư viện TensorFlow

(Tuần 3)

-


Thu thập dữ liệu (hình ảnh)

8

do an

Ghi chú


3

4

5

11/03 – 18/03

-

Tìm hiểu về React Native

-

Tìm hiểu về Redux (thư viện quản lý trạng
thái của ứng dụng)

(Tuần 4)

19/03 – 26/03
(Tuần 5)


27/03 – 03/04

-

Thu thập dữ liệu (hình ảnh)

-

Tìm hiểu về Nodejs, ExpressJs

-

Tìm hiểu về Mongodb

-

Thu thập dữ liệu

-

Tìm hiểu và huấn luyện mơ hình mạng
neuron để nhận diện các hình ảnh của từng

(Tuần 6)

lồi hoa
-

6


diện các hình ảnh của từng lồi hoa.

04/04 – 18/04
(Tuần 7+8)

Huấn luyện mơ hình mạng neuron để nhận

-

Tìm hiểu về cách xây dựng Restful API

-

Xây dựng document Restful API của ứng
dụng.

7

8

9

10

11

19/04 – 03/05

-


Xây dựng backend dựa trên document API

-

Xây dựng frontend

-

Viết TestCase cho website

19/05 – 02/06

-

Kiểm thử các chức năng

(Tuần 13+14)

-

Sửa các lỗi của ứng dụng

-

Viết báo cáo

03/06 – 10/06

-


Viết báo cáo

(Tuần 15)

-

Sửa các lỗi của ứng dụng

-

Hoàn tất ứng dụng, báo cáo

(Tuần 9+10)
04/05 – 18/05
(Tuần 11+12)

11/06 – 18/06
(Tuần 16)

9

do an


Ý kiến của Giáo viên hướng dẫn

Ngày …… tháng… … năm 2019

(Ký và ghi rõ họ tên)


Người viết đề cương

10

do an


MỤC LỤC
LỜI CÁM ƠN ..................................................................................................................6
ĐỀ CƯƠNG LUẬN ÁN TỐT NGHIỆP ..........................................................................7
MỤC LỤC .....................................................................................................................11
MỤC LỤC HÌNH ẢNH ................................................................................................16
MỤC LỤC BẢNG BIỂU ..............................................................................................20
PHẦN MỞ ĐẦU ...........................................................................................................22
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI.......................................................................22
2. MỤC TIÊU CỦA ĐỀ TÀI ..................................................................................22
3. KẾT CẤU CỦA ĐỀ TÀI ....................................................................................23
PHẦN NỘI DUNG........................................................................................................24
1. CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG .........................................................24
1.1.

KHẢO SÁT MỘT SỐ ỨNG DỤNG TƯƠNG TỰ ......................................24

1.1.1.

PlantNet: Nhận dạng thực vật[1] .............................................................24

1.1.2.


PictureThis: Identify Plant, Flower, Weed and More[2].........................26

1.1.3.

PlantSnap - Nhận diện thực vật, hoa, cây... [3] .......................................27

1.1.4.

iNaturalist[4] ...........................................................................................29

1.1.5.

Seek [5]....................................................................................................31

1.2.

KẾT LUẬN VỀ NHỮNG TIÊU CHÍ ỨNG DỤNG CẦN ĐẠT ĐƯỢC ....32

2. CHƯƠNG 2: MƠ HÌNH HĨA U CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU .34
2.1.

USECASE DIAGRAM ................................................................................34

2.2.

CHI TIẾT CÁC ACTOR ..............................................................................34

2.2.1.

Guest ......................................................................................................34


2.2.1.1. Các nghiệp vụ ...................................................................................34
2.2.1.2. Các quy định .....................................................................................35
2.2.1.3. Danh sách các biểu mẫu ...................................................................35
2.2.2.

User ........................................................................................................36

2.2.2.1. Các quy định .....................................................................................37
2.2.2.2. Danh sách các biểu mẫu ...................................................................44
2.3.

SƠ ĐỒ LUỒNG DỮ LIỆU VÀ CƠ SỞ DỮ LIỆU CÁC NGHIỆP VỤ ......53

2.3.1.

Các nghiệp vụ của Guest .......................................................................53
11

do an


2.3.1.1. Xét nghiệp vụ đăng nhập ..................................................................53
2.3.2.

Các nghiệp vụ của User .........................................................................54

2.3.2.1. Xét nghiệp vụ Xem màn hình chính .................................................55
2.3.2.2. Xét nghiệp vụ Xem chi tiết bài viết ..................................................55
2.3.2.3. Xét nghiệp vụ Viết bài ......................................................................57

2.3.2.4. Xét nghiệp vụ Nhận diện lồi hoa bằng hình ảnh ............................58
2.3.2.5. Xét nghiệp vụ Tìm kiếm loài hoa theo tên .......................................60
2.3.2.6. Xét nghiệp vụ Xem thơng tin chi tiết về lồi hoa .............................61
2.3.2.7. Xét nghiệp vụ Xem thông tin tài khoản............................................63
2.3.2.8. Xét nghiệp vụ Chỉnh sửa thông tin tài khoản ...................................64
2.4.

CƠ SỞ DỮ LIỆU .........................................................................................65

2.4.1.

Lược đồ cơ sở dữ liệu ............................................................................65

2.4.2.

Mô tả cơ sở dữ liệu ................................................................................66

2.4.2.1. Bảng USER.......................................................................................66
2.4.2.2. Bảng POST .......................................................................................67
2.4.2.3. Bảng PLANT ....................................................................................67
2.4.2.4. Bảng ImagePlant...............................................................................68
2.4.2.5. Bảng Contributre ..............................................................................68
3. CHƯƠNG 3: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ ...........................................70
3.1.

CÁC MÀN HÌNH GIAO DIỆN CỦA GUEST (APP).................................70

3.1.1.

Màn hình đăng nhập ..............................................................................70

Thiết kế giao diện .............................................................................70
Thiết kế xử lý ....................................................................................70

3.2.

CÁC MÀN HÌNH GIAO DIỆN CỦA USER (APP) ...................................71

3.2.1.

Màn hình trang chủ ................................................................................71

3.2.1.1. Thiết kế giao diện .............................................................................71
3.2.1.2. Thiết kế xử lý ....................................................................................72
3.2.2.

Màn hình xem thơng tin chi tiết bài viết ................................................73

3.2.2.1. Thiết kế giao diện .............................................................................73
3.2.2.2. Thiết kế xử lý ....................................................................................74
3.2.3.

Màn hình tạo bài viết .............................................................................75

3.2.3.1. Thiết kế giao diện .............................................................................75
3.2.3.2. Thiết kế xử lý ....................................................................................76
3.2.4.

Màn hình quản lý trang cá nhân ............................................................78
12


do an


3.2.4.1. Thiết kế giao diện .............................................................................78
3.2.4.2. Thiết kế xử lý ....................................................................................78
3.2.5.

Màn hình chức năng tìm kiếm bằng hình ảnh .......................................80
Thiết kế giao diện .............................................................................80
Thiết kế xử lý ....................................................................................80

3.2.6.

Màn hình giao diện chức năng tìm kiếm ...............................................82
Thiết kế giao diện .............................................................................83
Thiết kế xử lý ....................................................................................83
Thiết kế giao diện .............................................................................86
Thiết kế xử lý ....................................................................................86

4. CHƯƠNG 4: LẬP TRÌNH ..................................................................................88
4.1.

Sơ đồ lớp .......................................................................................................88

4.1.1. MÔ TẢ CHI TIẾT TỪNG LỚP ................................................................88
Class Post ..........................................................................................88
Atrributes....................................................................................88
Methods ......................................................................................89
Class User .........................................................................................89
4.1.1.2.1. Atrributes....................................................................................89

4.1.1.2.2. Methods ......................................................................................89
Class Plant ........................................................................................90
4.1.1.3.1. Atrributes....................................................................................90
4.1.1.3.2. Methods ......................................................................................90
Class Contribute ...............................................................................90
4.1.1.4.1. Atrributes....................................................................................90
Methods ......................................................................................91
4.2.

Cấu trúc chương trình ...................................................................................91

4.2.1.

Tổng quan về các công nghệ sử dụng (MERN STACK) [6]...................91

4.2.1.1. Giới thiệu về Javascript ....................................................................92
4.2.1.2. Cơ sở dữ liệu Mongodb ....................................................................93
4.2.1.3. Express..............................................................................................93
4.2.1.4. React-Native .....................................................................................93
4.2.1.5. Nodejs ...............................................................................................94
4.2.2.

Mơ tả cấu trúc chương trình ..................................................................95

5. CHƯƠNG 5: XÂY DỰNG MƠ HÌNH HỌC SÂU NHẬN DẠNG HOA .........97
13

do an



5.1.

Tổng quan về thư viện sử dụng ....................................................................97

5.1.1.

TensorFlow [7] ........................................................................................97

5.1.1.1. Tổng quan .........................................................................................97
5.1.1.2. Lịch sử phát triển ..............................................................................97
5.1.1.3. Một vài khái niệm quan trọng trong TensorFlow.............................98
5.1.1.4. Các tính năng chính của TensorFlow .............................................100
5.1.2.

Keras [8] ................................................................................................101

5.1.2.1. Tổng quan .......................................................................................101
5.1.2.2. Keras core modules ........................................................................102
5.1.2.3. Keras models, losses, and optimizers .............................................104
5.2.

Giới thiệu về thuật tốn CNN [9] .................................................................104

5.2.1.

Tổng qt[7] ..........................................................................................105

5.2.2.

Mơ hình CNN cho bài toán phân loại ảnh ...........................................105


5.2.3.

Cấu trúc CNN ......................................................................................106

5.2.3.1. Convolution Layer ..........................................................................107
5.2.3.2. Nonlinear Layer ..............................................................................112
5.2.3.3. Pooling Layer .................................................................................112
5.2.3.4. Fully Connected Layer ...................................................................113
5.3.

Giới thiệu về các CNN pre-trained models [10] ...........................................113

5.4.

Triển khai mơ hình nhận diện hoa ..............................................................118

5.4.1.

Xây dựng mơ hình ...............................................................................118

5.4.2.

Triển khai mơ hình trên điện thoại với TensorFlow Lite ....................123

5.4.3.

Đánh giá mơ hình .................................................................................124

6. CHƯƠNG 6: KIỂM THỬ PHẦN MỀM ..........................................................127

6.1.

KẾ HOẠCH KIỂM THỬ VÀ QUY TRÌNH KIỂM THỬ ........................127

6.2.

THỰC HIỆN CHẠY CÁC TESTCASE ....................................................128

6.2.1.

Guest ....................................................................................................129

6.2.1.1. Màn hình login................................................................................129
6.2.2.

User ......................................................................................................129

6.2.2.1. Màn hình camera ............................................................................129
6.2.2.2. Màn hình nhận diện ........................................................................130
6.2.2.3. Màn hình xem chi tiết thơng tin hoa ...............................................130
6.2.2.4. Màn hình quản lý thơng tin cá nhân ...............................................131
6.2.2.5. Màn hình chỉnh sửa thông tin cá nhân ............................................132
14

do an


6.2.2.6. Màn hình xem bài viết cá nhân.......................................................132
6.2.2.7. Màn hình trang chủ .........................................................................133
6.2.2.8. Màn hình tạo bài viết ......................................................................134

6.2.2.9. Màn hình xem chi tiết bài viết ........................................................135
6.2.2.10. Màn hình đóng góp .......................................................................136
6.2.2.11. Màn hình tìm kiếm .......................................................................137
6.2.3.

Thống kê kết quả..................................................................................137

PHẦN KẾT LUẬN .....................................................................................................138
1. NHỮNG KẾT QUẢ ĐẠT ĐƯỢC ....................................................................138
2. ƯU ĐIỂM ..........................................................................................................138
3. NHƯỢC ĐIỂM .................................................................................................138
4. HƯỚNG PHÁT TRIỂN ....................................................................................139
TÀI LIỆU THAM KHẢO ...........................................................................................140

15

do an


MỤC LỤC HÌNH ẢNH
Hình 1-1 Giao diện ứng dụng PlantNet .........................................................................25
Hình 1-2 Giao diện ứng dụng PictureThis ....................................................................26
Hình 1-3 Giao diện ứng dụng PlantSnap .......................................................................28
Hình 1-4 Giao diện ứng dụng iNaturalist ......................................................................30
Hình 1-5 Giao diện ứng dụng Seek ...............................................................................32
Hình 2-1 Usecase Diagram ............................................................................................34
Hình 2-2 Biểu mẫu đăng nhập .......................................................................................36
Hình 2-3 Biểu mẫu màn hình trang chủ ........................................................................45
Hình 2-4 Biểu mẫu màn hình xem chi tiết bài viết .......................................................46
Hình 2-5 Biểu mẫu màn hình xem đóng góp ................................................................47

Hình 2-6 Biểu mẫu màn hình đóng góp ........................................................................47
Hình 2-7 Biểu mẫu màn hình nhận diện hoa bằng hình ảnh .........................................48
Hình 2-8 Biểu mẫu màn hình tìm kiếm hoa ..................................................................48
Hình 2-9 Biểu mẫu màn hình xem thơng tin chi tiết lồi hoa .......................................49
Hình 2-10 Biểu mẫu màn hình quản lý bài viết ............................................................49
Hình 2-11 Biểu mẫu màn hình viết bài .........................................................................50
Hình 2-12 Biểu mẫu màn hình quản lý thơng tin cá nhân .............................................51
Hình 2-13 Biểu mẫu màn hình xem thơng tin cá nhân ..................................................51
Hình 2-14 Biểu mẫu màn hình sửa thơng tin cá nhân ...................................................52
Hình 2-15 Biểu mẫu màn hình đăng xuất ......................................................................52
Hình 2-16 Sơ đồ luồn dữ liệu đăng nhập.......................................................................53
Hình 2-17 Lược đồ sequence đăng nhập .......................................................................54
Hình 2-18 Sơ đồ luồng dữ liệu màn hình trang chủ ......................................................55
Hình 2-19 Sơ đồ luồng dữ liệu xem chi tiết bài viết .....................................................56
Hình 2-20 Lược đồ sequence xem chi tiết bài viết ........................................................57
Hình 2-21 Sơ đồ luồng dữ liệu viết bài .........................................................................57
Hình 2-22 Lược đồ sequence viết bài ............................................................................58
Hình 2-23 Sơ đồ luồng dữ liệu nhận diện hoa bằng hình ảnh .......................................59
Hình 2-24 Lược đồ sequence nhận diện hoa bằng hình ảnh .........................................60
Hình 2-25 Sơ đồ luồng dữ liệu tìm kiếm hoa theo tên ..................................................60
Hình 2-26 Lược đồ sequence tìm kiếm hoa theo tên .....................................................61
16

do an


Hình 2-27 Sơ đồ luồng dữ liệu xem chi tiết hoa ...........................................................62
Hình 2-28 Lược đồ sequence xem chi tiết hoa ..............................................................63
Hình 2-29 Sơ đồ luồng dữ liệu xem thơng tin cá nhân .................................................63
Hình 2-30 Sơ đồ luồng dữ liệu chỉnh sửa thơng tin cá nhân .........................................64

Hình 2-31 Lược đồ sequence chỉnh sửa thơng tin cá nhân ...........................................65
Hình 2-32 Database diagram .........................................................................................66
Hình 3-1 Màn hình đăng nhập .......................................................................................70
Hình 3-2 Đánh số màn hình đăng nhập .........................................................................71
Hình 3-3 Màn hình trang chủ ........................................................................................72
Hình 3-4 Đánh số màn hình trang chủ...........................................................................72
Hình 3-5 Màn hình xem thơng tin chi tiết bài viết ........................................................74
Hình 3-6 Đánh số màn hình xem chi tiết bài viết ..........................................................74
Hình 3-7 Màn hình chức năng tạo bài viết ....................................................................76
Hình 3-8 Đánh số màn hình chức năng tạo bài viết ......................................................77
Hình 3-9 Màn hình chức năng quản lý trang cá nhân ...................................................78
Hình 3-10 Đánh số màn hình quản lý trang cá nhân .....................................................79
Hình 3-11 Màn hình chức năng tìm kiếm bằng hình ảnh ..............................................80
Hình 3-12 Đánh số màn hình chức năng tìm kiếm bằng hình ảnh ................................81
Hình 3-13 Màn hình chức năng tìm kiếm .....................................................................83
Hình 3-14 Đánh số màn hình chức năng tìm kiếm........................................................84
Hình 3-15 Màn hình chức năng đóng góp .....................................................................86
Hình 3-16 Đánh số màn hình chức năng đóng góp .......................................................86
Hình 4-1 Class Diagram ................................................................................................88
Hình 4-2 Cấu trúc chương trình (MERN Stack) ..........................................................92
Hình 4-3 Sơ đồ tổng quát cấu trúc chương trình ...........................................................95
Hình 4-4 Xây dựng document API thống nhất cho từng chức năng cụ thể ..................95
Hình 4-5 Cấu trúc Backend ...........................................................................................96
Hình 4-6 Cấu trúc Frontend ...........................................................................................96
Hình 5-1 DNS layers ...................................................................................................102
Hình 5-2 CNN layers ...................................................................................................103
Hình 5-3 RNN layers ...................................................................................................103
Hình 5-4 Bài tốn mơ hình CNN .................................................................................106
17


do an


Hình 5-5 Cấu trúc CNN ...............................................................................................107
Hình 5-6 Convolution Layer .......................................................................................108
Hình 5-7 Convolution Layer - 1 ..................................................................................108
Hình 5-8 Convolution Layer - 2 ..................................................................................109
Hình 5-9 Filter convolution .........................................................................................110
Hình 5-10 Tham số stride ............................................................................................111
Hình 5-11 Zero padding ..............................................................................................112
Hình 5-12 Pooling Layer .............................................................................................113
Hình 5-13 VGG-16 ......................................................................................................114
Hình 5-14 InceptionNet ...............................................................................................115
Hình 5-15 MobileNet V2 model..................................................................................117
Hình 5-16 Kiến trúc của mobilenet model ..................................................................117
Hình 5-17 Chuẩn bị dữ liệu ........................................................................................118
Hình 5-18 Chuẩn bị dữ liệu - 1 ...................................................................................118
Hình 5-19 Kết nối google drive -2 ..............................................................................119
Hình 5-20 Kết quả tăng cường dữ liệu ........................................................................119
Hình 5-21 ImageDataGenerator ..................................................................................120
Hình 5-22 Khai thác tính năng ....................................................................................120
Hình 5-23 Khai thác tính năng - 1 ...............................................................................121
Hình 5-24 Kết quả compile model ..............................................................................121
Hình 5-25 Kết quả compile model - 1 .........................................................................122
Hình 5-26 Huấn luyện mơ hình ...................................................................................122
Hình 5-27 Chuyển đổi model từ TensorFlow sang TensorFlow Lite .........................123
Hình 5-28 Model dự đốn - 1 ......................................................................................124
Hình 5-29 Model dự đốn - 2 ......................................................................................124
Hình 5-30 Model dự đốn – 3 .....................................................................................125
Hình 6-1 Mẫu Testcase cover ......................................................................................127

Hình 6-2 Mẫu Testcase chi tiết ....................................................................................128
Hình 6-3 Mẫu thống kê chung .....................................................................................128
Hình 6-4 Testcase màn hình login ...............................................................................129
Hình 6-5 Testcase màn hình camera ...........................................................................129
Hình 6-6 Testcase màn hình nhận diện .......................................................................130
18

do an


Hình 6-7 Testcase màn hình xem chi tiết thơng tin hoa ..............................................130
Hình 6-8 Testcase màn hình quản lý thơng tin cá nhân ..............................................131
Hình 6-9 Testcase chỉnh sửa thơng tin cá nhân ...........................................................132
Hình 6-10 Testcase xem bài viết cá nhân ....................................................................132
Hình 6-11 Testcase trang chủ ......................................................................................133
Hình 6-12 Testcase tạo bài viết ...................................................................................134
Hình 6-13 Testcase xem chi tiết bài viết .....................................................................135
Hình 6-14 Testcase đóng góp ......................................................................................136
Hình 6-15 Testcase tìm kiếm .......................................................................................137
Hình 6-16 Thống kê kết quả chạy testcase ..................................................................137

19

do an


MỤC LỤC BẢNG BIỂU
Bảng 2-1 Bảng nghiệp vụ của guest ..............................................................................34
Bảng 2-2 Bảng quy định của guest ................................................................................35
Bảng 2-3 Bảng nghiệp vụ của user ................................................................................36

Bảng 2-4 Bảng quy định của user..................................................................................37
Bảng 2-5 Bảng sơ đồ luồng dữ liệu (SDLDL) của nghiệp vụ đăng nhập ....................53
Bảng 2-6 Bảng SDLDL của nghiệp vụ Xem màn hình chính .......................................55
Bảng 2-7 Bảng SDLDL của nghiệp vụ Xem chi tiết bài viết ........................................56
Bảng 2-8 Bảng SDLDL của nghiệp vụ viết bài.............................................................57
Bảng 2-9 Bảng SDLDL của nghiệp vụ nhận diện lồi hoa bằng hình ảnh ...................59
Bảng 2-10 Bảng SDLDL của nghiệp vụ Tìm kiếm lồi hoa theo tên ...........................60
Bảng 2-11 Bảng SDLDL của nghiệp vụ Xem thơng tin chi tiết về lồi hoa .................62
Bảng 2-12 Bảng SDLDL của nghiệp vụ xem thông tin tài khoản ................................63
Bảng 2-13 Bảng SDLDL của nghiệp vụ chỉnh sửa thông tin tài khoản ........................64
Bảng 2-14 Bảng CSDL User .........................................................................................66
Bảng 2-15 Bảng CSDL Post ..........................................................................................67
Bảng 2-16 Bảng CSDL Plant ........................................................................................67
Bảng 2-17 Bảng CSDL ImagePlant ..............................................................................68
Bảng 2-18 Bảng CSDL Contribute................................................................................68
Bảng 3-1 Bảng mô danh sách của xử lý của màn hình login .......................................71
Bảng 3-2 Bảng mô danh sách của xử lý của màn hình trang chủ .................................73
Bảng 3-3 Bảng mơ danh sách của xử lý của màn hình xem chi tiết bài viết.................75
Bảng 3-4 Bảng mô tả danh sách của xử lý màn hình tạo bài viết .................................77
Bảng 3-5 Bảng mơ danh sách của xử lý của màn hình quản lý trang cá nhân ..............79
Bảng 3-6 Bảng mô danh sách của xử lý của màn hình tìm kiếm hoa bằng hình ảnh ...81
Bảng 3-7 Bảng mô danh sách của xử lý của màn hình tìm kiếm ..................................84
Bảng 3-8 Bảng mơ danh sách của xử lý của màn hình chức năng đóng góp ................87
Bảng 4-1 Attribute class post ........................................................................................88
Bảng 4-2 Method class post ..........................................................................................89
Bảng 4-3 Attribute class User........................................................................................89
Bảng 4-4 Method class User..........................................................................................89
Bảng 4-5 Attribute class Plant .......................................................................................90
20


do an


Bảng 4-6 Method class Plant .........................................................................................90
Bảng 4-7 Attribute class Contribute ..............................................................................91
Bảng 4-8 Method class Contribute ................................................................................91
Bảng 5-1 Bảng lý do file nhỏ được ưu tiên lựa chọn ..................................................109
Bảng 5-2 Thống kê tỷ lệ dự đốn của mơ hình trên điện thoại ...................................125

21

do an


PHẦN MỞ ĐẦU
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trí tuệ nhân tạo (AI) đang dần hiện hữu ở mọi lĩnh vực trong cuộc sống của con
người. Không thể phủ nhận sự bùng nổ với nhiều đột phá của AI ở thời điểm hiện tại và
AI một trong vấn đề trọng yếu của tương lai. Các lĩnh vực ứng dụng AI rất đa dạng và
có khả năng mở rộng, đặc biệt với những cải tiến trong phần cứng máy tính hiện nay,
một số thuật toán AI đã vượt qua khả năng của chuyên gia. Khi công nghệ AI được cải
thiện, lĩnh vực ứng dụng của AI sẽ phát triển hơn nữa. Nhưng tại Việt Nam việc đưa
công nghệ AI vào trong thực tế đời sống còn rất hạn chế. Đơn kể trong giáo dục, các
mơn học tìm hiểu về các lồi sinh vật học, học sinh được tìm hiểu các lồi thực vật thông
qua sách vở, tài liệu đã được ghi chép từ trước, nhưng việc tiếp thu một cách thụ động
nguồn kiến thức mang tính học thuật như trên rất khó và những tài liệu đó chỉ ghi chép
được một phần nhỏ của thế giới tự nhiên, trong khi AI có thể giúp ta được nhiều hơn
thế. Hay việc các nông dân, công nhân lâm nghiệp không thể nhận diện được một giống
cây lạ trước khi chặt phá hay khai thác gây ảnh hưởng đến mơi trường tự nhiên. Ngồi
ra chúng ta cũng biết việc tìm hiểu, nghiên cứu để theo dõi, phát hiện những loài quý

hiếm, những giống cây kỳ lạ, những loài xâm nhập, các nhà nghiên cứu học cần bỏ thời
gian và công sức rất nhiều để có được các thống kê chính xác. Từ những vấn đề trên
nhóm nhận thấy việc xây dụng một ứng dụng nhằm giúp cho việc nhận diện một loài
thực vật ngay tức thời với chiếc điện thoại thông minh là cần thiết. Để triển khai dự án
trên nhóm bắt đầu với đối tượng là cụ thể là hoa và đó cũng là lý do mà nhóm chọn đề
tài nghiên cứu và xây dựng là "XÂY DỰNG ỨNG DỤNG NHẬN DIỆN HOA BẰNG
HÌNH ẢNH TRÊN SMARTPHONE".
2. MỤC TIÊU CỦA ĐỀ TÀI
2.1. Mục tiêu tổng qt:
Xây dựng chương trình nhận diện một lồi hoa bất kỳ. Với ứng dụng này chúng
ta sẽ dễ dàng có được kiến thức tổng quan nhất về lồi hoa mà không cần phải mang
theo sách vở hay tài liệu bên mình, hay giản hơn là giúp thỏa mãn sự tị mị của bản thân
về lồi hoa đó. Chỉ trong vài giây, điện thoại sẽ cung cấp tên khả dĩ cho lồi hoa đó,
những ảnh chụp độ phân giải cao cũng như thơng tin về lồi hoa kia sẽ được thể hiện
đầy đủ.
22

do an


×