Nghiên cứu các nền tảng để xây dựng API và ứng dụng cảnh báo tình trạng thiếu chúa ở đàn ong mật

Nước ta được đánh giá là quốc gia có điều kiện khí hậu nhiệt đới thuận lợi cho hệ sinh thái thực vật và sự phát triển của ngành chăn nuôi ong lấy mật. Bởi vậy, trong những năm gần đây, người nuôi ong đã nhận thấy nghề nuôi ong mật không những mang lại hiệu quả kinh tế cao mà còn là nghề góp phần bảo vệ môi trường sinh thái. Tại các tỉnh nghề chăn nuôi ong từ hình thức chăn nuôi tự phát, nhỏ lẻ đã chuyển dần sang hình thức đầu tư nuôi ong tập trung với số lượng lớn, số lượng đàn ong được nuôi tại một hộ có từ 50 đến 100 đàn thậm chí tới 500 đến 600 đàn như ở Sơn La, Điện Biên, Đắc Lắc, Đồng Nai, Vũng Tàu…. Các địa phương đã hình thành các mô hình câu lạc bộ, hợp tác xã hoạt động rất có hiệu quả và nhanh chóng nhân rộng tại ra khắp các tỉnh. Có nghề nuôi ong mật, các hộ nông dân càng quan tâm hơn tới phát triển vườn cây ăn quả cũng như bảo vệ rừng, chăm sóc đẩy mạnh diện tích trồng rừng, để bổ sung nguồn thức ăn tự nhiên cho đàn ong, từ đó góp phần bảo vệ môi trường và hệ sinh thái.

Tuy nhiên, ở Việt Nam hiện nay ở Việt Nam người nuôi ong vẫn áp dụng cách nuôi ong truyền thống chủ yếu theo kinh nghiệm người đi trước truyền cho người đi sau. Do đó để kiểm tra, đánh giá tình trạng sức khỏe đàn ong, người nuôi ong phải trực tiếp và thường xuyên kiểm tra đàn ong. Việc này đòi hỏi người nuôi ong phải có kinh nghiệm. Ong chúa có một vài trò vô cùng quan trong trọng đàn. Do đó, một trong những công việc quan trọng của người nuôi ong là kiểm tra xem ong chúa có khỏe mạnh và có khả năng đẻ trứng hay không. Điều này được thực hiện bằng cách mở tổ ong và kiểm tra các khung tổ ong. Nếu không có trứng hoặc ấu trùng, ong chúa có thể đã chết, bị bệnh hoặc không xuất hiện trong tổ. Trong những tình huống như vậy, cuộc sống của cả đàn ong có thể gặp nguy hiểm và cần phải có hành động ngay lập tức. Bất cứ khi nào không có sinh sản vì ong chúa bị chết hoặc tàn tật thì cũng không có con ong non nào có thể thay thế những con ong già hơn. Việc thiếu ong chúa là điều vô cùng bất lợi và cần được phát hiện càng sớm càng tốt. Nhưng mặt khác, việc kiểm tra và kiểm tra tổ ong hàng ngày bất cứ khi nào ong chúa có mặt có thể gây ảnh hưởng cho cả đàn ong.

Tất cả những việc trên khiến cho người nuôi ong gặp nhiều khó khăn trong việc tăng số lượng đàn ong cũng như đảm bảo chất lượng mật ong để mở rộng qui mô nuôi ong, ảnh hưởng đến sản lượng mật.

Trước những thách thức đó nhóm nghiên cứu đã hướng đến giải pháp xây dựng các API cho phép kết nối các hệ thống giám sát thông minh về âm thanh đặt tại vị trí tổ ong (hoặc có thể thay thế bằng thiết bị thu âm từ xa) để thu thập dữ liệu âm thanh phát ra từ tổ ong và phân tích thành các thông tin về tình trạng đàn ong có bị mất chúa hay không sau đó chia sẻ các dữ liệu này trên đa nền tảng (thiết bị máy tính, thiết bị di động) giúp người nuôi ong nhận được các cảnh báo, thông tin kịp thời. Theo như tìm hiểu của nhóm nghiên cứu những ứng dụng này chưa được quan tâm phát triển ở nước ta vì vậy đây sẽ là việc làm cấp thiết giúp ngành nuôi ong của nước ta phát triển mạnh hơn, đẩy mạnh sản lượng và chất lượng mật ong xuất khẩu, góp phần phát triển kinh tế của đất nước.

  1. Khảo sát dữ liệu đầu vào

          Trong quá trình tìm hiểu và quan sát các đặc tính trên của đàn ong mật, nhóm nghiên cứu nhận thấy, khi tổ ong bị mất chúa, âm thanh phát ra từ tổ ong sẽ khác so với bình thường do trong những giờ đầu tiên bây ong thợi bay sục sạo khắp nơi xung quanh tổ để tìm kiếm ong chúa, tạo ra âm thanh ồn ào (có tần số lớn hơn khá nhiều so với trang thái bình thường).

 

Hình 1. Giải tần số khác nhau của âm thanh tổ ong ở trạng thái bình thường (trên) và trạng thái bị mất chúa (dưới)

Vì vậy, nhóm nghiên cứu đã phối hợp với Trung tâm Nghiên cứu ong và nuôi ong nhiệt đới tại Học viện Nông nghiệp Việt Nam để tiến hành thu thập dữ liệu về âm thanh của bầy ong. Đầu tiên chúng tôi đặt các máy ghi âm trong các tổ ong ở các khoảng thời gian nhất định trong nhiều ngày nhằm thu thập được dữ liệu là âm thanh của bầy ong ở trạng thái bình thường. Tiếp theo, cũng tại các khoảng thời gian đó chúng tôi tiến hành bắt ong chúa của các tổ ong và tách riêng khỏi đàn, sau đó đặt các máy ghi âm vào các tổ ong này để thu thập được dữ liệu âm thanh bầy ong trong tình trạng bị mất chúa. Việc làm này chúng tôi cũng tiến hành trong nhiều ngày. Các dữ liệu này chúng tôi tiến hành cắt thành từng khoảng 60 giây.

          Kết quả nhóm đã thu thập được bộ dữ liệu và gán 02 nhãn là bình thường và mất chúa.

  1. Các công nghệ sử dụng

Tổng quan về API

API được viết tắt là Application Programming Interface (giao diện lập trình cho ứng dụng), đây là một giao tiếp phần mềm dùng các ứng dụng khác nhau. API giúp cung cấp và truy xuất những hàm thường dùng để trao đổi dữ liệu các ứng dụng một cách đơn giản. Chính vì vậy việc dùng API sẽ giúp cho hiệu suất công việc cũng được nâng cao.

API là khớp nối giữa các thành phần của phần mềm. Trong một trường hợp có tính năng cần thiết phải cung cấp module cho phần mềm khác thì lúc đó ta có thể mở một API để người sở hữu của module có thể dễ dàng truy cập vào.

Hình 2: mô hình đa nền tảng của API

Flask Python

Flask là một microframework viết dựa trên ngôn ngữ lập trình Python hỗ trợ các lập trình viên dựng các ứng dụng web một cách nhanh chóng (Miguel Grinberg, 2014) (Tutorials Point, 2015). Flask được gọi là microframework bởi vì Flask được thiết kế với 2 tiêu chí là đơn giản và có thể mở rộng.

Flask Python cung cấp khả năng tùy biến linh hoạt trong lập trình, phát triển ứng dụng, lập trình viên có thể sử dụng thư viện, công cụ hoặc các cơ chế trong các dự án. Ngoài ra, framework này còn hỗ trợ lập trình viên trong sử dụng tiện ích mở rộng nhằm tích hợp thêm tính năng cho ứng dụng.

Vì là framework Python nên Flask cho phép chúng ta sử dụng thư viện khổng lồ về lĩnh vực học máy và trí tuệ nhân tạo, đây là một ưu điểm rất lớn của Flask. Ngoài ra Flask Python được cài đặt một cách dễ dàng và các thao tác của nó cũng rất đơn giản

  1. Kết quả

Ngoài việc nghiên cứu công nghệ xây dựng các API, nhóm còn tiến hành tìm hiểu và cài đặt các giải thuật học máy có giám sát để thực hiện nhận dạng trường hợp ong chúa có trong đàn và trường hợp ong chúa không có trong đàn dựa trên bộ dữ liệu âm thanh đã được gán nhãn. Các giải thuật học máy gồm k-láng giềng nhất (KNN), máy học vec – tơ hỗ trợ (SVM) và giải thuật rừng ngẫu nhiên (RF). Sau thời gian tìm hiểu nhóm đã xây dựng được ba mô hình huấn luyện từ ba giải thuật nêu trên.

Như vậy Sau khi tìm hiểu các nền tảng xây dựng API, tìm hiểu các giải thuật học máy cơ bản và tiến hành thu thập dữ liệu âm thanh của bầy ong,  nhóm chúng tôi đã tiến hành xây dựng các API cho phép nhận các dữ liệu âm thanh tổ ong thu được từ thiết bị thu âm từ xa với mô hình bài toán như sau:

Hình 3. Mô hình bài toán phát hiện thiếu chúa ở đàn ong mật

Cấu trúc của mô hình trên bao gồm:

  • Đầu vào: dữ liệu âm thanh thu được từ bầy ong bao gồm âm thanh khi tổ ong có chúa (ở trạng thái bình thường) và khi bị thiếu chúa.
  • Xử lý: Xây dựng các API thực hiện việc nhận dữ liệu âm thanh (cho phép nhận đồng thời nhiều file dữ liệu âm thanh thu được từ nhiều tổ). Tiếp theo xử lý trích chọn đặc trưng trên dữ liệu nhận được. Cuối cùng thực hiện dự đoán dữ liệu âm thanh khi đã được trích chọn đặc trưng với các mô hình đã được huấn luyện từ trước (pre-trained models) như SVM, KNN, RF, …
  • Đầu ra: Đưa ra kết quả thông báo tình trạng của đàn ong (bình thường hay thiếu chúa), các thông báo này dưới dạng dữ liệu JSON cho phép các chương trình máy tính trên đa nền tảng có thể khai thác và sử dụng được

Từ mô hình bài toán trên nhóm chúng tôi đã xây dựng thành công các API cho phép các ứng dụng khác có thể gọi tới để xây dựng được các chức năng sau.

Chức năng cho phép người dùng kiểm tra một tệp dữ liệu âm thanh ong thu được là tổ ong đang ở tình trạng bị thiếu chúa hay trạng thái bình thường.

 Hình 4: Chức năng dự đoán tình trạng tổ ong từ một file âm thanh gửi tới từ người dùng

Ở chức năng này, chúng tôi xây dựng API nhận yêu cầu gồm mô hình dự đoán và tệp âm thanh cần kiểm tra, sau đó thực hiện trích chọn đặc trưng và chạy mô hình dự đoán đã được huấn luyện để trả lại kết quả về tình trạng tổ ong là bình thường hay bị thiếu chúa dưới dạng dữ liệu JSON. Các ứng dụng sẽ nhận dữ liệu dạng này và hiện thông báo cho người dùng.

Dữ liệu có dạng: {“sound”:”Bị thiếu chúa”}

Với “sound” chỉ ra loại âm thanh đó là gì, âm thanh của tổ ong có tình trạng thiếu chúa (“sound”:”Bị thiếu chúa”) hay ở trạng thái bình thường (“sound”:”Bình thường”). Sau đó các ứng dụng sẽ nhận dữ liệu này và hiển thị thông báo cho người dùng.

Hình 5: Giao diện minh họa chức năng kết quả dự đoán tình trạng tổ ong (bình thường hay thiếu chúa)

Chúng tôi cũng xây dựng API cho phép nhận dữ liệu âm thanh mới nhất thu được từ nhiều tổ ong, những dữ liệu này được thu theo từng tổ và lưu theo từng thư mục tương ứng trên server (ví dụ chúng tôi có thể thiết lập thời gian 15 phút/ lần cho thiết bị thu dữ liệu âm thanh từ tổ ong và gửi đến server). Mỗi khi nhận được dữ liệu âm thanh, API sẽ tiến hành trích chọn đặc trưng và thực hiện chạy mô hình dự đoán mà chúng tôi đã huấn luyện trước đó để trả ra thông tin về tình trạng thiếu chúa hay ở trạng thái bình thường của từng tổ ong.

Dữ liệu này có dạng (ví dụ này lấy dữ liệu từ 3 tổ ong và đưa ra thông tin về tình trạng của 3 tổ ong này)

{“Name”:”To1″,”Sound”:”Bị thiếu chúa”}, {“Namer”:”To2″,“Sound”:”Bị thiếu chúa”}, {“Name “:”To3”,“Sound”:” Bình thường “}

Trong đó: với “Name” cho biết tên tổ ong, “Sound” cho biết thông tin tình trạng tổ ong là thiếu chúa hay ở trạng thái bình thường. Ứng dụng sẽ nhận kết quả trả về từ dữ liệu Json ở trên và hiển thị thông tin ra màn hình

Hình 6: Giao diện minh họa kết quả dự đoán tình trạng nhiều tổ ong (bình thường hay thiếu chúa)

Như vậy chúng tôi đã xây dựng được các API cho phép nhận các dữ liệu âm thanh ong thu được từ các thiết bị từ xa và xử lý đưa ra dữ liệu là thông tin tình trạng tổ ong bình thường hay bị thiếu chúa. Các dữ liệu này có dạng JSON có cấu trúc ngắn gọn, truyền tải ngắn gọn, rất dễ dàng truy cập và khai thác. Các API này là giải pháp hiệu quả, có thể được gọi từ bất cứ nền tảng nào, từ đó cho phép triển khai các ứng dụng trên đa nền tảng (thiết bị máy tính, thiết bị di động)…để gửi cảnh báo tình trạng bất thường của tổ ong đến người nuôi ong một cách kịp thời, phù hợp với nhu cầu sử dụng của nhiều người dùng khác nhau.

ThS. Đỗ Thị Nhâm – Khoa Công nghệ thông tin