Tổng Quan Về Xử Lý Ảnh
Trong xã hội hiện đại, ngôn ngữ là phương tiện giao tiếp phổ biến, nhưng hình ảnh lại mang đến sự chính xác và biểu cảm cao hơn, không bị ảnh hưởng bởi cảm xúc chủ quan Thông tin từ hình ảnh rất phong phú và đa dạng, đồng thời có thể được xử lý bằng công nghệ máy tính Do đó, trong những năm gần đây, sự kết hợp giữa hình ảnh và đồ họa đã trở nên ngày càng chặt chẽ trong lĩnh vực xử lý thông tin.
Xử lý ảnh số là một lĩnh vực quan trọng trong tin học ứng dụng, liên quan đến việc xử lý dữ liệu hình ảnh bằng đồ họa Các hình ảnh nhân tạo được xem như cấu trúc dữ liệu và được tạo ra bởi các chương trình Qua đó, các thao tác trên ảnh tự nhiên được thực hiện thông qua các phương pháp và kỹ thuật mã hóa Sau khi thu nhận, ảnh sẽ được chuyển đổi thành ảnh số bằng các phương pháp số hóa tích hợp trong các thiết bị kỹ thuật khác nhau, và được biểu diễn dưới dạng ma trận trên máy tính.
Mục đích của việc XLA đƣợc chia làm 2
Biến đổi ảnh làm tăng chất lƣợng ảnh
Tự động nhận dạng ,đoán ảnh,đánh giá nội dung ảnh
Phương pháp biến đổi ảnh được áp dụng trong xử lý ảnh chụp từ không trung, giúp cải thiện chất lượng hình ảnh Một ứng dụng quan trọng khác của việc biến đổi ảnh là mã hóa, cho phép các ảnh được xử lý để lưu trữ hoặc truyền tải hiệu quả hơn.
Các phương pháp nhận dạng ảnh được áp dụng trong việc xử lý tế bào, nhiễm sắc thể và nhận dạng chữ Nhận dạng ảnh thực chất là quá trình phân loại các đối tượng thành những lớp chưa biết Bài toán nhận dạng ảnh rất quan trọng và có nhiều ứng dụng thực tiễn Để nâng cao hiệu quả nhận dạng, việc phân đoạn ảnh thành các đối tượng riêng biệt là cần thiết Nếu quá trình phân đoạn không đạt yêu cầu, sẽ dẫn đến sai sót trong nhận dạng ảnh.
Tổng quan về phân đoạn ảnh
Để phân biệt các đối tượng trong ảnh, chúng ta cần chú ý đến những đối tượng quan trọng và phần nền của ảnh Các đối tượng này có thể được xác định thông qua kỹ thuật phân đoạn ảnh Mỗi đối tượng trong ảnh được gọi là một vùng hay miền, với đường bao quanh đối tượng được gọi là đường biên Mỗi vùng ảnh cần có một đặc tính đồng nhất, và hình dáng của một đối tượng có thể được mô tả bằng các tham số của đường biên hoặc các tham số của vùng mà nó chiếm giữ.
Kỹ thuật phát hiện biên và phân vùng ảnh là hai vấn đề đối ngẫu, trong đó việc dò biên giúp phân vùng ảnh, và ngược lại, phân vùng ảnh cũng hỗ trợ trong việc phát hiện biên.
Có rất nhiều kỹ thuật phân đoạn ảnh ,nhìn chung ta có thể chia thành ba lớp khác nhau:
Các kỹ thuật cục bộ:dựa vào các thuôc tính cục bộ của điểm anhrvaf láng giềng của nó
Các kỹ thuật toàn thể:phân ảnh dựa trên thông tin chung của toàn bộ ảnh(vd sử dụng lƣợc đồ xám của ảnh)
Các kỹ thuật tách (split),hợp(merge) và growing sử dụng các khái niệm đồng nhất và gần về hình học.
Tổng quan về tiền xử lý ảnh
Hình ảnh tiền xử lý là những hình ảnh chưa qua chỉnh sửa, và trong giai đoạn này, chúng sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng và khử độ lệch nhằm nâng cao chất lượng ảnh Quá trình này thường được thực hiện thông qua các bộ lọc Dưới đây, tôi sẽ trình bày một số phương pháp cụ thể trong tiền xử lý ảnh.
SỐ PHƯƠNG PHÁP TIỀN XỬ LÝ ẢNH
Nhị phân ảnh
Ảnh thu nhận từ các thiết bị như máy ảnh hay camera thường có màu sắc và kết cấu phức tạp Để làm nổi bật các đặc trưng trong ảnh, cần chuyển đổi chúng về dạng ảnh nhị phân, chỉ gồm hai màu đen và trắng, tương ứng với nền và đối tượng quan tâm Quá trình này, được gọi là phân ngưỡng, là thao tác chuyển đổi từ ảnh đa cấp xám hoặc ảnh màu sang ảnh nhị phân.
Thuật toán 2.1 Nhị phân ảnh
INPUT: Ảnh mầu hoặc ảnh đa cấp xám
2 Chuyển ảnh về dạng nhị phân
Thuật toán nhị phân ảnh chủ yếu nhằm xác định ngưỡng T để phân tách giữa nền và đối tượng trong ảnh Với ảnh đầu vào I(x, y), giá trị tại điểm (x, y) được biểu diễn là g(x, y), trong đó đối với ảnh đa cấp xám, g(x, y) nằm trong khoảng [0, 255].
(x, y) trong ảnh nhị phân I'(x, y) sẽ đƣợc xác định nhƣ sau:
Việc xác định một ngƣỡng T thích hợp luôn là một quá trình khó khăn và dễ gây ra lỗi
Độ tương phản thấp giữa các đối tượng và nền, cũng như sự không đồng đều trong độ chiếu sáng của ảnh, sẽ gây khó khăn trong việc thu nhận hình ảnh Nếu ngưỡng T quá thấp, chi tiết của ảnh có thể bị mất, trong khi nếu ngưỡng T quá cao, ảnh sẽ chứa nhiều điểm ảnh nhiễu.
Có nhiều phương pháp để xác định ngưỡng phân tách T, bao gồm ngưỡng tổng quát cho toàn bộ ảnh và ngưỡng cục bộ cho từng điểm ảnh cụ thể Bài viết này sẽ phân loại và giới thiệu một số phương pháp xác định ngưỡng T.
2.1.1 Phân loại các phương pháp xác định ngưỡng T
Căn cứ vào phương pháp được áp dụng, có thể chia ra làm 6 nhóm sau [13]:
1 Các phương pháp dựa vào hình dạng của histogram (Histogram Shape- Based Thresholding Methods) Căn cứ vào hình dáng của histogram nhƣ: các đỉnh, các khe và độ cong (peaks, valleys and curvatures) để xác định ngƣỡng Vị trí lấy ngưỡng có thể là khe lõm nhất giữa hai đỉnh hay điểm cách xa đường thẳng nối hai đỉnh
2 Các phương pháp dựa vào việc chia nhóm (Clustering-Based Thresholding Methods) Các phương pháp loại này cố gắng chia ảnh ra làm hai nhóm tương ứng với nền và đối tƣợng dựa trên một số tiêu trí đánh giá “khoảng cách” giữa hai nhóm hay giữa các phần tử trong mỗi nhóm
3 Các phương pháp dựa vào entropy (Entropy-Based Thresholding Methods)
Kỹ thuật này lựa chọn ngưỡng dựa trên entropy, dựa vào các tiêu chí như cực đại hóa entropy của nền và đối tượng, cực tiểu hóa entropy lai giữa ảnh gốc và ảnh nhị phân, cũng như sử dụng độ đo entropy mờ.
4 Các phương pháp dựa vào thuộc tính giống nhau (Thresholding Based on
Ngưỡng được xác định dựa trên độ đo các thuộc tính tương đồng giữa ảnh gốc và ảnh nhị phân, bao gồm các yếu tố như cạnh thỏa mãn, độ chặt của hình dáng, momen mức xám, khả năng liên kết và kết cấu.
5 Các phương pháp căn cứ vào không gian (Spatial Thresholding Methods)
Sử dụng sự tương liên hoặc/và phân phối thông kê bậc cao giữa các pixel để chọn ngƣỡng
6 Các phương pháp ngưỡng thích ứng cục bộ (Locally Adaptive Thresholding)
Kỹ thuật này sẽ xác định ngƣỡng t(x, y) cho từng điểm ảnh (x, y) riêng biệt căn cứ vào mối tương quan giữa điểm ảnh đó và các láng giềng của nó
2.1.2 Một số phương pháp xác định ngưỡng T
Trong bài viết này, chúng tôi sẽ giới thiệu hai phương pháp phổ biến để xác định ngưỡng nhị phân T Phương pháp Niblack xác định ngưỡng T cho từng điểm ảnh riêng lẻ, trong khi phương pháp Otsu xác định ngưỡng T cho toàn bộ bức ảnh.
Phương pháp Niblack là một kỹ thuật xác định ngưỡng cục bộ thông qua việc tính toán giá trị trung bình và độ lệch chuẩn của các điểm dữ liệu Thuật toán này giúp phân tích và xử lý hình ảnh hiệu quả bằng cách xác định các khu vực quan trọng dựa trên các thông số thống kê.
Thuật toán 2.2 Phương pháp phân ngưỡng Niblack
INPUT: Giá trị mức xám của các điểm ảnh g(x, y)
OUTPUT: Ngƣỡng nhị phân cho mỗi điểm ảnh T(x, y)
Duyệt tất cả các điểm ảnh:
1 Xác định cửa sổ (w × w) bao quanh
2 Tính giá trị trung bình m(x, y)
Đối với mỗi điểm ảnh, xác định một cửa sổ có kích thước (w × w) xung quanh nó Giá trị ngưỡng được tính toán dựa trên giá trị trung bình và độ lệch chuẩn trong cửa sổ đó.
Với điểm ảnh ở vị trí (x, y) giá trị ngƣỡng đƣợc xác định nhƣ sau [14]:
Giá trị trung bình m(x, y) và độ lệch chuẩn σ(x, y) được xác định trong cửa sổ (w × w) với tâm tại vị trí (x, y) Tham số k dùng để xác định mức độ chiếm lĩnh của đối tượng trong kết quả trả về, với giá trị k = -0.2 theo [13] Kích thước của cửa sổ w cần đủ nhỏ để giữ lại chi tiết và đủ lớn để loại bỏ nhiễu.
Cơ bản dựa trên phương pháp của Niblack, Sauvola đưa ra công thức xác định ngƣỡng nhƣ sau [15]:
Trong phương pháp xử lý ảnh, R đại diện cho giá trị lớn nhất của độ lệch chuẩn (đối với ảnh đa cấp xám: R = 128), k là tham số nằm trong khoảng [0.2, 0.5] Các giá trị m(x, y) và σ(x, y) phản ánh các mức ngưỡng khác nhau tùy thuộc vào các điểm lân cận Đối với những vùng ảnh có độ tương phản cao, σ(x, y) gần bằng R, dẫn đến T(x, y) cũng gần bằng m(x, y), tương tự như phương pháp Niblack Nếu T(x, y) nhỏ hơn giá trị trung bình, một số vùng tối của nền sẽ bị xóa Tham số k được sử dụng để điều chỉnh giá trị ngưỡng so với giá trị trung bình m(x, y), giúp tăng hoặc giảm tỷ lệ k.
Ngưỡng của mỗi điểm ảnh được xác định dựa trên giá trị của các điểm ảnh lân cận, điều này rất phù hợp cho những hình ảnh có độ sáng thay đổi, chẳng hạn như ảnh chụp từ camera Tuy nhiên, thời gian tính toán có thể chậm và phụ thuộc vào kích thước của cửa sổ.
Phương pháp Otsu là một kỹ thuật xác định ngưỡng cho toàn bộ ảnh, nhằm phân chia các điểm ảnh thành hai lớp: tiền cảnh (đối tượng) và nền Ngưỡng được xác định để tối ưu hóa khoảng cách giữa các điểm ảnh trong mỗi lớp, đồng thời tối đa hóa khoảng cách giữa hai lớp Quá trình phân chia này dựa trên các giá trị trong histogram của ảnh Các bước xác định ngưỡng Otsu được thực hiện theo một quy trình cụ thể.
Thuật toán 2.3 Phương pháp phân ngưỡng Otsu
INPUT: Ảnh đa cấp xám
OUTPUT: Ngƣỡng nhị phân cho toàn bộ ảnh: tOtsu
1 Tính histogram của ảnh: {pi}
2 Duyệt tất cả mức xám của ảnh: t
Hiệu chỉnh độ nghiêng của trang văn bản
Trong các chương trình nhận dạng tài liệu văn bản, ảnh đầu vào thường bị lệch so với ảnh gốc do nhiều nguyên nhân như đặt lệch, thiết bị ghi nhận không đúng vị trí hoặc ảnh bị xê dịch Để đảm bảo các bước phân tích và nhận dạng sau đó được chính xác, cần thực hiện hiệu chỉnh độ nghiêng của ảnh Các bước hiệu chỉnh này được mô tả chi tiết trong Thuật toán 2.4.
Thuật toán 2.4 Hiệu chỉnh độ nghiêng của ảnh tài liệu
INPUT: Ảnh (nhị phân) bị nghiêng
OUTPUT: Ảnh đã chỉnh độ nghiêng
2 Xoay ảnh với góc nghiêng α
Trong đó, xác định góc nghiêng là thao tác quan trọng nhất và khó khăn nhất
Có nhiều phương pháp xác định góc nghiêng, bao gồm việc sử dụng thống kê, đánh giá góc nghiêng của đối tượng trong ảnh, và phân tích trên ảnh đã biến đổi Ba phương pháp phổ biến là: biến đổi Hough, láng giềng gần nhất (nearest neighbours) và chiếu nghiêng (project profile) Các phương pháp này sẽ được trình bày chi tiết trong các phần tiếp theo.
Sau khi xác định góc nghiêng của ảnh, tiến hành xoay ảnh quanh vị trí gốc, thường là điểm giữa của ảnh (w/2, h/2) Các bước thực hiện xoay ảnh bao gồm việc xác định góc và thực hiện thao tác xoay theo hướng đã chỉ định.
INPUT: Ảnh (nhị phân) bị nghiêng I
OUTPUT: Ảnh đã chỉnh độ nghiêng I'
Duyệt tất cả các điểm ảnh g(x, y) trong ảnh I
1 Xác định vị trí mới g'(x', y') trong ảnh I' x' = x0 + (x-x0).cos() - (y-y0).sin() y' = y0 + (x-x0).sin() + (y-y0).cos()
2 Chuyển giá trị điểm ảnh: g'(x', y') = g(x, y)
2.2.1 Phương pháp dựa trên biến đổi Hough
Biến đổi Hough chuyển đổi tọa độ điểm ảnh từ hệ tọa độ đề các Oxy sang hệ tọa độ cực ρ-θ Thay vì biểu diễn một tập hợp các điểm (xi, yi) trong mặt phẳng x-y, chúng ta có thể sử dụng cặp (ρ, θ) trong mặt phẳng ρ-θ Công thức chuyển đổi được xác định bởi x.cosθ + y.sinθ = ρ, trong đó x và y được thay thế bởi xi và yi, θ là góc giữa vector khoảng cách từ gốc tọa độ đến điểm gần nhất thuộc đường thẳng, và ρ là khoảng cách từ gốc tọa độ tới đường thẳng.
Biến đổi Hough là công cụ quan trọng trong việc phát hiện đường thẳng trong ảnh, đặc biệt hữu ích cho việc xác định góc nghiêng của ảnh chứa văn bản Quy trình xác định góc nghiêng dựa vào biến đổi Hough bao gồm hai bước chính.
Thực hiện phép biến đổi Hough
Tính toán luỹ tích để tìm góc nghiêng
Thuật toán 2.6 sử dụng biến đổi Hough để xác định góc nghiêng Quy trình bao gồm bốn bước: bước 1 và bước 2 thực hiện phép biến đổi Hough, trong khi bước 3 và bước 4 tiến hành phân tích thống kê nhằm tìm ra góc nghiêng.
Thuật toán 2.6 Xác định góc nghiêng dựa vào biến đổi Hough
INPUT: Ảnh (nhị phân) bị nghiêng I
(Đếm số lượng điểm thuộc đường thẳng)
2 Duyệt tất cả các điểm ảnh:
Duyệt tất cả các góc có thể θi
Tính: ρi = x.cosθi + y.sinθi Tăng h[ρi][θi] lên 1
3 Tìm k phần tử trong mảng h[ρi][θi] có giá trị lớn nhất
(Tìm k đường thẳng trong ảnh)
4 là trị số trung bình của các góc trong k phân tử trên
(Tính góc nghiêng chung bình của k đường thẳng)
Biến đổi Hough yêu cầu nhiều tính toán khi xử lý từng điểm ảnh riêng lẻ, nhưng đã được cải tiến để tăng tốc độ bằng cách thực hiện tính toán trên chùm điểm ảnh, là các dải liên tục của các điểm đen Mỗi chùm được mã hóa bởi độ dài và vị trí kết thúc của nó, giúp thuật toán đạt độ chính xác cao ở các góc nghiêng khoảng 15 độ Dù cải tiến này làm tăng tốc độ, thuật toán vẫn chậm hơn so với nhiều phương pháp khác và không hiệu quả trong trường hợp văn bản thưa.
2.2.2 Phương pháp láng giềng gần nhất (nearest neighbours)
Phương pháp này dựa trên nhận xét rằng khoảng cách giữa các ký tự trong một từ và giữa các ký tự trên cùng một dòng nhỏ hơn khoảng cách giữa hai dòng văn bản Do đó, láng giềng gần nhất của mỗi ký tự sẽ là các ký tự liền kề trên cùng một dòng Thuật toán được thực hiện qua các bước chính như sau:
Thuật toán 2.7 Phương pháp láng giềng gần nhất
INPUT: Ảnh bị nghiêng I (ảnh nhị phân)
1 Xác định các thành phần liên thông
2 Tìm láng giềng gần nhất của mỗi thành phần liên thông dựa vào khoảng cách Ơclit giữa tâm của hai miền liên thông, nối hai tâm đó lại thành một vector
3 Tính góc của các vector
4 Xây dựng biểu đồ thể hiện số lượng các vector cùng phương
5 Góc nghiêng α tương ứng với vị trí có nhiều vector cùng phương nhất trên biểu đồ
Hình 2 5 Phương pháp láng giếng gần nhất
Chi phí tính toán của phương pháp này đã giảm đáng kể so với phương pháp biến đổi Hough, nhưng vẫn còn cao Độ chính xác của phương pháp phụ thuộc nhiều vào số thành phần của mỗi kí tự trong văn bản Ví dụ, kí tự "ẩ" có ba thành phần: thân, mũ và dấu hỏi, khiến cho láng giềng gần nhất của mỗi phần là một trong hai thành phần còn lại, thay vì kí tự liền kề Điều này làm giảm độ chính xác của thuật toán và khiến phương pháp này không phù hợp với chữ Tiếng Việt.
L'O Gorman đã phát triển một thuật toán mới dựa trên việc lấy k láng giềng (k có thể là 4 hoặc 5) thay vì chỉ một láng giềng duy nhất Thuật toán này sử dụng góc nghiêng ước lượng để loại bỏ các liên kết không phù hợp với góc ước lượng Sau đó, góc nghiêng được xác định lại dựa trên các liên kết được giữ lại, giúp cải thiện độ chính xác của thuật toán, mặc dù thời gian tính toán tăng lên Phương pháp này được gọi là docstrum, thực hiện cả việc xác định góc nghiêng và phân tích ảnh tài liệu.
2.2.3 Phương pháp sử dụng chiếu nghiêng (project profile) Đây là phương pháp thường được sử dụng trong các hệ thống thương mại Project profile là biểu đồ các giá trị điểm đen đƣợc tích lũy theo các dòng quét song song với một phương xác định trên toàn bộ ảnh Biểu đồ này thường được ghi theo phương ngang và dọc của ảnh, gọi là các histogram chiếu ngang và histogram chiếu dọc (Hình
Hình 2 6 Phương pháp chiếu nghiêng
Dựa vào histogram theo chiều ngang, ta nhận thấy rằng các đường thuộc về dòng văn bản nằm ngang có giá trị cao hơn so với các đường ở giữa các dòng Từ đặc điểm này, chúng ta có thể xác định góc nghiêng của ảnh một cách chính xác.
Thuật toán 2.8 Sử dụng chiếu nghiêng để xác định góc nghiêng
INPUT: Ảnh bị nghiêng I (ảnh nhị phân)
1 Duyệt một số góc nghiêng:
Xoay ảnh với góc nghiêng đó
Tính biểu đồ histogram theo phương ngang
Tính độ biến thiên của histogram
2 Góc nghiêng α là góc tương ứng với độ biến thiên lớn nhất
H.S.Braid đã tiến hành cải biến phương pháp project profile Đầu tiên, tìm các thành phần liên thông, mỗi thành phần liên thông đƣợc đại diện bởi tâm ở đáy của hình chữ nhật bao quanh nó Tiếp theo, các thành phần liên thông đƣợc nối với nhau Sau đó, tiến hành xoay văn bản ở một số vị trí và tính biểu đồ histogram Vị trí có độ biến hiên lớn nhất của histogram chính là vị trí góc nghiêng cần tìm Cải biến này đã làm tăng đáng kể tốc độ của phương pháp Project profile, đồng thời độ chính xác của nó đạt khá cao (~0.50), thích hợp với các trang có độ nghiêng trong khoảng
Việc điều chỉnh góc nghiêng của hình ảnh trong hệ thống nhận dạng văn bản là rất quan trọng, do hình ảnh thu được từ thiết bị ghi hình thường bị lệch so với vị trí ban đầu Xác định chính xác góc lệch là một trong những thách thức lớn nhất trong quá trình này Bài viết đã giới thiệu ba phương pháp phổ biến để giải quyết vấn đề này.
Các toán tử hình thái (Morphological operations)
Trong ảnh nhị phân, mỗi điểm ảnh chỉ có hai mức xám (0 và 1), cho phép coi mỗi phần tử ảnh như một phần tử lôgic Các toán tử hình thái được áp dụng cho ảnh nhị phân, thường kết hợp với phần tử cấu trúc, cùng với các toán tử tập hợp như hợp, giao, trừ và lấy phần bù Các thao tác xử lý ảnh cơ bản dựa trên đặc trưng hình dáng của đối tượng như hình bao, xương ảnh và bao lồi, dưới sự giám sát của phần tử cấu trúc.
Phần tử cấu trúc là một mặt nạ có dạng bất kỳ, bao gồm thành phần đối tượng (được thiết lập là 1) và thành phần “không quan tâm” (để trống) Trong một số trường hợp, nó có thể chứa thành phần nền với trị số 0 Phần tử cấu trúc có thể được hiểu như một tập tọa độ các điểm nhỏ, với một gốc tọa độ thường nằm ở vị trí giữa Ví dụ, hình 2.7 minh họa một phần tử cấu trúc có kích thước 3x3.
Các toán tử hình thái bao gồm giãn ảnh (dilation) và co ảnh (erosion), là sự kết hợp của hai toán tử cơ bản Có nhiều định nghĩa khác nhau cho các toán tử này Trong đó, g(x, y) đại diện cho ảnh nhị phân và H(x, y) là phần tử cấu trúc.
Khi đó toán tử giãn ảnh đƣợc định nghĩa nhƣ sau:
Và định nghĩa của toán tử co ảnh là:
Trong đó: α có nghĩa là một dẫy các toán tử OR, là một dẫy các toán tử AND và (m, n) là tọa độ các điểm trong phần tử cấu trúc
Toán tử giãn ảnh trên ảnh nhị phân có tác dụng mở rộng đường biên của các đối tượng, thường là các điểm ảnh màu trắng, dẫn đến việc tăng kích thước của các đối tượng Đồng thời, lỗ hổng bên trong và khoảng cách giữa các đối tượng sẽ giảm xuống Mức độ giãn nở phụ thuộc vào tính chất của phần tử cấu trúc, ví dụ như phần tử cấu trúc kích thước 3x3 được minh họa trong Hình 2.8.
Hình 2 8 Phép giãn ảnh với phần tử cấu trúc 3x3
Phép co có tác dụng ngược lại, làm cho các đường biên của đối tượng trong ảnh bị "xói mòn", dẫn đến kích thước của các đối tượng bị giảm đi.
Khoảng cách giữa các đối tượng gia tăng và các lỗ hổng trong mỗi đối tượng được mở rộng Mức độ bào mòn của các đối tượng phụ thuộc vào tính chất của phần tử cấu trúc Hình 2.9 minh họa một ví dụ về phép co ảnh với phần tử cấu trúc kích thước 3x3.
Hình 2 9 Phép co ảnh với phần tử cấu trúc 3x3
Khi sử dụng phép co ảnh và giãn ảnh riêng lẻ, các đặc trưng như hình dạng và kích thước của ảnh có thể bị mất Do đó, thường người ta kết hợp hai phép toán này, cụ thể là co bao nhiêu lần thì giãn bấy nhiêu lần và ngược lại Một trong những cách kết hợp này được gọi là phép opening và closing, hai phép toán này có tính đối xứng Phép toán opening được thực hiện bằng cách co ảnh trước, sau đó mới giãn ảnh.
Còn closing đƣợc định nghĩa (giãn rồi mới co):
Hai phương pháp này tạo ra hiệu ứng tương tự như phương pháp co ảnh và giãn ảnh, trong đó mở rộng (opening) tương đương với co ảnh và thu hẹp (closing) tương đương với giãn ảnh, nhưng mức độ co và giãn thấp hơn Hình 2.10 và Hình 2.11 minh họa rõ điều này.
Toán tử opening có khả năng loại bỏ các điểm ảnh nhỏ hơn hoặc bằng kích thước phần tử cấu trúc, đồng thời giữ nguyên đặc trưng của các đối tượng trong ảnh Phương pháp này không làm giảm kích thước của các đối tượng mà chỉ xóa các điểm ảnh không mong muốn xung quanh viền Do đó, toán tử opening thường được sử dụng để loại bỏ nhiễu trong ảnh, đặc biệt là nhiễu hạt tiêu Tuy nhiên, trong một số trường hợp, nó có thể xóa đi những liên kết "mảnh" giữa các đối tượng, chẳng hạn như sự kết nối giữa các ký tự.
Toán tử closing được sử dụng để nối các nét đứt và lấp đầy các lỗ hổng trong đối tượng, đồng thời giữ nguyên hình dạng và kích thước của nó Khi kích thước của phần tử cấu trúc lớn hơn khoảng cách giữa hai đối tượng, chúng sẽ được nối lại mà không làm thay đổi hình dạng chung của khối chứa chúng Tính chất này cho phép nối các ký tự trên cùng một dòng văn bản trong ảnh một cách hiệu quả.
PHÁP PHÂN ĐOẠN CHỨNG MINH NHÂN DÂN
Giới thiệu bài toán
Giấy chứng minh nhân dân (CMND) là loại giấy tờ tùy thân quan trọng của công dân Việt Nam, được cấp bởi cơ quan nhà nước có thẩm quyền để xác nhận lý lịch cá nhân CMND lần đầu tiên được ban hành vào năm
Thẻ căn cước công dân (CMND) được giới thiệu lần đầu vào năm 1957 để thay thế cho thẻ căn cước cũ, và đã trải qua nhiều lần thay đổi nội dung Theo quy định mới nhất vào năm 1999 và được sửa đổi năm 2007, CMND có hình chữ nhật với kích thước 85,6 × 53,98 mm, hai mặt được in hoa văn màu xanh trắng nhạt và ép nhựa trong Thông tin liên quan đến người được cấp CMND được dập hoặc in trên mẫu đã in sẵn Tuy nhiên, thực tế cho thấy những CMND được cấp trước đây lại có nội dung khác biệt so với quy định hiện hành.
Hinh 3 1 Mẫu “Giấy Chứng minh nhân dân”
Mặt trước của Giấy chứng minh nhân dân có hoa văn màu xanh nhạt, với hình Quốc huy nước Cộng hoà xã hội chủ nghĩa Việt Nam và ảnh của người được cấp CMND ở bên trái Bên phải hiển thị thông tin gồm Cộng hoà xã hội chủ nghĩa Việt Nam, khẩu hiệu Độc lập – Tự do – Hạnh phúc, Giấy chứng minh nhân dân (màu đỏ), số CMND (màu đỏ) và họ tên.
Ngày sinh, nguyên quán và nơi đăng ký hộ khẩu thường trú là thông tin quan trọng Mặt sau của giấy tờ có màu trắng với cấu trúc dạng bảng Ô trên cùng ghi rõ dân tộc và tôn giáo Bên trái có hai ô: ô trên chứa vân tay ngón trỏ trái và ô dưới là vân tay ngón trỏ phải Bên phải cũng có hai ô: ô trên ghi dấu vết riêng và dị hình, ô dưới ghi ngày cấp CMND và nơi cấp.
CMND là một tài liệu bắt buộc trong nhiều giao dịch và thủ tục hành chính, như mở tài khoản ngân hàng hay đăng ký thuê bao điện thoại Quá trình này thường tốn thời gian và gây phiền phức cho người thực hiện Để đơn giản hóa các thủ tục hành chính, cần có một hệ thống tự động nhận dạng và tách các trường thông tin trên CMND để điền vào biểu mẫu Tuy nhiên, việc tách chính xác các thông tin yêu cầu trước khi chuyển cho phần nhận dạng vẫn gặp nhiều khó khăn.
+ Các trường thông tin có thể bị lệch so với dòng chuẩn hoặc chờm lên phần tiêu đề đã được in trước
+ Nét chữ không đều nhau giữa các CMND, thậm chí là trong cùng một CMND: chữ quá đậm hoặc quá mờ
+ CMND có thể bị ố, mốc, nhàu, nát,…
Trong một số trường hợp, hoa văn nền có độ rõ nét cao, trong khi chữ viết lại mờ nhạt, khiến người đọc khó phân biệt giữa nét chữ và hoa văn nền.
+ Ở mặt sau, trong khá nhiều trường hợp dấu mầu đỏ và chữ ký đè cả lên phần
+Ngày cấp và Nơi cấp, làm mờ đi một phần thông tin trên hai trường này
Bài toán yêu cầu tách các trường thông tin từ ảnh CMND màu được quét với độ phân giải 300 dpi, bao gồm Số CMND, Họ tên, Ngày sinh và Nguyên quán.
Nơi thường trú, dân tộc, ngày cấp và nơi cấp là các trường thông tin quan trọng trên cả hai mặt của CMND Mỗi mặt của CMND có những đặc điểm khác nhau, do đó, tôi đề xuất hai thuật toán khác nhau để tách biệt các trường thông tin trên từng mặt.
Tách các trường thông tin ở mặt trước
Hinh 3 2 Vùng thông tin cần tách ở mặt trước CMND
Các trường thông tin cần tách ở mặt trước của CMND bao gồm: Số CMND, Họ tên, Ngày sinh, Nguyên quán, và Nơi thường trú Những thông tin này được sắp xếp tuần tự từ trên xuống, nằm ở bên phải của CMND, ngay dưới dòng chữ “Giấy chứng minh nhân dân” và được mô tả chi tiết trong Bảng 3.1.
Trường Số CMND có màu đỏ nổi bật, giúp dễ dàng tách riêng trường này trước khi xử lý các trường khác dựa vào vị trí tương đối Đồng thời, mặt trước của CMND có hoa văn nền màu xanh rõ nét, nên cần thực hiện các thao tác tiền xử lý ảnh hiệu quả để loại bỏ các thành phần nền phức tạp Thuật toán xử lý sẽ bao gồm các bước cụ thể để đạt được kết quả tốt nhất.
Tiền xử lý ảnh là quá trình chuyển đổi ảnh màu sang ảnh đen trắng, nhằm loại bỏ nền trong khi vẫn bảo tồn các đặc trưng của nét chữ Đồng thời, quá trình này cũng thực hiện việc căn chỉnh độ nghiêng của ảnh để nâng cao chất lượng hình ảnh.
Tách trường Số CMND cần dựa vào những đặc điểm nổi bật riêng, đồng thời loại bỏ các đường lượn sóng, nhưng vẫn phải giữ lại các đặc trưng của nét chữ.
Tách các trường còn lại: Tách lấy các dòng thông tin sau đó loại bỏ đi phần tiêu đề của các trường
3.2.1 Tiền xử lý ảnh Ảnh đầu vào thường có chất lượng rất khác nhau: có thể bị ố, mốc, nhàu, nát,… trong quá trình sử dụng hoặc bị lệch, nghiêng khi thu thập Mặt khác, mặt trước có hoa văn nền khá rõ nét Do đó, để đảm bảo cho việc tách các trường thông tin được chính xác (cũng nhƣ kết quả nhận dạng sau này), cần áp dụng các kỹ thuật xử lý ảnh để nâng cao chất lƣợng ảnh đầu vào Các kỹ thuật đó bao gồm:
Chuyển từ ảnh mầu về ảnh đa cấp xám
1/ Chuyển ảnh mầu về ảnh đa cấp xám
Các phương pháp nhị phân ảnh thường áp dụng cho ảnh đa cấp xám, vì vậy cần chuyển đổi ảnh màu đầu vào thành ảnh đa cấp xám trước khi thực hiện bước nhị phân Trong không gian màu RGB, mỗi điểm ảnh được tạo thành từ ba thành phần màu: Đỏ (R), Xanh lá (G) và Xanh dương (B), với mỗi thành phần có giá trị từ 0 đến 255.
255), còn trong ảnh đa cấp xám, mỗi điểm ảnh mang một trị số mức xám từ 0 đến
Để chuyển đổi giữa hai không gian màu, việc áp dụng công thức tính độ sáng theo chuẩn NTSC, dựa trên thị giác của con người, sẽ tạo ra hình ảnh với hoa văn nền rõ nét và tương đồng với nét chữ.
Để chuyển đổi từ ảnh màu sang ảnh đa cấp xám, cần lưu ý rằng giá trị của thành phần màu Green có sự chênh lệch lớn so với thành phần màu Red Do đó, ta sẽ lấy thành phần màu Green và cộng thêm độ chênh lệch giữa hai thành phần màu này.
Cường độ xám được tính bằng công thức G + |G – R|, giúp làm nổi bật các nét chữ trong khi làm mờ nền và giảm độ rõ của mực đỏ trên trường Số CMND so với trường Họ tên Quá trình này bao gồm ba bước: a) Ảnh đầu vào, b) Ảnh đa cấp xám, và c) Ảnh nhị phân Hình 3.3 minh họa quy trình tiền xử lý ảnh mặt trước của CMND.
2/ Làm trơn ảnh Ảnh đa cấp xám thu được ở bước trên thường không được “mịn” (vẫn còn
Để làm mịn ảnh và loại bỏ nhiễu do các thành phần nền quá rõ nét, cần áp dụng một phép lọc làm trơn ảnh Phương pháp làm trơn thích ứng là một lựa chọn hiệu quả trong quá trình này.
Bước tiếp theo là xác định ngưỡng để phân đoạn ảnh đa cấp xám thành ảnh nhị phân, nhằm phân biệt rõ ràng giữa nền và đối tượng Các phương pháp đã được trình bày trước đó có thể mang lại kết quả tốt trong một số trường hợp, nhưng cũng có thể không đạt yêu cầu trong những tình huống khác.
Phương pháp Otsu: Khử nền của ảnh khá tốt, nhưng không làm rõ các nét chữ
Phương pháp Sauvola: Làm rõ được các nét chữ, nhưng vẫn còn có các nhiễu của nền
Do đó, tôi đề xuất một phương thức kết hợp được ưu điểm của cả hai phương pháp trên Các bước thực hiện như sau:
Nhị phân ảnh bằng phương pháp Otsu được ảnh IO
Nhị phân ảnh bằng phương pháp Sauvola được ảnh IS
Áp dụng toán tử AND đối với hai ảnh IO và IS để đƣợc ảnh nhị phân cần tìm:
Mặc dù việc thu nhận ảnh được thực hiện bằng thiết bị chuyên dụng, ảnh vẫn có thể bị nghiêng Để đảm bảo phân tích ảnh chính xác, cần căn chỉnh độ nghiêng của ảnh sau khi phân đoạn Trong số các phương pháp đã trình bày, phương pháp dựa vào biến đổi Hough mất nhiều thời gian tính toán, đặc biệt với ảnh lớn, trong khi phương pháp láng giềng gần nhất không phù hợp với ảnh chứa ký tự Tiếng Việt có dấu Do đó, phương pháp được áp dụng là phương pháp sử dụng chiếu nghiêng, mang lại kết quả tốt và thời gian thực hiện nhanh Ảnh màu đầu vào cũng được sử dụng để tách trường Số CMND, vì vậy việc hiệu chỉnh độ nghiêng được thực hiện trên cả ảnh nhị phân và ảnh màu dựa vào góc nghiêng xác định từ ảnh nhị phân.
Trong ảnh màu, phần trên đã được căn chỉnh độ nghiêng, với trường Số CMND có màu đỏ tương đồng với các khu vực như dòng “GCMND”, hình quốc huy và đôi khi là vùng mặt người hoặc màu áo của ảnh chân dung Để tách trường Số CMND, trước tiên cần làm nổi bật các khu vực này, sau đó xác định và tách riêng vùng Số CMND, cuối cùng là loại bỏ các đường lượn sóng không cần thiết.
Để xác định vùng có thể là trường Số CMND, trước tiên cần làm nổi bật các vùng màu đỏ trong ảnh và tách các vùng này Những vùng này có giá trị thành phần màu đỏ lớn hơn hẳn so với các thành phần màu khác, trong khi thành phần màu xanh lá cây ở vùng nền lại có giá trị lớn nhất Dựa vào đặc trưng này, cần khử đi thành phần nền màu xanh lá cây và làm nổi bật các vùng màu đỏ Các bước thực hiện theo thuật toán đã được mô tả trong (Thuật toán 3.1).
Thuật toán 3.1 Xác định các vùng có thể là Trường Số CMND
Input: Ảnh mầu đã chỉnh độ nghiêng: IColor = U(IRed, IGreen, IBlue)
Output: Các vùng có thể là Số CMND: L = {bi}, với bi = (xbi, ybi, wbi, hbi)
1) Chuyển về ảnh đa cấp xám: IGray = Max(IRed – IGreen, 0)
2) Áp dụng toán tử Closing 31x7
3) Nhị phân ảnh bằng phương pháp Otsu
5) Tách lấy các thành phần liên thông: L
Để xử lý ảnh màu đầu vào, ta lấy thành phần màu đỏ trừ đi thành phần màu xanh, nếu giá trị âm thì gán bằng không, tạo ra ảnh đa cấp xám, với vùng sáng tương ứng với màu đỏ và vùng tối là nền Tiếp theo, áp dụng phép biến đổi hình thái closing để kết nối các ký tự liền kề thành các khối Cuối cùng, sử dụng phương pháp phân ngưỡng Otsu và đảo ngược mức xám để chuyển đổi ảnh đa cấp xám thành ảnh nhị phân, trong đó các vùng màu đen có thể là vùng số CMND.
3 4b) Cuối cùng, tách lấy các thành phần liên thông và miêu tả chúng bằng hình bao chữ nhật của nó a) IRed – IGreen b) Các vùng có thể là Số CMND
Hinh 3 4 Xác định vùng Số CMND
2/ Tìm và tách trường Số CMND
Tách các trường thông tin ở mặt sau
Hinh 3 9 Các vùng thông tin cần tách ở mặt sau
Mặt sau của CMND có cấu trúc dạng bảng với các trường thông tin được phân bổ vào các ô, trong đó trường Dân tộc nằm ở ô trên cùng và trường Ngày cấp cùng Nơi cấp ở ô dưới cùng bên phải Để tách các trường thông tin yêu cầu, cần xác định cấu trúc bảng trước, sau đó thực hiện các bước trong thuật toán để tách thông tin.
+Tiền xử lý ảnh: Khử các thành phần nền của trong ảnh
+Xác định cấu trúc bảng: Tìm các đường kẻ ngang/dọc và tạo lại cấu trúc bảng
+Tách các trường thông tin: Tách lấy các dòng thông tin và loại bỏ phần tiêu đề của mỗi dòng
Mặt sau của CMND đơn giản hơn mặt trước, chỉ có chữ đen trên nền trắng và một dấu màu đỏ có thể che lên trường Ngày cấp và Nơi cấp Trong quá trình sử dụng, ảnh cũng có thể bị suy thoái chất lượng như ố, mốc hoặc nghiêng giống như mặt trước Do đó, cần thực hiện các thao tác tiền xử lý ảnh để loại bỏ các thành phần nền, dấu màu đỏ và căn chỉnh độ nghiêng.
(Hinh 3 10), cụ thể gồm các thao tác sau:
Chuyển đổi ảnh màu sang ảnh đa cấp xám có thể thực hiện bằng cách tách kênh màu đỏ Phương pháp này không chỉ loại bỏ dấu màu đỏ mà còn giữ lại các đặc trưng của nét bút.
+Nhị phân ảnh: Vì mặt sau có cấu trúc nền khá đơn giản nên chỉ cần áp dụng phương pháp phân ngưỡng Sauvola để khử nền
+ Căn chỉnh độ nghiêng: Áp dụng phương pháp như đối với mặt trước
3.3.2 Xác định cấu trúc bảng
Trong phần này, chúng ta sẽ tách các vùng thông tin cần thiết từ ảnh nhị phân bằng cách xác định cấu trúc của bảng, được tạo ra bởi các đường kẻ ngang và dọc Tuy nhiên, trong quá trình sử dụng, các đường kẻ này có thể bị mờ hoặc đứt nét, gây khó khăn cho việc nhận diện Ngoài ra, khi dập hoặc in thông tin, các ký tự và dấu vân tay có thể chồng lên các đường kẻ, làm phức tạp thêm việc xác định cấu trúc bảng Do đó, việc nhận diện các đường kẻ ngang và dọc của bảng là rất quan trọng Trong phần này, chúng tôi sẽ trình bày thuật toán xác định đường kẻ ngang, với quy trình xác định đường kẻ dọc tương tự.
Thuật toán 3.7 Tìm các đường kẻ ngang trong ảnh
Input: Ảnh nhị phân: IBin
Output: Danh sách các đường kẻ ngang trong ảnh: LLine = {yLinek}
1 Áp dụng các phép biến đổi hình thái đối với IBin: a erosion 15x1: Xoá đường kẻ dọc và nét bút của ký tự b dilation 1x3: Làm dày đường kẻ ngang c closing 51x1: Nối đường ngang bị đứt
2 Tách lấy các thành phần liên thông: LCCs = {bCCsi}
3 Các đường kẻ ngang trong ảnh:
Thuật toán xác định đường kẻ ngang của cấu trúc bảng được chia làm hai phần chính:
Để làm nổi bật các đường kẻ ngang trong ảnh, trước tiên cần áp dụng các phép biến đổi hình thái Sau đó, tiến hành phân tích các thành phần liên thông để tách biệt các đường kẻ ngang, theo thuật toán 3.7 Những đường kẻ này có thể là đường kẻ ngang của bảng hoặc không, bao gồm cả các đường kẻ được hình thành từ các dấu chấm gần nhau của đường cơ sở hoặc đường gạch chân trong chữ ký.
Dựa vào khoảng cách giữa các đường kẻ ngang, xác định các đường kẻ ngang của bảng từ hình ảnh bằng cách loại bỏ những đường không thuộc bảng và bổ sung các đường còn thiếu.
Sau khi xác định cấu trúc bảng bằng cách xác định các đường kẻ ngang và dọc, cần tách các vùng chứa thông tin cần thiết từ ảnh Cụ thể, vùng Dân tộc nằm giữa đường kẻ ngang thứ nhất và thứ hai, trong khi vùng Ngày cấp và Nơi cấp nằm giữa đường kẻ ngang thứ tư và thứ sáu, cũng như giữa đường kẻ dọc thứ ba và thứ tư Từ các vùng này, bước tiếp theo là tách lấy các trường thông tin cần tìm.
Hinh 3 11 Xác định cấu trúc bảng
Việc tách cách trường thông tin ở mặt sau cũng tương tự như đối với mặt trước.
ĐẶT THỬ NGHIỆM
4.1.Hệ thống chương trình gồm có các phần
Giao diện chính của chương trình
Phân đoạn ảnh Tách Cây Tứ Phân
Phân đoạn ảnh theo Single-Link
Phân đoạn ảnh theo K-Means
4.2.Giao diện phân đoạn ảnh dựa vào phương pháp tách cây tứ phân
4.3.Giao diên phân đoạn ảnh dựa vào phương pháp Single-Link
4.4.Giao diện phân đoạn ảnh dựa vào phương pháp K-Means