Tạo dữ liệu ảnh cá và ảnh tạp dùng để huấn luyện mạng nơ-ron

Một phần của tài liệu Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh (Trang 44 - 48)

Chương 4 : NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

4.2. Tạo dữ liệu ảnh cá và ảnh tạp dùng để huấn luyện mạng nơ-ron

Tác giả thực nghiệm cho cá và tạp chất vào chậu chứa. Dùng máy chụp hình kỹ thuật số (13 Megapixel) chụp lại ảnh cá và ảnh tạp.Thực hiện chụp nhiều lần, tác giả thu được một lượng lớn ảnh cá và ảnh tạp dùng làm dữ liệu huấn luyện mạng nơ-ron.

Sử dụng phần mềm để tách từng con cá và từng tạp chất riêng biệt. Tác giả đã tạo ra 300 tập tin ảnh của 300 con cá có hình dạng bơi khác nhau và 150 tập tin ảnh của 150 tạp chất. Trong đó dữ liệu ảnh cá và ảnh tạp dùng để huấn luyện mạng nơ-ron là 200 tập tin ảnh cá và 100 tập tin ảnh tạp, 100 tập tin ảnh cá và 50 tập tin ảnh tạp còn lại dùng để kiểm tra độ chính xác việc học của mạng nơ-ron.

38

Hình 4.2 Một số hình ảnh cá

39

4.3. Quá trình xử lý ảnh

Tác giả sử dụng giao diện đồ họa (GUI) trong Matlab để xây dựng chương trình cho việc nhận dạng và đếm cá giống

Hình 4.4. Giao diện đồ họa chương trình nhận dạng và đếm cá

Chuyển ảnh màu RGB thành ảnh mức xám

Tác giả đã sử dụng hàm rgb2gray của Matlab để thực hiện được tác vụ này.

Dữ liệu vào của hàm là ảnh màu RGB, dữ liệu ra của hàm là ảnh mức xám. Quan sát ảnh xám sau khi sử dụng hàm rgb2gray ta thấy đối tượng cá có màu đen hơn nền xung quanh. Ảnh sau khi chuyển thành ảnh mức xám

Đảo pixel ảnh xám

Do ở bước xác định trọng tâm của ảnh ta cần hiển thị điểm trọng tâm nên nếu đối tượng cá có màu đen thì sẽ khơng quan sát được điểm trọng tâm. Vì vậy, tác giả đã thực hiện đảo các pixel 0 thành pixel 1, đảo pixel 1 thành pixel 0 (hay đảo đen

thành trắng, trắng thành đen) bằng hàm imcomplement của Matlab. Dữ liệu vào

của hàm này có thể là ảnh nhị phân, ảnh xám hoặc ảnh màu RGB. Kết quả trong đề tài này, tác giả chọn dữ liệu vào của hàm imcomplement là ảnh xám, dữ liệu ra của

40

hàm cũng là ảnh xám nhưng đối tượng cá đã được chuyển sang màu trắng còn nền thì màu tối.

Lọc nhiễu cho ảnh mức xám

Tác giả đã sử dụng hàm medfilt2 của Matlab để thực hiện được tác vụ này. Dữ liệu vào của hàm này là ảnh mức xám chưa được lọc nhiễu, dữ liệu ra của hàm cũng là ảnh mức xám nhưng đã được lọc nhiễu.

Tăng độ tương phản cho ảnh mức xám

Tác giả đã sử dụng hàm imadjust của Matlab để thực hiện được tác vụ này. Dữ liệu vào của hàm này là ảnh mức xám đã được lọc nhiễu, dữ liệu ra của hàm cũng là ảnh mức xám nhưng có độ tương phản giữa hai màu đen và trắng rõ nét hơn.

Phân đoạn ảnh

Chuyển ảnh mức xám thành ảnh nhị phân đen trắng.

Để thực hiện được tác vụ này, tác giả đã sử dụng 2 hàm graythresh và

im2bw của Matlab.

 Hàm graythresh dùng để xác định ngưỡng giá trị mức xám của ảnh

mức xám đã được làm tăng độ tương phản. Dữ liệu vào của hàm này là ảnh mức xám, dữ liệu ra của hàm là ngưỡng giá trị mức xám của ảnh.

 Hàm im2bw dùng để chuyển ảnh mức xám thành ảnh nhị phân đen

trắng. Những điểm ảnh nào trong ảnh có giá trị mức xám lớn hơn ngưỡng giá trị mức xám thì thành màu đen, ngược lại thì thành màu trắng. Lúc này ảnh là một ma trận điểm, mỗi điểm có giá trị hoặc là 0 hoặc là 1.

Loại bỏ các vùng ảnh nhỏ có ít số pixel

Để thực hiện được tác vụ này, tác giả đã sử dụng hàm bwareaopen của

Matlab. Do ảnh chụp thực tế có rất nhiều tạp chất nhỏ li ti mà ta không thể xây dựng chúng thành ảnh tạp mẫu để huấn luyện cho mạng nơ-ron. Vì vậy cần phải loại bỏ các tạp chất nhỏ này.

Dữ liệu vào của hàm bwareaopen này là ảnh nhị phân, dữ liệu ra của hàm

41

Hình 4.5 Ảnh gốc Hình 4.6 Ảnh xám

Hình 4.7 Ảnh đảo pixel Hình 4.8 Ảnh lọc nhiễu

Hình 4.9 Ảnh tăng độ tương phản Hình 4.10 Ảnh nhị phân đen trắng

Một phần của tài liệu Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh (Trang 44 - 48)

Tải bản đầy đủ (PDF)

(79 trang)