Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thêm thông tin
Cài đặt Cookie
Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thêm thông tin
Học cách đào tạo YOLO các mô hình để detect độ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 dựa trên hình ảnh chưa được 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 chót vót, 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, săn bắ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à thực hiện 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ủ hiệu quả các khu vực rộng lớn và quần thể lớn.
Để 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ụ hiệu quả trong công tác 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 thể hiện, đượ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, những 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 ta sẽ tìm hiểu về quá trình đào tạo YOLO11 ĐẾN detect động vật. Hãy bắt đầu thôi!
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 YOLO các 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.
Dưới đâ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 ) : The CLI , còn được gọi là thiết bị đầu cuối, là một công cụ dạng văn bản cho phép bạn tương tác với máy tí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: Các notebook này cho phép bạn viết và chạy mã trong các đoạn nhỏ gọi là ô. Nó có tính tương tác, có nghĩa là bạn có thể thấy đầu ra của mã ngay lập tức, giúp bạn dễ dàng kiểm tra và gỡ lỗi hơn.
Google Colab : Google Colab là một nền tảng đám mây hoạt động tương tự như Jupyter Notebooks nhưng cung cấp quyền truy cập miễn phí vào các GPU mạnh mẽ. Nền tảng này rất 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 yêu cầu rất ít 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 trên tất cả các môi trường này.
Tìm 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 ĐẾN detect Cụ thể, đối với động vật hoang dã, 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 thể hiện rõ vị trí và loại động vật, để 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 ta sẽ sử dụng Bộ dữ liệu Động vật hoang dã Châu Phi . Bộ dữ liệu này được hỗ trợ bởi Ultralytics Python Gói này được thiết kế đặc biệt để phát hiện các loài động vật thường gặp trong hệ sinh thái châu Phi. Gói này 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. Cái nhìn thoáng qua về Bộ dữ liệu Động vật hoang dã Châu Phi.
Dưới đâ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:
Quy mô: Tập dữ liệu bao gồm 1504 hình ảnh được chia thành ba tập hợp con: 1052 cho huấn luyện, 225 cho xác thực và 227 cho thử nghiệm. Sự phân chia này đảm bảo rằng mô hình học hỏi 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 các 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 để detect động vật trong hình ảnh. Quá trình này bao gồm việc 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 theo 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 đố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 hóa 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 này đã được đào tạo trước cho 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 detect nhiều đồ vật khác nhau.
Sau đó, chúng tôi chỉ định tập dữ liệu bằng cách sử dụ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 nó nê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.
Sau khi tập dữ liệu đã sẵn sàng, mô hình bắt đầu huấn luyện. Mô hình sẽ trải qua tập dữ liệu nhiều lần, một quy trình được gọi là huấn luyện qua nhiều epochs, để 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 một 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 batch. Điều này giúp mô hình học hiệu quả hơn.
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 để detect động vật dựa trên Bộ 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 bắt đầu huấn luyện dựa trên các cài đặt mà chúng ta đã cung cấp. Chúng ta đã yêu cầu mô hình thông qua mã để xem qua các hình ảnh huấn luyện 30 lần. Vì vậy, điều đó có nghĩa là mô hình sẽ xem 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 đi luyện tập lại, 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 epoch 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 ra động vật mỗi lần.
Nếu mã huấn luyện đang chạy thành công, bạn sẽ thấy đầu ra sau khi quá trình huấn luyện tiến triển:
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ượng lớp và tham số, cho biết kích thước của mô hình.
Bộ tối ưu hóa và tốc độ học tập : Nó đề cập đến bộ tối ưu hóa (ví dụ, AdamW ) và tốc độ học tập, 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 để huấn luyện. Nó xác nhận rằng không có vấn đề gì với tập dữ liệu.
Tiến trình huấn luyện: Đầu ra được cập nhật sau mỗi epoch (chu kỳ huấn luyện), hiển thị tiến trình huấn luyện cùng với các giá trị loss chính (box_loss, cls_loss, dfl_loss), cho biết mức độ học tập của mô hình.
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, khả năng thu hồi và mAP (độ chính xác trung bình). Các giá trị này cho thấy độ 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ớ track sử dụng phần cứng.
Hình 2. Kết quả bạn sẽ thấy khi mô hình đang huấn luyện.
Bước 4: Đánh giá hiệu suất của mô hình đã được huấn luyện 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 cá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 " detect " và cuối cùng là thư mục "train", nơi bạn sẽ tìm thấy các bản ghi hiển thị các chỉ số hiệu suất chính.
Đối với người dùng trong một Python Trong môi trường này, kết quả huấn luyện đượ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 huấn luyện 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 kết quả đầu ra khác liên quan đến quá trình huấn luyện.
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 các đường dẫn và 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 nhật ký, bạn cũng sẽ tìm thấy một số biểu đồ mà bạn có thể xem để biết quá trình huấn luyện 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 huấn luyện hoàn tất, cho biết liệu mô hình có được cải thiện theo thời gian hay không bằng cách mắc ít lỗi hơn và trở nên chính xác hơn.
Họ track Tiến trình của mô hình, cho thấy mức độ suy giảm (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 ra sao trong quá trình huấn luyện. Đ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 ra sao vào cuối quá trình huấn luyện.
Hình 3. Một ví dụ về các đồ thị bạn có thể phân tích để đánh giá mô hình của mình.
Các chỉ số đánh giá hiệu suất chính
Ngoài ra, đây là cái nhìn cận cảnh hơn về một số chỉ số 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 trên tất cả các 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: Điều này thể hiện tỷ lệ phần trăm các phát hiện là chính xác, được tính bằng cách chia số lượng phát hiện dương tính thực tế cho tổng số phát hiện được thực hiện.
Recall (Độ phủ): Nó chỉ ra tỷ lệ phần trăm số độ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 liên quan.
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 nó 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 ta đã đà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 ta 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 một 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 để object detection, kết quả được tạo và đầu ra (chẳng hạn như các đối tượng hoặc chú thích được phát hiện) đượ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 "dự đoán" nằm trong thư mục runs/ detect thư mục. Đố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ừ các nguồn khác nhau, bạn có thể sử dụng mã bên dưới. Chúng tôi đã sử dụng một 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 liên quan nào khác.
Hình ảnh đầu ra hiển thị bên dưới sẽ được lưu trong 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 chưa thấy.
AI cho bảo tồn động vật hoang dã: Ứng dụng thực tế
Các mô hình như YOLO11 có thể tự động detect Và track động vật, cho phép triển khai nhiều ứng dụng thực tế. Dưới đây là 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 các loài, đếm quần thể và track chuyển động của chúng theo thời gian.
Cảnh báo camera thông minh: Ở những vùng xa xôi, tầm nhìn máy tính có thể được sử dụng để liên tục classify động vật và gửi cảnh báo theo thời gian thực, cho phé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 sự di cư, thói quen ăn uống và tương tác xã hội, các hệ thống vision AI có thể cung cấp những hiểu biết toàn diện về động lực học giữa các loài.
Phòng chống săn trộm: Trí tuệ nhân tạo có thể được sử dụng để detect sự hiện diện trái phép của con người và 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 rủi ro .
Những điều cần 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 thực hiện đánh giá động vật hoang dã chính xác.
Ultralytics YOLO11 Đặc biệt, AI là một lựa chọn tuyệt vời cho việc phát hiện vật thể theo thời gian thực, hoàn toàn phù hợp 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 AI 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ã đang bị đe dọa.