BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
----------------------------------
BÙI QUANG THUẬN
ĐỀ TÀI
XÂY DỰNG HỆ THỐNG TRA CỨU
THỰC VẬT RỪNG TẠI THÀNH PHỐ ĐÀ NẴNG
ỨNG DỤNG MƠ HÌNH HỌC SÂU
Chun ngành: Khoa học máy tính
Mã số: 60.48.01
TĨM TẮT LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Đà Nẵng - Năm 2022
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
Cơng trình được hồn thành tại
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------------------
Người hướng dẫn khoa học: TS. Nguyễn Văn Hiệu
Phản biện 1: TS. BÙI THỊ THANH THANH
Phản biện 2: TS. LÂM TÙNG GIANG
Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận
văn tốt nghiệp thạc sĩ Chuyên ngành Khoa học máy tính
họp tại Đại học Đà Nẵng vào ngày ... tháng... năm ...
Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu và TT Đại học Bách khoa_ ĐHĐN
- Thư viện Khoa Công nghệ thông tin, Trường Đại học
Bách Khoa - Đại học Đà Nẵng
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
1
MỞ ĐẦU
1. Lý do chọn đề tài
Theo các tài liệu thống kê, Việt Nam là một trong 25 nước có mức độ đa dạng sinh học cao trên
thế giới với dự tính có thể có tới 20.000-30.000 lồi thực vật. Việt Nam được xếp thứ 16 về mức độ đa
dạng sinh học, chiếm 6.5% số lồi có trên thế giới. Theo dự đoán của các nhà thực vật học số lồi thực vật
bậc cao có mạch ít nhất sẽ lên đến 12.000 lồi, trong đó có khoảng 2.300 lồi đã được nhân dân dùng làm
nguồn lương thực, thực phẩm, thuốc chữa bệnh, thức ăn cho gia súc, lấy gỗ, tinh dầu và nhiều nguyên vật
liệu khác.
Hiện nay trên thế giới có rất nhiều bộ cơ sở dữ liệu, các hệ thống và ứng dụng đề cập về đa dạng
tài nguyên thực vật phổ biến rộng rãi trên Internet. Nhưng ở Việt Nam thì có rất ít thơng tin hay các ứng
dụng đề cập đến vấn đề này, và nếu có thì dữ liệu vẫn cịn rất ít, rời rạc hoặc chưa chính xác. Bên cạnh
đó, việc quản lý dữ liệu của các ứng dụng còn sơ sài, chưa đáp ứng được khả năng cung cấp một cái nhìn
tổng quát và thơng tin bổ ích đến người sử dụng. Ví dụ như các chuyên gia cần tra cứu thông tin sinh học
về ngành, bộ, họ, chi, lồi… và cơng dụng chữa bệnh hay vị trí phân bố địa lí của lồi thực vật để đưa ra
các kế hoạch bảo tồn và nhân giống.
Vì vậy, việc lên kế hoạch để thu thập và hoàn thành xây dựng bộ cơ sở dữ liệu về đa dạng thực
vật là vấn đề cần thiết trong việc bảo vệ và duy trì đa dạng sinh học ở nước ta. Khơng dừng lại ở đó,
chúng tơi hướng đến việc mở rộng hơn chủ đề này từ các dữ liệu liên quan đến đa dạng thực vật bằng việc
trực quan hóa các thơng tin, phân bố địa lí của loài thực vật trên bản đồ nền như một hệ thống thông tin
địa lý cho thực vật và một module hỗ trợ tra cứu thực vật từ các thông tin cơ bản như tên loài, khu vực
phân bố… và đặc biệt là có thể định danh các lồi thực vật bằng hình ảnh.
Chính vì những lý do trên, tơi đề xuất triển khai đề tài “Xây dựng hệ thống tra cứu thực vật
rừng tại Thành Phố Đà Nẵng ứng dụng mơ hình học sâu”.
2. Mục đích và ý nghĩa đề tài
a. Mục đích
Đề tài “Xây dựng hệ thống tra cứu thực vật rừng tại Thành Phố Đà Nẵng ứng dụng mơ hình
học sâu” được triển khai nhằm mục đích chính và duy nhất là xây dựng cổng thơng tin đa dạng sinh học
về tài nguyên thực vật.
b. Ý nghĩa khoa học
Đề tài này hoàn thành việc thu thập dữ liệu về các lồi thực vật và trực quan hóa phân bố địa lý
thực vật trên bản đồ nền sẽ giúp ích rất nhiều cho các chuyên gia, những ai đang làm việc trong lĩnh vực
sinh vật học dễ dàng tra cứu thông tin, nghiên cứu các khu hệ thực vật. Ngoài ra, đề tài này được hoàn
thành là cơ sở xây dựng kế hoạch quản lý, bảo tồn tính đa dạng sinh học, bảo vệ môi trường và phát triển
kinh tế, xã hội.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
2
c. Ý nghĩa thực tiễn
Một ứng dụng về tra cứu thực vật thật sự là một công cụ tuyệt vời cho sinh viên, nghiên cứu sinh
và chuyên gia đang hoạt động trong lĩnh vực tài nguyên môi trường trong việc khai thác thông tin về các
khu bảo tồn thiên nhiên, vườn quốc gia… trong thời buổi Việt Nam đang thiếu chuyên gia sinh học và
trong thời đại chuyển đổi số như hiện nay.
3. Mục tiêu và nhiệm vụ
a. Mục tiêu
Đề tài bao gồm 3 mục tiêu chính
•
Hồn thành thu thập và xây dựng bộ khung cở sở dữ liệu về đa dạng thực vật học (bộ khung sau
này có thể áp dụng cho thực vât Việt Nam)
•
Hồn thành triển khai hệ thống thông tin địa lý về đa dạng thực vật học ở Đà Nẵng
•
Triển khai các module định danh và tra cứu thực vật thơng qua hình ảnh
b. Nội dung thực hiện
Để đạt được mục tiêu nêu ở trên, thì đề tài đặt ra một số nội dung cơ bản sau:
- Nội dung 1: Thu thập dữ liệu về tài nguyên đa dạng thực vật bao gồm dữ liệu liên quan đến thơng tin,
phân bố địa lí và hình ảnh thực vật tại các khu bảo tồn thiên nhiên, vườn quốc gia. Thu thập dữ liệu từ các
nguồn sau:
•
Các chuyên gia thu thập dữ liệu (tên thực vật, hình ảnh, tọa độ) từ thực tế.
•
Các phương pháp thu thập dữ liệu thực vật từ các nguồn trên Internet.
- Nội dung 2: Tổng hợp và chỉnh sửa dữ liệu thu thập được để hoàn thành bộ CSDL đa dạng thực vật khu
hệ thực vật.
•
Hình ảnh: dữ liệu hình ảnh chụp được từ thực tế hoặc thu thập từ internet sẽ được tổ chức vào các
thư mục server theo từng loại phục vụ cho việc xây dựng module tra cứu và định danh thực vật
•
Tọa độ địa lý: tọa độ thập của từng loại thực vật sẽ được lưu trữ vào cơ sở dữ liệu phù hợp để
phục vụ cho việc trực quan hóa trên bản đồ nền
•
Thơng tin thực vật: sẽ được các chuyên gia về thực vật hiệu chỉnh về tên, công dụng, chức năng,
đặc điểm, sinh thái, vị trí phân bố…Hoặc tham khảo từ liệu từ Internet.
- Nội dung 3: Xây dựng hệ thống thơng tin địa lí quản lý đa dạng thực vật tại các khu bảo tồn thiên nhiên,
vườn quốc gia. Bao gồm các chức năng sau:
•
Xây dựng module học máy để định danh và tra cứu thực vật với đầu vào text (sử dụng
Elasticsearch) và đầu vào hình ảnh (sử dụng module học máy).
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
3
•
Xây dựng hệ thống thơng tin trên nền tảng Web với các chức năng định danh và tra cứu thực vật.
Đồng thời triển khai dữ liệu tài nguyên thực vật trên bản đồ nền
4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ của luận văn thuộc loại nghiên cứu và ứng dụng, tôi chỉ giới hạn nghiên cứu các
vấn đề sau:
Đối tượng:
•
Đề tài chỉ tập trung vào thực vật rừng tại thành phố Đà Nẵng.
Phạm vi:
•
Dữ liệu phân bố thực vật tại các khu bảo tồn thiên nhiên, vườn quốc gia như bán đảo Sơn Trà,
khu bảo tồn Bà Nà Núi Chúa, khu bảo tồn thiên nhiên Nam Hải Vân
•
Tra cứu thơng tin liên quan đến thực vật
•
Các mơ hình học máy phục vụ tra cứu bằng hình ảnh.
5. Phương pháp nghiên cứu
a. Phương pháp lý thuyết
•
Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài.
•
Nghiên cứu các kiến thức về thực vật phục vụ cho việc thu thập dữ liệu
•
Nghiên cứu các kiến thức liên quan đến bản đồ nền MapBox, GIS…
•
Nghiên cứu các cơng nghệ để giải quyết bài tốn “Xây dựng hệ thống tra cứu thực vật rừng tại
Thành Phố Đà Nẵng ứng dụng mơ hình học sâu”
•
Nghiên cứu các mơ hình học máy hỗ trợ tra cứu thực vật bằng hình ảnh MobileNet, VGG16,
MobiFaceNet…
b. Phương pháp thực nghiệm
•
Phân tích yêu cầu thực tế của bài toán đa dạng thực vật.
•
Thu thập dữ liệu và xây dựng chương trình thử nghiệm đa dạng thực vật Việt Nam sử dụng hệ
thống thơng tin địa lí
•
Triển khai các giải pháp tra cứu thơng tin thực vật kết hợp các mơ hình học sâu
•
Đánh giá và hiệu chỉnh kết quả
6. Dàn ý nội dung chính
Bố cục luận văn bao gồm 03 chương chính:
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
4
CHƯƠNG 1: “TỔNG QUAN HỆ THỐNG TRA CỨU THỰC VẬT VÀ CƠ SỞ LÝ
THUYẾT” trình bày tổng quan các vấn đề và cách tiếp cận để triển khai một hệ thống thơng tin cho bài
tốn tra cứu thơng tin thực vật. Tiếp theo trình bày các cơ sở lý thuyết về phương pháp học sâu là Mạng
nơ ron tích chập và các mơ hình biến thể được sử dụng trong đề tài nghiên cứu này như VGG16,
MobilenetV2 và MobileFacenet. Và giới thiệu sơ lược về cơ sở lý thuyết của hệ thông tin địa lý
CHƯƠNG 2: “XÂY DỰNG HỆ THỐNG TRA CỨU THỰC VẬT” trình bày về quy trình
triển khai hệ thống thông tin tra cứu thông tin thực vật. tthực hiện các giải pháp để thu thập dữ liệu loài
thực vật rồi từng bước biên tập thành bộ khung cơ sở dữ liệu hồn chỉnh. Từ đó triển khai mơ hình thành
ứng dụng với các giải pháp tra cứu dựa trên nền bản đồ, tra cứu dựa trên hình ảnh, tra cứu dựa trên dữ liệu
biên tập cho hệ thống thông tin
CHƯƠNG 3: “TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ” trình bày về kết quả
đạt được với các chỉ tiêu đề ra và quy trình ở nội dung Chương 2. Và cuối cùng là việc thực hiện đánh giá
về khả năng và tính ứng dụng của hệ thống tra cứu thực vật.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
5
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG TRA CỨU THỰC VẬT VÀ CƠ SỞ LÝ THUYẾT
1.1. Tổng quan hệ thống tra cứu thực vật
1.1.1. Giới thiệu
Theo các tài liệu thống kê, Việt Nam là một trong 25 nước có mức độ đa dạng sinh học cao trên
thế giới với dự tính có thể có tới 20.000-30.000 lồi thực vật. Việt Nam được xếp thứ 16 về mức độ đa
dạng sinh học, chiếm 6.5% số lồi có trên thế giới. Theo dự đốn của các nhà thực vật học số lồi thực vật
bậc cao có mạch ít nhất sẽ lên đến 12.000 lồi, trong đó có khoảng 2.300 lồi đã được nhân dân dùng làm
nguồn lương thực, thực phẩm, thuốc chữa bệnh, thức ăn cho gia súc, lấy gỗ, tinh dầu và nhiều nguyên vật
liệu khác. Theo số liệu được lấy từ Bộ Nông nghiệp và Phát triển nông thôn công bố hiện trạng rừng tồn
quốc năm 2019, tính đến ngày 31/12/2019, diện tích đất rừng tồn quốc là 14.609.220 ha.
Tại Việt Nam thì có rất ít thơng tin hay các ứng dụng đề cập đến vấn đề này, và nếu có thì dữ liệu
vẫn cịn rất ít, rời rạc hoặc chưa chính xác. Bên cạnh đó, việc quản lí dữ liệu của các ứng dụng còn sơ sài,
chưa đáp ứng được khả năng cung cấp một cái nhìn tổng quát và thơng tin bổ ích đến người sử dụng. Ví
dụ như các chuyên gia cần tra cứu thông tin sinh học về ngành, bộ, họ, chi, lồi… và cơng dụng chữa
bệnh hay vị trí phân bố địa lí của lồi thực vật để đưa ra kế hoạch bảo tồn và nhân giống. Vì vậy, việc lên
kế hoạch để thu thập và hoàn thành xây dựng bộ cơ sở dữ liệu về đa dạng thực vật là vấn đề cần thiết
trong việc bảo vệ và duy trì đa dạng sinh học ở nước ta. Khơng dừng lại ở đó, chúng tơi hướng đến việc
mở rộng hơn chủ đề này từ các dữ liệu liên quan đến đa dạng thực vật bằng việc trực quan hóa các thơng
tin, phân bố địa lí của loài thực vật trên bản đồ nền như một hệ thống thơng tin địa lí cho thực vật và một
module hỗ trợ tra cứu thực vật từ các thông tin cơ bản như tên loài, khu vực phân bố… và đặc biệt là có
thể định danh các lồi thực vật bằng hình ảnh
Chính vì những lý do trên, chúng tơi đề xuất triển khai đề tài “Xây dựng hệ thống tra cứu thực
vật tại Thành phố Đà Nẵng ứng dụng mơ hình học sâu”. Trong phạm vi đề tài này, chúng tôi cho triển
khai tại thành phố Đà Nẵng trước tiên và sẽ mở rộng cho các tỉnh thành khác của Việt Nam trong tương
lai.
1.1.2. Bài toán tra cứu thực vật
Việc quản lý và lưu trữ một cách có hệ thống những loài thực vật đã gặp sẽ hỗ trợ tích cực cho
việc tiếp cận tính đa dạng của một hệ thực vật nói chung và hệ thực vật Việt Nam nói riêng. Và việc tra
cứu định danh lồi là công việc diễn ra thường xuyên đối với những người làm trong lĩnh vực sinh học.
Để xây dựng được các giải pháp tra cứu thông tin thực vật chúng ta cần phải có kiến thức về giới thực vật
để cơng việc “Xếp Loại” và “Định Danh” thực vật đạt được độ chính xác cao nhất. Xếp loại là việc đặt
thực vật được biết đến vào nhóm hoặc thể loại để hiển thị một số mối quan hệ. Định danh thực vật sau đó
tuân theo một hệ thống các quy tắc được tiêu chuẩn hóa các kết quả, và tiếp tục gộp các thể loại đã được
xếp vào một hệ thống phân cấp. Việc định danh thực vật tạo ra một hệ thống được cấu trúc để đặt tên và
xếp danh mục cho các loài được phát hiện, và trong trường hợp lý tưởng nó phản ánh các ý tưởng khoa
học về mối quan hệ giữa các loài thực vật. Từ đó, việc tra cứu thơng tin định danh thực vật có thể dùng
nhiều giải pháp khác nhau như sử dụng tên để tìm kiếm và định danh thơng qua hình ảnh …
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
6
1.1.3. Tra cứu thực vật bằng hình ảnh
Bài tốn tra cứu thực vật bằng hình ảnh hay phân loại thực vật đã xuất hiện từ lâu và đã
có rất nhiều bài báo, cơng trình khoa học được đưa ra nhằm đề xuất hoặc cải tiến các thuật tốn
cũ. Trong đó, xuất hiện sớm nhất là các phương pháp xử lý ảnh. các phương pháp này tập trung
vào phát triển các thuật tốn nhằm trích xuất tin, ví dụ như các tham số về màu sắc, hình dạng,
kết cấu, kích thước, …từ bức ảnh đầu vào để phân loại thực vật. Trong những năm gần đây, nhờ
sự phát triển vượt bậc về sức mạnh tính tốn của máy tính cũng như sự bùng nổ dữ liệu trên
internet, học sâu đã đạt được nhiều thành tựu đáng kể trong lĩnh vực xử lý ảnh và xử lý ngôn ngữ
tự nhiên. Phương pháp học sâu cũng đã áp dụng thành công vào bài toán phân loại thực vật và
bước đầu đã đạt được một số kết quả kinh ngạc
1.2 Hệ thống thông tin địa lí
Hệ thống thơng tin địa lýlà một cơng cụ tập hợp những quy trình dựa trên máy tính để lập
bản đồ, lưu trữ và thao tác dữ liệu địa lý, phân tích các sự vật hiện tượng thực trên trái đất, dự
đoán tác động và hoạch định chiến lược. Một tập hợp có tổ chức của phần cứng, phần mềm, cơ
sở dữ liệu và con người được thiết kế để thu nhận, lưu trữ, cập nhật, thao tác phân tích làm mơ
hình và hiển thị tất cả các dạng thơng tin địa lý có quan hệ khơng gian nhằm giải quyết các vấn
đề về quản lý và quy hoạch. GIS sẽ làm thay đổi đáng kể tốc độ mà thông tin địa lý được sản
xuất, cập nhật và phân phối. GIS cũng làm thay đổi phương pháp phân tích dữ liệu địa lý, hai ưu
điểm quan trọng của GIS so với bản đồ giấy là dễ dàng cập nhật thông tin không gian và tổng
hợp hiệu quả nhiều tập hợp dữ liệu thành một cơ sở dữ liệu kết hợp
1.3 Mạng học sâu
1.3.1 Mạng nơ-ron tích chập
Mạng nơ-ron tích chập (CNN - Convolutional Neural Network) là một trong những mơ hình
mạng Học sâu phổ biến nhất hiện nay, có khả năng nhận dạng và phân loại hình ảnh với độ chính xác rất
cao, thậm chí cịn tốt hơn con người trong nhiều trường hợp. Mơ hình này đã và đang được phát triển, ứng
dụng vào các hệ thống xử lý ảnh lớn của Facebook, Google hay Amazon… cho các mục đích khác nhau
như các thuật tốn tagging tự động, tìm kiếm ảnh hoặc gợi ý sản phẩm cho người tiêu dùng. Các lớp cơ
bản trong một mạng CNN bao gồm: Lớp tích chập (Convolutional Layer), Lớp kích hoạt phi tuyến ReLU
(Rectified Linear Unit Layer), Lớp lấy mẫu (Pooling Layer) và Lớp kết nối đầy đủ (Fully-connected
Layer), được thay đổi về số lượng và cách sắp xếp để tạo ra các mơ hình huấn luyện phù hợp cho từng bài
tốn khác nhau.
1.3.2 Kiến trúc mạng VGG16
Mơ hình VGG16 là một mơ hình CNN cải thiện độ chính xác của phân loại bằng cách thêm độ
sâu, được đề xuất bởi K. Simonyan và A. Zisserman từ Đại học Oxford [20]. VGG16 đạt được 92,7% độ
chính xác top 5 trên tập dữ liệu ImageNet, bao gồm hơn 14 triệu hình ảnh của 1000 lớp. Kiến trúc này là
một trong những mơ hình được gửi và giành chiến thắng trong cuộc thi ImageNet ILSVR năm 2014. Nó
cải thiện AlexNet bằng cách thay thế các bộ lọc kích thước hạt nhân lớn bằng nhiều bộ lọc kích thước hạt
nhân 3 × 3.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
7
Trong kiến trúc VGG16, hình ảnh RGB kích thước cố định 224 x 224 đầu vào của lớp cov1. Một chồng
các lớp phức tạp đi qua hình ảnh bằng các bộ lọc có trường tiếp nhận nhỏ: 3 × 3. Bộ lọc tích chập 1 × 1
cũng được sử dụng trong một trong những cấu hình để thực hiện chuyển đổi tuyến tính cho các kênh đầu
vào. Khơng gian việc gộp chung thực hiện bởi năm lớp gộp tối đa sau một số lớp phức hợp. Tối đa
pooling hoạt động với bước sóng 2 trên cửa sổ 2 × 2 pixel. Có ba kết nối đầy đủ các lớp sau chồng lớp
tích tụ, mỗi lớp trong số hai lớp đầu tiên có 4096 kênh, và thứ ba chứa 1000 kênh. Lớp softmax là lớp
cuối cùng. Đầy đủ cấu hình các lớp được kết nối giống nhau trong tất cả các mạng và tất cả các lớp ẩn bao
gồm chỉnh lưu (ReLU) phi tuyến tính.
1.3.3 Kiến trúc mạng MobilenetV2
MobileNet là một mơ hình xương sống để khai thác tính năng đã được sử dụng rộng rãi về mặt lý
thuyết và thực tế. Hơn nữa, nó có một hiệu suất hiện đại cho đối tượng phát hiện và phân đoạn ngữ nghĩa.
Trong mơ hình MobileNet, chiều sâu phân tách Convolution có thể làm giảm đáng kể kích thước mơ hình
và độ phức tạp của mạng, được áp dụng cho điện thoại di động và các thiết bị có cơng suất tính tốn thấp.
So với mơ hình MobileNetV1, Mơ hình MobileNetV2 có mơ-đun tốt hơn với cấu trúc phần dư đảo ngược
và không có bất tuyến tính trong các lớp hẹp. Sử dụng các hệ số chiều rộng và độ phân giải đầu vào khác
nhau, mơ hình MobileNetV2 hoạt động tốt hơn MobileNetV1, trong khi nó có chi phí tính tốn và kích
thước mơ hình tương đương. Hơn thế nữa, mơ hình MobileNetV2, có hệ số nhân chiều rộng là 1,4, hoạt
động tốt hơn với suy luận nhanh hơn thời gian hơn ShuffleNet (× 2) và NASNet.
1.3.4 Kiến trúc mạng MobileFacenet
MobileFaceNet là một loại mơ hình được sáng tạo ra nhằm giải quyết bài tốn Xác minh khn
mặt, cũng là một cơng nghệ xác thực danh tính rất quan trọng [24]. Nó đang được sử dụng trong ngày
càng nhiều điện thoại di động và các ứng dụng - chẳng hạn như để mở khóa thiết bị hoặc nền tảng thanh
tốn di động, trong số những nền tảng khác. Để đạt được sự thân thiện với người dùng tối đa với tài
ngun tính tốn hạn chế, các mơ hình xác minh khn mặt được triển khai cục bộ trên thiết bị di động
được kỳ vọng khơng chỉ chính xác mà cịn nhỏ và nhanh chóng.
➢ Global Depthwise Convolution
Để xử lý các đơn vị khác nhau của FMap-end với tầm quan trọng khác nhau, chúng tôi thay thế
global average pooling layer bằng một global depthwise convolution layer (được ký hiệu là GDConv).
Lớp GDConv là lớp tích chập theo chiều sâu với kích thước kernel bằng kích thước đầu vào, pad = 0 và
stride = 1. Đầu ra cho lớp tích chập theo chiều sâu tồn cục được tính như sau:
𝐺𝑚 = ∑𝑖,𝑗 𝐾𝑖,𝑗,𝑚 ⋅ 𝐹𝑖,𝑗,m (3)
trong đó 𝐹 là bản đồ tính năng đầu vào có kích thước 𝑊 × 𝐻 × 𝑀, 𝐾 là nhân chập theo chiều sâu có kích
thước 𝑊 × 𝐻 × 𝑀, 𝐺 là đầu ra của kích thước 1 × 1 × 𝑀 , kênh 𝑚𝑡ℎ trong 𝐺 chỉ có một phần tử 𝐺𝑚, (𝑖,
𝑗) biểu thị vị trí không gian trong 𝐹 và 𝐾, và 𝑚 biểu thị chỉ số kênh. Tích chập theo chiều sâu tồn cầu có
chi phí tính tốn là:
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
8
𝑊 ⋅ 𝐻 ⋅ M (4)
Khi được sử dụng sau FMap-end trong MobileNetV2 để nhúng đặc điểm khuôn mặt, lớp tích
chập theo chiều sâu tồn cục của kernel size 7 × 7 × 1280 xuất ra vectơ đặc điểm khuôn mặt 1280 chiều
với chi phí tính tốn là 62720 MAdds (tức là số lượng hoạt động được đo bởi multiply-adds) và 62720
tham số. Hãy để MobileNetV2-GDConv biểu thị MobileNetV2 với lớp tích chập theo chiều sâu tồn cục.
Lớp này là một cấu trúc hiệu quả cho thiết kế MobileFaceNets.
➢ Kiến trúc MobileFaceNet
Kiến trúc MobileFaceNet một phần được lấy cảm hứng từ kiến trúc MobileNetV2. Các nút thắt cổ
chai còn lại được đề xuất trong MobileNetV2 được sử dụng làm khối xây dựng chính của chúng tơi. Các
nhà nghiên cứu sử dụng PReLU là phi tuyến tính, phù hợp hơn để xác minh trên khuôn mặt hơn là sử
dụng ReLU. Các nhà nghiên cứu cũng sử dụng chiến lược lấy mẫu nhanh ở đầu mạng và lớp tích chập 1 ×
1 tuyến tính theo sau lớp tích chập theo chiều sâu tồn cục tuyến tính làm lớp đầu ra tính năng. Mạng
MobileFaceNet chính sử dụng 0,99 triệu tham số. Để giảm chi phí tính tốn, các nhà nghiên cứu quyết
định thay đổi độ phân giải đầu vào từ 112 × 112 thành 112 × 96 hoặc 96 × 96. Lớp tích chập 1 × 1 tuyến
tính sau lớp GDConv tuyến tính cũng bị xóa khỏi MobileFaceNet. Điều này tạo ra một mạng kết quả
được gọi là MobileFaceNet-M.
➢ ArcFace - Additive Angular Margin Loss
Hàm mất mát Additive Angular Margin Loss có thể được xem như một sự cải tiến cho
hàm softmax, tích vơ hướng giữa véc tơ đặc điểm từ mơ hình DCNN và lớp fullly connected
cuối bằng với khoảng cách cosine của feature và weight đã được chuẩn hóa. Chúng ta tận dụng
hàm arc-cosine để tính góc giữa feature hiện tại và weight mục tiêu . Sau đó chúng ta cộng thêm
additive angular margin vào góc mục tiêu và chúng ta sẽ thu được lại véc tơ logit thông qua hàm
cosine. Tiếp theo, các logits sẽ được định lại tỉ lệ và các bước còn lại sẽ giống hệt như hàm mất
mát softmax. Tóm tắt các các bước như sau:
•
Bước 1: Sau khi normalization weights và feature vectors, ta lấy được cosθj với ∀j=1,2,...,C
•
Bước 2: Ta cần tính θj (rất dễ dàng, chỉ cần lấy ArcCos là được). θj là góc giữa ground truth
weight Wyi và feature vector xi.
•
Bước 3: Sau đó ta tính cos(θ+m). Nếu bạn cịn nhớ vịng trịn lượng giác, thì trong khoảng từ 0
đến π, góc càng tăng cos càng giảm.
•
Bước 4: Tính s∗cos(θ+m). Sau đó đưa vào softmax để lấy ra phân phối xác suất probability của các
nhãn.
•
Bước 5: Cuối cùng, ta có ground truth vector (là label đã được one-hot) cùng probability, đóng góp
vào cross entropy loss.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
9
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG TRA CỨU THỰC VẬT
Chương 2 giới thiệu về các phân hệ chức năng cần triển khai cho hệ thống tra cứu thực vật và
trình bày về quy trình triển khai hệ thống theo từng bước như Hình 2.0. Chúng tơi thực hiện các giải pháp
để thu thập dữ liệu loài thực vật rồi từng bước biên tập thành bộ khung cơ sở dữ liệu hồn chỉnh. Từ đó
triển khai mơ hình thành ứng dụng với các giải pháp tra cứu dựa trên nền bản đồ, tra cứu dựa trên hình
ảnh, tra cứu dựa trên dữ liệu biên tập cho hệ thống thông tin
2.1 Yêu cầu hệ thống
Các nội dung yêu cầu cho hệ thống tra cứu thực vật được chia thành 5 phân hệ
1. Phân hệ chức năng tra cứu thông tin cơ bản
2. Phân hệ chức năng tra cứu phân bố trên nền Bản đồ
3. Phân hệ chức năng thống kê báo cáo
4. Phân hệ chức năng biên tập dữ liệu
5. Phân hệ chức năng quản lí người dùng
2.2 Ứng dụng mơ hình học sâu vào tra cứu hình ảnh
2.2.1 Thu thập dữ liệu
Để thu thập số liệu về đa dạng sinh học trong phạm vi đề tài này, chúng tơi chia cơng việc thành
hai nguồn chính, thứ nhất là thu thập dữ liệu trên địa bàn thành phố Đà Nẵng và thứ hai là thu thập từ
nguồn Internet để làm bổ sung vào các danh mục dữ liệu còn thiếu.
2.2.1.1. Quy trình thu thập dữ liệu trên địa bàn Đà Nẵng
Như đã đề cập ở chương I, trong phạm vi đề tài này chúng tôi triển khai thu thập dữ liệu thí điểm
ở Đà Nẵng trước tại địa điểm Khu bảo tồn thiên nhiên Bán Đảo Sơn Trà, Khu Bảo tồn thiên nhiên Bà Nà
– Núi Chúa, Nam Hải Vân và Ngũ Hành Sơn. Việc thu thập dữ liệu bao gồm thu thập ảnh, thông tin về cá
thể và vị trí phân bố sau đó sẽ được tổng hợp và phân loại thành bộ cơ sở dữ liệu nhờ vào việc tổng hợp
kiến thức giới thực vật
Với đội ngũ chuyên gia giàu kinh nghiệm trong lĩnh vực sinh học, chúng tơi đã hồn thành việc
thu thập dữ liệu trong 4 tháng. Kết quả thu được với số liệu tổng hợp như Bảng 2.2.1-1. như sau:
Số lượng loài thực vật
433 loài thuộc 114 Họ, thuộc 5 Ngành
Số lượng tọa độ phân bố
Gần 4400 tọa độ
Số lượng ảnh hiện truòng
Gần 3000 ảnh trên 433 loài
Bảng 2.2.1-1. Thống kế số lượng dữ liệu thu thập tại Đà Nẵng
2.2.1.2. Quy trình thu thập dữ liệu từ nguồn Internet
Nguồn dữ liệu thu thập từ hiện trường không đủ để chúng tôi thực hiện quá trình xây dựng mơ
hình huấn luyện, do đó chúng tơi đã đề xuất thu thập thêm dữ liệu cho từng cá thể loài thực vật dựa vào
nguồn tài nguyên dồi dào trên internet. Bộ dữ liệu hình ảnh thực vật được bổ sung bằng cách thu thập từ
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
10
nhiều nguồn khác nhau như Google, EoL, vncreatures.net và các trang trực tuyến bách khoa toàn thư về
sinh vật Việt Nam, gồm hàng nghìn lồi thực vật ở Việt Nam. Nội dung của các trang web bao gồm các
mô tả chi tiết, tên thực vật, khoa học danh pháp và hình ảnh tự nhiên.
2.2.2 Tiền xử lí dữ liệu
Giai đoạn thu thập dữ liệu đã hoàn thành, tiếp theo để hệ thống thông tin mang lại nhiều chức
năng hữu dụng hơn cho cơng tác tra cứu và tìm kiếm, chúng tơi thực hiện phân loại các lồi thực vật dựa
trên tiêu chí sau:
- Tiêu chí về hiện trạng các lồi thực vật nguy cấp và quý hiếm
- Tiêu chí về giá trị hữu dụng của lồi thực vật
- Tiêu chí về dạng sống của lồi thực vật
2.2.3 Các mơ hình huấn luyện
Việc phân loại lồi thực vật khơng chỉ đơn giản là từ một bức ảnh đầu vào bao gồm tất cả các bộ
phận lá, hoa, trái, vỏ cây của lồi đó là có thể nhận diện và phân loại được. Mỗi lồi thực vật có kích
thước và hình dáng về lá, hoa, trái, vỏ cây khác nhau, do đó ta cần phải tìm được đặc trưng của từng bộ
phận lá, hoa, trái, thân cây của từng loài thực vật thì mới có thể phân biệt được. Từ hướng tiếp cận trên,
chúng tơi thử nghiệm quy trình huấn luyện với giải pháp sẽ được trình bày theo quy trình sau. Chúng tôi
triển khai 3 module để giải quyết giải pháp tra cứu thực vật theo quy trình trên:
•
Module 1: Phân biệt bộ phận lồi thực vật với mơ hình VGG16
•
Module 2: Nhận diện lá và định danh loài thực vật với MobilenetV2
•
Module 3: Nhận diện ảnh thực thể và định danh loài thực vật với MobileFacenet
2.2.3.1 Module phân biệt bộ phận lồi thực vật với mơ hình VGG16
Bộ dữ liệu với tổng cộng gần 21695 ảnh được thu thập từ thực tế và một số nguồn trên Internet.
Với trung bình gần 4300 ảnh cho từng bộ phận hoa, lá, quả, thân cây, tồn thực thể
2.2.3.1.2 Mơ hình huấn luyện VGG16 và thực hiện điều chỉnh các layers
Chúng tôi sẽ dùng một mơ hình CNN dựa trên VGG-16 và có đầu ra dự đốn độ chính xác các bộ
phận của lồi thực vật bao gồm: “thực thể cây, lá, hoa, trái, vỏ cây”. VGG16 là một mơ hình đã được
huấn luyện rất tốt, do đó chúng tơi khơng cần phải điều chỉnh các weights của mơ hình này nữa. Chúng
tơi đã thay thế các Fully Connected Layers màu tím cố định của mạng VGG16 bằng các Layers được điều
chỉnh phù hợp. Vì các Fully Connected Layers màu tím này là các layers mặc định nằm trên đỉnh của mơ
hình VGG16, khơng phù hợp với bài toán phân biệt bộ phận cây chúng tơi vì chỉ cần 5 đối tượng là "Lá,
Thân, Hoa, Quả, Thực thể", đó là lí do phải cần điều chỉnh lại các lớp FC với 5 loại nhãn cần phần biệt.
2.2.3.2 Module nhận diện lá và định danh loài thực vật với MobilenetV2
Với kết quả ở bước một, ta có thể biết được hình ảnh đầu vào gồm bộ phận nào, nhưng vẫn bất
khả thi để biết được hình ảnh đấy là của lồi thực vật nào. Do đó, kĩ thuật trích chọn đặc trưng đóng vai
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
11
trị vơ cùng quan trọng để có thể lấy ra những chi tiết quan trọng trong bức ảnh và đem nó đi phân loại
xem có xác suất giống với lồi thực vật nào nhất. Chúng tôi tiếp cận theo hướng sử dụng Triple Loss để
trích xuất đặc trưng, và tách lớp Softmax ở cuối cùng của kiến trúc MobilenetV2 rồi thay thế bằng thuật
toán phân loại Support Vector Machine.
2.2.3.2.1 Chuẩn bị dữ liệu
Thống kế tổng số lượng nhãn của 602 loài thực vật và tổng số lượng images gần 10782 ảnh về Lá
cây được chuẩn bị cho mơ hình huấn luyện MobilenetV2
2.2.3.2.2 Mơ hình trích xuất đặc trưng với MobileNetV2
So sánh về hiệu năng, tốc độ xử lí và đặc biệt là độ chính xác thì chúng nhận thấy MobileNetV2
là rất phù hợp, nó có thể triển khai trên các thiết bị Mobile với kích thước nhỏ gọn. Để hiểu hơn về cách
MobileNetV2 trích chọn đặc trưng của lồi thực vật, chúng tơi thực hiện mơ phỏng cách mơ hình
MobileNetV2 trích xuất đặc trưng từ ảnh đầu vào với các hidden layers thứ nhất, thứ mười, thứ hai mươi
và năm mươi cho “Lá” để nhìn được tổng quan quy trình trích xuất đặc trưng của mơ hình này.
2.2.3.2.3 Phân loại vector đặc trưng
Đây là giai đoạn cuối cùng giúp chúng tôi biết được với các đặc trưng của bức ảnh đầu vào thì có
thể định danh được đây là lồi thực vật nào. Có rất nhiều thuật tốn nổi tiếng giúp ta giải quyết được vấn
đề này như máy vectơ hỗ trợ, K láng giềng gần nhất, Naives Bayes, Decision Tree, Neural Network…
hay các thuật toán khá nổi tiếng được phát hiện gần đây như XGboost, Light GBM. Ở đây, chúng tơi sẽ
chỉ lựa chọn một thuật tốn truyền thống, nổi tiếng và có độ chuẩn xác cao là Support Vector Machine.
Mơ hình được huấn luyện bằng bộ dữ liệu lá cây với 602 nhãn, mỗi loài thực vật sẽ có một tập
các hình ảnh lá cây sẽ được chuyển đổi sang các vector đặc trưng để làm dữ liệu cho việc huấn luyện trên
Support Vector Machine.Việc phân loại sẽ được tiến hành bằng cách sử dụng vector đặc trưng được trích
xuất từ hình ảnh cần dự đốn, chỉ việc đưa vào mơ hình đã được huấn luyện bởi Support Vector Machine
sẽ có được định danh của lồi thực vật có xác suất cao nhất so với hình ảnh cần dự đoán sử dụng vector
đặc trưng từ kết quả của giai đoạn trước làm đầu vào của mơ hình phân loại được xây dựng bởi Support
Vector Machine.
2.2.3.3. Module nhận diện thực thể và định danh thực vật với MobileFacenet
Chúng ta có thể phân biệt và định danh lồi thực vật thơng qua lá cây. Tuy nhiên với giải pháp
đó, nếu ảnh đầu vào là ảnh thực thể chứa nhiều bộ phận của loài thực vật bao gồm cả “lá, hoa, cành, quả,
thân”, hay có nhiều vùng trong ảnh có màu xanh, hoặc hình dáng giống lá cây thì hầu như khơng thể trích
xuất đặc trưng và độ chính xác trong việc phân loại không mạng lại kết quả như mong muốn. Do đó
chúng tơi cần tìm kiếm một giải pháp tốt để xử lí vấn đề định danh lồi thực vật thơng qua với ảnh thực
thể của nó, đó sẽ khơng cịn mơ hình huấn luyện chỉ bao gồm mỗi “lá” như giải pháp 1. Chúng tơi đã tìm
ra giải pháp huấn luyện với MobileFacenet để giải quyết vấn đề trên, ở giải pháp này tập ảnh dữ liệu huấn
luyện của mỗi lồi thực vật sẽ là những hình ảnh bao phủ về thực thể của nó, ảnh hầu như sẽ chứa tất cả
bộ phận của cây.:
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
12
2.2.3.3.1. Cơ sở áp dụng mơ hình MobileFacenet vào bài tốn phân loại thực vật
Chúng tơi đã nghiên cứu nhiều kiến trúc CNNs như VGG16, RestNet, Mobilenet nhưng có vẻ
chúng không phù hợp để giải quyết vấn đề này. Và mọi thứ đã trở nên khả quan hơn khi chúng tơi tiếp
cận với mơ hình MobileFacenet, đây là một mơ hình CNNs hiệu quả dành cho giải pháp xác minh khn
mặt theo thời gian thực chính xác trên thiết bị di động. Đây là một mơ hình CNN cịn rất mới và tiềm
năng thường sử dụng trong các bài toán “Nhận dạng khn mặt”, tốc độ xử lí và độ chính xác của nó thật
sự đáng kinh ngạc khi so sánh với các mơ hình CNN truyền thống, như đặc điểm và kiến trúc đã được đề
cập chương 2. Nhìn vào kết quả và so sánh với các mơ hình của các mạng CNN khác, MobileFaceNets
đạt được độ chính xác tốt hơn đáng kể và tốc độ xử lí nhanh hơn. Mơ hình MobileFaceNets sử dụng ít
hơn 1 triệu tham số và được điều chỉnh đặc biệt để xác minh vật thể theo thời gian thực
2.2.3.3.2. Chuẩn bị dữ liệu
Thống kế tổng số lượng nhãn là 2783 loài thực vật và tổng số lượng images gần 68071 ảnh được
chuẩn bị cho mơ hình huấn luyện MobileFacenet
2.2.3.3.3. Xây dựng mơ hình MobileFacnet kết hợp cùng ArcFace
Cần phải thích tại sao chúng tơi có thể ứng dụng mơ hình MobileFaceNets để có thể phân biệt
được số lượng nhãn rất lớn, và có thể đảm nhận nhiều nhiệm vụ vừa phải nhận diện “lá”, “hoa”, “quả”,
“thân”… nhờ ứng dụng ArcFace. Đây là một giải pháp thay thế cho phương pháp Softmax truyền thống ở
các mơ hình CNN với phân loại chính xác cao hơn rất nhiều.
Việc sử dụng hàm softmax khiến cho kích thước của ma trận biến đổi tuyến tính tăng tỉ lệ với số
lượng danh tính mà chúng ta muốn phân loại, đồng thời việc huấn luyện theo phương pháp này khiến mơ
hình phân loại khá tốt với những vấn đề phân loại kín (khi mà tập hợp đầu vào và tập hợp đầu ra có chung
số lượng class) cho thấy phương pháp này là không quá thực tế khi số lượng nhãn khác nhau (số lượng
class) mà chúng ta cần nhận diện thường thay đổi. Hàm triplet loss xử lí được vấn đề này nhưng nó cũng
tồn tại những khuyết điểm riêng. Các nhà nghiên cứu đã đưa ra một hướng đi mới cho việc nhận diện đối
tượng với việc giới thiệu một hàm mất mát mới Additive Angular Margin Loss hay còn gọi là ArcFace.
ArcFace được sử dụng trong mơ hình InsightFace đã mang lại độ chính xác rất cao, mà
MobileFacenet lại là ý tưởng được kế thừa từ InsightFace, do đó MobileFacnet kết hợp cùng ArcFace là
một sự lựa chọn hợp lí nhất để thực hiện ở giải pháp này.
2.2.4 Đánh giá kết quả
2.2.4.1 Kết quả module phân biệt bộ phận lồi thực vật với mơ hình VGG16
Kết quả đánh giá được thể hiện qua Confusion Matrix để trực quan hóa độ chính xác về nhận
dạng ở từng bộ phận thực vật
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
13
Hình 2.2.4-1. Đánh giá Confusion Matrix sau khi huấn luyện mơ hình VGG16
Độ chính xác khi nhận diện Lá (Leaf), Thân (Stem), Hoa (Flower) là gần như tuyệt đối. Và Thực
thể (Entire), Quả (Fruit) tuy không tuyệt đối nhưng cũng khá cao, gần như là trên 80%. Độ chính xác tổng
quan sẽ như sau:
Đánh giá
500 ảnh (100 ảnh
1000 ảnh (200
1500 ảnh (300
/ mỗi nhãn)
ảnh / mỗi nhãn)
ảnh / mỗi nhãn)
92.4%
89.9%
90.07%
Độ chính xác
Trung bình
~90.79%
Bảng 2.2.4-1. Đánh giá độ chính xác sau khi huấn luyện mơ hình VGG16
Với độ chính xác trung bình là xấp xỉ 90,79% thì chúng tơi tự tin sử dụng mơ hình này vào phân
biệt bộ phận lồi thực vật
2.2.4.2 Kết quả module nhận diện lá và định danh loài thực vật với MobilenetV2
Đánh giá
50 nhãn
100 nhãn
200 nhãn
Trung bình
Độ chính xác
75.2%
79.8%
89.3%
~81.43%
Bảng 2.2.4-2. Đánh giá độ chính xác sau khi huấn luyện mơ hình MobilnetV2
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
14
Với độ chính xác trung bình là xấp xỉ 81.43% thì chúng tơi tự tin sử dụng mơ hình MobilenetV2
và Support Vector Machine vào định danh loài thực vật bằng lá cây
2.2.4.3 Kết quả nhận diện thực thể và định danh thực vật với MobileFacenet
Đánh giá
100 nhãn
200 nhãn
500 nhãn
1000 nhãn
Trung bình
Độ chính xác
85.43%
84.12%
82.3%
82.61%
~83.6%
Bảng 2.2.4-3. Đánh giá độ chính xác sau khi huấn luyện mơ hình MobileFacenet
Với độ chính xác trung bình là xấp xỉ 83.6% thì chúng tơi tự tin sử dụng mơ hình
MobilenetFacenet vào định danh lồi thực vật thông qua ảnh thực thể.
2.3 Cơ sở dữ liệu quan hệ về thực vật
2.3.1 Thiết kế mơ hình ER
Mục tiêu của mơ hình ER đó là phân tích dữ liệu về bài toán tra cứu thực vật, xác định các đơn vị
thông tin cơ bản cần thiết, mô tả cấu trúc và mối liên hệ giữa các thực thể của hệ thống tra cứu thực vật,
được thể hiện như Hình 2.3.1-2. sau đây:
Hình 2.3.1-2. Lược đồ quan hệ cơ sở dữ liệu thực vật
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
15
Các thực thể chính được mơ tả cụ thể trong bảng sau:
Tên thực thể
Số thứ tự
Mô tả
1
Ngành
Lưu trữ thông tin các Ngành thực vật học
2
Họ
Lưu trữ thông tin các Họ thực vật học
3
Lồi
Lưu trữ thơng tin các Lồi thực vật học
4
Cây
Lưu trữ thơng tin phân bố các Lồi thực vật học
5
Khu vực phân bố
Tên các khu vực nghiên cứu đang triển khai
6
Hình
Lưu trữ metadata của hình ảnh thu thập được
Bảng 2.3.1-1. Bảng chú thích thiết kế lược đồ quan hệ cơ sở dữ liệu thực vật
2.3.2 Thiết kế mơ hình dữ liệu quan hệ
2.4 Thiết kế kiến trúc hệ thống với Microservices
Để xây dựng một hệ thống tra cứu thực vật hồn chỉnh, chúng tơi đề xuất xây dựng hệ thống với
kiến trúc Microservices để dễ dàng mở rộng các chức năng sau này. Tổng thể chi tiết về kiến trúc như
sau:
Số thứ tự
Tên dịch vụ
1
Gateway
2
User Service
3
Search Service
Chức năng
-
Điều phối request từ người dùng vào hệ thống.
-
Dịch vụ liên quan đến quản lý người dùng trên hệ thống
-
Kết hợp với cơ sở dữ liệu người dùng (sử dụng MongoDB)
-
Dịch vụ tìm kiếm nhanh dữ liệu lồi thực vật
-
Kết hợp với cơ sở dữ liệu tra cứu nhanh (sử dụng
Elasticsearch)
4
Plant Service
Dịch vụ cập nhật và truy vấn dữ liệu thực vật. Và các dịch
vụ liên quan đến bản đồ
-
Kết hợp với cơ sở dữ liệu chính cho thực vật (sử dụng
MySQL) và bộ dữ liệu về hình ảnh
5
Plant Detection
Service
-
Dịch hỗ trợ tra cứu và định danh dữ liệu bằng hình ảnh
-
Kết hợp với bộ dữ liệu về hình ảnh và Plant Service để định
danh lồi thực vật
Bảng 2.4-1. Bảng chú thích kiến trúc Microservices cho hệ thống thông tin
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
16
Cách tiếp cận phát triển kiến trúc hệ thống theo Monolithic sẽ làm cho hệ thống rất khó mở rộng.
Hệ thống khi triển khai diện rộng phát triển theo thời gian và cuối cùng trở nên rất lớn. Kích thước của hệ
thống cũng sẽ làm chậm sự phát triển của dự án. Đó là lí do chúng tơi sử dụng kiến trúc Microservices để
xây dựng đề tài này.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
17
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ
Chương 3 trình bày về kết quả triển khai hệ thống và kết quả đạt được với các chỉ tiêu đề ra và
quy trình ở nội dung Phần 2.1 (Chương 2). Và cuối cùng là việc thực hiện đánh giá về khả năng và tính
ứng dụng của hệ thống này.
3.1 Cài đặt môi trường
3.1.1 Triển khai các dịch vụ hệ thống với Docker Compose
Docker là một nền tảng dành cho Developer và System Administrator, cung cấp những thành
phần để build, run và share những chương trình thơng qua những container. Các dịch vụ của chúng tôi sẽ
chạy trên các container và dùng chung một hệ điều hành. Container sẽ chứa tất cả các thành phần để tạo
ra một môi trường cho phép ứng dụng được chạy trên nó. Các dịch vụ của chúng tôi trở nên đa dạng, nhẹ,
linh hoạt giúp hệ thống dễ dàng nâng cấp và có khả năng mở rộng.
3.1.2 Triển khai API Gateway với Nginx
Nginx là một máy chủ web có hiệu suất và ổn định cao. Chúng tôi thực hiện cài đặt Nginx là API
Gateway của hệ thống Microservices. API Gateway có thể coi là một cổng trung gian, là cổng vào duy
nhất hệ thống, API Gateway sẽ nhận các requests từ phía client, chỉnh sửa, xác thực và điều hướng chúng
đến các API cụ thể trên các services phía sau.
3.2 Triển khai chức năng tra cứu thông tin hệ thống
3.2.1 Triển khai chức năng ứng dụng Web với Vuejs
Chúng tôi thiết kế ứng dụng Web với VueJS sẽ tương tác hệ thống Microservices thông qua API
Gateway để xử lí các nghiệp vụ chức năng liên quan đến dữ liệu thực vật.
3.2.2 Triển khai chức năng trên nền bản đồ
Với các nghiệp vụ chức năng liên quan đến bản đồ, chúng tôi kết hợp thêm một luồng tương tác
đến công nghệ mã nguồn mở Mapbox. Đây là một nền tảng cung cấp các dịch vụ lập bản đồ thông qua
các API và dễ dàng triển khai trên các nền tảng Web và Mobile.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
18
Hình 3.2.2-1. Triển khai cơng nghệ bản đồ vào hệ thống thông tin tra cứu thực vật
Với những chức năng được cung cấp trên bản đồ do chúng tôi thiết kế, người dùng có thể lọc và
tra cứu phân bố địa điểm, khu vực phân bố của các loài thực vật. Tất cả dữ liệu phân bố này hiện đang
theo chuẩn WGS84 và được thu thập tự hiện trường thực tế nên độ chính xác gần như là tuyệt đối. Nhìn
vào bản đồ, dễ dàng tra cứu lồi thực vật q hiếm (marker màu đỏ trong hình) và các lồi thực vật đặc
hữu (marker màu xanh trong hình).
3.3 Kết quả đạt được
Hệ thống tra cứu thực vật hiện tại được triển khai trên nền tảng Website với các phân hệ chức
năng đáp ứng đầy đủ những yêu cầu mà một hệ thống thơng tin cần phải có. Dưới đây là các thông tin chi
tiết thể hiện các chức năng đã hồn thành và triển khai thực tế
3.3.1
Chức năng chính
Hệ thống tra cứu thực vật bao gồm các chức năng chính như sau:
•
Quản lý thực vật: hỗ trợ truy cập, tìm kiếm thơng tin đa dạng sinh học
•
Bản đồ thực vật: hỗ trợ tra cứu phân bố thực vật theo từng khu vực phân bố trên nền bản đồ
•
Thống kê: hỗ trợ các bảng báo cáo số lượng thống kê về đa dạng sinh học ở Đà Nẵng
•
Tra cứu thực vật: hỗ trợ tra cứu bằng hình ảnh
•
Biên tập dữ liệu: hỗ trợ thao tác cập nhật dữ liệu thông tin thực vật, tọa độ cho hệ thống
•
Quản lý người dùng: hỗ trợ tạo người dùng, cập nhật quyền truy cập hệ thống
3.3.2 Chức năng tra cứu bằng hình ảnh (chụp màn hình)
3.3.3 Chức năng bổ trợ (thống kê, bản đồ)
3.3.3.1 Phân hệ chức năng bản đồ nền
Chúng tơi đã hồn thành các danh mục chức năng cho:
- Tra cứu theo khu vực phân bố (Sơn Trà, Ngũ Hành Sơn, Bà Nà, Nam Hải Vân)
- Tra cứu theo tình trạng (quý hiếm, nguy cấp..)
3.3.3.2 Phân hệ chức năng thống kê báo cáo
Chúng tơi đã hồn thành các danh mục chức năng cho:
- Thống kê theo khu vực (Sơn Trà, Ngũ Hành Sơn, Bà Nà, Nam Hải Vân)
- Thống kê theo tình trạng
- Thống kê số lượng theo Ngành thực vật
- Thống kê số lượng theo Họ thực vật
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
19
3.4 Đánh giá kết quả
3.4.1 Khả năng ứng dụng của các module nhận diện hình ảnh
a. Đánh giá độ chính xác
Module tra cứu và định danh thực vật của hệ thống có thể phân loại hình ảnh thực vật với độ
chính xác khá cao, hồn tồn có thể được ứng dụng và triển khai thực tế. Cụ thể như sau:
Tên module
Số thứ tự
Phân biệt bộ phận loài thực vật với mơ hình VGG16
1
Nhận diện lá và định danh lồi thực vật với
2
MobilenetV2
Nhận diện ảnh thực thể và định danh loài thực vật với
3
MobileFacenet
Độ chính xác
trung bình
~90.79%
~81.43%
~83.6%
Bảng 3.4.1-1. Đánh giá về độ chính xác ba giải pháp nhận diện
Đây là số điểm rất cao đối với các mơ hình phân loại như (số lượng class lớn, khác biệt giữa các
class nhỏ và khác biệt giữa các mẫu trong cùng class lớn).
b. Tốc độ xử lí
Với module tra cứu và định danh thực vật chạy trên nền tảng Tensorflow GPU, với tốc độ xử lí cụ thể như
sau:
Số thứ tự
Tên module
1
Phân biệt bộ phận lồi thực vật với mơ hình VGG16
2
3
Nhận diện lá và định danh loài thực vật với
MobilenetV2
Nhận diện ảnh thực thể và định danh loài thực vật
với MobileFacenet
Thời gian xử lí
trung bình
~0,2 giây / lần
~0,3 giây / lần
~0,2 giây / lần
Bảng 3.4.1-2. Đánh giá về tốc độ xử lí của ba giải pháp nhận diện
Thời gian xử lí trung bình của cả 3 mơ hình đều thấp hơn 0,5 giây nên hoàn toàn chấp nhận được,
đáp ứng điều kiện tối thiểu cần thiết để triển khai thành các API. Kết quả này đạt được khá tốt là vì chúng
tơi đã lựa chọn những mơ hình học máy mới nhất với các độ chính xác và kích thước tính tốn nhỏ gọn
đứng đầu trong các mơ hình CNN hiện có trong lĩnh vực học sâu.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
20
3.4.2 Khả năng hệ thống thông tin vào tra cứu thực vật
Sản phẩm đã được chạy thực tế trên nền tảng Website cho phép người biên tập đã được phân quyền tạo
ngân hàng dữ liệu để quản lý các dữ liệu đa dạng thực vật của một đơn vị địa lý. Sản phẩm còn giúp
người sử dụng tra cứu và xác định họ, ngành, khu vực phân bố các loài thực vật tại Đà Nẵng. Đồng thời
thực hiện các thống kê đa dạng thực vật cho các nhóm được chọn hoặc tồn bộ ngân hàng dữ liệu. Hiện
tại chúng tơi đang mở rộng khu vực nghiên cứu sang các tỉnh KonTum, Quảng Nam. Và trong tương lại
gần, hệ thống sẽ cịn phát triển và chúng tơi hi vọng sẽ mang đến những lợi ích to lớn trong lĩnh vực
nghiên cưu đa dạng sinh vật học.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ
21
KẾT LUẬN VÀ KIẾN NGHỊ
1. Kết quả đạt được
Luận án đã nghiên cứu, tìm hiểu bài tốn phân loại thực vật và thực hiện phát triển, cài đặt thử
nghiệm phương án giải quyết cho bài tốn dựa trên sự tìm kiếm, thống kê các hướng tiếp cận đã công bố
qua rất nhiều bài báo, cơng trình khoa học trên thế giới. Luận án đã thực hiện gần như đầy đủ các bước
để xây dựng nên một ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh, bao gồm thu thập và xử lý dữ liệu;
huấn luyện đánh giá và chọn lọc mơ hình; thiết kế cơ sở dữ liệu, web server và phát triển Website. Mặc
dù mơ hình tra cứu và định danh thực vật của hệ thống chưa phải là tốt nhất và đảm bảo các yêu cầu thực
tế, nó vẫn cho thấy được tiềm năng phát triển của ứng dụng nói chung và khả năng áp dụng các kĩ thuật
học máy tiên tiến vào việc giải quyết các vấn đề ở địa phương. Về phần ứng dụng, đồ án đã đáp ứng được
những ca sử dụng cơ bản của người dùng và tổ chức được hệ thống theo quy trình thực tế. Tóm lại kết
quả chính của luận án đã đạt được, tương ứng với mục tiêu đặt ra.
Với hệ thống này, chúng ta có thể dễ dàng nhận biết cũng như là quản lý sự phân bố của các loài
thực vật ở trong cuộc sống, chúng ta cịn có thể xem rằng lồi cây này đóng góp những lợi ích gì cho cuộc
sống hàng ngày của chúng ta, có tác dụng về y tế như thế nào, hay là một loại cây có độc tố và không nên
lại gần,…
2. Kiến nghị và hướng phát triển
Với kết quả đạt được nêu ở trên luận án vẫn còn nhiều điều cần cải thiện. Đầu tiên, mơ hình tra
cứu và định danh thực vật cần có bộ dữ liệu với số lớp lớn hơn, tỷ lệ mẫu cân bằng hơn và các phép đo cụ
thể để đánh giá chính xác khả năng của nó. Ngồi ra, module nhận dạng bộ phận thực vật cũng cần phải
được cải tiến để có thể phát hiện được có tồn tại lồi thực vật trong ảnh hay khơng và lồi thực vật đó có
phải là một trong bộ dữ liệu huấn luyện hay không. Trong tương lai gần, chúng tôi sẽ cố gắng nâng cao
tính chính xác của từng module dùng để tra cứu và định danh thực vật, cũng như là tăng tốc độ xử lý của
nó, để giúp cho việc xử lý trong production được nhanh và mượt mà hơn. Đây là những bài tốn khó cần
rất nhiều thời gian và cơng sức nghiên cứu trong tương lai.
Cịn đối với hệ thống thông tin được triển khai trên nền tảng Website, sẽ cần phải cải thiện và bổ
sung các tính năng biên tập dữ liệu trực tuyến trên bản đồ nền để làm giàu dữ liệu cho hệ thống một cách
dễ dàng và tiện lợi hơn, nguồn dữ liệu sẽ được tổng hợp tức thời mang đến nhiều hiệu quả hơn cho việc
giám sát và tra cứu thông tin thực vật.
THƯ VIỆN TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG.
Lưu hành nội bộ