1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh

91 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giải Pháp Đếm Con Giống Ứng Dụng Công Nghệ Xử Lí Ảnh
Tác giả Nguyễn Thị Tốt
Người hướng dẫn TS. Nguyễn Văn Thái
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2017
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 8,01 MB

Cấu trúc

  • Chương 1: TỔNG QUAN (19)
    • 1.1 Lý do chọn đề tài (19)
    • 1.2 Lịch sử giải quyết vấn đề (19)
      • 1.2.1 Ngoài nước (19)
      • 1.2.2 Trong nước (23)
    • 1.3 Mục tiêu của đề tài (24)
    • 1.4 Nhiệm vụ và giới hạn của đề tài (25)
    • 1.5 Ý nghĩa khoa học và thực tiễn của đề tài (25)
    • 1.6 Phương pháp nghiên cứu (26)
  • Chương 2: LÝ THUYẾT XỬ LÝ ẢNH (27)
    • 2.1. Tổng quan về xử lý ảnh (27)
    • 2.2. Quá trình xử lý ảnh (27)
    • 2.3. Nội dung lý thuyết xử lý ảnh dùng trong đề tài (31)
      • 2.3.1. Chuyển ảnh màu RGB sang ảnh mức xám Gray (31)
      • 2.3.2. Lọc nhiễu cho ảnh (31)
      • 2.3.3. Tăng độ tương phản của ảnh (36)
      • 2.3.4. Phân đoạn ảnh (phân vùng ảnh) (38)
      • 2.3.5. Trích đặc trưng của đối tượng (41)
      • 2.3.6. Nhận dạng ảnh (45)
  • Chương 3: LÝ THUYẾT MẠNG THẦN KINH NHÂN TẠO (46)
    • 3.1. Mô hình nơ-ron nhân tạo (46)
    • 3.2. Mô hình mạng nơ-ron nhân tạo (46)
    • 3.3. Phân loại mạng nơ-ron (47)
    • 3.4. Các phương pháp huấn luyện mạng thần kinh nhân tạo (47)
    • 3.5. Một số mô hình mạng nơ-ron ứng dụng để nhận dạng ảnh (49)
      • 3.5.1. Mạng Perceptron (mạng truyền thẳng 1 lớp) (49)
      • 3.5.2. Mạng truyền thẳng nhiều lớp (51)
  • Chương 4: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU (54)
    • 4.1 Thiết kế chậu chứa cá (54)
    • 4.2. Tạo dữ liệu ảnh cá và ảnh tạp dùng để huấn luyện mạng nơ-ron (55)
    • 4.3. Quá trình xử lý ảnh (57)
    • 4.4. Quá trình trích đặc trưng của ảnh (59)
    • 4.5. Quá trình thiết kế và huấn luyện mạng nơ-ron (60)
    • 4.6. Quá trình nhận dạng và đếm số lượng cá (65)
    • 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 (68)
  • Chương 5: KẾT LUẬN VÀ KIẾN NGHỊ (74)
    • 5.1. Kết luận (74)
    • 5.2. Kiến nghị (74)
  • TÀI LIỆU THAM KHẢO (75)
  • PHỤ LỤC (77)

Nội dung

TỔNG QUAN

Lý do chọn đề tài

Việt Nam, nằm trong bán đảo Trung Ấn, được thiên nhiên ưu đãi với nhiều điều kiện thuận lợi cho sự phát triển ngành thủy sản Nghề thủy sản, bao gồm cả đánh bắt và nuôi trồng, đã có bề dày lịch sử và trải qua nhiều thăng trầm, hiện nay đã phát triển mạnh mẽ và có khả năng cạnh tranh với các nước hàng đầu về xuất khẩu thủy sản Nuôi trồng thủy sản đã đạt được những kết quả cao, tạo thành phong trào nuôi trồng rộng rãi trong cộng đồng.

Nhu cầu con giống trên thị trường hiện nay rất lớn, nhưng việc giao dịch mua bán vẫn chủ yếu dựa vào phương pháp đếm truyền thống, như đếm mẫu và ước lượng, dẫn đến tốn thời gian và độ chính xác không cao Nhận thấy sự cần thiết của việc cải thiện quy trình này, tác giả đã quyết định nghiên cứu đề tài “Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh”.

Lịch sử giải quyết vấn đề

Hình 1.1 Máy đếm quang học có hệ thống camera

Theo nghiên cứu của nhóm tác giả Brinson A Lingenfelter và cộng sự, hệ thống đếm ấu trùng (Larvae Counting System) kết hợp máy quét quang học và phần mềm hình ảnh, giúp đếm tôm với độ chính xác 95% và tốc độ trên 1000 cá thể/phút Phương pháp này không chỉ giảm căng thẳng cho tôm mà còn cải thiện độ chính xác so với các kỹ thuật truyền thống Thiết bị nặng 4 kg và có giá đề xuất khoảng 30.000 USD.

Thiết bị XperCount 1, do XpertSea Solutions Inc sản xuất, là một thiết bị tiên tiến trong ngành thủy sản, có khả năng đếm chính xác các động vật thủy sinh như Artemia, vi tảo, ấu trùng tôm cá và tôm cá giống Thiết bị này hoạt động hiệu quả trong thùng nhựa HDPE với mức nước tối thiểu 500 ml, giúp nâng cao hiệu suất trong quá trình nghiên cứu và sản xuất thủy sản.

10 lít nước, cho kết quả trong 5 giây, với độ chính xác khoảng 95% Thiết bị XperCount 1 trên thị trường có giá khoảng $5000

Hình 1.2 Máy đếm tôm, cá giống

Năm 2016 XpertSea Solutions Inc, cho ra mắt tại thị trường Việt Nam thiết bị XpertCount 2 với các tính năng báo cáo chất lượng cho trại sản xuất giống

Thiết bị XperCount 2 sử dụng công nghệ quang học an toàn cho sinh vật, cho phép người dùng đếm nhanh chóng hàng nghìn sinh vật như tế bào vi tảo, ấu trùng và hậu ấu trùng chỉ trong vài phút Với độ chính xác trên 95% và thời gian sử dụng pin từ 8-10 tiếng, XperCount 2 là giải pháp lý tưởng cho việc đếm sinh vật hiệu quả.

Hình 1.3 Máy đếm con giống XperCount2

Máy đếm tôm giống hiện đại có giá thành cao, nhưng chưa được nhiều cơ sở sản xuất tôm giống trong nước sử dụng Việc bảo trì và vận hành các thiết bị này cũng gặp nhiều khó khăn.

Các bài báo khoa học nước ngoài liên quan đến đề tài

Theo các tác giả Addthajaroon, S.Kiattisin, W.Chiracharit, K.Chamnongthai

Thuật toán biến đổi hệ số wavelet được sử dụng để nhận dạng tôm giống bằng cách áp dụng phương pháp biến đổi wavelet thuận và kỹ thuật xử lý hình thái nhằm xác định các đặc trưng như vị trí của mắt tôm Sau đó, thuật toán thực hiện biến đổi wavelet ngược để phát hiện các đặc trưng này Tuy nhiên, nhược điểm của phương pháp là độ chính xác không cao khi đếm các con tôm chồng lên nhau, với kết quả đạt được chỉ 80,61% trong trường hợp hai con tôm trùng nhau.

Tác giả W Khantuwan và N Khiripet đã áp dụng thuật toán biểu đồ đồng dạng màu (Co-occurrence Color Histogram) để đếm tôm giống Trong nghiên cứu, tôm giống được chứa trong chậu kính và hình ảnh được xử lý để loại bỏ nhiễu, phân đoạn thành hai lớp: tôm kết nối và không kết nối Phương pháp đếm sử dụng giải thuật giới hạn kích thước diện tích pixel, với kết quả thực nghiệm cho thấy độ chính xác đạt 97%.

Thuật toán của hai bài báo khoa học chỉ hiệu quả với tôm giống có kích thước lớn khoảng post 15; đối với các post nhỏ hơn, độ chính xác của thuật toán giảm sút Điều này xảy ra vì hình ảnh đầu vào của các post nhỏ bị phân đoạn và xử lý hình thái, dẫn đến kết quả đầu ra thiếu những đặc trưng cần thiết cho việc nhận dạng.

Theo nghiên cứu của Toh và các cộng sự, một giải pháp đơn giản đã được đề xuất để đếm cá tự động thông qua kỹ thuật xử lý ảnh Phương pháp này bao gồm việc đánh dấu các đốm màu tương ứng với vị trí của cá trong từng khung hình, sau đó lọc nhiễu và nền xung quanh các đốm màu Số lượng đốm màu được xác định chính là số cá trong khung hình, cho thấy độ chính xác cao khi đếm các đàn cá với số lượng 5, 10, 15 và 50 con Tuy nhiên, tỷ lệ lỗi sẽ gia tăng theo số lượng cá, và phương pháp này cho thấy hiệu quả tốt nhất khi số lượng cá ít, do khoảng cách giữa các cá thể lớn hơn, giảm thiểu tình trạng cá bơi chồng lên nhau, từ đó cải thiện độ chính xác trong xử lý.

Các tác giả A Flores, P Crisostomo và J Lopez đã nghiên cứu hệ thống đếm ấu trùng sò Peruvian bằng kỹ thuật xử lý ảnh Họ phát triển một hệ thống giám sát tự động nhằm phát hiện ấu trùng sò Peru trong ảnh kính hiển vi Nghiên cứu áp dụng các thuật toán xử lý hình ảnh và phương pháp thống kê để phát hiện, đếm số lượng ấu trùng trong ảnh kính hiển vi và đo diện tích của từng ấu trùng.

Theo nghiên cứu của Theo L Li và J Hong, kỹ thuật xử lý ảnh được áp dụng để phân loại cá Các bức ảnh cá sau khi chụp sẽ trải qua các bước tiền xử lý như chuyển đổi sang ảnh xám, ảnh nhị phân, tăng cường ảnh và tách biên, nhằm trích xuất 11 thông số đặc trưng cho 4 loại cá cần phân loại thông qua phần mềm Matlab Phương pháp này đã đạt được kết quả nhận dạng trung bình lên đến 96,67%.

Các bài báo của tác giả đều áp dụng kỹ thuật xử lý ảnh để nhận dạng đối tượng, nhưng độ chính xác còn hạn chế do chỉ sử dụng các phép toán thống kê để đếm số lượng Để nâng cao độ chính xác, cần kết hợp kỹ thuật xử lý ảnh với mạng nơ-ron nhằm cải thiện khả năng nhận dạng và đếm đối tượng Ví dụ, K Veropoulos, C Campbell và G Learmonth đã sử dụng phương pháp này để chẩn đoán bệnh lao, trong khi M B A Miah và M A Yousuf cũng đã kết hợp các kỹ thuật tương tự trong nghiên cứu của họ.

Nhóm tác giả P Neelamegam, S Abirami, K Vishnu Priya và S R Valantina đã áp dụng kỹ thuật xử lý ảnh và mạng nơ-ron để phân tích chất lượng hạt gạo Kết quả nghiên cứu cho thấy độ chính xác của phương pháp này cao hơn so với các phương pháp phân tích truyền thống dựa vào kinh nghiệm của con người.

Năm 2014, Huỳnh Hoàng Giang và nhóm cộng sự [11] đã thực hiện đề tài

Máy đếm tôm giống với năng suất 6000 con/giờ, thuộc nghiên cứu khoa học cấp trường mã số TSV2014-07, đã đạt được các mục tiêu ban đầu với độ chính xác 95% và thiết kế gọn nhẹ Tuy nhiên, vẫn còn một số hạn chế như năng suất chưa tối ưu và chưa loại bỏ được các tạp chất như bụi, xác tôm, và tôm chết, ảnh hưởng đến độ chính xác của máy.

Vào tháng 8 năm 2014, Võ Minh Trí từ bộ môn tự động hóa của trường Đại học Cần Thơ đã thiết kế và thử nghiệm thành công thiết bị đếm tôm giống sử dụng cảm biến quang Thiết bị này hoạt động dựa trên phương pháp đếm quang học, cho phép đếm tôm một cách chính xác và hiệu quả Kết quả nghiên cứu ban đầu cho thấy thiết bị đạt năng suất cao trong việc đếm tôm giống.

6000 con/giờ và độ chính xác khoảng 95%, sai số tối đa trong khoảng ± 5%

 Các bài báo khoa học trong nước liên quan đến đề tài

Trong Hội nghị toàn quốc lần 3 về điều khiển và tự động hóa - VCCA-

Năm 2015, nhóm tác giả Trương Quốc Bảo, Nguyễn Chánh Nghiệm, Nguyễn Minh Kha, Huỳnh Hoàng Giang và Võ Minh Trí từ trường ĐH Cần Thơ đã phát triển một thuật toán xử lý ảnh nhằm phát hiện và đếm tôm giống Thuật toán chính được áp dụng là phân đoạn ảnh dựa trên ngưỡng tối ưu, kết hợp với các phương pháp như trừ nền và xử lý hình thái ảnh để nâng cao khả năng nhận dạng số lượng tôm giống Kết quả thực nghiệm ban đầu cho thấy độ chính xác của thuật toán đạt khoảng 94% với thời gian xử lý chỉ mất khoảng 8 giây.

Hình 1.4 Máy đếm tôm giống có năng suất 6000 con/giờ

Hình 1.5 Mô hình thiết bị đếm tôm

Mục tiêu của đề tài

Mục tiêu của nghiên cứu là phát triển giải pháp nhận dạng và đếm con giống bằng công nghệ xử lý ảnh và mạng nơ-ron, với khả năng loại bỏ các tạp chất như bụi, lá cây và cành khô trong quá trình đếm.

Nhiệm vụ và giới hạn của đề tài

Sau khi hoàn tất các bước tiền xử lý, việc nhận dạng và phân loại các giống cá trở thành nhiệm vụ chính, đồng thời loại bỏ các ảnh tạp chất Phần mềm sẽ thu thập dữ liệu về các giống cá và tạp chất, dữ liệu này sẽ được sử dụng để huấn luyện mạng nơ-ron Sau khi huấn luyện, dữ liệu từ các giống cá cần xử lý sẽ được đưa vào mạng nơ-ron đã được đào tạo trước đó, nhằm đưa ra những hướng điều khiển phù hợp.

Trong nghiên cứu này, tác giả tập trung vào việc tự chụp 300 hình ảnh mẫu về các loại cá giống và các bức ảnh tạp.

Bài viết mô tả quá trình phân tích và nhận dạng cá giống thông qua việc sử dụng phần mềm và mạng thần kinh nhân tạo Đầu tiên, tác giả thu thập 100 hình ảnh cá giống và ảnh tạp để phân tích, trích xuất các đặc trưng của chúng Sau đó, các hình ảnh ngẫu nhiên về cá giống cũng được chụp và đưa vào phần mềm phân tích Dữ liệu thu được sẽ được đưa vào mạng thần kinh nhân tạo đã được huấn luyện để nhận diện cá giống Cuối cùng, hệ thống sẽ quyết định loại bỏ ảnh tạp và chỉ giữ lại ảnh cá giống.

Ý nghĩa khoa học và thực tiễn của đề tài

Những tiến bộ trong khoa học kỹ thuật và công nghệ, bao gồm phát minh, sáng chế, và máy móc tiên tiến, đã được áp dụng vào sản xuất để nâng cao chất lượng cuộc sống con người Việc sử dụng máy móc để thay thế con người trong các nhiệm vụ chính xác và nhanh chóng là một trong những ứng dụng quan trọng Nghiên cứu này không chỉ nhằm nhận dạng và đếm cá giống mà còn hướng tới việc cải thiện giao dịch mua bán cá giống tại các cơ sở nuôi cá ở Việt Nam, giúp quy trình diễn ra nhanh chóng, chính xác và minh bạch, đồng thời hỗ trợ người mua trong việc quản lý mật độ thả nuôi và lượng thức ăn phù hợp.

Đề tài này có ý nghĩa thực tiễn lớn trong việc mua bán con giống, khi mà hiện nay, giao dịch chủ yếu vẫn dựa vào phương pháp đếm thủ công truyền thống Phương pháp này gặp khó khăn trong việc xác định chính xác số lượng con giống bán cho người mua, đặc biệt là khi số lượng lớn, dẫn đến mất nhiều thời gian và độ chính xác không cao Do đó, cần thiết phải có một giải pháp đếm con giống hiệu quả hơn, đảm bảo độ chính xác cao và minh bạch trong giao dịch.

Phương pháp nghiên cứu

Đề tài sử dụng dữ liệu đã tự xây dựng được Việc phân tích và xử lý dữ liệu được thực hiện dựa trên phần mềm Matlab, phiên bản R2015a

LÝ THUYẾT XỬ LÝ ẢNH

Tổng quan về xử lý ảnh

Trong các hình thức truyền thông cơ bản như lời nói, văn bản, hình ảnh và âm thanh, hình ảnh được coi là phương tiện truyền tải thông tin mạnh mẽ nhất và có vai trò quan trọng trong việc trao đổi thông tin Mỗi bức ảnh chứa đựng một lượng thông tin nhất định, và để nhận diện những thông tin ẩn chứa trong đó, cần phải trải qua quá trình xử lý ảnh Quá trình này bao gồm các thao tác trên ảnh đầu vào nhằm đạt được kết quả mong muốn, có thể là một bức ảnh "tốt hơn" hoặc một kết luận cụ thể.

Trong những năm gần đây, sự phát triển mạnh mẽ của phần cứng máy tính đã thúc đẩy kỹ thuật xử lý ảnh ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống xã hội Công nghệ này không chỉ dừng lại ở việc xử lý vết nhòa hay phục hồi ảnh cũ, mà còn kết hợp với trí tuệ nhân tạo để đạt được những tiến bộ đáng kể như nhận dạng khuôn mặt, dấu vân tay, đối tượng và chẩn đoán bệnh.

Ngày nay, lĩnh vực xử lý ảnh số ngày càng phát triển nhờ vào tính tiện lợi của nó Các phương pháp xử lý ảnh đa dạng cho phép truyền tải thông tin nhanh chóng và chính xác Việc chỉnh sửa và xử lý lại ảnh cũng trở nên đơn giản hơn với sự hỗ trợ của máy tính số.

Quá trình xử lý ảnh

Quá trình xử lý ảnh trong đề tài được tiến hành theo các công đoạn như hình 2.1

Quá trình thu nhận ảnh là bước đầu tiên và quyết định trong việc xử lý ảnh, với nhiệm vụ chính là tiếp nhận hình ảnh đầu vào.

Chất lượng nhận dạng ảnh phụ thuộc vào thiết bị thu nhận như máy chụp ảnh và camera, cùng với các yếu tố môi trường như ánh sáng và phong cảnh Việc lựa chọn thiết bị thu nhận ảnh rất quan trọng và cần căn cứ vào đặc tính của đối tượng cần nhận dạng, giá thành hệ thống và kích cỡ đối tượng, từ đó xác định độ phân giải cần thiết cho camera Các thông số quan trọng của thiết bị thu nhận ảnh bao gồm độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh.

Hình 2.1 Các bước của quá trình xử lý ảnh

Hình ảnh thu nhận từ các bộ cảm biến thường gặp phải sai lệch và mất mát thông tin, vì vậy việc đưa chúng vào máy tính để phân tích và phục hồi là cần thiết Để máy tính có thể hiểu và xử lý, hình ảnh cần được mã hóa dưới dạng số, gọi là ảnh số Việc xử lý ảnh số không chỉ giúp phân tích và phục hồi thông tin mà còn mang lại nhiều tiện lợi như truyền tải thông tin nhanh chóng và chính xác, cũng như đơn giản hóa quá trình xử lý nhờ vào sự hỗ trợ của công nghệ số.

Trong quá trình xử lý ảnh, sau khi thu nhận hình ảnh từ camera hoặc cảm biến, dữ liệu ảnh cần được chuyển vào bộ nhớ máy tính dưới dạng ma trận số liệu.

11 lưu trữ dưới một định dạng phù hợp với các bước xử lý tiếp theo Một số định dạng ảnh số thường được dùng là: *.BMP; *.GIF; *JPEG; *JPG

Tiền xử lý ảnh là quá trình cải thiện chất lượng ảnh nhằm giữ lại những đặc trưng quan trọng, làm nền tảng cho các bước xử lý tiếp theo Ảnh có thể bị suy biến do nhiều nguyên nhân như chất lượng thiết bị thu nhận, nguồn sáng hoặc nhiễu, vì vậy cần tăng cường và khôi phục ảnh để làm nổi bật các đặc tính chính hoặc đưa ảnh gần trở về trạng thái gốc Quá trình này thực chất là một phép biến đổi ảnh, với kết quả cuối cùng vẫn là một bức ảnh.

Hình 2.2 Các bước tiền xử lý ảnh

Chuyển ảnh màu RGB sang ảnh xám

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

Tăng độ tương phản của ảnh

Chuyển ảnh xám sang ảnh nhị phân đen trắng Đảo pixel ảnh xám

Loại bỏ những vùng đối tượng có ít pixel

Trong luận văn, ảnh mẫu sau khi được đưa vào hệ thống sẽ được xử lý qua các bước tiền xử lý như hình 2.2

Trích đặc trưng là bước quan trọng trong việc phát hiện các đặc tính của ảnh để phục vụ cho quá trình nhận dạng Mỗi đối tượng ảnh mang những đặc trưng riêng, phụ thuộc vào phương pháp nhận dạng được áp dụng Trong một ứng dụng, có nhiều phương pháp nhận dạng khác nhau, và mỗi phương pháp lại có những cách thức riêng để trích chọn đặc trưng Trong nghiên cứu này, tác giả tập trung vào việc trích đặc trưng ảnh thông qua hình dạng của đối tượng, mà có thể được mô tả bằng đường bao hoặc diện tích mà đối tượng chiếm giữ trong ảnh.

Trong đề tài này, khâu trích đặc trưng ảnh trải qua các bước như hình sau:

Hình 2.3 Các bước của khâu trích đặc trưng ảnh

Nhận dạng ảnh là quá trình xác định và phân loại hình ảnh, thường thông qua việc so sánh với mẫu chuẩn đã được học trước đó Trong nghiên cứu này, tác giả áp dụng phương pháp mạng nơ-ron để nhận diện đối tượng cá trong ảnh.

Tìm trọng tâm của đối tượng

Tìm đường biên của đối tượng

Phân đoạn đường biên của đối tượng thành 200 đoạn nhỏ

Tính 200 bán kính từ trọng tâm đến các đoạn đường biên trên

Nội dung lý thuyết xử lý ảnh dùng trong đề tài

2.3.1 Chuyển ảnh màu RGB sang ảnh mức xám Gray Ảnh màu: Trong hệ màu RGB, mỗi điểm ảnh được cấu thành từ ba thành phần màu khác nhau: Red, Green, Blue và mỗi thành phần màu được biểu diễn bởi 1 Byte (8 bit) Nếu sử dụng 8 bit để biểu diễn giá trị màu sắc cho ảnh thì giá trị màu của mỗi điểm ảnh biến thiên trong đoạn [0, 2 8 -1] Như vậy mỗi điểm ảnh của ảnh màu sẽ có giá trị RGB là (0 255, 0 255, 0…255), ảnh Red RGB (0…255, 0, 0), ảnh Green RGB (0, 0…255, 0) và ảnh Blue RGB (0, 0, 0…255) Ảnh đen trắng (ảnh xám): là ảnh có hai màu đen, trắng với mức xám các điểm ảnh có thể khác nhau Với ảnh đen trắng nếu dùng 8 bit để biểu diễn mức xám thì số mức xám có thể biểu diễn được là 256 mức Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 225, mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất

Chuyển ảnh màu RGB sang ảnh mức xám được thực hiện theo công thức (2.1) O(x, y) = 0,2989 ∗ IR(x, y) + 0,5870 ∗ IG(x, y) + 0,1140 ∗ IB(x, y) (2.1)

Trong đó: x,y là tọa độ của điểm ảnh

IR là thành phần màu đỏ tại màu I(x,y)

IG là thành phần màu xanh lá tại màu I(x,y)

IB là thành phần màu xanh dương tại màu I(x,y) O(x,y) là màu đầu ra; I(x,y) là màu đầu vào

2.3.2 Lọc nhiễu cho ảnh Ảnh thu nhận sau khi được số hóa có thể gây nhiễu Trên thực tế, tồn tại nhiều loại nhiễu, tuy nhiên người ta thường xem xét 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân và nhiễu xung:

Nhiễu cộng thường xuất hiện trên toàn bộ bức ảnh Nếu ký hiệu ảnh quan sát là Xqs, ảnh gốc là Xgoc và nhiễu là 𝜂, thì ảnh thu được có thể được biểu diễn bằng công thức liên quan đến các yếu tố này.

Nhiễu nhân thường phân bố khắp ảnh và ảnh thu được sẽ biểu diễn với công thức:

Nhiễu xung thường gây đột biến tại một số điểm ảnh

Để xử lý điểm ảnh bị nhiễu, ta sử dụng thông tin từ các điểm ảnh lân cận Cụ thể, giá trị của điểm ảnh cần xử lý sẽ được thay thế bằng tổ hợp giá trị của các điểm ảnh xung quanh, dựa trên giả định rằng các điểm ảnh này có giá trị tương tự với điểm ảnh đang được xem xét.

Trong kỹ thuật lọc nhiễu, một mặt nạ được di chuyển qua ảnh gốc từ trái sang phải và từ trên xuống dưới Tại mỗi vị trí, giá trị cho điểm ở tâm mặt nạ được tính toán dựa trên các điểm trong mặt nạ Các loại mặt nạ khác nhau sẽ có phương pháp tính toán khác nhau để kết hợp giá trị của các điểm lân cận.

Đối với nhiễu cộng và nhiễu nhân, các bộ lọc thường được sử dụng bao gồm lọc trung bình, lọc thông thấp và lọc đồng hình Trong khi đó, nhiễu xung thường được xử lý bằng bộ lọc trung vị, lọc giả trung vị và lọc ngoài.

Lọc không gian trung bình (Mean filtering)

Trong lọc trung bình, mỗi điểm ảnh trong ảnh được thay thế bằng giá trị trung bình trọng số của các điểm ảnh xung quanh, bao gồm cả điểm ảnh đó Lọc trung bình được định nghĩa như sau:

Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương trình trên sẽ trở thành:

V(m,n) : ảnh đầu ra a(k,l) : cửa sổ lọc

𝑁 𝑤 và Nw là số điểm ảnh trong cửa sổ lọc W

Lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với nhân chập

H (mặt nạ bộ lọc, cửa sổ lọc) Các dạng nhân chập H thường dùng trong bộ lọc không gian trung bình có dạng:

Mặt nạ bộ lọc H1 là bộ lọc không gian trung bình đều và không trọng số, không ưu tiên theo bất kỳ hướng nào Với trọng số trung bình là 1/9, bộ lọc này giúp giảm năng lượng nhiễu xuống còn 1/9 so với mức ban đầu.

Mặt nạ bộ lọc H2, hay còn gọi là bộ lọc trung bình lân cận, ưu tiên cho hai hướng x và y, với trọng số trung bình H1 là 1/8, giúp giảm năng lượng nhiễu xuống 8 lần Trong quá trình lọc trung bình, việc ưu tiên các hướng là cần thiết để bảo vệ biên ảnh khỏi hiện tượng mờ khi thực hiện làm mịn Các kiểu mặt nạ được áp dụng tùy thuộc vào từng trường hợp cụ thể Các bộ lọc này thuộc loại tuyến tính, trong đó điểm ảnh ở tâm cửa sổ sẽ được thay thế bằng tổ hợp các điểm lân cận theo mặt nạ đã định.

Lọc không gian trung bình là một bộ lọc tuyến tính đơn giản với tác dụng làm mịn ảnh, khử nhiễu,…

Lọc thông thấp là một kỹ thuật phổ biến để làm mượt nhiễu trong tín hiệu Phương pháp này thường sử dụng bộ lọc có các hệ số đối xứng qua tâm, giúp cải thiện chất lượng tín hiệu bằng cách loại bỏ các tần số cao không mong muốn.

16 ở vị trí có khoảng cách gần tâm có giá trị lớn hơn hoặc bằng các hệ số ở vị trí có khoảng cách xa tâm

Một số nhân chập của bộ lọc thông thấp có dạng sau:

Ta dễ dàng nhận thấy khi b = 1, Hb chính là nhân chập H1 của bộ lọc trung bình Lọc không gian trung bình là 1 trường hợp riêng của lọc thông thấp

Lọc đồng hình (Homomorphic filtering)

Kỹ thuật lọc này rất hiệu quả trong việc xử lý ảnh có nhiễu nhân Ảnh quan sát được là sự kết hợp giữa ảnh gốc và một hệ số nhiễu Đặt X̅(m,n) là ảnh thu được, X(m,n) là ảnh gốc và η(m,n) là nhiễu, mô hình nhiễu nhân đối với ảnh gốc X(m,n) được thể hiện như sau:

Khi áp dụng bộ lọc đồng hình, bước đầu tiên là lấy logarit của ảnh quan sát, điều này giúp chuyển đổi nhiễu nhân thành nhiễu cộng Kết quả thu được từ quá trình này sẽ có ý nghĩa quan trọng trong việc xử lý ảnh.

Quá trình khử nhiễu ảnh bắt đầu bằng việc giảm nhiễu nhân có trong ảnh Sau đó, áp dụng bộ lọc tuyến tính để loại bỏ nhiễu cộng Cuối cùng, sử dụng phép biến đổi hàm e mũ để chuyển đổi về dạng ảnh thông thường Kết quả thu được từ lọc đồng hình sẽ cho chất lượng ảnh tốt hơn so với ảnh gốc.

Lọc trung vị (Median filter)

Bộ lọc trung vị là công cụ phổ biến trong xử lý ảnh, khắc phục những nhược điểm của bộ lọc trung bình So với bộ lọc trung bình, bộ lọc trung vị giữ lại độ nét tần số cao, đồng thời hiệu quả trong việc loại bỏ nhiễu.

Trung vị được viết với công thức:

Trong kỹ thuật lọc trung vị, kích thước cửa sổ thường được chọn là số lẻ, với các kích thước phổ biến như 3x3, 5x5 hoặc 7x7 Các cửa sổ này di chuyển trên bề mặt ảnh, và điểm trung tâm của mỗi cửa sổ tương ứng với điểm ảnh cần lọc Giá trị của điểm ảnh đó sẽ được thay thế bằng trung vị của tập hợp các giá trị điểm ảnh trong cửa sổ.

LÝ THUYẾT MẠNG THẦN KINH NHÂN TẠO

Mô hình nơ-ron nhân tạo

Mạng thần kinh nhân tạo, hay còn gọi là mạng nơ-ron nhân tạo, là một mô hình toán học đơn giản mô phỏng hoạt động của bộ não con người Bản chất của mạng này là mạng tính toán phân bố song song, khác biệt với các mô hình tính toán truyền thống Đặc biệt, hầu hết các mạng thần kinh cần được huấn luyện trước khi có thể sử dụng hiệu quả.

Vào năm 1944, McCulloch và Pitts đã phát triển cấu trúc cơ bản của nơ-ron trong mô hình mạng nơ-ron nhân tạo, mở ra khả năng xây dựng mô hình nơ-ron nhân tạo tương tự như hệ nơ-ron của con người.

Mô hình nơ-ron nhân tạo bao gồm các thành phần chính: đầu vào của nơ-ron được ký hiệu là xj, trọng số của nơ-ron là wij, và đầu ra của nơ-ron thứ i được ký hiệu là yi.

Mô hình mạng nơ-ron nhân tạo

Mạng nơ-ron nhân tạo (ANN) là một hệ thống được phát triển dựa trên nguyên lý hoạt động của mạng nơ-ron sinh học Các mạng nơ-ron này mô phỏng cách thức mà não bộ con người xử lý thông tin, cho phép thực hiện các tác vụ như phân loại, nhận diện và dự đoán một cách hiệu quả.

Hệ thống 29 bao gồm nhiều tế bào thần kinh (nơ-ron) liên kết chặt chẽ qua các liên kết nơ-ron, mỗi liên kết có trọng số đặc trưng cho tính kích hoạt hoặc ức chế giữa các nơ-ron Trọng số này được coi là phương tiện lưu trữ thông tin dài hạn trong mạng nơ-ron Quá trình huấn luyện có nhiệm vụ cập nhật các trọng số khi có thêm thông tin từ các mẫu học, nhằm điều chỉnh sao cho đầu ra của hệ thống hoàn toàn phù hợp với môi trường đang xem xét.

Trong mạng nơ-ron, nơ-ron nhận tín hiệu được gọi là nơ-ron vào, trong khi nơ-ron cung cấp thông tin ra được gọi là nơ-ron ra Các thông số cấu trúc của mạng nơ-ron rất quan trọng để xác định cách thức hoạt động và hiệu suất của nó.

 Số tín hiệu vào, số tín hiệu ra

 Số nơ-ron trên mỗi lớp ẩn

 Số lượng liên kết của mỗi nơ-ron

 Các trọng số liên kết.

Phân loại mạng nơ-ron

Tùy theo cấu trúc mạng, người ta chia ra các loại mạng sau đây:

 Mạng một lớp: là mạng chỉ gồm một lớp tế bào thần kinh xử lý

 Mạng nhiều lớp: là mạng gồm nhiều lớp tế bào thần kinh xử lý

 Mạng truyền thẳng: là mạng mà trong đó tín hiệu chỉ truyền theo một chiều từ ngõ vào đến ngõ ra

 Mạng hồi quy: là mạng mà trong đó có tín hiệu hồi tiếp từ ngõ ra trở về ngõ vào.

Các phương pháp huấn luyện mạng thần kinh nhân tạo

Mạng thần kinh nhân tạo phải được huấn luyện trước khi sử dụng Có hai kiểu học:

 Học cấu trúc (Structure Learning): để thay đổi cấu trúc mạng, bao gồm số tế bào thần kinh và cách liên kết giữa chúng

 Học thông số (Parameter Learning): để cập nhập các trọng số liên kết giữa các tế bào thần kinh trong mạng Có ba phương pháp học thông số:

 Học có giám sát (supervised learning)

Mạng nơ-ron nhận một tập mẫu học {(xk,dk)}, trong đó xk là tín hiệu đầu vào và dk là tín hiệu đầu ra mong muốn Sai lệch giữa tín hiệu đầu ra thực tế và tín hiệu mong muốn được theo dõi qua bộ tạo tín hiệu sai lệch Hệ số trọng lượng kết nối giữa các nơ-ron sẽ được điều chỉnh dựa trên tín hiệu sai lệch này, nhằm giảm thiểu sự khác biệt giữa tín hiệu đầu ra thực tế và tín hiệu đầu ra mong muốn.

Hình 3.2 Mô tả cách học có giám sát [15]

+ Học củng cố (Reinforced learning)

Trong thực tế, chúng ta không phải lúc nào cũng biết rõ dữ liệu đầu ra của mạng tương ứng với mẫu tín hiệu đầu vào nào Đôi khi, chúng ta chỉ có thể xác định đầu ra thực của mạng là đúng hay sai so với đầu ra mong muốn Thông tin đánh giá chỉ cho biết mức độ chính xác của ma trận trọng số, nhưng không chỉ rõ cách thay đổi ma trận này để đạt được kết quả đúng.

Tín hiệu ra mong muốn

Trọng số W của mạng nơ-ron

Tín hiệu vào Tín hiệu ra

Bộ tạo tín hiệu sai lệch

Hình 3.3 Mô tả cách học củng cố [15]

+ Học không có giảm sát (Unsupervised learning)

Trong quá trình học của mạng nơ-ron tự tổ chức, không có phản hồi từ môi trường bên ngoài để xác định tính chính xác của tín hiệu ra Thay vào đó, mạng tự phát hiện các mối liên hệ tiềm ẩn trong dữ liệu đầu vào và chuyển hóa những mối liên hệ này thành đầu ra Điều này cho phép mạng nơ-ron học hỏi một cách độc lập, tương tự như quá trình học không giám sát.

Hình 3.4 Mô tả cách học không giám sát [15]

Một số mô hình mạng nơ-ron ứng dụng để nhận dạng ảnh

3.5.1 Mạng Perceptron (mạng truyền thẳng 1 lớp)

Mạng Perceptron là một loại mạng nơ-ron với cấu trúc truyền thẳng một lớp, trong đó hàm tổng tại ngõ vào là hàm tuyến tính Hàm tác động tại ngõ ra có thể là hàm dấu, hàm tuyến tính hoặc hàm dạng S Tùy thuộc vào loại hàm tác động, có các thuật toán huấn luyện khác nhau cho mạng Perceptron.

Trọng số W của mạng nơ-ron

Tín hiệu vào Tín hiệu ra

Bộ tạo tín hiệu đánh giá

Trọng số W của mạng nơ-ron

Tín hiệu vào Tín hiệu ra

Hình 3.5 Mô hình mạng Perceptron 1 lớp (mạng truyền thẳng 1 lớp)

The Perceptron training algorithm, known as the Perceptron learning algorithm, is also referred to as the Error Correction Learning Rule.

Thuật toán học Perceptron được tóm tắt như sau [15]:

Bước 1: Chọn tốc độ học 𝜂 > 0

- Gán các vector trọng số 𝑤 𝑖 (𝑘) (𝑖 = 1, 𝑛̅̅̅̅̅) bằng giá trị ngẫu nhiên nhỏ bất kỳ Bước 3: Quá trình huấn luyện bắt đầu, tính:

Bước 4: Cập nhật các vector trọng số:

Bước 5: Tính sai số tích lũy:

Bước 6: Nếu k < K thì gán k = k+1 và trở lại bước 3 Nếu k = K thì tiếp tục bước 7 Bước 7: Kết thúc một chu kỳ huấn luyện (epoch)

- Nếu 𝐸 = 0 thì kết thúc quá trình học

- Nếu 𝐸 ≠ 0 thì gán 𝐸 = 0, k = 1 và trở lại bước 3 bắt đầu một chu kỳ huấn luyện mới

3.5.2 Mạng truyền thẳng nhiều lớp

Mạng truyền thẳng nhiều lớp là loại mạng có từ hai lớp tế bào thần kinh trở lên, bao gồm lớp vào và lớp ẩn Lớp vào kết nối với ngõ vào nhưng thường không thực hiện các phép toán xử lý, trong khi lớp ẩn kết nối với ngõ ra Sự kết nối giữa các tế bào thần kinh ở các lớp có thể là đầy đủ hoặc không đầy đủ.

Khác với mạng truyền thẳng 1 lớp, mạng truyển thẳng nhiều lớp có thể giải bài toán không khả phân tuyến tính

Thuật toán huấn luyện mạng truyền thẳng nhiều lớp sử dụng phương pháp lan truyền ngược, bao gồm hai bước truyền thông tin Đầu tiên, mẫu dữ liệu đầu vào x(k) được truyền từ ngõ vào đến ngõ ra, tạo ra tín hiệu y(k) tại ngõ ra của mạng Tiếp theo, sai số được tính là sai lệch giữa d(k) và y(k) sẽ được truyền ngược từ lớp ra về lớp trước đó để cập nhật trọng số của mạng.

Lớp vào Lớp ẩn Lớp ẩn Lớp ra

Hình 3.6 Mạng truyền thẳng nhiều lớp

Thuật toán lan truyền ngược để huấn luyện mạng truyền thằng nhiều lớp được tóm tắt như sau [15]:

Bước 1: Chọn tốc độ 𝜂 > 0, chọn sai số cực đại 𝐸 𝑚𝑎𝑥

- Gán các trọng số 𝑤 𝑖𝑞 (𝑘), 𝑣 𝑞𝑗 (𝑘) (𝑖 = 1, 𝑛̅̅̅̅̅; 𝑗 = 1, 𝑚̅̅̅̅̅̅; 𝑞 = 1, 𝑙̅̅̅̅) bằng giá trị ngẫu nhiên nhỏ bất kỳ

Bước 3: (Truyền thuận dữ liệu) Tính ngõ ra của mạng với tín hiệu vào là 𝑥 (𝑘) :

Bước 4: (Lan truyền ngược sai số) Cập nhập trọng số của mạng:

Bước 5: Tính sai số tích lũy:

Bước 6: Nếu k < K thì gán k = k+1 và trở lại bước 3 Nếu k = K thì tiếp tục bước 7 Bước 7: Kết thúc một chu kỳ huấn luyện

Nếu 𝐸 < 𝐸 𝑚𝑎𝑥 thì kết thúc quá trình học

Nếu 𝐸 ≥ 𝐸 𝑚𝑎𝑥 thì gán E = 0, k = 1 và trở lại bước 3 bắt đầu một chu kỳ huấn luyện mới

Mạng nơ-ron truyền thẳng nhiều lớp, kết hợp với thuật toán lan truyền ngược, là một trong những mô hình phổ biến và đơn giản nhất cho việc nhận dạng ảnh Trong nghiên cứu này, tác giả tập trung vào việc áp dụng mạng nơ-ron truyền thẳng để thực hiện nhiệm vụ nhận diện hình ảnh hiệu quả.

2 lớp với thuật toán lan truyền ngược

NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

Thiết kế chậu chứa cá

Chậu chứa cá đóng vai trò quan trọng trong quá trình thu nhận ảnh đầu vào, ảnh hưởng lớn đến kết quả xử lý sau này Để đảm bảo hiệu quả, chậu chứa cần có màu sắc tương phản với cá, ánh sáng phân bố đều và mức nước ổn định trên toàn bộ đáy chậu Chúng tôi đã chọn chậu chứa bằng mica, hình hộp vuông với kích thước 13cmx13cm Nguồn sáng sử dụng là 4 bóng đèn LED (9W, 806lm) đặt dưới chậu, cách đáy 18cm Camera 13 Megapixel được cố định phía trên chậu, cách đáy 15cm, với mức nước từ 1cm đến 1,5cm để hạn chế cá bơi chồng lên nhau.

Hình 4.1 Chậu chứa cá giống

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

Tác giả tiến hành thực nghiệm bằng cách cho cá và tạp chất vào chậu chứa, sau đó sử dụng máy chụp hình kỹ thuật số 13 Megapixel để ghi lại hình ảnh của cá và tạp chất Qua nhiều lần chụp, tác giả đã thu thập được một lượng lớn ảnh cá và tạp chất, tạo thành bộ dữ liệu huấn luyện cho mạng nơ-ron.

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

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

Hình 4.3 Một số hình ảnh tạp

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

Hàm rgb2gray chuyển đổi ảnh màu RGB thành ảnh mức xám, trong đó đối tượng cá xuất hiện với màu đen nổi bật hơn so với nền xung quanh Sau khi áp dụng hàm này, quá trình đảo pixel trong ảnh mức xám cũng được thực hiện.

Để xác định trọng tâm của ảnh, việc hiển thị điểm trọng tâm là rất quan trọng Tuy nhiên, nếu đối tượng cá có màu đen, điểm trọng tâm sẽ khó quan sát Do đó, tác giả đã sử dụng hàm imcomplement trong Matlab để đảo các pixel: biến pixel 0 thành pixel 1 và ngược lại (đảo đen thành trắng và trắng thành đen) Hàm này có thể xử lý ảnh nhị phân, ảnh xám hoặc ảnh màu RGB Trong nghiên cứu này, tác giả đã chọn ảnh xám làm dữ liệu đầu vào cho hàm imcomplement.

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

Hàm này nhận đầu vào là ảnh mức xám đã được lọc nhiễu và trả về ảnh mức xám với độ tương phản giữa hai màu đen và trắng rõ nét hơn.

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 được sử dụng để xác định ngưỡng giá trị mức xám cho ảnh đã được tăng cường độ tương phản Dữ liệu đầu vào của hàm là ảnh mức xám, trong khi dữ liệu đầu ra là ngưỡng giá trị mức xám của ảnh.

Hàm im2bw được sử dụng để chuyển đổi ảnh mức xám thành ảnh nhị phân đen trắng Trong quá trình này, các điểm ảnh có giá trị mức xám lớn hơn ngưỡng sẽ được chuyển thành màu đen, trong khi các điểm ảnh còn lại sẽ trở thành màu trắng Kết quả cuối cùng là một ma trận điểm ảnh, trong đó mỗi điểm có giá trị là 0 hoặc 1.

Để loại bỏ các vùng ảnh nhỏ có ít pixel, tác giả sử dụng hàm bwareaopen trong Matlab Ảnh chụp thực tế thường chứa nhiều tạp chất nhỏ mà không thể xây dựng thành ảnh tạp mẫu để huấn luyện mạng nơ-ron Do đó, việc loại bỏ các tạp chất này là cần thiết.

Hàm bwareaopen xử lý ảnh nhị phân, loại bỏ các vùng đối tượng có số pixel ít, và trả về ảnh nhị phân đã được tinh chỉnh.

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

Quá trình trích đặc trưng của ảnh

Tìm trọng tâm của ảnh cá:

Theo [13] việc xác định tọa độ trọng tâm của đối tượng được thực hiện theo công thức sau:

Trong đó: S là diện tích đối tượng

Mx, My là momen so với trục x và trục y xSize, ySize là kích thước ảnh nhị phân của đối tượng bw là ảnh nhị phân, 𝑏𝑤 = {1 𝑛ế𝑢 (𝑥, 𝑦) ∈ 𝐷

0 𝑛ế𝑢 (𝑥, 𝑦) ∉ 𝐷 , D là miền chứa đối tượng

M0 = (x0,y0) là tọa độ trọng tâm của đối tượng

Điểm xuất phát là vị trí khởi đầu cho quá trình xác định đường biên của cá, nơi bán kính từ tâm cá đến đường biên đạt giá trị lớn nhất Từ điểm này, các điểm trên đường biên của cá sẽ được xác định một cách chính xác.

Trích đặc trưng của ảnh cá

Hình dạng của con cá được xác định bởi các bán kính từ trọng tâm đến biên của nó Tác giả chia đường biên của cá thành 200 đoạn thẳng nhỏ, từ đó tạo ra đặc trưng ảnh của cá với 200 bán kính từ trọng tâm đến các đoạn thẳng nhỏ, hình thành nên hình dáng của con cá.

Hình 4.11 Trọng tâm của ảnh cá Hình 4.12 Điểm xuất phát của ảnh cá

Hình 4.13 Trích đặc trưng ảnh cá

Quá trình thiết kế và huấn luyện mạng nơ-ron

Để thiết kế mạng nơ-ron, cần xác định số nơ-ron ở lớp vào, lớp ra, số lớp ẩn và số nơ-ron trong lớp ẩn Với đặc trưng của ảnh cá có 200 giá trị dữ liệu, số nơ-ron ở lớp vào sẽ là 200.

Nhận dạng ảnh cá sẽ cho ra kết luận chính xác, do đó số nơ-ron ngõ ra chỉ cần là 1 nơ-ron.

Sau nhiều lần thử nghiệm quá trình huấn luyện mạng nơ-ron với dữ liệu đã được tạo ra, kết quả tốt nhất đạt được khi sử dụng mạng nơ-ron truyền thẳng 2 lớp với các thông số tối ưu.

- Số nơ-ron ngõ vào: 200

- Số nơ-ron lớp ẩn: 30

- Số nơ-ron lớp xuất: 1

- Hàm huấn luyện là traingdx

- Hàm truyền lớp ẩn: logsig

- Hàm truyền lớp xuất: logsig

- Số thế hệ huấn luyện: 250000

Quá trình huấn luyện mạng nơ-ron gặp khó khăn trong việc xác định số lượng nơ-ron lớp ẩn hợp lý Số nơ-ron lớp ẩn quá lớn hoặc quá ít đều ảnh hưởng tiêu cực đến độ chính xác của quá trình huấn luyện Nếu số nơ-ron lớp ẩn quá ít, mạng sẽ không thể hội tụ trong quá trình học.

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 là bước quan trọng để kiểm tra độ chính xác của mô hình Nếu kết quả không đạt yêu cầu, có thể điều chỉnh bộ dữ liệu huấn luyện hoặc thiết kế lại cấu trúc mạng nơ-ron để cải thiện hiệu suất.

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

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

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

Quá 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

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

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

Quá trình nhận dạng và đếm số lượng cá

Quá trình nhận dạng và đếm cá được thực hiện theo sơ đồ hình 4.18 Hình ảnh cá cần phân tích sẽ được thu thập bởi camera kỹ thuật số và chuyển vào máy tính để xử lý Ảnh này là ảnh màu RGB, như thể hiện trong hình 4.19, cho thấy hình chụp cá ngẫu nhiên.

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 không đáp ứng yêu cầu, cần quay lại và điều chỉnh dữ liệu mẫu huấn luyện Quá trình này sẽ tiếp tục cho đến khi mạng nơ-ron đạt được kết quả nhận dạng đúng theo yêu cầu, lúc đó mới chọn mạng đó.

Quá trình nhận dạng và đếm cá bắt đầu bằng việc chuyển đổi ảnh màu RGB sang ảnh mức xám Sau đó, thực hiện đảo pixel, lọc nhiễu và tăng cường độ tương phản cho ảnh mức xám Cuối cùng, ảnh mức xám của các con cá được chuyển đổi thành ảnh nhị phân đen trắng để phục vụ cho việc nhận dạng và đếm.

Ảnh nhị phân đen trắng được tạo thành từ một ma trận điểm ảnh, trong đó các điểm ảnh thể hiện hình dạng cá có giá trị 1 (màu trắng), trong khi các điểm ảnh nền có giá trị 0 (màu đen) Việc đếm số lượng cá trong ảnh ngẫu nhiên là cần thiết.

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

Từng đối tượng trong ảnh được tách riêng để trích xuất đặc trưng, sau đó đưa vào mạng nơ-ron đã được huấn luyện nhằm quyết định giữ lại hoặc loại bỏ đối tượng đã tách.

Sau khi nhận diện tất cả các đối tượng trong ảnh, phần mềm sẽ tổng hợp các hình ảnh cá để tạo ra một bức ảnh cuối cùng chỉ chứa những con cá.

Ghi nhãn các đối tượng cá và tạp có trong ảnh:

Khi gán nhãn các đối tượng cá và tạp trong ảnh, toàn bộ ảnh sẽ được chuyển đổi thành ma trận Các điểm thuộc ảnh nền sẽ có giá trị 0, trong khi các điểm thuộc ảnh đối tượng thứ nhất có giá trị 1, và các điểm thuộc ảnh đối tượng thứ hai, thứ ba, v.v sẽ lần lượt có giá trị 2, 3, và tiếp tục như vậy.

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 biệt các đối tượng đã được đánh dấu theo thứ tự, sau đó thực hiện nhận dạng từng đối tượng một cách riêng lẻ Kết quả cuối cùng cho biết đối tượng vừa được nhận diện là ảnh cá hay ảnh tạp Cuối cùng, chương trình chỉ giữ lại những đối tượng đã được xác định rõ ràng.

Chương trình nhận dạng và đếm cá có khả năng xử lý 50 đối tượng cá trong ảnh, đồng thời thống kê số lượng cá và số lượng tạp trong ảnh gốc Giao diện phần mềm và kết quả của quá trình này được minh họa trong 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á

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

Ảnh thực tế gồm 6 cá và không có tạp

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

Chương trình đã thành công trong việc đếm đúng 5 cá và 2 tạp, đồng thời hiển thị hình ảnh của những con cá mà nó đã nhận diện và đếm Tổng cộng, có 10 con cá được hiển thị mà không có tạp.

Trong bức ảnh thực tế, có tổng cộng 6 con cá, trong đó có 2 con bơi sát nhau Chương trình nhận dạng đã xác định được 4 con cá và 1 đối tượng tạp Hai con cá bơi chồng lên nhau không được nhận diện là cá, dẫn đến việc chương trình loại chúng ra khỏi kết quả cuối cùng Ngoài ra, trong một bức ảnh khác, có 7 con cá và 3 đối tượng tạp.

Chương trình nhận dạng đã phát hiện 6 cá và 4 tạp, tuy nhiên, có sự nhầm lẫn khi nhận diện 2 con cá thành 2 tạp và sai 1 ảnh tạp thành cá Trong thực tế, ảnh chứa 10 cá và 9 tạp.

Chương trình đã đếm được 9 cá và 11 tạp, tuy nhiên chưa nhận dạng được 2 cá và nhầm lẫn 1 ảnh tạp thành cá Trong thực tế, có tổng cộng 33 cá và không có ảnh tạp nào.

Trong một bức ảnh thực tế, có tổng cộng 54 cá, trong đó không có tạp Chương trình nhận dạng đã xác định và đếm được 29 cá và 2 tạp, do có 2 trường hợp cá bơi chồng lên nhau khiến chương trình nhận diện sai và loại bỏ khỏi kết quả cuối cùng Ảnh thực tế này chỉ có 53 cá mà không có tạp.

Chương trình đã nhận diện được 51 con cá và 2 tạp chất Hai con cá chưa được xác định rõ ràng nên được xem là tạp chất Do đó, tổng số tạp chất mà chương trình ghi nhận là 2 Trong ảnh, có 74 con cá và không có tạp chất nào.

Chương trình đã xác định được 70 cá và 4 tạp, trong đó có 2 trường hợp cá bơi chồng nhau, được nhận diện là ảnh tạp và bị loại bỏ khỏi kết quả cuối cùng.

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 bằng giải thuật Hiệu suất

Hiệu suất trung bình 10 lần đếm 99%

Giải thuật nhận dạng và đếm con giống đã đạt hiệu suất 99% khi áp dụng cho các mẫu có từ 10 đến 75 con cá.

Các kết quả thực nghiệm cho thấy giải pháp đếm cá giống này hiệu quả khi cá bơi riêng lẻ Tuy nhiên, độ chính xác của kết quả giảm khi cá bơi chồng lên nhau hoặc sát nhau Thuật toán đã loại bỏ tạp chất trong quá trình đếm, giúp nâng cao độ chính xác của kết quả.

Ngày đăng: 19/09/2022, 15:19

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[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 Sách, tạp chí
Tiêu đề: Young Shrimp detection by using modified directional wavelet coefcients
[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 Sách, tạp chí
Tiêu đề: Live shrimp larvae counting method using co-occurrence color histogram
[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 Sách, tạp chí
Tiêu đề: Automated Fish Counting Using Image Processing
[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 Sách, tạp chí
Tiêu đề: Peruvian Scallop larvae counting system using image processing techniques
[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 Sách, tạp chí
Tiêu đề: Identification of fish species based on image processing and statistical analysis research
[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 Sách, tạp chí
Tiêu đề: Image processing and nơ-ron computing used in the diagnosis of tuberculosis
[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 Sách, tạp chí
Tiêu đề: Detection of lung cancer from CT image using image processing and nơ-ron network
[10] P. Neelamegam, S. Abirami, K. Vishnu Priya and S. R. Valantina, "Analysis of rice granules using image processing and nơ-ron network," Information &amp;Communication Technologies (ICT), 2013 IEEE Conference on, JeJu Island, 2013, pp. 879-884 Sách, tạp chí
Tiêu đề: Analysis of rice granules using image processing and nơ-ron network
[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 Khác
[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 Khác
[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 Khác
[13] Trương Quốc Bảo, Nguyễn Chánh Nghiệm, Nguyễn Minh Kha, Huỳnh Hoàng Giang, Võ Minh Trí. Phát triển thuật toán xử lý ảnh để phát hiện và đếm tôm giống.Hội nghị toàn quốc lần thứ 3 về Điều khiển và tự động hóa-VCCA,2015 Khác
[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 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Máy đếm quang học có hệ thống camera - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 1.1. Máy đếm quang học có hệ thống camera (Trang 19)
Hình 1.2. Máy đếm tôm, cá giống - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 1.2. Máy đếm tôm, cá giống (Trang 20)
Hình 1.3. Máy đếm con giống XperCount2 - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 1.3. Máy đếm con giống XperCount2 (Trang 21)
Hình 1.4. Máy đếm tôm giống có năng suất 6000 con/giờ - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 1.4. Máy đếm tôm giống có năng suất 6000 con/giờ (Trang 24)
Hình 1.5. Mô hình thiết bị đếm tôm - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 1.5. Mô hình thiết bị đếm tôm (Trang 24)
Hình 2.2. Các bước tiền xử lý ảnh - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 2.2. Các bước tiền xử lý ảnh (Trang 29)
Hình 2.3. Các bước của khâu trích đặc trưng ảnh - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 2.3. Các bước của khâu trích đặc trưng ảnh (Trang 30)
Hình 3.1. Mô hình nơ-ron nhân tạo  Trong mô hình: - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 3.1. Mô hình nơ-ron nhân tạo Trong mô hình: (Trang 46)
Hình 3.3 Mô tả cách học củng cố [15] - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 3.3 Mô tả cách học củng cố [15] (Trang 49)
Hình 3.5 Mô hình mạng Perceptron 1 lớp (mạng truyền thẳng 1 lớp) - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 3.5 Mô hình mạng Perceptron 1 lớp (mạng truyền thẳng 1 lớp) (Trang 50)
Hình 3.6 Mạng truyền thẳng nhiều lớp - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 3.6 Mạng truyền thẳng nhiều lớp (Trang 52)
Hình 4.1 Chậu chứa cá giống - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 4.1 Chậu chứa cá giống (Trang 54)
Hình 4.2 Một số hình ảnh cá - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 4.2 Một số hình ảnh cá (Trang 56)
Hình 4.3. Một số hình ảnh tạp - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 4.3. Một số hình ảnh tạp (Trang 56)
Hình 4.4. Giao diện đồ họa chương trình nhận dạng và đếm cá - Giải pháp đếm con giống ứng dụng công nghệ xử lý ảnh
Hình 4.4. Giao diện đồ họa chương trình nhận dạng và đếm cá (Trang 57)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w