Nhất là, ở Việt Nam hiệnnay, chưa có nhiều nghiên cứu về vấn đề nhận dạngcác đối tượng ảnh, mặc dù những ứng dụng thực tếđang đòi hỏi có những cách giải quyết cụ thể,chẳng hạn như phần m
TỔNG QUAN VỀ XỬ LÝ ẢNH
Xử lý ảnh là gì 7 2 Tổng quan trong xử lý ảnh bằng phương pháp phát hiện biên ảnh Canny 2.0 Các vấn đề cơ bản về phát hiện biên, lọc Canny
Con người thu nhận thông tin chủ yếu qua các giác quan, trong đó thị giác là quan trọng nhất Gần đây, với sự phát triển mạnh mẽ của phần cứng máy tính, công nghệ xử lý ảnh và đồ họa đã có nhiều ứng dụng đa dạng trong cuộc sống Những tiến bộ này đóng vai trò thiết yếu trong việc cải thiện tương tác giữa con người và máy móc.
Quá trình xử lý ảnh là thao tác trên ảnh đầu vào để đạ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ể.
Quá trình xử lý ảnh liên quan đến việc xem ảnh như một tập hợp các điểm ảnh, trong đó mỗi điểm ảnh biểu thị cường độ sáng hoặc một đặc trưng nào đó tại một vị trí cụ thể của đối tượng trong không gian Hình ảnh có thể được mô tả như một hàm n biến P(c1, c2, , cn).
Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều.
Sơ đồ tổng quát của một hệ thống xử lý ảnh:
2 Tổng quan trong xử lý ảnh bằng phương pháp phát hiện biên ảnh Canny
Phương pháp lọc Canny là một kỹ thuật quan trọng trong xử lý ảnh và thị giác máy tính, giúp phát hiện ranh giới trong ảnh Kỹ thuật này đặc biệt hiệu quả trong việc nhận diện cạnh và đường nét, đóng vai trò then chốt trong nhiều ứng dụng liên quan đến phân tích hình ảnh.
Quá trình xử lý ảnh bằng phương pháp Canny bao gồm các bước quan trọng như thu thập dữ liệu, làm mờ ảnh để giảm nhiễu, tính gradient của ảnh nhằm xác định độ thay đổi sáng tối, tìm biên cạnh ảnh để xác định các ranh giới, lọc biên cạnh để loại bỏ những điểm không cần thiết, và cuối cùng là kết hợp các biên cạnh để tạo ra hình ảnh rõ ràng và sắc nét hơn.
2.0 Các vấn đề cơ bản về phát hiện biên, lọc Canny
Biên là yếu tố quan trọng trong việc trích chọn đặc điểm để hiểu rõ hình ảnh Hiện tại, chưa có định nghĩa chính xác về biên, và mỗi ứng dụng sử dụng các độ đo khác nhau Một trong những độ đo phổ biến là sự thay đổi đột ngột về cấp xám Ví dụ, trong ảnh đen trắng, một điểm được coi là điểm biên nếu nó là điểm đen có ít nhất một điểm trắng bên cạnh Tập hợp các điểm biên này tạo thành biên hoặc đường bao của đối tượng, và người ta thường chia các phương pháp phát hiện biên thành hai loại cơ bản.
1 Phát hiện biên trực tiếp: là các phương pháp phát hiện biên dựa vào sự thay đổi mức xám sủ dụng các kỹ thuật thay đổi theo hướng
2 Phát hiện biên gián tiếp:
Kỹ thuật phát hiện biên Canny là một phương pháp hiệu quả để dò biên trực tiếp, đặc biệt trong các loại ảnh nhiễu Phương pháp này được phát triển bởi John Canny tại phòng thí nghiệm MIT vào năm 1986 Bộ tách biên Canny được xem là bộ tách biên mạnh nhất nhờ vào hàm edge, và nó được xây dựng dựa trên ba ràng buộc cơ bản.
Mức lỗi: có ý nghĩa là một phương pháp phát hiện biên chỉ và phải tìm tất cả các biên, không biên nào được tìm bị lỗi.
Định vị: Điều này nói đến độ chênh lệch cấp xám giữa các điểm trên cùng một biên phải càng nhỏ càng tốt.
Hiệu suất: là làm sao cho khi tách biên không được nhận ra nhiều biên trong khi chỉ có một biên tồn tại.
Canny đã đề xuất rằng nhiễu trong ảnh tuân theo phân bố Gauss và coi phương pháp phát hiện biên như một bộ lọc nhân chập có khả năng làm mịn nhiễu và xác định cạnh Vấn đề đặt ra là tìm ra bộ lọc tối ưu nhất, với ba ràng buộc được cụ thể hóa thành lý thuyết toán học.
Hàm SNR được sử dụng để tối đa hóa tỉ số giữa tín hiệu và nhiễu, trong khi Localization thể hiện nghịch đảo tỉ lệ chênh lệch mức xám giữa các điểm biên, với giá trị càng lớn càng tốt Canny đã tìm kiếm một bộ lọc f nhằm tối đa hóa giá trị SNR * Localization và phát hiện rằng giá trị này xấp xỉ đạo hàm bậc nhất của hàm Gauss Khi đó, G có đạo hàm theo cả hai hướng x và y Bộ lọc tối ưu trong thuật toán phát hiện biên Canny chính là G’, và việc nhân chập ảnh với G’ cho phép thu được ảnh E đã được tách biên ngay cả trong trường hợp có nhiều nhiễu Mặc dù phép nhân xoắn có thể thực hiện dễ dàng, việc tính toán lại phức tạp, đặc biệt là với mảng hai chiều Tuy nhiên, phép nhân xoắn với mảng Gauss hai chiều có thể được chia thành hai phép nhân xoắn với mặt nạ Gauss một chiều, và vi phân cũng có thể thực hiện thông qua phép nhân xoắn ở mảng một chiều, tạo ra hai ảnh: một ảnh từ thành phần x và một ảnh từ thành phần y.
Bước đầu tiên quan trọng trong quá trình xử lý hình ảnh là thu thập dữ liệu ảnh thô, vì nó cung cấp thông tin ban đầu về các bộ phận được chụp Những thông tin này đóng vai trò then chốt cho các bước xử lý tiếp theo.
Các phương thức chụp ảnh khác nhau sử dụng các nguyên tắc vật lý đa dạng, liên quan đến việc phát hiện các đại lượng vật lý khác nhau Chẳng hạn, trong chụp ảnh bức xạ kỹ thuật số (DR) và chụp cắt lớp vi tính (CT), năng lượng của các photon tới là yếu tố chính Ngược lại, trong chụp cắt lớp phát xạ positron (PET), cả năng lượng và thời gian phát hiện photon đều quan trọng Hình ảnh cộng hưởng từ (MRI) dựa vào các tham số của tín hiệu tần số vô tuyến từ các nguyên tử bị kích thích, trong khi siêu âm tập trung vào các tham số của sóng âm phản xạ.
Quá trình thu thập dữ liệu hình ảnh y tế có thể được chia thành bốn bước chính: phát hiện đại lượng vật lý, chuyển đổi thành tín hiệu điện, điều chỉnh tín hiệu thu được và số hóa Sơ đồ tổng quát cho thấy tất cả các bước này, áp dụng cho hầu hết các phương thức hình ảnh y tế.
Hình 2 Sơ đồ quá trình thu thập dữ liệu Nguồn: Analog
Trước khi xác định biên cạnh trong ảnh, việc làm mờ ảnh là cần thiết để giảm nhiễu và giúp biên cạnh dễ nhận diện hơn Phương pháp lọc Canny sử dụng bộ lọc Gaussian để thực hiện quá trình làm mờ này.
1 Chuẩn bị bộ lọc gaussian
Chọn kích thước của bộ lọc (hoặc kernel) Kích thước này quyết định độ mờ của ảnh sau khi áp dụng bộ lọc.
Một kích thước thông thường là 5x5 hoặc 3x3.
2 Áp dụng bộ lọc gaussian lên ảnh
Duyệt qua từng điểm ảnh trong ảnh gốc và tính toán giá trị mới cho điểm ảnh đó dựa trên bộ lọc Gaussian.
Quá trình này dùng để làm mờ ảnh bằng cách làm trung bình giá trị pixel xung quanh, tạo ra ảnh đã làm mờ.
Sau khi hoàn thành quá trình này, bạn sẽ có một bức ảnh đã được làm mờ bằng phương pháp Gaussian, điều này sẽ được sử dụng để tiếp tục phát hiện biên cạnh trong các bước tiếp theo của phương pháp lọc Canny.
Trong quá trình làm mờ ảnh bằng bộ lọc Canny, việc áp dụng bộ lọc Gaussian là rất quan trọng, vì nó giúp giảm nhiễu và làm mịn các đặc điểm trong ảnh Điều này tạo điều kiện thuận lợi cho việc phát hiện biên cạnh một cách chính xác hơn trong bước tiếp theo của quy trình.
Tổng quan về việc tính gradient trong phương pháp lọc Canny để phát hiện biên cạnh như sau:
Giới thiệu cách thức thu thập dữ liệu và trình bày một phần dữ liệu thu thập được Thực hiện tiền xử lý dữ liệu trước khi đưa vào mô hình 12 2 Phân tích, xác định tên các thuộc tính dữ liệu cần
Cách thức thu thập dữ liệu (data)
Trước khi áp dụng phương pháp Canny Edge Detection trong xử lý ảnh, việc thu thập và tiền xử lý dữ liệu ảnh là rất quan trọng Quy trình này bao gồm các bước cụ thể nhằm đảm bảo dữ liệu được chuẩn bị một cách cẩn thận và chính xác.
1 Xác định mục tiêu thu thập dữ liệu
2 Xác định nguồn dữ liệu
4 Lưu trữ và quản lý
6 Sao lưu và bảo vệ dữ liệu
● Tiền xử lý dữ liệu
Phương pháp Canny là một kỹ thuật phổ biến trong xử lý ảnh, đặc biệt là trong việc phát hiện biên cạnh Để tối ưu hóa quá trình phát hiện biên, phương pháp này yêu cầu một loạt các bước tiền xử lý nhằm chuẩn hóa ảnh đầu vào Các bước này đóng vai trò quan trọng trong việc cải thiện độ chính xác và hiệu quả của việc phát hiện biên cạnh.
1 Làm mờ ảnh (Gaussian Blur): Đầu tiên, ảnh đầu vào được làm mờ bằng bộ lọc Gaussian để loại bỏ nhiễu và làm cho biên cạnh trở nên mượt hơn Việc này giúp giảm thiểu các chi tiết không cần thiết và tạo ra một ảnh mờ.
2 Tính toán đạo hàm gradient: Canny sử dụng các bộ lọc Sobel hoặc Prewitt để tính toán đạo hàm gradient của ảnh Điều này giúp xác định hướng và độ lớn của biên cạnh tại mỗi điểm ảnh Gradient được tính cho cả hai hướng (theo chiều dọc và ngang).
3 Tính toán biên độ gradient: Sau khi tính toán gradient theo cả hai hướng, biên độ gradient (gradient magnitude) được tính bằng cách sử dụng công thức Euclidean: Biên độ = sqrt((gradient_x)^2 + (gradient_y)^2)
4 Phát hiện ngưỡng (Thresholding): Sau khi tính toán biên độ gradient, một ngưỡng trên và dưới được áp dụng để xác định các điểm ảnh thuộc về biên cạnh chính xác hoặc không chắc chắn Các điểm có biên độ gradient lớn hơn ngưỡng trên được xem xét là điểm biên cạnh chắc chắn, trong khi các điểm có biên độ gradient nhỏ hơn ngưỡng dưới được bỏ qua Các điểm nằm giữa ngưỡng trên và dưới có thể được xem xét, tùy thuộc vào cách triển khai cụ thể của thuật toán.
5 Xác định biên cạnh cuối cùng (Edge Tracking by Hysteresis): Trong bước này, các điểm biên cạnh được xác định chính xác bằng cách sử dụng một thuật toán gọi là
Thuật toán "Edge Tracking by Hysteresis" kết hợp các điểm có biên độ gradient lớn để tạo thành các đường biên cạnh liên tục, giúp loại bỏ hiệu quả các điểm ảnh giả biên cạnh.
Các bước xử lý dữ liệu tạo ra một ảnh nhị phân, trong đó các điểm ảnh biên cạnh được thể hiện bằng giá trị pixel 255 (hoặc 1), trong khi các điểm không phải biên cạnh có giá trị pixel 0.
3 Các bước cụ thể tiến hành phương pháp Canny
Bước đầu tiên trong quá trình xử lý ảnh là làm trơn ảnh bằng cách áp dụng bộ lọc Gauss thông qua phép nhân chập Sau khi thực hiện phép nhân chập, chúng ta sẽ thu được dữ liệu ảnh S đã được làm trơn.
Bước 2 : Lấy đạo hàm bậc nhất của kết quả ở bước
Kết quả của đạo hàm hàm Gauss theo hai hướng x và y được thể hiện qua công thức S = (g * I) = (g) * I Điều này cho thấy rằng đạo hàm của hàm Gauss theo hướng x nhân với ảnh I và đạo hàm của hàm Gauss theo hướng y nhân với ảnh I là sự tổng hợp của hai thành phần này Thay vì thực hiện nhân xoắn ảnh với hàm Gauss trước, ta có thể đạo hàm hàm Gauss theo hai hướng trước rồi mới tiến hành nhân xoắn với ảnh.
Để thực hiện bước thứ hai, sau khi nhân xoắn ảnh I với bộ lọc Gauss ở bước 1, ta có ảnh mới S được làm trơn Tiếp theo, ta lấy đạo hàm của ảnh S theo hai hướng x và y, sau đó tổng hợp kết quả Phương pháp Gradient, dựa vào cực đại của đạo hàm bậc nhất, cho phép dò biên cục bộ Do đó, ở bước 2, ta thực hiện đạo hàm bằng cách nhân ảnh S với các mặt nạ trong phương pháp Gradient, sử dụng các toán tử như Sobel và Pixel.
Difference Ở đây ta tiến hành nhân xoắn ảnh S với hai mặt nạ của phương pháp Sobel theo hai hướng x và y như sau:
Sau khi thực hiện nhân xoắn ảnh theo hai hướng x và y, chúng ta thu được hai ảnh Sx và Sy Tiếp theo, chúng ta tổng hợp hai kết quả này để tạo ra kết quả cuối cùng S'.
Với θ là hướng của đường biên.
Bước 3: Loại bỏ các điểm dư thừa bằng cách so sánh giá trị của mỗi điểm ảnh trên ảnh S’ với hai điểm lân cận nằm trên đường thẳng chứa hướng của đường biên θ.
Sau khi hoàn thành bước 3, chúng ta sẽ áp dụng hai ngưỡng: ngưỡng cao (Th) và ngưỡng thấp (Tl) Các điểm biên được đánh dấu (không bị loại) sẽ tiếp tục được áp dụng với ngưỡng cao và ngưỡng thấp.
- Xét điểm ảnh I tại vị trí (x, y)
- So sánh I(x,y) với hai ngưỡng Th và Tl + Nếu I(x,y) ≥ Th: đánh dấu và giữ lại điểm biên này (đặt giá trị bằng 1)
+ Nếu I(x,y) < Tl: Loại bỏ điểm biên này (đặt giá trị bằng 0)
Bài toán 16 2 Mô tả về các khối lệnh của trương trình 16 3 Đánh giá mô hình 21 KẾT LUẬN
Mô hình của tôi sử dụng phương pháp lọc Canny để phát hiện biên ảnh, đồng thời áp dụng phương pháp lọc Prewitt để so sánh hiệu quả giữa hai phương pháp Thay vì áp dụng một thuật toán cụ thể, tôi thực hiện một loạt các xử lý hình ảnh cơ bản bằng cách sử dụng thư viện OpenCV và PIL (Pillow).
2 Mô tả về các khối lệnh của trương trình
Mở hộp thoại và tải tệp ảnh từ máy để tiến hành xử lý :
Hiển thị hình ảnh vừa tải xuống lên trên giao diện người dùng :
Phát hiện biên cạnh bằng Canny và Prewitt trên hình ảnh ban đầu :
Sau đó dùng thư viện có sẵn tkinter để tạo giao diện người dùng :
Dưới đây là kết quả của chương trình trên :
Ảnh gốc (sử dụng ảnh y tế )
Ảnh sau khi dùng phương pháp lọc Canny
Ảnh khi dùng phương pháp lọc Prewitt
Ứng dụng mô hình phát hiện biên cạnh ảnh sử dụng phương pháp lọc Canny mang lại nhiều lợi ích trong các lĩnh vực khác nhau, đặc biệt là trong y tế Hiện nay, nhu cầu chăm sóc sức khỏe đang trở thành ưu tiên hàng đầu của xã hội, vì vậy việc xử lý ảnh y tế thông qua ứng dụng này sẽ góp phần nâng cao chất lượng chẩn đoán và điều trị.
Mô hình lọc Canny trong hình ảnh y tế mang lại nhiều lợi ích đáng kể cho cả người dân và bác sĩ Đối với người dân, phương pháp này giúp họ hiểu rõ hơn về tình trạng sức khỏe của mình, dễ dàng nhận diện các vùng bất thường và từ đó tiến hành thăm khám y tế sớm, góp phần phát hiện bệnh lý nhanh chóng Đối với các bác sĩ, lọc Canny là công cụ hỗ trợ đắc lực trong chẩn đoán bệnh, nâng cao tỷ lệ chẩn đoán chính xác Hình ảnh được xử lý bằng phương pháp này còn giúp bác sĩ trong việc lập kế hoạch phẫu thuật, xác định vị trí can thiệp và theo dõi sự tiến triển của bệnh.
● Ưu nhược điểm của mô hình o Ưu điểm
Phát hiện biên sắc nét, loại bỏ nhiễu, rất hiệu quả trong các hệ thống xử lý ảnh, tiết kiệm thời gian. o Nhược điểm
Có thể bị mất thông tin chi tiết, phụ thuộc vào hình ảnh ban đầu, không thích hợp cho 1 số loại hình ảnh.
3 Đánh giá phương pháp lọc Canny với các phương pháp lọc prewitt trên tập ảnh y tế
Trong nghiên cứu này, tôi đã so sánh hai phương pháp lọc ảnh là Canny và Prewitt trong việc phát hiện cạnh trên tập ảnh y tế Tập ảnh y tế thường có độ nhiễu cao, với các đối tượng nhỏ và hướng thay đổi phức tạp Do đó, phương pháp lọc Canny tỏ ra ưu việt hơn so với phương pháp lọc Prewitt trong việc phát hiện cạnh.
Phương pháp phát hiện biên cạnh Canny thường mang lại độ chính xác cao hơn so với lọc Prewitt nhờ vào quy trình đa giai đoạn và khả năng tìm ngưỡng cực tiểu cục bộ, giúp làm sạch hình ảnh, giảm sai sót và loại bỏ nhiễu hiệu quả Trong khi đó, lọc Prewitt tuy cho kết quả tương đối chính xác nhưng dễ bị ảnh hưởng bởi nhiễu trong hình ảnh, dẫn đến việc tạo ra biên cạnh thô hơn.
Phương pháp Canny có độ chính xác cao hơn nhưng phức tạp hơn so với lọc Prewitt, yêu cầu nhiều bước xử lý như làm mịn hình ảnh, tìm đạo hàm, xác định ngưỡng và loại bỏ các biên cạnh không đáng tin cậy Trong khi đó, lọc Prewitt đơn giản và nhanh hơn, phù hợp cho các tình huống cần hiệu suất tính toán cao.
Phương pháp Canny được ưa chuộng trong các ứng dụng y tế, đặc biệt là trong chẩn đoán bệnh hình ảnh và phát hiện biên cạnh trong MRI hoặc CT scan, nhờ vào độ chính xác cao và khả năng loại bỏ nhiễu hiệu quả Trong khi đó, lọc Prewitt thích hợp cho các ứng dụng cần tính nhanh và đơn giản, chẳng hạn như theo dõi biến đổi trong thời gian thực hoặc trong các hệ thống có tài nguyên tính toán hạn chế.
Nghiên cứu này tập trung vào việc ứng dụng phương pháp lọc Canny để phát hiện và tách biên trong ảnh y tế Qua quá trình phân tích, chúng tôi đã thực hiện đánh giá thực nghiệm so sánh hiệu quả của phương pháp lọc Canny với phương pháp lọc Prewitt Kết quả cho thấy phương pháp Canny mang lại độ chính xác cao hơn trong việc xác định các biên, từ đó cải thiện chất lượng phân tích hình ảnh y tế.
Dựa trên những kiến thức đã tiếp thu, tôi đã hoàn thành nghiên cứu này Tuy nhiên, bài nghiên cứu vẫn còn nhiều hạn chế mà tôi chưa nhận ra Tôi rất mong nhận được những ý kiến và đánh giá từ thầy cô để có thể nhận diện rõ hơn những điểm yếu trong báo cáo của mình.
Các bước phát triển tiếp theo em sẽ nghiên cứu tiếp vào thời gian sắp tới có thể phát triển thuật toán ứng dụng ra đời sống.
Em xin chân thành cảm ơn!