Phần 14. Huấn luyện bộ kiểm tra chất lượng trái cây

0
818

Video dưới đây giới thiệu dịch vụ Azure Custom Vision- nội dung chính được sẽ được đề cập trong bài viết này.

Sự phát triển của Trí tuệ nhân tạo (AI) và học máy (ML) đang mở ra nhiều cơ hội cho các nhà phát triển. Mô hình ML được đào tạo để phân biệt những thứ khác nhau dựa vào hình ảnh, ví dụ như trái cây chín và chưa chín. Có thể ứng dụng tính năng này trong các thiết bị IoT giúp phân loại sản phẩm khi thu hoạch hoặc trong quá trình chế biến tại nhà máy hoặc nhà kho.

Bài viết này trình bày cách phân biệt thực phẩm dựa vào hình ảnh sử dụng mô hình ML, trong đó sẽ hướng dẫn cách đào tạo một bộ phân loại hình ảnh để phân biệt trái cây chất lượng tốt và không tốt, chín hoặc quá chín, thâm tím hoặc thối.

Các nội dung chính trong bài viết gồm:

1. Cách sử dụng AI và ML để phân loại thực phẩm

2. Cách phân loại hình ảnh qua ML

3. Cách đào tạo bộ phân loại hình ảnh

4. Các kiểm tra bộ phân loại hình ảnh

5. Cách đào tạo lại bộ phân loại hình ảnh

1. Cách sử dụng AI và ML để phân loại thực phẩm

Việc cung cấp thực phẩm cho dân số toàn cầu là điều rất khó khăn, đặc biệt là ở mức giá phù hợp túi tiền của tất cả mọi người. Một trong những chi phí lớn nhất là nhân công, do đó nông dân đang ngày càng chuyển sang tự động hóa và các công cụ như IoT nhằm giảm chi phí lao động. Thu hoạch thủ công tốn nhiều công sức (và thường là công việc đột xuất) đang dần được thay thế bằng máy móc, đặc biệt là ở các quốc gia giàu có. Mặc dù việc sử dụng máy móc tiết kiệm được chi phí thu hoạch, nhưng vẫn tồn tại nhược điểm là khả năng phân loại thực phẩm trong khi thu hoạch.

Không phải tất cả các loại cây trồng đều chín đều. Ví dụ với cây cà chua, khi phần lớn quả trên cây đã chín, sẵn sàng thu hoạch thì trên cây cũng vẫn còn quả xanh. Mặc dù thu hoạch cả những quả xanh này là lãng phí, nhưng người nông dân sẽ thu hoạch tất cả bằng máy móc và xử lý những quả chưa chín thì vẫn dễ dàng hơn và chi phí tổng thể cũng thấp hơn.

Thu hoạch tự động ngày càng phát triển đã chuyển việc phân loại sản phẩm từ vụ thu hoạch đến nhà máy. Thực phẩm di chuyển trên các băng chuyền dài, trong lúc đó người lao động sẽ nhặt để loại bỏ sản phẩm không đạt tiêu chuẩn chất lượng. Vì vậy, máy móc giúp giảm chi phí thu hoạch nhưng vẫn phải chi trả thêm phí phân loại thực phẩm thủ công.

Sự phát triển tiếp theo là sử dụng máy móc để phân loại sản phẩm, được tích hợp sẵn trong máy thu hoạch hoặc trong các nhà máy chế biến. Thế hệ đầu tiên của những chiếc máy này sử dụng cảm biến quang học để phát hiện màu sắc, điều khiển cơ cấu truyền động để đẩy cà chua xanh vào thùng rác bằng đòn bẩy hoặc luồng khí, giữ lại cà chua đỏ trên mạng lưới băng chuyền.

Video dưới đây mô tả hoạt động của chiếc máy như vậy.

Trong video này, khi cà chua rơi từ băng tải này sang băng tải khác, cà chua xanh được phát hiện và đưa vào thùng bằng đòn bẩy.

Câu hỏi đặt ra là: Cần điều kiện gì để các cảm biến quang học hoạt động chính xác?

Sự phát triển gần nhất của các máy phân loại này tận dụng lợi thế của AI và ML, sử dụng các mô hình được đào tạo để phân biệt sản phẩm đảm bảo chất lượng với không đảm bảo, không chỉ dựa vào sự khác biệt rõ ràng về màu sắc như cà chua xanh và đỏ, mà bởi những yếu tố chi tiết hơn về ngoại hình như sâu bệnh hoặc dập nát.

2. Cách phân loại hình ảnh qua ML

Lập trình truyền thống là lấy dữ liệu, áp dụng một thuật toán cho dữ liệu và nhận dữ liệu tại đầu ra. Ví dụ: Project bài viết trước lấy tọa độ GPS và hàng rào địa lý, áp dụng một thuật toán do Azure Maps cung cấp và nhận lại kết quả xem điểm đó nằm trong hay ngoài hàng rào địa lý. Dữ liệu nhập vào càng nhiều thì càng nhận được nhiều đầu ra hơn.

ML giúp thay đổi phương pháp truyền thống: Từ dữ liệu, các kết quả đầu ra đã biết và thuật toán ML từ dữ liệu, người dùng sử dụng thuật toán được đào tạo đó (được gọi là mô hình hoặc mô hình ML), nhập dữ liệu mới và nhận đầu ra mới.

Quá trình học thuật toán ML từ dữ liệu gọi là quá trình huấn luyện. Các đầu vào và đầu ra đã biết được gọi là dữ liệu huấn luyện.

Ví dụ: người dùng cung cấp dữ liệu đầu vào cho mô hình là hàng triệu hình ảnh về chuối chưa chín, đầu ra đào tạo được đặt là unripe và dữ liệu đầu vào là hình ảnh về chuối chín với đầu ra là ripe. Sau đó, thuật toán ML sẽ tạo một mô hình dựa trên dữ liệu này. Người dùng nhập vào một hình ảnh mới về một quả chuối và nó sẽ dự đoán xem hình ảnh đó là chuối chín hay chưa chín.

Kết quả của mô hình ML được gọi là dự đoán

Các mô hình ML không đưa ra câu trả lời dưới dạng nhị phân mà đưa ra kết quả theo xác suất. Ví dụ, một mô hình đưa ra hình ảnh một quả chuối với dự đoán ripe ở mức 99,7% và unripe là 0,3%. Sau đó, mã sẽ chọn dự đoán tốt nhất và quyết định chuối đã chín.

Mô hình ML để phát hiện các hình ảnh đó được gọi là bộ phân loại hình ảnh- image classifier. Nó nhận được các hình ảnh có nhãn, sau đó phân loại các hình ảnh mới dựa trên các nhãn này.

Có nhiều cách để đào tạo các mô hình mà không cần gắn nhãn đầu ra, như học không giám sát. Tìm hiểu thêm về ML tại giáo trình 24 bài học về Machine Learning tại ML dành cho người mới bắt đầu.

3. Cách đào tạo bộ phân loại hình ảnh

Để đào tạo thành công bộ phân loại hình ảnh, cần hàng triệu hình ảnh. Sau khi đã đào tạo bộ phân loại hình ảnh dựa trên hàng triệu, hàng tỷ hình ảnh các loại thì có thể sử dụng lại và đào tạo lại bằng cách sử dụng một nhóm hình ảnh nhỏ và thu được kết quả tuyệt vời, sử dụng quy trình gọi là transfer learning.

Transfer learning là nơi chuyển việc học từ một mô hình ML hiện có sang một mô hình mới dựa trên dữ liệu mới.

Khi bộ phân loại hình ảnh đã được đào tạo cho nhiều loại hình ảnh, thì sẽ hoạt động rất hiệu quả trong việc nhận dạng hình dạng, màu sắc và kiểu mẫu. Transfer learning cho phép mô hình sử dụng những gì đã học được để nhận dạng các phần hình ảnh từ đó giúp nhận ra hình ảnh mới.

Điều này tương tự như sách hình dạng dành cho trẻ em, một khi đã nhận ra hình bán nguyệt, hình chữ nhật và hình tam giác thì có thể nhận ra thuyền buồm hoặc con mèo dựa vào cấu hình của những hình dạng này. Bộ phân loại hình ảnh có thể nhận ra các hình dạng và quá trình học chuyển đổi giúp phân biệt sự kết hợp nào tạo nên chiếc thuyền hoặc con mèo hay một quả chuối chín.

Có rất nhiều công cụ để thực hiện: các dịch vụ dựa trên đám mây giúp đào tạo mô hình, sau đó sử dụng nó thông qua các API web.

Việc đào tạo các mô hình này cần rất nhiều năng lực tính toán, thường thông qua Bộ xử lý đồ họa (Graphics Processing Units- GPUs). Phần cứng chuyên dụng tương tự để chơi game trên Xbox cũng được sử dụng để đào tạo các mô hình ML. Bằng cách sử dụng đám mây, người dùng có thể thuê các máy tính mạnh có GPUs để đào tạo các mô hình này, được quyền truy cập vào năng lực tính toán cần thiết đúng thời điểm mong muốn.

Custom Vision

Custom Vision là một công cụ dựa trên đám mây để đào tạo bộ phân loại hình ảnh chỉ sử dụng rất ít hình ảnh. Người dùng có thể tải lên hình ảnh thông qua cổng web, API web hoặc SDK, cấp cho mỗi hình ảnh một thẻ có phân loại hình ảnh đó. Sau đó, đào tạo mô hình và kiểm tra khả năng hoạt động. Sau khi hài lòng với mô hình, có thể publish các phiên bản truy cập thông qua API web hoặc SDK.

Có thể đào tạo một mô hình custom vision với ít nhất 5 hình ảnh cho mỗi phân loại, với 30 hình ảnh thì kết quả nhận được tốt hơn rất nhiều.

Custom Vision là một phần của loạt công cụ AI của Microsoft được gọi là Dịch vụ nhận thức- Cognitive Services. Đây là những công cụ AI sử dụng mà không cần đào tạo hoặc với số lượng đào tạo nhỏ. Chúng có sẵn và miễn phí như các dịch vụ trong Azure, bao gồm nhận dạng giọng nói và dịch thuật, hiểu ngôn ngữ và phân tích hình ảnh. Cấp miễn phí là quá đủ để tạo ra một mô hình, đào tạo nó, sau đó sử dụng cho công việc phát triển. Tìm hiểu thêm về các giới hạn của cấp miễn phí trên trang Custom Vision Limits and quotas page on Microsoft docs.

* Cách tạo nguồn dịch vụ nhận thức

Để sử dụng Custom Vision, trước tiên cần tạo hai tài nguyên dịch vụ nhận thức trong Azure bằng Azure CLI: một tài nguyên dành cho đào tạo và một tài nguyên dành cho dự đoán custom vision.

1. Tạo Resource Group cho project này với tên fruit-quality-detector

2. Sử dụng lệnh sau để tạo tài nguyên đào tạo custom vision miễn phí:

az cognitiveservices account create --name fruit-quality-detector-training \
                                    --resource-group fruit-quality-detector \
                                    --kind CustomVision.Training \
                                    --sku F0 \
                                    --yes \
                                    --location <location>

Thay thế <location> bằng vị trí đã sử dụng khi tạo Resource Group.

Điều này tạo tài nguyên đào tạo Custom Vision trong Resource Group với tên fruit-quality-detector-training sử dụng cấp miễn phí F0 sku. Tùy chọn –yes nghĩa là đồng ý với các điều khoản và điều kiện của các dịch vụ nhận thức.

Sử dụng S0 sku nếu đã có tài khoản miễn phí sử dụng bất kỳ Dịch vụ nhận thức nào.

Chạy lệnh sau để tạo tài nguyên dự đoán Custom Vision miễn phí:

az cognitiveservices account create --name fruit-quality-detector-prediction \
                                    --resource-group fruit-quality-detector \
                                    --kind CustomVision.Prediction \
                                    --sku F0 \
                                    --yes \
                                    --location <location>

Thay thế <location> bằng vị trí đã sử dụng khi tạo Resource Group.

Khi đó tạo được tài nguyên dự đoán Custom Vision trong Resource Group với tên fruit-quality-detector-training và sử dụng cấp miễn phí F0 sku. Tùy chọn –yes nghĩa là đồng ý với các điều khoản và điều kiện của các dịch vụ nhận thức.

* Cách tạo một project phân loại hình ảnh

1. Khởi chạy cổng Custom Vision tại CustomVision.ai và đăng nhập bằng tài khoản Microsoft đã sử dụng cho tài khoản Azure.

2. Thực hiện theo phần tạo project mới của quá trình xây dựng bộ phân loại khởi động nhanh trên tài liệu của Microsoft để tạo dự án Custom Vision mới. Những tài liệu này là tài liệu tham khảo cập nhật mới nhất dù giao diện người dùng có thể thay đổi.

Truy cập vào fruit-quality-detector.

Trước khi tạo project, chắc chắn sử dụng tài nguyên fruit-quality-detector-training đã tạo. Sử dụng loại dự án Classification, loại phân loại Multiclass và miền Food.

* Cách đào tạo project phân loại hình ảnh

Để đào tạo một bộ phân loại hình ảnh, cần nhiều hình ảnh về trái cây, cả chất lượng tốt, xấu để gắn nhãn tốt và xấu, như chuối chín và quá chín.

Những bộ phân loại này có thể phân loại hình ảnh của bất kỳ sản phẩm gì, vì vậy ngoài phân loại chất lượng trái cây thì có thể phân loại hai loại trái cây khác nhau,….

Tốt nhất là mỗi hình ảnh để phân loại chỉ có hoa quả, có nền thống nhất hoặc nếu các nền khác nhau thì đảm bảo hình ảnh là quả chín và chưa chín.

Trong trường hợp không có nền cụ thể hoặc nội dung cần phân loại không liên quan đến mỗi thẻ thì bộ phân loại có thể chỉ phân loại dựa trên nền. Thực tế có máy phân loại ung thư da được đào tạo dựa trên các nốt ruồi bình thường và ung thư; những nốt ung thư đều có dấu hiệu riêng để đo kích thước. Máy phân loại gần như chính xác 100% trong việc xác định quy tắc trong ảnh để kết luận không phải nốt ruồi ung thư.

Bộ phân loại hình ảnh chạy ở độ phân giải rất thấp. Ví dụ: Custom Vision có thể lấy hình ảnh đào tạo và dự đoán lên đến 10240×10240, nhưng đào tạo và chạy mô hình trên hình ảnh ở kích thước 227×227. Hình ảnh lớn hơn sẽ được thu nhỏ về kích thước này, vì vậy cần đảm bảo sản phẩm cần phân loại chiếm phần lớn của hình ảnh, nếu sản phẩm chính trên hình ảnh chiếm phần nhỏ sẽ gây nhầm lẫn hoặc bị bỏ qua.

1. Thu thập hình ảnh cho bộ phân loại. Cần ít nhất 5 hình ảnh cho mỗi nhãn để đào tạo bộ phân loại, tuy nhiên càng nhiều hình ảnh thì bộ phân loại hoạt động càng chính xác. Ngoài ra, cần một vài hình ảnh bổ sung là những hình ảnh khác nhau của cùng một loại để kiểm tra bộ phân loại.

 Ví dụ: Sử dụng 2 quả chuối chín, chụp một số ảnh của mỗi quả ở các góc độ khác nhau, chụp ít nhất 7 ảnh (5 để huấn luyện, 2 để kiểm tra).

Lặp lại quy trình tương tự với 2 quả chuối chưa chín

Nên có ít nhất 10 ảnh huấn luyện, với ít nhất 5 ảnh chín và 5 ảnh chưa chín, và 4 ảnh thử nghiệm, 2 ảnh chín, 2 ảnh chưa chín. Hình ảnh phải có định dạng png hoặc jpegs, dung lượng nhỏ hơn 6MB. Nếu hình ảnh có định dạng khác hoặc độ phân giải cao thì sẽ được chuyển đổi và thu nhỏ. Càng nhiều hình ảnh càng tốt đồng thời số lượng ảnh của quả chín và chưa chín nên tương đương nhau.

Nếu không có cả ảnh quả chín và chưa chín thì có thể sử dụng các loại quả khác nhau, hoặc bất kỳ hai sản phẩm nào có sẵn.

2. Thực hiện theo phần upload và gắn thẻ quá trình xây dựng bộ phân loại khởi động nhanh trên tài liệu của Microsoft để tải lên hình ảnh đào tạo. Gắn thẻ trái cây chín là ripe, và trái cây chưa chín là unripe.

Thực hiện theo phần huấn luyện bộ phân loại của quá trình xây dựng bộ phân loại khởi động nhanh trên tài liệu của Microsoft để huấn luyện bộ phân loại hình ảnh dựa trên các hình ảnh đã tải lên.

Chọn loại hình đào tạo Quick Training.

Mất vài phút để Bộ phân loại hoàn tất quá trình đào tạo.

4. Cách kiểm tra bộ phân loại hình ảnh

Sau khi đào tạo bộ phân loại hình ảnh, có thể kiểm tra lại bằng cách cung cấp cho nó một hình ảnh mới để phân loại.

* Cách kiểm tra bộ phân loại hình ảnh

Thực hiện theo cách kiểm tra tài liệu mô hình trên tài liệu của Microsoft sử dụng hình ảnh thử nghiệm đã tạo trước đó để kiểm tra bộ phân loại hình ảnh.

Quả chuối chưa chín được dự đoán là unripe với xác suất 98,9%, ripe với xác suất 1,1%

5. Cách đào tạo lại bộ phân loại hình ảnh

Không phải tất cả các bộ phân loại đều hoạt động như mong đợi. Bộ phân loại hình ảnh sử dụng ML để đưa ra dự đoán dựa vào hình ảnh, xác suất của các tính năng cụ thể của hình ảnh, nghĩa là nó khớp với một nhãn cụ thể. Bản chất bộ phân loại không hiểu những gì trong ảnh – nó không biết quả chuối là gì hoặc điều gì tạo nên sự khác biệt giữa quả chuối và chiếc thuyền. Người dùng có thể cải thiện bộ phân loại bằng cách đào tạo lại bằng những hình ảnh bị sai.

Mỗi khi đưa ra dự đoán bằng tùy chọn kiểm tra nhanh, hình ảnh và kết quả sẽ được lưu trữ, sau đó thể sử dụng những hình ảnh này để đào tạo lại mô hình.

* Cách đào tạo lại bộ phân loại hình ảnh

Thực hiện theo cách sử dụng hình ảnh được dự đoán cho tài liệu đào tạo trên Microsoft docs để đào tạo lại mô hình, sử dụng đúng thẻ cho mỗi hình ảnh.

Khi đã đào tạo lại mô hình, hãy thử nghiệm trên các hình ảnh mới.

Biên dịch: Bắc Đặng

Để cập nhật tin tức công nghệ mới nhất và các sản phẩm của công ty AIoT JSC, vui lòng truy cập link: http://aiots.vn hoặc linhkienaiot.com

0 0 Phiếu bầu
Article Rating
Subscribe
Notify of
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả các bình luận