Nghiên cứu và phát triển hệ thống nhận dạng cây trên thiết bị di động

Hệ thống nhận dạng cây bằng hình ảnh trên di động. Ứng dụng AI phân loại thực vật, truy xuất thông tin các loài cây nhanh chóng và chính xác.

Trường đại học

Đại học Bách Khoa Hà Nội

Chuyên ngành

Kỹ thuật Điện tử

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2023

63
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn phát triển App nhận dạng cây bằng hình ảnh trên di động hiệu quả

Việc xây dựng một App nhận dạng cây bằng hình ảnh trên di động đòi hỏi quy trình rõ ràng kết hợp giữa công nghệ thị giác máy tính, học máy, và thiết kế giao diện thân thiện. Bài viết này sẽ cung cấp các bước hướng dẫn chi tiết từ xác định yêu cầu, xử lý hình ảnh, trích xuất đặc trưng đến tích hợp thuật toán phân loại hiệu quả. Đặc biệt, các giải pháp tối ưu như sử dụng mạng nơ ron sâu ResNet-50, hàm mất mát phân cấp và kỹ thuật học chuyển đổi sẽ giúp nâng cao độ chính xác và hiệu quả hệ thống.

1.1. Các bước chuẩn bị và xác định yêu cầu dự án

Xác định rõ mục tiêu của ứng dụng nhận dạng cây trên di động, đối tượng sử dụng, cùng các loại dữ liệu hình ảnh cần thu thập như lá, hoa, thân, cành. Đồng thời, thiết lập các tiêu chí về độ chính xác, tốc độ phản hồi và khả năng mở rộng của hệ thống để phù hợp với yêu cầu thực tế.

1.2. Tiền xử lý hình ảnh và trích xuất đặc trưng hiệu quả

Trong giai đoạn này, cần áp dụng kỹ thuật phân đoạn và chuẩn hóa hình ảnh để nâng cao chất lượng dữ liệu đầu vào. Sau đó, sử dụng các bộ trích đặc trưng như mô tả hình dạng, màu sắc, texture hoặc kỹ thuật học sâu như mạng CNN để tự động học đặc trưng phù hợp, giúp nâng cao khả năng phân biệt các loài cây khác nhau.

II. Các công nghệ tối ưu nhất cho hệ thống nhận dạng cây tự động trên di động

Việc lựa chọn các công nghệ phù hợp đóng vai trò then chốt trong việc nâng cao hiệu quả của ứng dụng nhận dạng cây bằng hình ảnh trên di động. Trong đó, sử dụng mô hình mạng nơ ron sâu ResNet-50 giúp khai thác đặc trưng chi tiết, kết hợp hàm mất mát phân cấp thích ứng (AHL) để tối ưu phân loại theo cấu trúc phân lớp, và áp dụng kỹ thuật học chuyển đổi (transfer learning) để giảm thời gian huấn luyện, tăng độ chính xác. Các công nghệ này đều đã được chứng minh qua nhiều nghiên cứu về nhận dạng thực vật trên thế giới và Việt Nam.

2.1. Ứng dụng của mạng ResNet 50 trong phân loại cây

Mạng ResNet-50 có khả năng học các đặc trưng chi tiết của hình ảnh thông qua cấu trúc residual, giảm thiểu vấn đề mất mạch thông tin khi đào tạo sâu. Khi tích hợp trong hệ thống, ResNet-50 cho phép phân biệt chính xác các loại cây dựa trên dữ liệu hình ảnh thu thập từ điện thoại, đảm bảo độ chính xác cao, kể cả trong điều kiện nền phức tạp hoặc mức độ phân bố đa dạng của các loài cây.

2.2. Ứng dụng của hàm mất mát phân cấp thích ứng AHL

Hàm mất mát AHL giúp mô hình nắm bắt tốt hơn các mối quan hệ phân cấp giữa họ, chi, và loài, từ đó nâng cao độ chính xác phân loại. Đặc biệt, nó thích hợp trong các hệ thống có dữ liệu phân lớp phức tạp, góp phần giảm sai lệch khi phân biệt các loài cây có đặc điểm hình thái giống nhau hoặc trong điều kiện dữ liệu chưa đồng đều.

III. Ứng dụng thực tiễn và kết quả của hệ thống nhận dạng cây trên di động

Hệ thống ứng dụng nhận dạng cây dựa trên hình ảnh đã được triển khai thử nghiệm tại Việt Nam, đạt tỷ lệ chính xác cao trên các bộ dữ liệu thực tế. Các tính năng như chụp ảnh trực tiếp, nhận diện tự động, truy xuất thông tin về nguồn gốc, đặc điểm hình thái, công dụng của cây đã mang lại lợi ích đáng kể cho cộng đồng. Các nghiên cứu và thử nghiệm đã chứng minh rằng công nghệ này hỗ trợ tốt các quyết định trong lĩnh vực bảo tồn, nông nghiệp, cảnh quan, và giáo dục sinh thái.

3.1. Kết quả thử nghiệm và độ chính xác thực tế

Trong các đợt đánh giá trên bộ dữ liệu thực, hệ thống đạt độ chính xác từ 85% đến 90% ở cấp loài và chi, giúp người dùng dễ dàng xác định cây cối trong thực tế. Các ảnh chụp trong điều kiện nền phức tạp, góc nhìn khác nhau vẫn cho kết quả tin cậy, góp phần nâng cao hiệu quả hoạt động quản lý tài nguyên và bảo tồn

3.2. Tác động ứng dụng trong thực tế và hướng phát triển

Hệ thống đã bắt đầu được ứng dụng trong các dự án bảo tồn, giảng dạy, và phát triển du lịch sinh thái. Trong tương lai, mở rộng dữ liệu, hoàn thiện khả năng tự học của hệ thống, tích hợp các dữ liệu liên quan như môi trường sống, đặc điểm sinh thái để nâng cao độ chính xác và ứng dụng đa dạng hơn.

IV. Kết luận và triển vọng phát triển của App nhận dạng cây trên di động

Việc phát triển các ứng dụng nhận dạng cây dựa trên hình ảnh trên di động đã chứng minh khả năng giúp cộng đồng, nông dân, nhà thực vật học tiếp cận kiến thức tự nhiên dễ dàng và chính xác hơn. Cần tiếp tục nâng cao thuật toán, mở rộng dữ liệu, và tối ưu trải nghiệm người dùng để phù hợp với các tiêu chuẩn kỹ thuật và thực tiễn của Việt Nam. Tương lai sẽ có các hệ thống tự động phân tích dữ liệu từ nhiều nguồn, tích hợp trí tuệ nhân tạo thúc đẩy bảo tồn đa dạng sinh học và phát triển bền vững.

4.1. Những hướng đi mới cho hệ thống nhận dạng cây trên di động

Nâng cấp thuật toán học sâu, tích hợp cảm biến đa phương tiện, mở rộng cơ sở dữ liệu địa phương và toàn cầu. Phát triển các mô hình phân cấp linh hoạt hơn, hỗ trợ nhiều loại dữ liệu hình ảnh và thông tin sinh thái khác nhau, phù hợp với yêu cầu quản lý dự án và cộng đồng.

4.2. Thách thức và cơ hội trong lĩnh vực này

Đầu tư vào dữ liệu chất lượng cao, áp dụng kỹ thuật học chuyển đổi, và xây dựng hệ sinh thái phần mềm mở, làm nền tảng cho cộng đồng nghiên cứu và người dùng phổ thông cùng tham gia. Đây là cơ hội để Việt Nam dẫn đầu trong lĩnh vực phần mềm nhận dạng thực vật bằng trí tuệ nhân tạo.

18/12/2025

Trích đoạn nội dung tài liệu

đặt vấn đề, nêu lên mục tiêu, phạm vi, đối tượng nghiên cứu và các đóng góp chính của trong đề tài 2 Chương 2: Các mạng nơ ron nhân tạo và ứng dụng trong nhận dạng cây từ hình ảnh: Trình bày về tổng quan chung về mạng nơ ron nhân tạo, các kỹ thuật nhận dạng cây dựa trên hình ảnh và kết luận chương. Chương 3: Phương pháp nhận dạng cây cho phép khai thác đồng thời thông tin về họ, chi và loài: Trình bày về một số kiến thức cơ sở, hàm mất mát phân cấp thích ứng đề xuất, mô hình cơ sở dựa trên mạng ResNet-50 và kết luận chương. Chương 4: Thử nghiệm: Trình bày về CSDL, kết quả thử nghiệm, tích hợp hệ thống nhận dạng cây trên thiết bị di động và kết luận chương. TỔNG QUAN VỀ NHẬN DẠNG CÂY TỪ HÌNH ẢNH 2.1 Tổng quan chung về mạng nơ ron nhân tạo Mạng neuron nhân tạo là một loại mô hình tính toán được lấy cảm hứng từ cấu trúc và hoạt động của các mạng neuron trong não người.

Mạng nơ ron được sử dụng rộng rãi trong nhiều lĩnh vực như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên, dự đoán chuỗi thời gian, tự động lái xe, và nhiều ứng dụng khác. Trong lĩnh vực tài chính, mạng nơ ron nhân tạo hỗ trợ cho quá trình phát triển các quy trình như: giao dịch thuật toán, dự báo chuỗi thời gian, phân loại chứng khoán, mô hình rủi ro tín dụng và xây dựng chỉ báo độc quyền và công cụ phát sinh giá cả. Dưới đây là một số đặc điểm quan trọng của mạng neuron nhân tạo: - Cấu trúc lớp: Mạng nơ ron bao gồm một số lớp (layer) được xếp chồng lên nhau. Có ba lớp chính là lớp đầu vào (input layer), lớp ẩn (hidden layers), và lớp đầu ra (output layer).

Mỗi lớp có một số neuron (nút) và các neuron trong lớp trước đó kết nối với các neuron trong lớp tiếp theo. - Trọng số và bias: Mỗi kết nối giữa các neuron có một trọng số (weight) để điều chỉnh độ quan trọng của tín hiệu đầu vào. Ngoài ra, mỗi neuron có một giá trị bias để điều chỉnh giá trị đầu ra của nó. Trọng số và bias là các tham số cần được tối ưu hóa trong quá trình huấn luyện.

- Hàm kích hoạt (activation function): Hàm kích hoạt được áp dụng sau mỗi neuron để giới hạn giá trị đầu ra của nó. Hàm kích hoạt quyết định xem neuron đó có được kích hoạt (được kích thích) hay không. - Huấn luyện và học tập: Mạng neuron được huấn luyện thông qua việc cung cấp dữ liệu đầu vào và giá trị đầu ra mong muốn (nhãn) để điều chỉnh các trọng số và bias. Quá trình này được thực hiện thông qua các thuật toán tối ưu hóa như Gradient Descent và các biến thể của nó.

- Học có giám sát và học không giám sát: Trong học có giám sát, mạng nơ ron được huấn luyện trên dữ liệu có nhãn để tối ưu hóa hàm mất mát. Trong học không giám sát, mạng nơ ron thường được sử dụng để tìm cấu trúc hoặc biểu diễn dữ liệu mà không cần nhãn. - Đa lớp và mạng nơ ron sâu: Mạng nơ ron đa lớp (multi-layer neural network) và mạng nơ ron sâu (deep neural network) có nhiều lớp ẩn, cho phép mô hình học được các mối quan hệ phức tạp trong dữ liệu.1 Các phương pháp tối ưu hàm mất mát 2. Thuật toán Gradient descent Gradient descent là một thuật toán tối ưu hóa được sử dụng để tìm cực tiểu hoặc cực đại của một hàm số.

Đây là một phương pháp lặp để điều chỉnh các tham số của một mô hình máy học hoặc một hàm mục tiêu khác dựa trên các đạo hàm riêng của hàm số đó. Ý tưởng cơ bản của gradient descent là đi dọc theo đường dốc của hàm số để tìm điểm cực tiểu (hoặc cực đại). Thuật toán này bắt đầu từ một điểm bất kỳ trên hàm số và tiến hành cập nhật vị trí hiện tại dựa trên đạo hàm riêng của hàm số tại điểm 4 đó. Điều này cho phép thuật toán di chuyển theo hướng ngược lại với độ dốc của hàm số, từ đó tiến gần hơn đến điểm cực tiểu.

Ý tưởng thuật toán: Xét các hàm số một biến 𝑓𝑓 ∶ ℝ → ℝ. Giả sử 𝑥𝑥𝑡𝑡 là điểm tìm được sau vòng lặp thứ t và 𝑥𝑥 ∗ là điểm cực tiểu địa phương. Ta cần tìm thuật toán đưa 𝑥𝑥𝑡𝑡 về càng gần 𝑥𝑥 ∗ càng tốt. Ta có các quan sát như sau : Nếu đạo hàm của hàm số tại 𝑥𝑥𝑡𝑡 là dương (𝑓𝑓 ′ (𝑥𝑥𝑡𝑡 ) > 0) thì 𝑥𝑥𝑡𝑡 nằm về bên phải so với 𝑥𝑥 ∗ , và ngược lại.

Để điểm tiếp theo xt +1 gần với 𝑥𝑥 ∗ hơn, ta cần di chuyển 𝑥𝑥𝑡𝑡 về bên trái, tức về phía âm. Nói các khác, ta cần di chuyển 𝑥𝑥𝑡𝑡 ngược dấu với đạo hàm: xt +1= xt + ∆ [2.1] Trong đó : ∆ là một đại lượng ngược dấu với đạo hàm 𝑓𝑓 ′ (𝑥𝑥𝑡𝑡 ) 𝑥𝑥𝑡𝑡 càng xa 𝑥𝑥 ∗ về bên phải thì 𝑓𝑓 ′ (𝑥𝑥𝑡𝑡 ) càng lớn (và ngược lại). Một cách tự nhiên nhất, ta chọn lượng di chuyển ∆ tỉ lệ thuận với −𝑓𝑓 ′ (𝑥𝑥𝑡𝑡 ) Từ hai quan sát trên ta có công thức tổng quát như sau: xt += 1 xt − η f ' ( xt ) [2.2] Trong đó 𝜂𝜂 là một đại lượng được gọi là tốc độ học (learning rate). Dấu trừ thể hiện việc 𝑥𝑥𝑡𝑡 cần đi ngược với đạo hàm 𝑓𝑓 ′ (𝑥𝑥𝑡𝑡 ) 2.

Thuật toán Stochastic Gradient Descent Thuật toán gradient descent còn có một biến thể khác là stochastic gradient descent. Các bước thực của thuật toán Stochastic Gradient Descent như sau: - Bước 1: Khởi tạo giá trị ban đầu của x, thường là ngẫu nhiên hoặc dựa trên kiến thức chuyên gia. - Bước 2: Lặp lại các bước sau cho đến khi đạt được điều kiện dừng (ví dụ: số lần lặp tối đa hoặc sự hội tụ của giá trị hàm mục tiêu). - Bước 3: Chọn một mẫu dữ liệu ngẫu nhiên từ tập dữ liệu huấn luyện, ký hiệu là (xi , yi ), với xi là vector đặc trưng và yi là nhãn tương ứng.

- Bước 4: Tính toán gradient của hàm mục tiêu tại điểm dữ liệu này. Gradient của hàm 𝑓𝑓(𝑥𝑥) tại điểm xi được ký hiệu là ∇𝑓𝑓(𝑥𝑥𝑖𝑖 ). Gradient này đơn giản là vector đạo hàm riêng của hàm f(x) theo từng tham số trong vector x. Ví dụ, nếu x là một vector có n tham số, thì ∇𝑓𝑓(𝑥𝑥𝑖𝑖 ) sẽ là một vector có n chiều.

- Bước 5: Cập nhật x bằng công thức sau: xnew = xold − α * ∇f ( xi ) [2.3] Trong đó: (1) α là tỷ lệ học (learning rate) là một tham số quyết định bước cập nhật của thuật toán. Tỷ lệ học thường là một số dương nhỏ, có thể được lựa chọn trước hoặc thay đổi trong quá trình huấn luyện. 5 (2) ∇f ( xi ) là biểu diễn gradient của hàm mất mát (loss function) f ( xi ) theo các tham số x của mô hình - Bước 6: Quay lại Bước 3 và tiếp tục lặp cho đến khi đạt được điều kiện dừng. Thuật toán Stochastic Gradient Descent có thể làm việc rất nhanh vì nó chỉ tính toán gradient trên một điểm dữ liệu mỗi lần lặp.

Tuy nhiên, nó cũng có thể làm cho quá trình tối ưu hóa không ổn định hơn, do độ biến động ngẫu nhiên của gradient từ các điểm dữ liệu. Mặc dù vậy, Stochastic Gradient Descent thường được sử dụng trong việc huấn luyện các mô hình lớn và phức tạp, nơi Batch Gradient Descent không khả thi do yêu cầu tính toán độ lớn của toàn bộ tập dữ liệu huấn luyện. So sánh thuật toán Gradient Descent và Stochastic Gradient Descent Bảng 2.1 Sự khác nhau giữa SGD và GD Thuật toán Stochastic Gradient Gradient Descent Tiêu chí Descent Dữ liệu đầu vào tính toán gradient trên tính toán gradient của từng mẫu dữ liệu huấn hàm mất mát trên toàn luyện một tại mỗi bước bộ tập dữ liệu huấn cập nhật. Điều này làm luyện ở mỗi bước cập cho nó hiệu quả hơn nhật.

Điều này đòi hỏi trong trường hợp dữ lưu trữ toàn bộ tập dữ liệu lớn, vì nó chỉ cần liệu trong bộ nhớ, điều duyệt qua một mẫu dữ này có thể là vấn đề đối liệu tại mỗi bước. với các tập dữ liệu lớn. Tính ngẫu nhiên sử dụng một mẫu dữ không thực hiện bất kỳ liệu ngẫu nhiên từ tập tính toán ngẫu nhiên dữ liệu huấn luyện ở nào. Nó tính toán mỗi bước.

Điều này có gradient chính xác của nghĩa là gradient được hàm mất mát. ước tính và có sự biến đổi ngẫu nhiên ở mỗi bước, làm cho quá trình tối ưu hóa không đồng đều. Độ chính xác hội tụ nhanh hơn ban đạt được độ chính xác đầu nhưng có thể dao tốt hơn, đặc biệt khi động quanh cực tiểu và tiếp cận cực tiểu. không đạt được độ chính xác cao như GD.

Tuy nhiên, SGD có thể tìm được các cực tiểu 6 cục bộ có lợi cho việc tạo mô hình tổng quan tốt hơn. Sự ổn định không ổn định bằng ổn định hơn và ít bị GD và có thể dao động biến động trong quá trong quá trình học. trình tối ưu hóa. Thiết lập siêu tham số có nhiều siêu tham số không có siêu tham số quan trọng như tốc độ quan trọng để cấu hình học (learning rate), số trong GD.

lượng epoch, và kích thước lô (batch size) cần được điều chỉnh cẩn thận. Thuật toán Stochastic Gradient Descent với Momentum Để giảm thiểu các nhược điểm của Stochastic Gradient Descent, một biến thể được sử dụng là Stochastic Gradient Descent with Momentum (SGDM) hay đơn giản là Momentum. Momentum giúp tăng tốc quá trình tối ưu hóa và giảm độ dao động. Momentum giữ một động lượng (momentum) của quá trình cập nhật trước đó và kết hợp nó với gradient hiện tại để cập nhật tham số.

Công thức cập nhật tham số trong SGDM là: 𝑣𝑣 ← 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 ∗ 𝑣𝑣 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑔𝑔𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 ∗ ∇𝑓𝑓(𝑥𝑥𝑖𝑖 ) [2.4] 𝑥𝑥 ← 𝑥𝑥 + 𝑣𝑣 Trong đó: 𝑣𝑣 là vector động lượng (momentum) được cập nhật tại mỗi bước. momentum là một tham số trong khoảng từ 0 đến 1, quyết định mức độ đóng góp của động lượng trong quá trình cập nhật. 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 là tỷ lệ học (learning rate) quyết định bước cập nhật. - Momentum giúp làm giảm độ dao động và giúp thuật toán đi nhanh hơn qua các vùng phẳng hoặc địa phương.

Điều này có thể giúp tăng tốc độ hội tụ và đạt được kết quả tốt hơn.2 Hàm kích hoạt (Activation function) Hàm kích hoạt (activation function) là một thành phần quan trọng trong các mạng neuron nhân tạo và học máy. Hàm này được áp dụng sau mỗi tầng để giới hạn giá trị đầu ra của mỗi nơ ron và giúp mô hình học được các mô hình phi tuyến tính.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ