Hướng dẫn human detection python - con trăn phát hiện con người
Object DetectionMột trong những lĩnh vực quan trọng và có xu hướng phát triển mạnh mẽ của Trí tuệ nhân tạo (Artificial Intelligence) là thị giác máy (Computer Vision). Computer Vision là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy. Object Detection có lẽ là khía cạnh sâu sắc nhất của thị giác máy do số lần sử dụng trong thực tế. Object Detection đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng. Object Detection đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái. Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành. Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của Object Detection sẽ đến từ các lập trình viên và các nhà phát triển phần mềm. Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này.Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong OpenCV, thư viện computer vision phổ biến. Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để làm việc trong các điều kiện khác nhau. Việc áp dụng đột phát và nhanh cóng của deep learning vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng hiện đại và chính xác cao như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và nhanh hơn nhưng rất chính xác như SSD và YOLO. Sử dụng các phương pháp và thuật toán này, dựa trên deep learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu. Có hàng triệu chuyên gia lập trình và các nhà phát triển phần mềm muốn tích hợp và tạo ra các sản phẩm mới sử dụng object detection. Nhưng công nghệ này xa tầm tay của họ và phức tạp để hiểu và sử dụng thực tế của nó. ImageAI, một thư viện python cho phép các lập trình viên và các nhà phát triển phần mềm dễ dàng tích hợp các công nghệ thị giác máy hiện đại vào các ứng dụng hiện có và mới của họ, và chỉ cần sử dụng một vài dòng mã. ImageAI hỗ trợ một danh sách các thuật toán học máy hiện đại nhất cho việc dự đoán hình ảnh, nhận diện vật thể, phát diện video,... ( Trích dẫn từ bài viết của tác giả Nguyễn Trung Hiếu ) Tuy nhiên về phía ImageAI, trong doc git của thư viện và trong các tutorial chỉ tập trung vào cho chạy nhận diện các object với nguồn vào là video hoặc là ảnh, thật khó để tìm thấy một bài hướng dẫn (theo hiểu biết của mình )nào sử dụng ImageAI chạy real-time. Vậy nên hôm nay mình sẽ hướng dẫn các bạn làm một project real-time object detection chỉ vọn vẹn trong 29 dòng lệnh ( Mọi giải thích cụ thể từng phần, mời bạn đọc bài của anh Nguyễn Trung Hiếu ) )nào sử dụng ImageAI chạy real-time. Vậy nên hôm nay mình sẽ hướng dẫn các bạn làm một project real-time object detection chỉ vọn vẹn trong 29 dòng lệnh ( Mọi giải thích cụ thể từng phần, mời bạn đọc bài của anh Nguyễn Trung Hiếu )Cài đặtĐể thực hiện nhận diện đối tượng bằng ImageAI, tất cả những gì bạn cần làm là:
Bây giờ, hãy bắt đầu:
Mọi thứ đã sẵn sàng, bây giờ hãy tạo một tệp tin python là .py . Sao chép file mô hình yolo.h5 và hình ảnh mà bạn muốn phát hiện vào thư mục chứa file bạn đã tạo.Nhập vào file đã tạo dòng mã sau:
Ý tưởngÝ tưởng của đoạn code này nằm ở chỗ sử dụng việc nhận diện từng tấm ảnh của ImageAI nhưng được kết hợp với opencv liên tục chụp lấy các khung ảnh và lưu vào một file, file này sau đó được truyền vào trong hàm |