Hình 4 .1 Chậu chứa cá giống
Hình 4.14 Sơ đồ quá trình huấn luyện mạng nơ-ron
Lưu đồ giải thuật quá trình thiết kế và huấn luyện mạng nơ-ron như hình 4.15 Thử nghiệm mạng nơ-ron để kiểm
tra độ chính xác của mạng. Nếu mạng nơ-ron cho kết quả khơng chính xác như mong muốn thì có thể thay đổi bộ dữ liệu huấn luyện
hoặc thiết kế lại mạng nơ-ron. Tạo bộ dữ liệu chuẩn dùng để
huấn luyện mạng nơ-ron
Thiết kế mạng nơ-ron
Đưa dữ liệu vào để huấn luyện mạng nơ-ron
Thử nghiệm cho đến khi chọn được mạng nơ-ron hoạt động có độ chính xác đúng theo yêu cầu.
Không Đạt Không Đạt Bắt đầu Dữ liệu ảnh cá và tạp chuẩn Tiền xử lý Trích đặc trưng Chọn mơ hình mạng nơ-ron Huấn luyện mạng Thử nghiệm mạng Tinh chỉnh mạng Ứng dụng Kết thúc Đạt ? Đạt ? Hình 4.15 Lưu đồ giải thuật quá trình thiết kế và huấn luyện mạng nơ-ron
Sơ đồ huấn luyện ban đầu cho mạng nơ-ron như hình 4.16
Hình 4.16. Sơ đồ huấn luyện mạng nơ-ron ban đầu
Q trình kiểm tra độ chính xác của mạng nơ-ron vừa được huấn luyện như sơ đồ hình 4.17
Dữ liệu đầu vào:
200 ảnh chụp cá mẫu 100 ảnh chụp tạp chất Tiền xử lý ảnh Phân đoạn ảnh Trích đặc trưng ảnh Mạng nơ-ron: mạng truyền thẳng 2 lớp. 200 nơ-ron ngõ vào 30 nơ-ron lớp ẩn 1 nơ-ron lớp ra Kết quả cho ra là một mạng nơ-ron đã được huấn luyện
Hình 4.17 Sơ đồ quá trình kiểm tra độ chính xác của mạng nơ-ron vừa được huấn luyện
4.6. Quá trình nhận dạng và đếm số lượng cá
Quá trình nhận dạng và đếm cá được tiến hành theo sơ đồ hình 4.18
Ảnh cá cần nhận dạng và đếm sẽ được camera kỹ thuật số thu và đưa vào máy tính để xử lý. Ảnh này là ảnh màu RGB như hình 4.19
Ảnh chụp cá ngẫu nhiên
Tiền xử lý ảnh
Trích đặc trưng ảnh
Mạng nơ-ron đã được huấn luyện.
Quyết định điều khiển: nếu là ảnh cá thì giữ lại, là ảnh tạp thì loại bỏ.
Nếu quyết định điều khiển của mạng nơ-ron chưa đúng với yêu cầu thì quay trở lại thay đổi dữ liệu mẫu huấn luyện cho mạng, thực hiện cho đến khi mạng nơ-ron cho kết quả nhận dạng đúng với u cầu thì chọn mạng đó.
Hình 4.18 Sơ đồ quá trình nhận dạng và đếm cá
Sau đó chuyển ảnh màu RGB sang dạng ảnh mức xám, thực hiện đảo pixel, lọc nhiễu và tăng độ tương phản cho ảnh mức xám vừa nhận được. Tiếp tục ta chuyển ảnh mức xám các con cá cần nhận dạng và đếm sang dạng ảnh nhị phân đen trắng.
Lúc này ảnh nhị phân đen trắng thu được thực chất là một ma trận các điểm ảnh, trong đó những điểm ảnh biểu diễn hình dạng cá có giá trị là 1 (màu trắng), cịn những điểm ảnh nền có giá trị là 0 (màu đen).
Ảnh cá ngẫu nhiên cần đếm
Tiền xử lý ảnh Phân đoạn ảnh
Chuyển ảnh nhị phân thành dạng ma trận đồng thời ghi nhãn các đối tượng có trong ảnh.
Lần lượt tách từng đối tượng có trong ảnh để trích đặc trưng và đưa vào mạng nơ-ron đã được huấn luyện để nhận quyết định giữ lại hay loại bỏ đối tượng vừa tách.
Sau khi nhận dạng hết tồn bộ
các đối tượng có trong ảnh, cuối cùng phần mềm sẽ kết hợp các ảnh cá để đưa ra ảnh cuối cùng chỉ gồm những con cá.
Ghi nhãn các đối tượng cá và tạp có trong ảnh:
Khi thực hiện gán nhãn các đối tượng cá và tạp có trong ảnh thì lúc này tồn bộ ảnh sẽ được chuyển thành dạng ma trận. Tại những điểm thuộc ảnh nền thì sẽ có giá trị 0, còn tại những điểm thuộc ảnh đối tượng thứ nhất thì sẽ có giá trị bằng 1, tiếp tục tại những điểm thuộc ảnh đối tượng thứ 2, thứ 3,…thì sẽ có giá trị bằng 2, bằng 3,…
Hình 4.19 Ảnh cá cần nhận dạng Hình 4.20 Ảnh nhị phân đen trắng
Hình 4.21 Gán nhãn các đối tượng trong ảnh
Tách riêng từng đối tượng
Chương trình nhận dạng tiến hành tách riêng từng đối tượng đã được đánh nhãn thứ tự, sau đó nhận dạng từng đối tượng riêng lẻ và cho ra kết luận đối tượng vừa nhận dạng là ảnh cá hay ảnh tạp. Và cuối cùng chương trinh chỉ giữ lại những
đối tượng là ảnh cá. Đồng thời, chương trình cũng sẽ thống kê được số lượng cá và số lượng tạp trong ảnh ban đầu. Kết quả và giao diện phần mềm nhận dạng và đếm cá như hình 4.22
Hình 4.22 Kết quả và giao diện phần mềm nhận dạng và đếm cá
4.7 Một số kết quả chạy chương trình phần mềm nhận dạng và đếm cá thu được: được:
Chương trình đã nhận dạng và đếm đúng số lượng cá là 6 và số lượng tạp là 0.
Ảnh thực tế gồm 5 cá và 2 tạp
Kết quả chương trình đếm đúng được 5 cá, 2 tạp và đồng thời hiển thị hình ảnh những con cá mà chương trình đã nhận dạng và đếm được.
Ảnh thực tế gồm 6 cá, trong đó có 2 con cá bơi dính nhau
Ảnh thực tế gồm 6 con cá, trong đó có 2 con cá bơi dính nhau. Kết quả chương trình nhận dạng và đếm được 4 con cá và 1 tạp. Trong đó, hai con cá bơi sát nhau, bơi chồng nhau chương trình chưa nhận dạng được là cá, vì vậy chương trình đưa ra kết quả là tạp và loại ra khỏi màn hình kết quả cuối cùng.
Kết quả chương trình nhận dạng và đếm được 6 cá và 4 tạp. Ở ảnh này chương trình nhận dạng 2 con cá thành 2 tạp và nhận dạng sai 1 ảnh tạp thành cá.
Ảnh thực tế gồm 10 cá và 9 tạp
Kết quả chương trình đếm được 9 cá và 11 tạp. Trong hình này chương trình chưa nhận dạng được 2 cá và nhận dạng sai 1 ảnh tạp là ảnh cá.
Ảnh thực tế gồm 33 cá và khơng có tạp. Kết quả chương trình nhận dạng và đếm được 29 cá và 2 tạp (có 2 trường hợp 2 con cá bơi chồng nhau, sát nhau mà chương trình đã nhận dạng là ảnh tạp và loại bỏ khỏi ảnh kết quả cuối cùng).
Ảnh thực tế gồm 53 cá và khơng tạp
Chương trình đếm được 51 cá và 2 tạp. Có 2 con cá chương trình chưa nhận dạng được là cá nên cho đó là tạp chất, vì vậy số lượng tạp mà chương trình đếm được là 2 tạp chất.
Ảnh gồm 74 cá và khơng tạp
Chương trình đếm được 70 cá và 4 tạp, trong đó có 2 trường hợp cá bơi chồng nhau và chương trình nhận dạng cho là ảnh tạp và loại bỏ khỏi ảnh kết quả.
Số lượng cá trong các mẫu được đếm thủ cơng sau đó được đếm lại bằng giải thuật đã đề xuất để so sánh và đánh giá kết quả.
Bảng 1 liệt kê kết quả của 10 lần nhận dạng và đếm với số lượng cá trong mỗi mẫu tăng từ 10 con đến 75 con.
Bảng 1: Kết quả đếm cá với số lượng từ 10 đến 75 con Lần đếm Số lượng cá trong một mẫu Số lượng đếm thực Số lượng đếm
bằng giải thuật Hiệu suất
1 Ảnh 10 cá 10 10 100 % 2 Ảnh 22 cá 22 21 95,45% 3 Ảnh 31 cá 31 31 100% 4 Ảnh 33 cá 33 29 87,87% 5 Ảnh 35 cá 35 32 91,43% 6 Ảnh 49 cá 49 40 81,63% 7 Ảnh 53 cá 53 51 96,23% 8 Ảnh 67 cá 67 67 100% 9 Ảnh 74 cá 74 70 94,59% 10 Ảnh 75 cá 75 72 96%
Hiệu suất trung bình 10 lần đếm 99%
Kết quả cho thấy hiệu suất của giải thuật nhận dạng và đếm con giống đã đề xuất cho hiệu suất 99% đối với các mẫu chứa từ 10 con đến 75 con cá.
Qua một số kết quả thực nghiệm ta thấy rằng: giải pháp đếm cá giống này đạt hiệu quả đối với những trường hợp cá bơi riêng lẻ. Kết quả đếm sẽ khơng chính xác khi cá bơi chồng nhau, hoặc bơi sát nhau. Giải thuật đã loại bỏ được tạp chất trong q trình đếm, vì vậy kết quả đếm chính xác hơn.
Chương 5
KẾT LUẬN VÀ KIẾN NGHỊ
5.1. Kết luận
Đề tài đã đề xuất một giải pháp có thể nhận dạng và đếm số lượng con giống sử dụng công nghệ xử lý ảnh và mạng nơ-ron. Giải thuật bao gồm các bước chính: tiền xử lý, trích đặc trưng và nhận dạng cá giống sử dụng mạng nơ-ron nhân tạo. Giải pháp có khả năng loại bỏ các tạp chất trong quá trình đếm.
Qua kết quả thực nghiệm cho thấy giải pháp đếm cá giống này cho kết quả đếm chính xác đối với trường hợp cá bơi riêng lẻ. Giải thuật loại bỏ được tạp chất trong quá trình đếm. Hiệu suất trung bình 10 lần đếm cá với số lượng cá từ 10 đến 75 con là 99 %. Bên cạnh đó, đề tài cịn tồn tại một số hạn chế nhất định như: chưa đếm được những đối tượng cá giống bơi chồng nhau, bơi dính nhau.
5.2. Kiến nghị
Hiện nay, nhu cầu về một thiết bị đếm con giống trên thị trường rất lớn. Vì vậy, đề tài "Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh" có ý nghĩa thực tiễn rất lớn.
Đề tài chỉ mới mang tính minh họa cho việc ứng dụng xử lý ảnh số và mạng nơ-ron trong sản xuất và đời sống, để đề tài có thể ứng dụng trực tiếp vào trong thực tế thì cần phải trải qua nhiều nghiên cứu. Trong tương lai, tác giả sẽ tiếp tục phát triển thuật tốn để có thể đếm chính xác những trường hợp cá bơi chồng nhau, đồng thời tiến hành thiết kế thiết bị đếm con giống tự động.
TÀI LIỆU THAM KHẢO
[1] Brinson A.Lingenfelter, Addison L.Lawrence, Eric Steime, Will Flanery and Kurt Kramer. Optical Counter Provides Accurate Measurements Of Shrimp. The global aquaculture advocate. Vol. 15(5). Pages: 100-101, 2012.
[2] XpertSea Solutions Inc. The Counter for Small AquaticOrganisms, 2012.
[3] Addthajaroon, S.Kiattisin, W.Chiracharit, K.Chamnongthai. “Young Shrimp detection by using modified directional wavelet coefcients”.Pages:79-82. University of Technology Thonburi - Thailand, 2008.
[4] W. Khantuwan and N. Khiripet, "Live shrimp larvae counting method using co- occurrence color histogram," Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), 2012 9th International Conference on, Phetchaburi, 2012, pp. 1-4.
[5] Y. H. Toh, T. M. Ng and B. K. Liew, "Automated Fish Counting Using Image Processing," Computational Intelligence and Software Engineering, 2009. CiSE 2009. International Conference on, Wuhan, 2009, pp. 1-5.
[6] A. Flores, P. Crisostomo and J. Lopez, "Peruvian Scallop larvae counting system using image processing techniques," 2008 7th International Caribbean Conference on Devices, Circuits and Systems, Cancun, 2008, pp. 1-4.
[7] L. Li and J. Hong, "Identification of fish species based on image processing and statistical analysis research," 2014 IEEE International Conference on Mechatronics and Automation, Tianjin, 2014, pp. 1155-1160.
[8] K. Veropoulos, C. Campbell and G. Learmonth, "Image processing and nơ-ron computing used in the diagnosis of tuberculosis," Intelligent Methods in Healthcare and Medical Applications (Digest No. 1998/514), IEE Colloquium on, York, 1998, pp. 8/1-8/4.
[9] M. B. A. Miah and M. A. Yousuf, "Detection of lung cancer from CT image using image processing and nơ-ron network," Electrical Engineering and Information Communication Technology (ICEEICT), 2015 International Conference on, Dhaka, 2015, pp. 1-6.
[10] P. Neelamegam, S. Abirami, K. Vishnu Priya and S. R. Valantina, "Analysis of rice granules using image processing and nơ-ron network," Information & Communication Technologies (ICT), 2013 IEEE Conference on, JeJu Island, 2013, pp. 879-884.
[11] Võ Minh Trí, Nguyễn Minh Luân, Huỳnh Hoàng Giang, Nguyễn Quang Huy, Nguyễn Minh Kha, Huỳnh Thanh hiệp. Máy đếm tơm giống có năng suất 6000 con/giờ. Đại học Cần Thơ, 2014, 85 trang.
[12] Võ Minh Trí. Bước đầu thiết kế chế tạo và thử nghiệm thiết bị đếm tôm giống bằng cảm biến quang. Tạp chí khoa học trường Đại học Cần Thơ. Số chuyên đề: Thủy sản (2014)(1):63-68.
[13] Trương Quốc Bảo, Nguyễn Chánh Nghiệm, Nguyễn Minh Kha, Huỳnh Hồng Giang, Võ Minh Trí. Phát triển thuật tốn xử lý ảnh để phát hiện và đếm tơm giống. Hội nghị tồn quốc lần thứ 3 về Điều khiển và tự động hóa-VCCA,2015
[14] Nguyễn Văn Thái, Nhận dạng phân loại gạo, Luận văn thạc sĩ Đại học Bách Khoa TP.HCM, tháng 06/2005.
[15] Huỳnh Thái Hồng. Hệ thống điều khiển thơng minh. NXB Đại học Quốc gia, 2006.
PHỤ LỤC
Code xác định điểm trọng tâm của đối tượng
%tinh trong tam (x0,y0):
l = bwlabel(anhnhiphan);
s = regionprops(l,'Centroid'); trongtam = s(1).Centroid;
x0 = trongtam(1); y0 = trongtam(2);
Code xác định điểm xuất phát
%xac dinh diem bat dau de thuc hien chay doc theo bien cua ca:
%diem bat dau xuat phat tai vi tri ma tai do co ban kinh tinh tu (x0,y0) %den bien ca la lon nhat.
[ySize,xSize]=size(anhnhiphan); r_max = 0; for x = 1:1:xSize for y = 1:1:ySize if anhnhiphan(y,x) == 1 r_x = abs(x - x0); r_y = abs(y - y0);
r = sqrt(r_x*r_x + r_y*r_y); if r_max < r r_max = r; xStart = x; yStart = y; end end end end
Code trích đặc trưng của ảnh đối tượng
%thiet lap ma tran chua toan bo cac diem la duong bien cua ca:
duongbien = bwtraceboundary(anhnhiphan, [yStart xStart], 'NE', 8, Inf,'clockwise');
%lay du lieu de dua vao huan luyen cho mang than kinh nhan tao: %chia duong bien cua ca thanh "somau" doan nho, tinh ban kinh tu %(x0,y0)den cac doan do.
t = size(duongbien); sodiemduongbien = t(1); r = zeros(somau,1); theta = zeros(somau,1); for i = 1:somau pos = round((i-1)*sodiemduongbien/somau + 1); if (pos <= sodiemduongbien) & (pos > 0)
r_x = duongbien(pos,2) - x0; r_y = duongbien(pos,1) - y0;
[theta(i) r(i)] = cart2pol(r_x,r_y); elseif pos > sodiemduongbien
r_x = duongbien(sodiemduongbien,2) - x0; r_y = duongbien(sodiemduongbien,1) - y0; [theta(i) r(i)] = cart2pol(r_x,r_y); end
end
Code thực hiện thiết kế mạng nơ-ron
handles.net = newff(minmax(dulieuhuanluyen),[30 1],{logsig logsig},traingdm); handles.net.LW{2,1} = handles.net.LW{2,1}*0.1; handles.net.b{2} = handles.net.b{2}*0.1; handles.net.performFcn = mse; handles.net.trainParam.goal = 1e-3; handles.net.trainParam.show = 25; handles.net.trainParam.epochs = 250000; handles.net.trainParam.mc = 0.9;
GIẢI PHÁP ĐẾM CON GIỐNG ỨNG DỤNG CÔNG NGHỆ XỬ LÝ ẢNH
SOLUTION OF FISH COUNTING USING IMAGE PROCESSING TECHNOLOGY
Nguyễn Thị Tốt
Học viên cao học trường Đại học Sư phạm Kỹ thuật TPHCM
TĨM TẮT
Tại Việt Nam, ngành ni trồng thủy sản đã phát triển mạnh và đạt kết quả cao, hình thành nên phong trào ni trồng rộng rãi trong nhân dân.
Do đó, nhu cầu con giống trên thị trường hiện nay rất lớn. Tuy nhiên, việc giao dịch mua bán con giống ngày nay vẫn cịn sử dụng phương pháp đếm truyền thống thơng qua đếm mẫu và ước lượng là chủ yếu. Phương pháp đếm thủ công này tốn nhiều thời gian và độ chính xác khơng cao. Vì vậy, mục tiêu của đề tài là tìm ra giải pháp nhận dạng và đếm con giống chính xác và nhanh chóng hơn, có thể bỏ qua các tạp chất trong q trình đếm.
Luận văn được thực hiện dựa trên cơng nghệ xử lý hình ảnh và mạng neural để nhận dạng và đếm con giống, thông qua phần mềm MATLAB để thực hiện hai quá trình: nhận dạng và đếm đối tượng con giống.
Đầu tiên, ảnh cá cần nhận dạng được đưa vào phần mềm sẽ trải qua các bước tiền xử lý ảnh như: chuyển sang ảnh xám, lọc nhiễu, tăng độ tương phản, chuyển sang ảnh nhị phân, sau đó trích ra các đặc trưng về hình dạng của cá giống, tiếp theo đưa dữ liệu về hình dạng của cá giống vừa thu được vào mạng thần kinh nhân tạo đã được huấn luyện để nhận dạng cá giống.
Sau khi được nhận dạng, hệ thống sẽ đưa ra quyết định loại bỏ ảnh không phải cá giống (ảnh tạp) và chỉ giữ lại ảnh cá giống. Đồng thời phần mềm cũng thống kê số lượng cá giống có trong ảnh ban đầu. Kết quả giải pháp này có hiệu quả trong trường hợp các đối tượng cá bơi riêng lẻ. Trường hợp cá bơi chồng lên nhau kết quả đếm khơng chính xác.
Từ khóa: xử lý ảnh, mạng nơ-ron, Matlab, đếm. ABSTRACT
In Vietnam, the aquaculture has grown significantly and achieved high results, formed the aquaculture movement among the people widely.
Therefore, fish demand in the market is very large. However, the purchase and sale of fish seed today still use traditional methods of counting through counting and estimating sample is crucial. This method takes a long time and the accuracy is not high. Therefore, the objective of this research to find a way that count more accurately and faster, able to ignore