Mục lục:

Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước
Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước

Video: Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước

Video: Tạo bộ phân loại hình ảnh OpenCV bằng Python: 7 bước
Video: Bài 5. Phân loại ảnh với Pytorch (P1) | Trí Tuệ Nhân Tạo ▶ Deep Learning với Python 2024, Tháng bảy
Anonim
Tạo bộ phân loại hình ảnh OpenCV bằng Python
Tạo bộ phân loại hình ảnh OpenCV bằng Python

Bộ phân loại Haar trong python và opencv là nhiệm vụ khá phức tạp nhưng dễ dàng.

Chúng tôi thường phải đối mặt với các vấn đề trong phát hiện và phân loại hình ảnh. cách giải quyết tốt nhất là tạo bộ phân loại của riêng bạn. Ở đây chúng ta học cách tạo bộ phân loại hình ảnh của riêng mình bằng một vài lệnh và các chương trình python dài nhưng đơn giản

Việc phân loại yêu cầu một số lượng lớn các hình ảnh âm bản và dương bản.

Khoảng 2000 âm tính và dương tính được yêu cầu. Chương trình python chuyển đổi hình ảnh sang thang độ xám và kích thước phù hợp để bộ phân loại dành thời gian tối ưu để tạo.

Bước 1: Yêu cầu phần mềm

Bạn yêu cầu các phần mềm sau để tạo bộ phân loại của riêng bạn

1) OpenCV: phiên bản tôi đã sử dụng là 3.4.2. phiên bản có sẵn dễ dàng trên internet.

2) Python: Phiên bản được sử dụng là 3.6.2. Có thể tải xuống từ python.org

Hơn nữa, bạn yêu cầu một webcam (tất nhiên).

Bước 2: Tải xuống hình ảnh

Bước đầu tiên là chụp ảnh rõ ràng về đối tượng cần phân loại.

Kích thước không được quá lớn vì máy tính cần nhiều thời gian hơn để xử lý. Tôi đã lấy kích thước 50 x 50.

Tiếp theo, chúng tôi tải xuống các hình ảnh tiêu cực và tích cực. Bạn có thể tìm thấy chúng trực tuyến. Nhưng chúng tôi sử dụng mã python để tải xuống hình ảnh từ 'https://image-net.org'

Tiếp theo, chúng tôi chuyển đổi hình ảnh sang thang độ xám và kích thước bình thường. Đây là alo thực hiện trong mã. Mã cũng loại bỏ bất kỳ hình ảnh bị lỗi nào

Bây giờ thư mục của bạn nên chứa hình ảnh đối tượng, ví dụ: thư mục watch5050-j.webp

Nếu thư mục dữ liệu không được tạo, hãy làm điều đó theo cách thủ công

Mã python được cung cấp trong tệp.py

Bước 3: Tạo mẫu tích cực trong OpenCV

Tạo mẫu tích cực trong OpenCV
Tạo mẫu tích cực trong OpenCV
Tạo mẫu tích cực trong OpenCV
Tạo mẫu tích cực trong OpenCV

Bây giờ, hãy truy cập thư mục opencv_createsamples và thêm tất cả nội dung được đề cập ở trên

trong dấu nhắc dấu phẩy, hãy truy cập C: / opencv342 / build / x64 / vc14 / bin để tìm opencv_createsamples và opencv_traincascade ứng dụng

bây giờ thực hiện các lệnh sau

opencv_createsamples -img watch5050-j.webp

Lệnh này dùng để tạo chính xác các mẫu dương tính của đối tượng 1950 Và tệp mô tả info.lst của các ảnh dương bản mô tả phải như thế này 0001_0014_0045_0028_0028-j.webp

Bây giờ thư mục chứa

thông tin

thư mục hình ảnh phủ định

tệp bg.txt

thư mục dữ liệu trống

Bước 4: Tạo tệp vectơ dương

Tạo tệp vectơ dương
Tạo tệp vectơ dương

Bây giờ, hãy tạo tệp vectơ dương để cung cấp đường dẫn đến các hình ảnh dương trong tệp giải mã

Sử dụng lệnh sau

opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positive.vec

Bây giờ nội dung của thư mục phải như sau:

--neg

---- negimages.jpg

--opencv

--thông tin

--dữ liệu

--positive.vec

--bg.txt

--watch5050-j.webp

Bước 5: Đào tạo trình phân loại

Đào tạo trình phân loại
Đào tạo trình phân loại
Đào tạo trình phân loại
Đào tạo trình phân loại
Đào tạo trình phân loại
Đào tạo trình phân loại

Bây giờ, hãy đào tạo tầng haar và tạo tệp xml

Sử dụng lệnh sau

opencv_traincascade -data data -vec positive.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

các giai đoạn là 10 Việc tăng các giai đoạn cần nhiều xử lý hơn nhưng trình phân loại hoạt động hiệu quả hơn.

Bây giờ haarcascade được tạo Mất khoảng hai giờ để hoàn thành Mở thư mục dữ liệu ở đó, bạn sẽ tìm thấy cascade.xml Đây là trình phân loại đã được tạo

Bước 6: Kiểm tra Bộ phân loại

Thư mục dữ liệu chứa các tệp như trong hình trên.

Sau khi tạo trình phân loại, chúng ta xem trình phân loại có hoạt động hay không bằng cách chạy chương trình object_detect.py. Đừng quên đặt tệp classifier.xml trong thư mục python.

Bước 7: Cảm ơn đặc biệt

Tôi muốn cảm ơn Sentdex ở đây, người là một lập trình viên python tuyệt vời.

Anh ấy có tên youtube với cái tên đã nói ở trên và video đã giúp mình rất nhiều có link này

Hầu hết mã đã được sao chép từ sentdex. Mặc dù đã nhận được rất nhiều sự giúp đỡ từ sentdex, nhưng tôi vẫn phải đối mặt với rất nhiều vấn đề. Tôi chỉ muốn chia sẻ kinh nghiệm của tôi.

Tôi hy vọng intructable này đã giúp bạn !!! Chơ để biết thêm.

BR

Tahir Ul Haq

Đề xuất: