Hướng dẫn image preprocessing techniques python - kỹ thuật tiền xử lý hình ảnh python
Xử lý dữ liệu hình ảnh là một trong những vấn đề được khám phá nhiều nhất trong cộng đồng khoa học dữ liệu. Mỗi nhà phát triển có một cách độc đáo để làm điều đó. Một số công cụ và nền tảng được sử dụng trong tiền xử lý hình ảnh bao gồm Python, Pytorch, OpenCV, Keras, Tensorflow và Gối. Giới thiệuKhi xây dựng một dự án học máy/tầm nhìn máy tính, một điều chúng ta luôn cần là dữ liệu. Trong trường hợp này, dữ liệu hình ảnh. Thật không may, một vài vấn đề liên quan đến dữ liệu hình ảnh bao gồm độ phức tạp, không chính xác và không thỏa đáng. Đây là lý do tại sao trước khi xây dựng mô hình tầm nhìn máy tính, điều cần thiết là dữ liệu được xử lý trước (được làm sạch và xử lý theo định dạng mong muốn) để đạt được kết quả mong muốn. Trong hướng dẫn này, chúng tôi sẽ xem xét tiền xử lý dữ liệu hình ảnh, chuyển đổi dữ liệu hình ảnh thành một biểu mẫu cho phép các thuật toán học máy giải quyết nó.image data preprocessing, which converts image data into a form that allows machine learning algorithms to solve it. Nó thường được sử dụng để tăng độ chính xác của mô hình, cũng như giảm độ phức tạp của nó. Có một số kỹ thuật được sử dụng để xử lý dữ liệu hình ảnh. Những ví dụ bao gồm; Thay đổi kích thước hình ảnh, chuyển đổi hình ảnh thành thang độ xám và tăng cường hình ảnh. Điều kiện tiên quyếtĐể làm theo hướng dẫn, một nhu cầu:
Trong hướng dẫn này, chúng tôi sẽ sử dụng Google Colab. Vì vậy, sau khi tạo một sổ ghi chép mới, bước đầu tiên sẽ là tải dữ liệu vào môi trường colab của chúng tôi. Gắn Google Drive vào ColabTrước tiên chúng tôi sẽ tải xuống dữ liệu và sau đó tải nó lên Google Drive của chúng tôi. Sau đó, chúng tôi sẽ gắn ổ đĩa của chúng tôi đến Colab bằng mã bên dưới:
Chạy ô bằng cách nhấp vào Shift + Enter Keys và làm theo các hướng dẫn bên dưới:shift + enter keys and follow the instructions below:
Nhập bộ dữ liệuBước tiếp theo là tải bộ dữ liệu vào colab. Để nhập bộ dữ liệu, trước tiên chúng tôi cần nhập một số thư viện cần thiết.
Khi điều này được thực hiện, chúng tôi sẽ tiếp tục và nhập dữ liệu, hiện đang có trên Google Drive bằng cách sử dụng khối mã bên dưới:
Bây giờ chúng tôi đã tải bộ dữ liệu của chúng tôi vào không gian làm việc của mình, bước tiếp theo sẽ là trực quan hóa dữ liệu. Để xác minh xem dữ liệu của chúng tôi có được tải đúng không, chúng tôi sẽ thử truy cập tệp hình ảnh từ bộ dữ liệu:
Bằng cách thực thi khối mã trên, chúng ta sẽ in ngẫu nhiên một hình ảnh từ bộ dữ liệu. Tiền xử lý dữ liệuBây giờ chúng tôi đã thực hiện việc nhập thư viện và dữ liệu, hãy để tiến hành xử lý trước dữ liệu. Vì hình ảnh tồn tại ở các định dạng khác nhau, tức là, tự nhiên, giả, thang độ xám, v.v., chúng ta cần xem xét và chuẩn hóa chúng trước khi cho chúng vào mạng lưới thần kinh. Trong hướng dẫn này, chúng ta sẽ xem xét các kỹ thuật tiền xử lý hình ảnh sau:
Trước khi chúng tôi bắt đầu khám phá các kỹ thuật tiền xử lý, trước tiên hãy khám phá các kênh RGB của hình ảnh gốc của chúng tôi;
Đầu ra Chuyển đổi thang độ xámBình thường hóa Tăng cường dữ liệu Tiêu chuẩn hóa hình ảnh
Đầu ra
Vì hầu hết các hình ảnh don don cần màu sắc được nhận ra, nên việc sử dụng thang độ xám là khôn ngoan, điều này làm giảm số lượng pixel trong một hình ảnh, do đó, làm giảm các tính toán cần thiết.Thực hiện mã bên dưới để chuyển đổi hình ảnh gốc thành Grayscale: NB: Chuyển đổi hình ảnh thành thang độ xám có thể không phải lúc nào cũng thực tế trong việc giải quyết một số vấn đề. Một vài ví dụ sẽ không thực tế khi sử dụng thang độ xám bao gồm: đèn giao thông, chẩn đoán chăm sóc sức khỏe, phương tiện tự trị, nông nghiệp, v.v ... Cách tốt nhất để biết có nên sử dụng hay không phụ thuộc vào khả năng hình ảnh của con người để xác định một vật không màu. Bình thường hóa
Hãy để viết mã bên dưới để bình thường hóa dữ liệu của chúng tôi.
Đầu ra Tăng cường dữ liệuTăng cường dữ liệu là quá trình thực hiện các thay đổi nhỏ đối với dữ liệu hiện có để tăng tính đa dạng của nó mà không cần thu thập dữ liệu mới. Nó là một kỹ thuật được sử dụng để mở rộng một bộ dữ liệu. Các kỹ thuật tăng dữ liệu tiêu chuẩn bao gồm lật ngang và dọc, xoay, cắt xén, cắt, v.v. Thực hiện tăng cường dữ liệu giúp ngăn chặn một mạng lưới thần kinh học các tính năng không liên quan. Điều này dẫn đến hiệu suất mô hình tốt hơn. Các kỹ thuật tăng dữ liệu tiêu chuẩn bao gồm lật ngang và dọc, xoay, cắt xén, cắt, v.v. Có hai loại tăng cường:
Đối với hướng dẫn này, chúng tôi sẽ sử dụng lớp Keras từ ____15 để tăng dữ liệu của chúng tôi. Điều này là do nó cung cấp một cách nhanh chóng và dễ dàng để tăng cường hình ảnh của bạn.Keras’s 5 class to augment our data. This is because it provides a quick and easy way to augment your images.Ngoài ra, nó hỗ trợ các kỹ thuật tăng cường như lật, xoay, thay đổi độ sáng, v.v. Bây giờ hãy xem xét các kỹ thuật tăng dữ liệu được sử dụng nhiều nhất: Sự thay đổiĐây là quá trình thay đổi hình ảnh pixel theo chiều ngang hoặc chiều dọc. Hãy cùng xem một ví dụ dưới đây dịch chuyển theo chiều ngang:
Đầu ra LậtĐiều này đảo ngược các hàng hoặc cột của pixel trong các trường hợp dọc hoặc ngang tương ứng. Hãy để Lừa làm một lật ngẫu nhiên với cả lật ngang và dọc. Từ mã trên, thay đổi các tham số ImageDatAgenerator như được hiển thị bên dưới:ImageDataGenerator parameters as shown below:
Đầu ra LậtĐiều này đảo ngược các hàng hoặc cột của pixel trong các trường hợp dọc hoặc ngang tương ứng. Hãy để Lừa làm một lật ngẫu nhiên với cả lật ngang và dọc. Từ mã trên, thay đổi các tham số ImageDatAgenerator như được hiển thị bên dưới:ImageDataGenerator parameters, as shown below:
Đầu ra LậtĐiều này đảo ngược các hàng hoặc cột của pixel trong các trường hợp dọc hoặc ngang tương ứng. Hãy để Lừa làm một lật ngẫu nhiên với cả lật ngang và dọc. Từ mã trên, thay đổi các tham số ImageDatAgenerator như được hiển thị bên dưới:ImageDataGenerator parameters, as shown below: 0Đầu ra Lật Điều này đảo ngược các hàng hoặc cột của pixel trong các trường hợp dọc hoặc ngang tương ứng.Hãy để Lừa làm một lật ngẫu nhiên với cả lật ngang và dọc. Từ mã trên, thay đổi các tham số ImageDatAgenerator như được hiển thị bên dưới: Vòng xoayQuá trình này liên quan đến việc xoay một hình ảnh theo một mức độ cụ thể. Từ mã trên, thay đổi các tham số ImageDatAgenerator, như được hiển thị bên dưới:Thay đổi độ sáng is a method that scales and preprocesses images to have similar heights and widths. It re-scales data to have a standard deviation of 6 (unit variance)
and a mean of 7.Đây là quá trình tăng hoặc giảm độ tương phản hình ảnh. Các kỹ thuật tăng cường khác bao gồm:ImageDataGenerator parameters as shown below: 1Cắt xénĐây là quá trình tạo một tập hợp con ngẫu nhiên của một hình ảnh gốc sau đó được thay đổi kích thước theo kích thước của hình ảnh gốc. Quy mô Một hình ảnh có thể được chia tỷ lệ vào bên trong hoặc bên ngoài. Khi tỷ lệ một hình ảnh ra bên ngoài, hình ảnh trở nên quan trọng hơn so với bản gốc và Vise Versa. |