1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thực vật nhiệt đới và các loài hoa nhiệt đới đẹp nhất

46 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Hỗ Trợ Tra Cứu Thực Vật Bằng Hình Ảnh
Tác giả Thái Quang Tiến
Người hướng dẫn TS. Ninh Khánh Duy
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2019
Thành phố Đà Nẵng
Định dạng
Số trang 46
Dung lượng 2,57 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG HỖ TRỢ TRA CỨU THỰC VẬT BẰNG HÌNH ẢNH Người hướng dẫn: TS. NINH KHÁNH DUY Sinh viên thực hiện: THÁI QUANG TIẾN Số thẻ sinh viên: 102150136 Lớp : 15T2 Đà Nẵng, 12/2019 Đ Ạ I H Ọ C Đ À N Ẵ N G  T R Ư Ờ N G Đ Ạ I H Ọ C B Á C H K H O A KHOA CÔNG NGHỆ THÔNG TIN 54, Nguyễn Lương Bằng, Hoà Khánh, Liên Chiểu, TP. Đà Nẵng Tel. 84. 236 .3.736.949, Fax. 84.511.842.771 - Website: itf.dut.edu.vn - E - mail: cntt@dut.udn.vn PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP I. Phần dành cho Sinh viên 1. Họ và tên: 2. Mã Sinh viên 3. Lớp: 4. Tên đề tài: 5. Số điện thoại: 6. E-mail 7. Họ và tên GVHD: II. Phần dành cho Hội đồng STT Nội dung đánh giá Kết luận 1. T rình bày báo cáo theo đúng mẫu qui định của Khoa 2. Không có sự sao chép nội dung báo cáo và chương trình đã có 3. Biên dịch mã nguồ n và chạy được chương trình 4. C ó kịch bản thực hiện với dữ liệu thử nghiệm 5. Kết quả t hực hiện chương trình đúng theo báo cáo 6. Có sự đóng góp, phát triển của tác giả trong đồ án Ý kiến khác: ................. ................................................... . .. .... . ...... . .. ...... . .. ...... . .. . ................. ................................................ ......................................................................................................................................................................................................... Kết luậ n:  Đạt yêu cầu  Phải sửa chữa lại  Không đạt yêu cầu Đà Nẵng, ngày tháng năm Chủ tịch Hội đồng (Ký và ghi họ tên) Cán bộ duyệt kiểm tra (Ký và ghi họ tên) NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. i TÓM TẮT Tên đề tài: Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh Sinh viên thực hiện: Thái Quang Tiến Số thẻ SV: 102150136 Lớp: 15T2 Tóm tắt: Việt Nam là quốc gia có hệ thực vật đa dạng với hơn 11 000 loài khác nhau và con số đó không ngừng tăng lên mỗi năm thông qua việc khám phá các giống loài mới. Tuy nhiên, bởi sự phong phú đó, công tác nhận dạng thực vật bản địa mới hoặc ngoại lai gặp nhiều khó khăn khi phải đối mặt với số lượng loài quá nhiều và độ tương đồng về ngoại hình rất lớn. Nhằm hỗ trợ và giảm thiểu độ phức tạp cho công việc trên, đồ án hướng đến xây dựng một ứng dụng trên nền tảng di động sử dụng mô hình học máy Inception v4 để thực hiện nhận dạng loài thực vật dựa trên hình ảnh và đưa ra thông tin chi tiết. Ứng dụng cho phép người dùng có thể chụp, duyệt ảnh và nhận dạng loài thực vật có trong đó, tìm kiếm loài thực vật theo tên và xem mô tả chi tiết loài. Mô hình nhận dạng của ứng dụng được huấn luyện trên dữ liệu của 109 loài thực vật của Việt N am, với độ chính xác của dự đoán là 90% và độ chính xác trong top 5 là 97%. ii ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Thái Quang Tiến Số thẻ sinh viên: 102150136 Lớp: 15T2 Khoa: Công Nghệ Thông Tin Ngàn h: Công Nghệ Thông Tin 1. Tên đề tài đồ án: Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh 2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện 3. Các số liệu và dữ liệu ban đầu: Dữ liệu hình ảnh sử dụng cho xây dựng mô hình học máy được thu thập từ các trang web vncreatures.net, eol.org và Google Image Search. Dữ liệu mô tả chi tiết loài được thu thập từ trang vncreature s.net. 4. Nội dung các phần thuyết minh và tính toán: Nội dung thuyết minh gồm các phần:  Cơ sở lý thuyết  Triển khai giải pháp  Kết quả và đánh giá  Kết luận 5. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): 6. Họ tên người hướng dẫn: TS. Ninh Khánh Duy 7. Ngày giao nhiệm vụ đồ án: 05/09/2019. 8. Ngày hoàn thành đồ án: 15/12/2019. Đà Nẵng, ngày 15 tháng 12 năm 201 9 Trưởng Bộ môn …………………….. Người hướng dẫn iii LỜI NÓI ĐẦU Em xin cám ơn người hướng dẫn – TS Ninh Khánh Duy – trong thời gian qua đã định hướng và giúp đỡ em về mặt kiến thức cũng như phương pháp luận trong quá trình làm đồ án tốt nghiệp. Em cũng xin gửi lời cảm ơn đến anh Trần Xuân Mạnh – mentor tại công ty Est Rouge , người đã tạo điều kiện về thời gian và hỗ trợ về mặt kĩ thuật cho việc hoàn thành đề tài. Hơn nữa, em xin cảm ơn toàn bộ giảng viên của khoa Công Nghệ Thông Tin, trường đại học Bách Khoa Đà Nẵng, trong suốt hơn 4 năm em theo học tại trường, đã nhiệt tình giảng dạy, xây dựng nền tảng kĩ thuật vững chắc giúp em có thể thực hiện được đồ án này. Cuối cùng, mặc dù em đã rất cố gắng, nhưng luận văn này có thể vẫn không tránh khỏi sai sót. Trong trường hợp đó, em xin nhận phản hồi từ quý thầy cô và đọc giả để có thể chỉnh sửa và hoàn thiện hơn. Đà Nẵng, ngày 12 tháng 12 năm 2019 Sinh viên thực hiện Thái Quang Tiến iv CAM ĐOAN Tôi xin cam đoan rằng:  Nội dung đồ án tốt nghiệp này là do chính tôi thực hiện, không sao chép từ nguồn nào khác và chưa được sử dụng để tham gia các cuộc thi, giải thưởng hay đánh giá nào.  Tôi không có quyền sở hữu cá nhân đối với toàn bộ dữ liệu thu thập được từ các nguồn vncreature.net, eol.org và Google Image Search trong quá trình thực hiện đề tài. Toàn bộ dữ liệu trên chỉ được sử dụng vào mục đích nghiên cứu (là thực hiện đồ án này) ngoài ra không có bất cứ mục đích thương mại nào khác. Sinh viên thực hiện Thái Quan g Tiến v MỤC LỤC TÓM TẮT ................................................................................................ .........................i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .............................................................................. ii LỜI NÓI ĐẦU ............................................................................................................... iii CAM ĐOAN ...................................................................................................................iv MỤC LỤC ................................................................................................ .......................v DANH SÁCH CÁC BẢNG, HÌNH VẼ ...................................................................... viii DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT ................................ ..........................x MỞ ĐẦU ................................................................................................ .........................1 1. Đặt vấn đề ................................................................................................ ................1 2. Mục tiêu đề tài ................................................................................................ .........1 3. Phạm vi và đối tượng ................................................................ ............................... 2 4. Phương pháp tiếp cận ................................................................ .............................. 2 5. Cấu trúc đồ án ................................................................................................ ..........3 Chương 1: CƠ SỞ LÝ THUYẾT ................................................................ ..............4 1.1. Học máy (Machine learning ) ................................................................ ................4 1.2. Mạng nơ ron nhân tạo và kiến trúc Inception ................................ .......................5 1.2.1. Mạng nơ ron nhân tạo ................................................................ ....................5 1.2.2. Mạng tích chập và kiến trúc Inception ................................ ..........................6 1.3. Học chuyển tiếp (Transfer learning) ...................................................................10 1.4. Hướng tiếp cận của đồ án ...................................................................................10 1.5. Công nghệ sử dụng ............................................................................................. 10 1.5.1. Ngôn ngữ .....................................................................................................10 1.5.2. Hệ điều hành ................................................................................................ 11 1.5.3. Thu thập dữ liệu và xây dựng mô hình........................................................12 1.5.4. Cơ sở dữ liệu và webserver .........................................................................13 vi Chương 2: TRIỂN KHAI GIẢI PHÁP ....................................................................14 2.1. Tổng quan đồ án .................................................................................................14 2.1.1. Ca sử dụng ...................................................................................................14 2.1.2. Cấu trúc hệ thống .........................................................................................14 2.2. Dữ liệu ................................................................................................................15 2 .2.1. Nguồn dữ liệu .............................................................................................. 15 2.2.2. Quy trình thực hiện ......................................................................................17 2.2.3. Thống kê dữ liệu ..........................................................................................18 2.3. Mô hình nhận dạng ............................................................................................. 18 2.3.1. Tiền xử lý dữ liệu ........................................................................................18 2.3.2. Huấn luyện ...................................................................................................20 2.3.3. Lựa chọn mô hình ........................................................................................20 2.3.4. Triển khai mô hình với Tensorflow Serving ...............................................21 2.4. Cơ sở dữ liệu .......................................................................................................21 2.4.1. Bảng Model .................................................................................................22 2.4.2. Bảng Label ...................................................................................................22 2.4.3. Bảng Species ............................................................................................... 23 2.4.4. Bảng Details ................................................................................................ 23 2.4.5. Bảng Image ..................................................................................................23 2.5. Webserver ...........................................................................................................24 2.5.1. Predict API ..................................................................................................24 2.5.2. Search API ...................................................................................................25 2.5.3. Detail API ....................................................................................................25 2.6. Ứng dụng di động ............................................................................................... 26 2.7 Triển khai ứng dụng ............................................................................................ 27 Chương 3: KẾT QUẢ VÀ ĐÁNH GIÁ ..................................................................28 3.1. Module nhận dạng .............................................................................................. 28 3.1.1. Khả năng phân loại ......................................................................................28 vii 3.1.2. Tốc độ xử lý .................................................................................................28 3.2. Ứng dụng ............................................................................................................28 KẾT LUẬN ...................................................................................................................31 TÀI LIỆU THAM KHẢO ............................................................................................. 32 viii DANH SÁCH CÁC BẢNG, HÌNH VẼ Bảng 2.1 Thống kê dữ liệu cho từng tập .......................................................................18 Bảng 2.2 Danh sách các tham số huấn luyện ban đầu ...................................................20 Bảng 2.3 Kết quả đánh giá mô hình ..............................................................................20 Bảng 2.4 Bảng Model ....................................................................................................22 Bảng 2.5 Bảng Label .....................................................................................................22 Bảng 2.6 Bảng Species ..................................................................................................23 Bảng 2.7 Bảng Details ...................................................................................................23 Bảng 2.8 Bảng Image ....................................................................................................23 Bảng 2.9 Chi tiết Predict API ........................................................................................24 Bảng 2.10 Chi tiết Search API ......................................................................................25 Bảng 2.11 Chi tiết Detail API ........................................................................................25 Hình 1.1 Quy trình tổng quát của mô hình học máy ................................ .......................5 Hình 1.2 Minh họa một nơ ron ................................................................ ........................6 Hình 1.3 Cấu trúc minh họa của mạng nơ ron nhân tạo ................................ ..................6 Hình 1.4 Ví dụ về phép tính chập trong mạng nơ ron tích chập ................................ .....7 Hình 1.5 Minh họa cửa sổ trượt (kernel) ................................................................ .........7 Hình 1.6 Cấu trúc minh họa của một mạng nơ ron tích chập ................................ ..........8 Hình 1.7 Cấu trúc của một “inception cell” ................................................................ ....9 Hình 1.8 Mô tả mô hình Inception đầu tiên ................................................................ .....9 Hình 1.9 Cấu trúc giản lược của mô hình Inception v4 ................................ ..................9 Hình 2.1 Sơ đồ ca sử dụng ............................................................................................ 14 Hình 2.2 Sơ đồ cấu trúc hệ thống ..................................................................................15 Hình 2.3 Trang thông tin chi tiết loài trên vncreatures.net ............................................16 Hình 2.4 Dữ liệu hình ảnh trên trang eol.org ................................................................ 16 Hình 2.5 Kết quả tìm kiếm hình ảnh của Google khi nhập tên khoa học của loài ........17 Hình 2.6 Quy trình xây dựng dữ liệu .............................................................................18 Hình 2.7 Quy trình t iền xử lý dữ liệu ............................................................................19 Hình 2.8 Minh họa module nhận dạng ..........................................................................21 Hình 2.9 Sơ đồ thực thể .................................................................................................21 ix Hình 2.10 Sơ đồ luồng ứng dụng ..................................................................................26 Hì nh 3.1 Ảnh demo màn hình bắt đầu và màn hình kết quả nhận dạng .......................29 Hình 3.2 Ảnh demo màn hình kết quả tìm kiếm và màn hình chi tiết l oài ...................30 x DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT API: Application Programming Interface REST API: Representational State Transfer Application Programming Interface EOL: Encyclopedia of Life – eol.org VNC: Vncreatures.net ANN: Artificial Neural Network CNN: Convolutional Neural Network CPU: Central Processing Unit GPU: Graphic Processing Unit RAM: Random Access Memory HDD: Hard Disk Drive RPM: Round per Minute Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS. Ninh Khánh Duy 1 MỞ ĐẦU 1. Đặ t v ấn đề Hằng năm ở Việt Nam, trong những khu bảo tồn thiên nhiên quốc gia, nhiều loài thực vật mới được các chuyên gia phát hiện và đặt tên. Với sự đa dạng sinh học của hơn 11000 loài thực vật bậc cao và hàng nghìn loài thực vật bậc thấp, tảo và nấm [1] , việc xác định và nhận dạng một giống cây trên thực tế yêu cầu người khảo sát phải có một lượng kiến thức đầy đủ và chính xác về từng loài thực vật bản địa. Các loài thực vật có thể có sự sai khác về đặc điểm ngoại hình rất ít, và do đó, thông thường công việc này chỉ có thể được thực hiện bởi các chuyên gia đầu ngành của Việt Nam. Tương tự, sau khi một loài mới được phát hiện, việc đánh dấ u và xác định môi trường sinh sống cũng gặp nhiều khó khăn. Ngoài việc tìm kiếm những loài thực vật chưa được ghi danh, còn có những công tác khác như bảo tồn thực vật, nhận diện và theo dõi thực vật ngoại lai cũng yêu cầu người thực hiện có một sự am hiểu tường tận và nhận định chính xác . Về mặt khối lượng công việc, các chuyên viên phải đi khảo sát thực tế trên một vùng rộng lớn, nhận dạng, đánh dấu và khoanh vùng để theo dõi sự phát triển của các loài thực vật. 2. M ục tiêu đề tài Với sự tiến bộ của khoa học và công nghệ, đặc biệt là lĩnh vực trí tuệ nhân tạo, các hệ thống máy tính đã có khả năng phát hiện, nhận dạng các thực thể phức tạp, có bề ngoài gần giống nhau với độ chính xác đáng kể. Khả năng phán đoán của các mô hình học máy này, tuy chưa thể áp dụng cho mọi lĩnh vực trong cuộc sống, nhưng có thể cho kết quả tương đương với con người trong một phạm vi hẹp nào đó. Với những lý do như trên, đồ án hướng đến xây dựng một hệ thống ứng dụng công nghệ trí tuệ nhân tạo hỗ trợ tra cứu loài thực vật bằng hình ảnh. Thông qua ứng dụng này, người sử dụng có thể tìm kiếm nhanh chóng một loài cây khi đang trong quá trình khảo sát, giúp rút ngắn thời lượng và giảm thiểu sai sót trong công việc. Ứng dụng cho phép người dùng:  Chụp, duyệt ảnh thực vật và nhận dạng xem đó là loài thực vật gì  Tìm kiếm loài thực vật theo tên  Xem mô tả chi tiết loài thực vật Để làm được điều trên, đồ án phải hoàn thành các mục tiêu như sau: Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS. Ninh Khánh Duy 2  Thu thập và xây dựng bộ dữ liệu  Xây dựng mô hình nhận dạng thực vật bằng hình ảnh  Thiết kế cơ sở dữ liệu  Xây dựng webserver  Xây dựng ứng dụng di động 3. Ph ạm vi và đối tượ ng Đồ án này được thực hiện trên dữ liệu của 109 loài thực vật Việt Nam, bao gồm hình ảnh, danh pháp khoa học và thông tin chi tiết về đặc điểm và phân bố. Đối tượng sử dụng hệ thống được nhắm đến là các chuyên viên, người đã có những kiến thức cơ bản về thực vật học cần tra cứu nhanh chóng một loài thực vật hoặc các loài tương tự thông qua ảnh chụp. 4. Phương pháp tiế p c ậ n Đồ án này xây dựng một mô hình nhận dạng loài thực vật dựa trên kiến trúc mạng nơ ron tích chập Inception v4. Mô hình đầu tiên được huấn luyện trên bộ dữ liệu ImageNet, tinh chỉnh trên bộ dữ liệu PlantCLEF2017 [2] [3] và cuối cùng được tinh chỉnh lần cuối trên dữ liệu 109 loài của Việt Nam. Điểm mạnh của Inception v4 là nó có khả năng đưa ra dự đoán với một lượng lớn lớp, và với việc được huấn luyện qua các bộ dữ liệu trên, thời gian huấn luyện được rút ngắn đáng kể và mô hình nhanh chóng tìm được cách đặc trưng hiệu quả cho phân loại. Tuy nhiên, điểm yếu của mô hình trên là cấu trúc phức tạp với số lượng tham số lớn, thời gian dự đoán lâu, khó có thể đáp ứng được yêu cầu về thời gian phản hồi trong các hệ thống đa người dùng. Ngoài ra, mô hình được sử dụng dựa trên các giả định:  Hình ảnh có xuất hiện loài thực vật  Loài thực vật xuất hiện có trong bộ dữ liệu huấn luyện Vì vậy, mô hình không thể phân biệt được ảnh có chứa loài thực vật hay loài trong ảnh có phải là một loài mới hay không Sau khi đã có mô hình nhận dạng, ứng dụng di động được xây dựng nhằm thực hiện các tác vụ nhận dạng, và tra cứu thông tin. Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS. Ninh Khánh Duy 3 5. C ấu trúc đồ án Đồ án được trình bày theo thứ tự các phần như sau:  Cơ sở lý thuyết o Tổng quan về học máy o Mạng nơ ron nhân tạo và kiến trúc Inception o Học chuyển tiếp o Hướng tiếp cận của đồ án o Công nghệ sử dụng  Triển khai giải pháp o Tổng quan đồ án o Dữ liệu o Mô hình nhận dạng o Cơ sở dữ liệu o Webserver o Ứng dụng Android o Triển khai ứng dụng  Kết quả và đánh giá  Kết luận Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS. Ninh Khánh Duy 4 Chương 1: CƠ SỞ LÝ THUY Ế T 1.1. H ọ c máy (Machine learning) Học máy (Machine learning) [3] là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể. Ví dụ như các máy có thể "học" cách phân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng. Học máy rất gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật ngữ. Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào loại bài toán NP- khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy lu ận xấp xỉ mà máy tính có thể xử lý được. Học máy có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô - bốt (robot locomotion). Các thuật toán học máy phổ biến gồm:  Học có giám sát (Supervised learning) - T huật toán tạo ra một hàm ánh xạ dữ liệu vào tới kết quả mong muốn. Một phát biểu chuẩn về một việc học có giám sát là bài toán phân loại: chương trình cần học (cách xấp xỉ biểu hiện của) một hàm ánh xạ một vector [

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

Đ Ạ I H Ọ C Đ À N Ẵ N G  T R Ư Ờ N G Đ Ạ I H Ọ C B Á C H K H O A

KHOA CÔNG NGHỆ THÔNG TIN

54, Nguyễn Lương Bằng, Hoà Khánh, Liên Chiểu, TP Đà Nẵng

Tel 84.236.3.736.949, Fax 84.511.842.771 - Website: itf.dut.edu.vn - E-mail: cntt@dut.udn.vn

PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP

I Phần dành cho Sinh viên

1 Họ và tên: 2 Mã Sinh viên 3 Lớp:

4 Tên đề tài:

5 Số điện thoại: 6 E-mail

7 Họ và tên GVHD:

II Phần dành cho Hội đồng

STT Nội dung đánh giá Kết luận

1 Trình bày báo cáo theo đúng mẫu qui định của Khoa

2 Không có sự sao chép nội dung báo cáo và chương trình đã có

3 Biên dịch mã nguồn và chạy được chương trình

4 Có kịch bản thực hiện với dữ liệu thử nghiệm

5 Kết quả thực hiện chương trình đúng theo báo cáo

6 Có sự đóng góp, phát triển của tác giả trong đồ án

Trang 3

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN

Trang 4

NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN

Trang 5

i

TÓM TẮT

Tên đề tài: Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến

Tóm tắt:

Việt Nam là quốc gia có hệ thực vật đa dạng với hơn 11000 loài khác nhau và con số đó không ngừng tăng lên mỗi năm thông qua việc khám phá các giống loài mới Tuy nhiên, bởi sự phong phú đó, công tác nhận dạng thực vật bản địa mới hoặc ngoại lai gặp nhiều khó khăn khi phải đối mặt với số lượng loài quá nhiều và độ tương đồng

về ngoại hình rất lớn Nhằm hỗ trợ và giảm thiểu độ phức tạp cho công việc trên, đồ án hướng đến xây dựng một ứng dụng trên nền tảng di động sử dụng mô hình học máy Inception v4 để thực hiện nhận dạng loài thực vật dựa trên hình ảnh và đưa ra thông tin chi tiết Ứng dụng cho phép người dùng có thể chụp, duyệt ảnh và nhận dạng loài thực vật có trong đó, tìm kiếm loài thực vật theo tên và xem mô tả chi tiết loài Mô hình nhận dạng của ứng dụng được huấn luyện trên dữ liệu của 109 loài thực vật của Việt Nam, với độ chính xác của dự đoán là 90% và độ chính xác trong top 5 là 97%

Trang 6

ii

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM

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

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Tên đề tài đồ án:

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

2 Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện

3 Các số liệu và dữ liệu ban đầu:

Dữ liệu hình ảnh sử dụng cho xây dựng mô hình học máy được thu thập từ các trang web vncreatures.net, eol.org và Google Image Search

Dữ liệu mô tả chi tiết loài được thu thập từ trang vncreatures.net

4 Nội dung các phần thuyết minh và tính toán:

Nội dung thuyết minh gồm các phần:

 Cơ sở lý thuyết

 Triển khai giải pháp

 Kết quả và đánh giá

 Kết luận

5 Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ):

6 Họ tên người hướng dẫn: TS Ninh Khánh Duy

7 Ngày giao nhiệm vụ đồ án: 05/09/2019

8 Ngày hoàn thành đồ án: 15/12/2019

Đà Nẵng, ngày 15 tháng 12 năm 2019

Trang 7

iii

LỜI NÓI ĐẦU

Em xin cám ơn người hướng dẫn – TS Ninh Khánh Duy – trong thời gian qua đã định hướng và giúp đỡ em về mặt kiến thức cũng như phương pháp luận trong quá trình làm đồ án tốt nghiệp

Em cũng xin gửi lời cảm ơn đến anh Trần Xuân Mạnh – mentor tại công ty Est Rouge, người đã tạo điều kiện về thời gian và hỗ trợ về mặt kĩ thuật cho việc hoàn thành

đề tài

Hơn nữa, em xin cảm ơn toàn bộ giảng viên của khoa Công Nghệ Thông Tin, trường đại học Bách Khoa Đà Nẵng, trong suốt hơn 4 năm em theo học tại trường, đã nhiệt tình giảng dạy, xây dựng nền tảng kĩ thuật vững chắc giúp em có thể thực hiện được đồ án này

Cuối cùng, mặc dù em đã rất cố gắng, nhưng luận văn này có thể vẫn không tránh khỏi sai sót Trong trường hợp đó, em xin nhận phản hồi từ quý thầy cô và đọc giả để

có thể chỉnh sửa và hoàn thiện hơn

Đà Nẵng, ngày 12 tháng 12 năm 2019

Sinh viên thực hiện Thái Quang Tiến

Trang 8

iv

CAM ĐOAN

Tôi xin cam đoan rằng:

 Nội dung đồ án tốt nghiệp này là do chính tôi thực hiện, không sao chép từ nguồn nào khác và chưa được sử dụng để tham gia các cuộc thi, giải thưởng hay đánh giá nào

 Tôi không có quyền sở hữu cá nhân đối với toàn bộ dữ liệu thu thập được từ các nguồn vncreature.net, eol.org và Google Image Search trong quá trình thực hiện

đề tài Toàn bộ dữ liệu trên chỉ được sử dụng vào mục đích nghiên cứu (là thực hiện đồ án này) ngoài ra không có bất cứ mục đích thương mại nào khác

Sinh viên thực hiện Thái Quang Tiến

Trang 9

v

MỤC LỤC

TÓM TẮT i

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii

LỜI NÓI ĐẦU iii

CAM ĐOAN iv

MỤC LỤC v

DANH SÁCH CÁC BẢNG, HÌNH VẼ viii

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT x

MỞ ĐẦU 1

1 Đặt vấn đề 1

2 Mục tiêu đề tài 1

3 Phạm vi và đối tượng 2

4 Phương pháp tiếp cận 2

5 Cấu trúc đồ án 3

Chương 1: CƠ SỞ LÝ THUYẾT 4

1.1 Học máy (Machine learning) 4

1.2 Mạng nơ ron nhân tạo và kiến trúc Inception 5

1.2.1 Mạng nơ ron nhân tạo 5

1.2.2 Mạng tích chập và kiến trúc Inception 6

1.3 Học chuyển tiếp (Transfer learning) 10

1.4 Hướng tiếp cận của đồ án 10

1.5 Công nghệ sử dụng 10

1.5.1 Ngôn ngữ 10

1.5.2 Hệ điều hành 11

1.5.3 Thu thập dữ liệu và xây dựng mô hình 12

1.5.4 Cơ sở dữ liệu và webserver 13

Trang 10

vi

Chương 2: TRIỂN KHAI GIẢI PHÁP 14

2.1 Tổng quan đồ án 14

2.1.1 Ca sử dụng 14

2.1.2 Cấu trúc hệ thống 14

2.2 Dữ liệu 15

2.2.1 Nguồn dữ liệu 15

2.2.2 Quy trình thực hiện 17

2.2.3 Thống kê dữ liệu 18

2.3 Mô hình nhận dạng 18

2.3.1 Tiền xử lý dữ liệu 18

2.3.2 Huấn luyện 20

2.3.3 Lựa chọn mô hình 20

2.3.4 Triển khai mô hình với Tensorflow Serving 21

2.4 Cơ sở dữ liệu 21

2.4.1 Bảng Model 22

2.4.2 Bảng Label 22

2.4.3 Bảng Species 23

2.4.4 Bảng Details 23

2.4.5 Bảng Image 23

2.5 Webserver 24

2.5.1 Predict API 24

2.5.2 Search API 25

2.5.3 Detail API 25

2.6 Ứng dụng di động 26

2.7 Triển khai ứng dụng 27

Chương 3: KẾT QUẢ VÀ ĐÁNH GIÁ 28

3.1 Module nhận dạng 28

3.1.1 Khả năng phân loại 28

Trang 11

vii

3.1.2 Tốc độ xử lý 28

3.2 Ứng dụng 28

KẾT LUẬN 31

TÀI LIỆU THAM KHẢO 32

Trang 12

viii

DANH SÁCH CÁC BẢNG, HÌNH VẼ

Bảng 2.1 Thống kê dữ liệu cho từng tập 18

Bảng 2.2 Danh sách các tham số huấn luyện ban đầu 20

Bảng 2.3 Kết quả đánh giá mô hình 20

Bảng 2.4 Bảng Model 22

Bảng 2.5 Bảng Label 22

Bảng 2.6 Bảng Species 23

Bảng 2.7 Bảng Details 23

Bảng 2.8 Bảng Image 23

Bảng 2.9 Chi tiết Predict API 24

Bảng 2.10 Chi tiết Search API 25

Bảng 2.11 Chi tiết Detail API 25

Hình 1.1 Quy trình tổng quát của mô hình học máy 5

Hình 1.2 Minh họa một nơ ron 6

Hình 1.3 Cấu trúc minh họa của mạng nơ ron nhân tạo 6

Hình 1.4 Ví dụ về phép tính chập trong mạng nơ ron tích chập 7

Hình 1.5 Minh họa cửa sổ trượt (kernel) 7

Hình 1.6 Cấu trúc minh họa của một mạng nơ ron tích chập 8

Hình 1.7 Cấu trúc của một “inception cell” 9

Hình 1.8 Mô tả mô hình Inception đầu tiên 9

Hình 1.9 Cấu trúc giản lược của mô hình Inception v4 9

Hình 2.1 Sơ đồ ca sử dụng 14

Hình 2.2 Sơ đồ cấu trúc hệ thống 15

Hình 2.3 Trang thông tin chi tiết loài trên vncreatures.net 16

Hình 2.4 Dữ liệu hình ảnh trên trang eol.org 16

Hình 2.5 Kết quả tìm kiếm hình ảnh của Google khi nhập tên khoa học của loài 17

Hình 2.6 Quy trình xây dựng dữ liệu 18

Hình 2.7 Quy trình tiền xử lý dữ liệu 19

Hình 2.8 Minh họa module nhận dạng 21

Hình 2.9 Sơ đồ thực thể 21

Trang 13

ix

Hình 2.10 Sơ đồ luồng ứng dụng 26Hình 3.1 Ảnh demo màn hình bắt đầu và màn hình kết quả nhận dạng 29Hình 3.2 Ảnh demo màn hình kết quả tìm kiếm và màn hình chi tiết loài 30

Trang 14

x

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

API: Application Programming Interface

REST API: Representational State Transfer Application Programming Interface EOL: Encyclopedia of Life – eol.org

VNC: Vncreatures.net

ANN: Artificial Neural Network

CNN: Convolutional Neural Network

CPU: Central Processing Unit

GPU: Graphic Processing Unit

RAM: Random Access Memory

HDD: Hard Disk Drive

RPM: Round per Minute

Trang 15

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 1

Ngoài việc tìm kiếm những loài thực vật chưa được ghi danh, còn có những công tác khác như bảo tồn thực vật, nhận diện và theo dõi thực vật ngoại lai cũng yêu cầu người thực hiện có một sự am hiểu tường tận và nhận định chính xác Về mặt khối lượng công việc, các chuyên viên phải đi khảo sát thực tế trên một vùng rộng lớn, nhận dạng, đánh dấu và khoanh vùng để theo dõi sự phát triển của các loài thực vật

2 Mục tiêu đề tài

Với sự tiến bộ của khoa học và công nghệ, đặc biệt là lĩnh vực trí tuệ nhân tạo, các hệ thống máy tính đã có khả năng phát hiện, nhận dạng các thực thể phức tạp, có bề ngoài gần giống nhau với độ chính xác đáng kể Khả năng phán đoán của các mô hình học máy này, tuy chưa thể áp dụng cho mọi lĩnh vực trong cuộc sống, nhưng có thể cho kết quả tương đương với con người trong một phạm vi hẹp nào đó Với những lý do như trên, đồ án hướng đến xây dựng một hệ thống ứng dụng công nghệ trí tuệ nhân tạo hỗ trợ tra cứu loài thực vật bằng hình ảnh Thông qua ứng dụng này, người sử dụng có thể tìm kiếm nhanh chóng một loài cây khi đang trong quá trình khảo sát, giúp rút ngắn thời lượng và giảm thiểu sai sót trong công việc

Ứng dụng cho phép người dùng:

Để làm được điều trên, đồ án phải hoàn thành các mục tiêu như sau:

Trang 16

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 2

4 Phương pháp tiếp cận

Đồ án này xây dựng một mô hình nhận dạng loài thực vật dựa trên kiến trúc mạng

nơ ron tích chập Inception v4 Mô hình đầu tiên được huấn luyện trên bộ dữ liệu ImageNet, tinh chỉnh trên bộ dữ liệu PlantCLEF2017 [2] [3] và cuối cùng được tinh chỉnh lần cuối trên dữ liệu 109 loài của Việt Nam

Điểm mạnh của Inception v4 là nó có khả năng đưa ra dự đoán với một lượng lớn lớp, và với việc được huấn luyện qua các bộ dữ liệu trên, thời gian huấn luyện được rút ngắn đáng kể và mô hình nhanh chóng tìm được cách đặc trưng hiệu quả cho phân loại

Tuy nhiên, điểm yếu của mô hình trên là cấu trúc phức tạp với số lượng tham số lớn, thời gian dự đoán lâu, khó có thể đáp ứng được yêu cầu về thời gian phản hồi trong các hệ thống đa người dùng Ngoài ra, mô hình được sử dụng dựa trên các giả định:

 Hình ảnh có xuất hiện loài thực vật

 Loài thực vật xuất hiện có trong bộ dữ liệu huấn luyện

Vì vậy, mô hình không thể phân biệt được ảnh có chứa loài thực vật hay loài trong ảnh có phải là một loài mới hay không

Sau khi đã có mô hình nhận dạng, ứng dụng di động được xây dựng nhằm thực hiện các tác vụ nhận dạng, và tra cứu thông tin

Trang 17

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 3

Trang 18

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 4

Chương 1: CƠ SỞ LÝ THUYẾT

1.1 Học máy (Machine learning)

Học máy (Machine learning) [3] là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ

dữ liệu để giải quyết những vấn đề cụ thể Ví dụ như các máy có thể "học" cách phân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng Học máy rất gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật ngữ

Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà máy tính có thể xử lý được

Học máy có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt (robot locomotion)

Các thuật toán học máy phổ biến gồm:

dữ liệu vào tới kết quả mong muốn Một phát biểu chuẩn về một việc học có giám sát là bài toán phân loại: chương trình cần học (cách xấp xỉ biểu hiện của) một hàm ánh xạ một vector [𝑋1, 𝑋2, … , 𝑋𝑛] tới một vài lớp bằng cách xem xét một số mẫu dữ liệu - kết quả của hàm đó;

liệu, không có sẵn các ví dụ đã được gắn nhãn

Trang 19

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 5

Hình 1.1 Quy trình tổng quát của mô hình học máy

1.2 Mạng nơ ron nhân tạo và kiến trúc Inception

1.2.1 Mạng nơ ron nhân tạo

Mạng neural nhân tạo [4] hay thường gọi ngắn gọn là mạng neural (Artificial Neural Network - ANN hay Neural Network) là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các mạng neural sinh học Nó gồm có một nhóm các neural nhân tạo (nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút (cách tiếp cận connectionism đối với tính toán) Trong nhiều trường hợp, mạng neural nhân tạo là một hệ thống thích ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học

Trong thực tế sử dụng, nhiều mạng neural là các công cụ mô hình hóa dữ liệu thống kê phi tuyến Chúng có thể được dùng để mô hình hóa các mối quan hệ phức tạp giữa dữ liệu vào và kết quả hoặc để tìm kiếm các dạng/mẫu trong dữ liệu

Một nơ ron điển hình trong mạng nơ ron nhân tạo giống như một hàm số 𝑦 =𝑓(𝑋), nhận các giá trị đầu vào [𝑋1, 𝑋2, … , 𝑋𝑛], thực hiện tính toán và cho ra kết quả 𝑦

Trang 20

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 6

Hình 1.2 Minh họa một nơ ron

Một mạng nơ ron nhân tạo gồm các tầng nơ ron Có ba loại tầng nơ ron

của lớp ẩn tiếp theo;

của mạng Phải có ít nhất một tầng ẩn trong mạng nơ ron nhân tạo Những mạng có nhiều hơn một tầng ẩn được gọi là mạng nơ ron sâu (Deep neural network)

Hình 1.3 Cấu trúc minh họa của mạng nơ ron nhân tạo

1.2.2 Mạng tích chập và kiến trúc Inception

Convolutional Neural Network (CNN – Mạng nơ-ron tích chập) [4] là một trong những mô hình Deep Learning tiên tiến giúp xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay như hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động CNN được sử dụng nhiều trong các bài toán nhận dạng các object trong ảnh

Trang 21

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 7

Convolution là một cửa sổ trượt (Sliding Windows) trên một ma trận như mô tả hình dưới:

Hình 1.4 Ví dụ về phép tính chập trong mạng nơ ron tích chập

Các convolutional layer có các parameter (kernel) đã được học để tự điều chỉnh lấy ra những thông tin chính xác nhất mà không cần chọn các feature Trong hình ảnh

ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được số hóa Ma trận có kích thước 5x5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm của dòng và cột Convolution hay tích chập là nhân từng phần tử trong ma trận 3

Sliding Window hay còn gọi là kernel, filter hoặc feature detect là một ma trận

có kích thước nhỏ như trong ví dụ trên là 3x3 Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với ma trận bên trái Kết quả được một ma trận gọi là Convolved feature được sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5x5 bên trái

Hình 1.5 Minh họa cửa sổ trượt (kernel)

Trang 22

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 8

Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các lớp tiếp theo Mô hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine layer) Còn trong mô hình CNNs thì ngược lại Các layer liên kết được với nhau thông qua cơ chế convolution Layer tiếp theo là kết quả convolution từ layer trước đó, nhờ vậy mà ta có được các kết nối cục bộ Như vậy mỗi neuron ở lớp kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó

Hình 1.6 Cấu trúc minh họa của một mạng nơ ron tích chập

Inception [5] là một mô hình mạng tích chập được công bố bởi Google Mạng gồm các đơn vị gọi là “inception cell” - thực hiện các phép tính chập khác nhau theo nhiều nhánh rồi tổng hợp lại Các “inception cell” này được ghép lại với nhau và với một số cell hoặc layer khác để tạo thành mạng cuối cùng

Trang 23

Xây dựng ứng dụng hỗ trợ tra cứu thực vật bằng hình ảnh

Sinh viên thực hiện: Thái Quang Tiến Giảng viên hướng dẫn: TS Ninh Khánh Duy 9

Hình 1.7 Cấu trúc của một “inception cell”

Dưới đây là kiến trúc mạng Inception đầu tiên:

Hình 1.8 Mô tả mô hình Inception đầu tiên

Module nhận dạng trong đồ án này sử dụng mô hình Inception v4 [6] – được Google đưa ra vào năm 2016 Cấu trúc của mô hình được mô tả như sau:

Hình 1.9 Cấu trúc giản lược của mô hình Inception v4

Ngày đăng: 25/02/2024, 14:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w