Học cách đào tạo YOLO mô hình phát hiện động vật hoang dã bằng cách sử dụng Bộ dữ liệu động vật hoang dã châu Phi và sử dụng mô hình để suy luận trên hình ảnh chưa nhìn thấy.
Động vật hoang dã trên hành tinh của chúng ta vô cùng đa dạng, từ những chú ong vo ve đến những chú voi cao lớn, và việc bảo tồn sự đa dạng sinh học này là chìa khóa để duy trì một hệ sinh thái cân bằng. Tuy nhiên, các nỗ lực bảo tồn đang trở nên khó khăn hơn do mất môi trường sống, nạn săn trộm và biến đổi khí hậu. Tất cả những yếu tố này đều ảnh hưởng tiêu cực đến quần thể động vật hoang dã.
Các phương pháp giám sát động vật truyền thống, như phân tích thủ công hình ảnh bẫy camera và tiến hành khảo sát thực địa, có thể chậm và đòi hỏi nhiều nguồn lực. Những nỗ lực này thường không bao phủ được các khu vực rộng lớn và quần thể lớn một cách hiệu quả.
Để khắc phục những hạn chế này, trí tuệ nhân tạo (AI) có thể được sử dụng như một công cụ có tác động trong bảo tồn động vật hoang dã. Cụ thể, các mô hình thị giác máy tính như Ultralytics YOLO11 có thể phân tích dữ liệu trực quan như hình ảnh và video để tự động hóa việc nhận dạng và theo dõi động vật theo thời gian thực.
Các tác vụ thị giác máy tính như phát hiện đối tượng và phân đoạn trường hợp, được hỗ trợ bởi YOLO11 , rất hữu ích ở đây. Bằng cách phân tích dữ liệu trực quan, các nhiệm vụ này giúp chúng ta thu thập dữ liệu quan trọng, xác định các mô hình sinh thái và ứng phó hiệu quả hơn với các mối đe dọa môi trường.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn quy trình đào tạo YOLO11 để phát hiện động vật. Chúng ta hãy bắt đầu nhé!
Trước khi đi sâu vào hướng dẫn, chúng ta hãy xem qua các tùy chọn thiết lập và công cụ khác nhau mà bạn sẽ cần để đào tạo và sử dụng YOLO11 .
Công cụ chính bạn cần là gói Python Ultralytics , giúp bạn dễ dàng làm việc với nó YOLO mô hình cho các nhiệm vụ như đào tạo, phát hiện đối tượng và chạy suy luận. Để sử dụng Ultralytics gói, bạn sẽ cần thiết lập một môi trường để chạy mã của mình và có nhiều tùy chọn khác nhau mà bạn có thể lựa chọn.
Sau đây là một số tùy chọn phổ biến nhất để thiết lập môi trường phát triển của bạn:
Mặc dù có những tùy chọn khác để thiết lập môi trường mà bạn có thể khám phá trong tài liệu chính thức Ultralytics , nhưng ba tùy chọn được đề cập ở trên hầu như không cần thiết lập và dễ sử dụng, khiến chúng trở nên lý tưởng để bắt đầu nhanh chóng.
Trong hướng dẫn này, chúng tôi sẽ giới thiệu cách thiết lập và đào tạo YOLO11 sử dụng Google Colab, Jupyter Notebooks hoặc một Python tệp, vì các bước rất giống nhau trong tất cả các môi trường này.
Sau khi chọn môi trường phát triển, để đào tạo YOLO11 để phát hiện động vật hoang dã cụ thể, chúng ta cần một tập dữ liệu hình ảnh được gắn nhãn chất lượng cao. Mỗi hình ảnh phải hiển thị rõ ràng vị trí của động vật và loại của chúng, để mô hình có thể học cách nhận dạng chúng thông qua học có giám sát.
Trong hướng dẫn này, chúng tôi sẽ sử dụng Bộ dữ liệu Động vật hoang dã Châu Phi . Nó được hỗ trợ bởi Ultralytics Python gói và được thiết kế đặc biệt để phát hiện các loài động vật thường thấy trong hệ sinh thái Châu Phi. Nó chứa hình ảnh có chú thích của bốn loài chính: trâu, voi, tê giác và ngựa vằn.
Sau đây là một số tính năng chính của Bộ dữ liệu động vật hoang dã châu Phi:
Bây giờ chúng ta đã khám phá Bộ dữ liệu động vật hoang dã châu Phi, chúng ta có thể bắt đầu đào tạo một YOLO11 mô hình để phát hiện động vật trong hình ảnh. Quá trình này bao gồm thiết lập môi trường phát triển, đào tạo YOLO11 mô hình và đánh giá hiệu suất của mô hình.
Để bắt đầu, chúng ta sẽ chuẩn bị một môi trường để đào tạo và thử nghiệm mô hình. Google Colab, Jupyter Notebooks hoặc một Python có thể sử dụng tệp, tùy thuộc vào sở thích của bạn. Tạo tệp mới Google Sổ tay Colab, Sổ tay Jupyter hoặc Python nộp hồ sơ theo quy định.
Nếu bạn đang sử dụng Google Colab , môi trường theo mặc định sẽ chạy trên CPU (Bộ xử lý trung tâm), có thể làm chậm quá trình đào tạo. Để tăng tốc quá trình, đặc biệt là đối với các mô hình lớn hơn, bạn có thể chuyển đổi thời gian chạy để sử dụng GPU . TRONG Google Colab, bạn có thể điều hướng đến tab "Thời gian chạy" trong menu, chọn "Thay đổi loại thời gian chạy" và đặt bộ tăng tốc phần cứng thành GPU (tốt nhất là T4 GPU ). Điều này rất quan trọng để giảm thời gian đào tạo.
Tiếp theo, bất kể bạn đang sử dụng môi trường nào, bạn cần phải cài đặt Ultralytics Python gói. Nếu bạn đang sử dụng môi trường dựa trên máy tính xách tay ( Google Colab hoặc Jupyter), hãy chạy lệnh sau với dấu chấm than (!) ở đầu
pip install ultralytics
Một khi Ultralytics gói được cài đặt, bước tiếp theo là tải YOLO11 mô hình và chuẩn bị tập dữ liệu để đào tạo. Đầu tiên, chúng tôi tải YOLO11 mô hình, đã được đào tạo trước về các nhiệm vụ phát hiện đối tượng chung. Mô hình được đào tạo trước này cung cấp cho chúng ta một điểm khởi đầu tốt, vì nó đã học được cách phát hiện nhiều đối tượng khác nhau.
Sau đó, chúng tôi chỉ định tập dữ liệu bằng tệp YAML, chứa thông tin về hình ảnh và nhãn. Tệp này cho mô hình biết nơi tìm tập dữ liệu và những đối tượng nào cần học để nhận dạng.
Bộ dữ liệu Động vật hoang dã Châu Phi được hỗ trợ bởi Ultralytics gói, do đó nó sẽ tự động tải xuống khi bạn bắt đầu đào tạo, giúp bạn tiết kiệm công sức thiết lập thủ công.
Khi tập dữ liệu đã sẵn sàng, mô hình sẽ bắt đầu đào tạo . Mô hình sẽ trải qua tập dữ liệu nhiều lần, một quá trình được gọi là đào tạo qua nhiều kỷ nguyên, để cải thiện khả năng nhận dạng động vật trong hình ảnh. Trong quá trình này, hình ảnh sẽ được thay đổi kích thước thành kích thước nhất quán để xử lý và mô hình sẽ làm việc với một số lượng hình ảnh nhất định tại một thời điểm, được gọi là một đợt. Điều này giúp mô hình học hiệu quả hơn.
Nói tóm lại, mô hình được tải, tập dữ liệu được tự động tải xuống và quá trình đào tạo bắt đầu chạy để phát hiện động vật dựa trên Tập dữ liệu động vật hoang dã châu Phi khi đoạn mã bên dưới được chạy.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)
Sau khi đoạn mã trên được chạy, mô hình sẽ bắt đầu đào tạo dựa trên các thiết lập mà chúng tôi đã cung cấp. Chúng tôi đã yêu cầu mô hình thông qua mã để xem qua các hình ảnh đào tạo 30 lần. Vì vậy, điều đó có nghĩa là mô hình sẽ xem xét tất cả các hình ảnh trong tập dữ liệu 30 lần, mỗi lần học thêm một chút.
Hãy tưởng tượng bạn đang cố gắng học cách vẽ một con vật. Lần đầu tiên bạn vẽ, nó có thể không đẹp, nhưng sau khi luyện tập nhiều lần, bạn bắt đầu vẽ tốt hơn. Mỗi lần bạn thử lại, bạn học được từ những gì đã sai và sửa nó. Đó là những gì mỗi kỷ nguyên làm cho mô hình - nó nhìn vào hình ảnh, mắc lỗi, học hỏi từ chúng và ngày càng giỏi hơn trong việc nhận dạng động vật mỗi lần.
Nếu mã đào tạo chạy thành công, bạn sẽ thấy kết quả sau khi quá trình đào tạo diễn ra:
Sau khi quá trình đào tạo hoàn tất, bạn có thể xem xét và xác thực số liệu hiệu suất của mô hình. Trong Google Colab, bạn có thể điều hướng đến thư mục "chạy", sau đó đến thư mục "phát hiện" và cuối cùng đến thư mục "đào tạo", nơi bạn sẽ tìm thấy các nhật ký hiển thị các chỉ số hiệu suất chính.
Đối với người dùng trong một Python môi trường, kết quả đào tạo được lưu theo mặc định trong thư mục “runs/train/” trong thư mục làm việc hiện tại của bạn. Mỗi lần chạy đào tạo sẽ tạo một thư mục con mới (ví dụ: runs/train/exp, runs/train/exp2, v.v.), nơi bạn có thể tìm thấy nhật ký và các đầu ra khác liên quan đến đào tạo.
Nếu bạn đang sử dụng CLI , bạn có thể dễ dàng truy cập các kết quả và cài đặt này bằng cách sử dụng lệnh “ yolo settings ”, cho phép bạn xem hoặc sửa đổi đường dẫn và các cấu hình khác liên quan đến nhật ký đào tạo và chi tiết thử nghiệm.
Trong số các bản ghi, bạn cũng sẽ tìm thấy một số biểu đồ mà bạn có thể xem để xem quá trình đào tạo mô hình diễn ra tốt như thế nào. Các biểu đồ này, được tạo sau khi quá trình đào tạo hoàn tất, cho thấy liệu mô hình có cải thiện theo thời gian bằng cách mắc ít lỗi hơn và trở nên chính xác hơn hay không.
Họ theo dõi tiến trình của mô hình, cho thấy mức độ mất mát (sự khác biệt giữa dự đoán của mô hình và giá trị thực tế) giảm như thế nào và độ chính xác tăng lên như thế nào trong quá trình đào tạo. Điều này giúp bạn hiểu được mô hình học cách nhận dạng động vật tốt như thế nào và cải thiện được bao nhiêu vào cuối quá trình đào tạo.
Ngoài ra, sau đây là cái nhìn sâu hơn về một số số liệu mà bạn có thể sử dụng để đánh giá hiệu suất của mô hình :
Các số liệu đánh giá này có thể giúp tinh chỉnh mô hình để cải thiện độ chính xác trước khi sử dụng trong các ứng dụng thực tế.
Bây giờ chúng tôi đã đào tạo và đánh giá YOLO11 , đã đến lúc sử dụng nó để phân tích hình ảnh và chạy suy luận . Bạn có thể sử dụng hình ảnh thử nghiệm từ tập dữ liệu hoặc hình ảnh mới từ các nguồn khác nhau.
Chúng tôi sẽ sử dụng đoạn mã sau để chạy mô hình trên một hình ảnh trong tập dữ liệu thử nghiệm. Nó nhập các mô-đun cần thiết từ Ultralytics thư viện. Sau đó, nó xác định đường dẫn đến tệp trọng số mô hình tốt nhất ("best.pt") được lưu trữ trong thư mục kết quả. Được đào tạo tùy chỉnh YOLO11 mô hình được tải bằng cách sử dụng các trọng số này.
Sau đó, đường dẫn đến hình ảnh từ tập dữ liệu thử nghiệm Động vật hoang dã Châu Phi được thiết lập. Mô hình được áp dụng cho hình ảnh này để phát hiện đối tượng, kết quả được tạo ra và đầu ra (chẳng hạn như đối tượng được phát hiện hoặc chú thích) được lưu.
from ultralytics import settings
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_path)
image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"
img_results = model(image_path, save=True)
Hình ảnh đầu ra hiển thị bên dưới sẽ được lưu trong thư mục "predict" nằm trong thư mục chạy/phát hiện. Đối với các thử nghiệm tiếp theo, các thư mục mới như "predict2", "predict3", v.v. sẽ được tạo để lưu trữ hình ảnh.
Để kiểm tra hình ảnh từ nhiều nguồn khác nhau, bạn có thể sử dụng mã bên dưới. Chúng tôi đã sử dụng hình ảnh từ Pexels . Bạn có thể sử dụng cùng một hình ảnh hoặc bất kỳ hình ảnh có liên quan nào khác.
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_path)
img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)
Hình ảnh đầu ra hiển thị bên dưới sẽ được lưu vào thư mục thích hợp.
Các mô hình như YOLO11 có thể tự động phát hiện và theo dõi động vật, cho phép nhiều ứng dụng thực tế. Sau đây là cái nhìn thoáng qua về một số lĩnh vực chính mà Vision AI có thể được sử dụng để hỗ trợ các nỗ lực bảo tồn động vật hoang dã :
Các mô hình thị giác máy tính như YOLO11 có thể đóng vai trò quan trọng trong việc bảo tồn động vật hoang dã bằng cách tự động phát hiện và theo dõi động vật. Với Vision AI, chúng tôi có thể xử lý khối lượng lớn hình ảnh và video từ nhiều nguồn khác nhau, giúp có thể thực hiện đánh giá động vật hoang dã chính xác.
Ultralytics YOLO11 , nói riêng, là một lựa chọn tuyệt vời để phát hiện đối tượng theo thời gian thực, khiến nó trở nên hoàn hảo cho các nhiệm vụ như giám sát chống săn trộm, phân tích hành vi và giám sát hệ sinh thái. Bằng cách kết hợp các mô hình do AI điều khiển vào các nỗ lực bảo tồn, chúng ta có thể bảo vệ các loài tốt hơn, cải thiện việc theo dõi đa dạng sinh học và đưa ra quyết định sáng suốt hơn để bảo vệ động vật hoang dã có nguy cơ tuyệt chủng.
Tham gia cộng đồng của chúng tôi và khám phá kho lưu trữ GitHub để tìm hiểu thêm về thị giác máy tính. Khám phá thêm các ứng dụng liên quan đến AI trong chăm sóc sức khỏe và thị giác máy tính trong sản xuất trên các trang giải pháp của chúng tôi. Kiểm tra các tùy chọn cấp phép Ultralytics để bắt đầu với Vision AI.
Bắt đầu hành trình của bạn với tương lai của machine learning