Kiểm tra màu xanh lá cây
Liên kết được sao chép vào khay nhớ tạm

Cách luyện tập Ultralytics YOLO mô hình phát hiện động vật trong tự nhiên

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é!

Bắt đầu với Ultralytics YOLO11

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:

  • Giao diện dòng lệnh ( CLI ) : CLI , còn được gọi là terminal, là một công cụ dựa trên văn bản cho phép bạn tương tác với máy tính của mình bằng cách nhập lệnh. Không giống như giao diện đồ họa (GUI), nơi bạn nhấp vào các nút và sử dụng chuột, CLI yêu cầu bạn phải nhập lệnh văn bản để chạy chương trình hoặc thực hiện tác vụ.
  • Jupyter Notebooks : Những notebook này cho phép bạn viết và chạy code trong các phần nhỏ gọi là cell. Nó tương tác, nghĩa là bạn có thể thấy đầu ra của code ngay lập tức, giúp việc kiểm tra và gỡ lỗi dễ dàng hơn.
  • Google Colab : Google Colab là một nền tảng đám mây hoạt động giống như Jupyter Notebooks nhưng cung cấp quyền truy cập miễn phí vào GPU mạnh mẽ. Dễ thiết lập và bạn không cần cài đặt bất kỳ thứ gì trên máy tính.

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.

Hiểu về Bộ dữ liệu Động vật hoang dã Châu Phi

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.

Hình 1. Một cái nhìn thoáng qua về Bộ dữ liệu Động vật hoang dã Châu Phi.

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:

  • Scale: Bộ dữ liệu bao gồm 1504 hình ảnh được chia thành ba tập con: 1052 để đào tạo, 225 để xác thực và 227 để thử nghiệm. Sự phân chia này đảm bảo rằng mô hình học hiệu quả và được đánh giá kỹ lưỡng.

  • Tích hợp liền mạch: Ultralytics cung cấp tệp cấu hình YAML xác định đường dẫn tập dữ liệu, lớp và các chi tiết khác, giúp dễ sử dụng khi đào tạo YOLO mô hình.

  • Giấy phép mở: Bộ dữ liệu này được phân phối theo AGPL-3.0 giấy phép, khuyến khích sự minh bạch và hợp tác.

Đào tạo Ultralytics YOLO11 để phát hiện động vật

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ước 1: Thiết lập môi trường

Để 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

Bước 2: Đang tải YOLO11 và chuẩn bị tập dữ liệu

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)

Bước 3: YOLO11 hướng dẫn đào tạo

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:

  • Thiết lập đào tạo : Phần đầu tiên hiển thị phiên bản của Ultralytics , PyTorch và phần cứng đang được sử dụng ( CPU trong trường hợp này), cùng với cấu hình đào tạo, bao gồm mô hình (yolo11n.pt), kích thước lô, kỷ nguyên và kích thước hình ảnh.
  • Tóm tắt mô hình : Cung cấp thông tin về độ phức tạp của mô hình, chẳng hạn như số lớp và tham số, cho biết mô hình lớn đến mức nào.
  • Bộ tối ưu hóa và tốc độ học : Đề cập đến bộ tối ưu hóa (ví dụ: AdamW) và tốc độ học, kiểm soát cách mô hình điều chỉnh các tham số của nó trong quá trình đào tạo.
  • Quét tập dữ liệu : Mô hình quét tập dữ liệu, hiển thị số lượng hình ảnh hợp lệ và sẵn sàng để đào tạo. Nó xác nhận không có vấn đề gì với tập dữ liệu.
  • Tiến trình đào tạo : Đầu ra được cập nhật sau mỗi kỷ nguyên (chu kỳ đào tạo), hiển thị tiến trình đào tạo cùng với các giá trị mất mát chính (box_loss, cls_loss, dfl_loss), cho biết mô hình học tốt như thế nào.
  • Số liệu hiệu suất : Sau mỗi kỷ nguyên, bạn sẽ thấy các số liệu hiệu suất như độ chính xác, độ thu hồi và mAP (độ chính xác trung bình). Các giá trị này cho thấy mức độ chính xác của mô hình trong việc phát hiện và phân loại đối tượng.
  • Sử dụng bộ nhớ GPU : Nếu bạn đang sử dụng GPU , đầu ra hiển thị mức sử dụng bộ nhớ để theo dõi mức sử dụng phần cứng.
Hình 2. Đầu ra bạn sẽ thấy khi mô hình đang chạy.

Bước 4: Đánh giá hiệu suất của mô hình được đào tạo tùy chỉnh

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.

Hình 3. Một ví dụ về đồ thị bạn có thể phân tích để đánh giá mô hình của mình.

Các số liệu đánh giá hiệu suất chính

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 :

  • Độ chính xác trung bình (mAP): Chỉ số này đo độ chính xác tổng thể của mô hình trong việc phát hiện động vật ở mọi lớp bằng cách tính trung bình điểm độ chính xác ở các mức độ thu hồi khác nhau.
  • Độ chính xác: Thể hiện tỷ lệ phát hiện đúng, được tính bằng cách chia số phát hiện dương tính thực sự cho tổng số phát hiện được thực hiện.
  • Nhắc lại: Chỉ số này biểu thị tỷ lệ phần trăm động vật thực tế trong hình ảnh được mô hình xác định chính xác, phản ánh khả năng nắm bắt tất cả các trường hợp có liên quan 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ế.

Chạy suy luận bằng cách sử dụng đào tạo tùy chỉnh của bạn YOLO11 người mẫu

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.

Hình 4. Chạy suy luận bằng cách sử dụng tinh chỉnh YOLO11 mô hình trên hình ảnh thử nghiệm.

Để 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.

Hình 5. Phát hiện động vật hoang dã bằng cách sử dụng YOLO11 mô hình trên một hình ảnh vô hình.

AI bảo tồn động vật hoang dã: Ứng dụng trong thế giới thực

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ã :

  • Giám sát loài: Vision AI có thể được sử dụng để xử lý dữ liệu trực quan như hình ảnh và video để xác định chính xác loài, đếm quần thể và theo dõi chuyển động của chúng theo thời gian.
  • Cảnh báo từ camera thông minh: Ở những vùng xa xôi, công nghệ thị giác máy tính có thể được sử dụng để liên tục phân loại động vật và gửi cảnh báo theo thời gian thực, giúp các cơ quan quản lý động vật hoang dã phản ứng nhanh chóng với các mối đe dọa như hành vi bất thường của động vật hoặc xung đột giữa con người và động vật hoang dã.
  • Phân tích hành vi: Bằng cách theo dõi quá trình di cư, thói quen kiếm ăn và tương tác xã hội, hệ thống AI thị giác có thể cung cấp thông tin chi tiết toàn diện về động lực giữa các loài.
  • Phòng chống săn trộm: Vision AI có thể được sử dụng để phát hiện sự hiện diện của con người trái phép và các dấu hiệu săn trộm trong khi tận dụng máy học và dữ liệu lịch sử để xác định các điểm nóng có nguy cơ .

Những điểm chính

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ỏethị 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.

Biểu tượng LinkedInBiểu trưng TwitterLogo FacebookBiểu tượng sao chép liên kết

Đọc thêm trong danh mục này

Hãy xây dựng tương lai
của AI cùng nhau!

Bắt đầu hành trình của bạn với tương lai của machine learning