KỸ THUẬT LẤY KHUNG XƯƠNG ẢNH BẰNG MẠNG NƠ-RON

Một phần của tài liệu Phương pháp trích chọn đặc trưng cho bài toán nhận dạng chữ Nôm (Trang 40)

1) Tiền xử lý

4.3KỸ THUẬT LẤY KHUNG XƯƠNG ẢNH BẰNG MẠNG NƠ-RON

XUNG KÉP

Ý tưởng xuất phát từ hiện tượng đồng cỏ cháy, giả sử có một đồng cỏ cháy, các đám cháy bắt đầu từ bên ngoài, lan dần vào giữa đồng cỏ rồi

gặp nhau tại một điểm. Nếu tốc độ lan của các đám cháy bằng nhau thì điểm gặp nhau chính là điểm giữa của đồng cỏ. Nếu mô phỏng hiện tượng đồng cỏ cháy trên một vùng ảnh của chữ Nôm thì ví trí gặp nhau của các đám cháy gặp nhau chính là điểm ảnh giữa của vùng ảnh.

a. Đám cháy bắt đầu từ rìa vùng điểm ảnh

b. Đám cháy lan dần đều vào giữa vùng ảnh

c. Các đám cháy gặp nhau tại điểm giữa ảnh

Hình 4.2. Mô tả quá trình cháy trên một vùng ảnh

Nếu mô phỏng hiện tượng đồng cỏ cháy trên toàn bộ ảnh của một chữ Nôm thì ta sẽ thu được một tập hợp các điểm mà các đám cháy gặp nhau. Tập hợp các điểm này chính là khung xương của ảnh chữ Nôm

a. Ảnh gốc b. Khung xương ảnh

Hình 4.3. Mô tả khung xương chữ Nôm

Vấn đề đặt ra là làm sao mô tả được hiện tượng đồng cỏ cháy trên ảnh chữ Nôm. Để mô tả hiện tượng này ta có thể sử dụng giải thuật của nhóm tác giả Lifeng shang, Zhang Yi và Luping Ji giới thiệu năm 2007 [15]. Giải thuật của nhóm tác giả này đưa ra là sử dụng mạng nơ-ron xung kép để tạo ra các cặp xung dưới dạng sóng Autowaves[15] để mô tả hiện tượng đồng cỏ cháy trên một ảnh nhị phân. Mạng nơ-ron này có số phần tử đúng bằng số điểm ảnh của ảnh đầu vào. Các phần tử của mạng Nơ-ron nhận một trong hai giá trị 1 và 0 với 1 là nơ-ron đã cháy và 0 là nơ-ron chưa cháy.

Để kích hoạt một nơ-ron nhóm tác giả đưa ra cách tính ngưỡng của một nơ-ron dựa trên giá trị liên kết của nơ-ron đó với các nơ-ron láng giềng của nó.

Để mô tả hoạt động của mạng nơ-ron nhóm tác giả đề xuất sử dụng các ma trận sau:

- Ma trận đầu vào (ma trận F) có số phần tử bằng số điểm ảnh vào với giá trị điểm ảnh được chuyển thành 2, giá trị điểm nền được chuyển thành 1;

- Ma trận ngưỡng (T_H), chứa ngưỡng hiện tại của các nơ-ron. Ban đầu các phần tử của nó được gán giá trị 1,5. khi mạng nơ-ron hoạt động nó được tính theo công thức;

T_H[i, j] = T_H[i, j] + (T_Bh - T_Ah) * Y[i, j]; với T_Bh=15, T_Ah=1,5 (4.1)

- Ma trận trạng thái cháy hiện tại (ma trận Y) mô tả trạng thái cháy của các nơ-ron ở bước hiện tại. Khi bắt đầy, các phần tử của Y được gán bằng 0, khi mạng nơ-ron hoạt động nó được tính theo công thức ;

- Ma trận trạng thái cháy trước đó (ma trận Ypre), mô tả trạng thái cháy của các nơ-ron ở bước trước. Khi bắt đầu, các phần tử của Ypre được gán bằng 0, khi mạng nơ-ron hoạt động nó được gán lại bằng giá trị tương ứng của Y;

- Ma trận L chứa giá trị liên kết của các neu-ron, ban đầu các phần tử của ma trận này có giá trị 1,5, khi mạng nơ-ron hoạt động nó được tính theo công thức;

Li,j= (Yi-1,j+ Yi,j-1 +Yi,j+1 +Yi+1,j)K với K=

- U là ma trận chứa các phần tử đóng vai trò kích hoạt nội bộ đối với các nơ-ron;

- Tr là ma trận nhị phân lưu lại kết quả làm mỏng (thinning) ảnh; - Fired là ma trận ghi lại giá trị các neuron tại thời điểm trước khi bị cháy.

Căn cứ vào các điều kiện gặp nhau sau đây để xác định điểm các xung gặp nhau, từ đó đưa ra điểm pixel thuộc khung xương. Lúc này ma

(4.2) (4.3)           0 1 0 1 0 1 0 1 0

trận trạng thái cháy hiện tại và ma trận trạng thái cháy trước đó của mạng nơ-ron được sử dụng để tính điều kiện gặp nhau

Theo chiều ngang có hai trường hợp gặp nhau là H1 và H2 được chỉ ra như sau:

Điều kiện H1

Ở thời điểm trước nơ-ron Ni,j không cháy, các láng giềng của nó là

Ni,j-1, Ni,j+1 cháy như Hình 4.4 (a).

Ở thời điểm hiện tại Ni,j cháy, các láng giềng của nó là Ni,j-1, Ni,j+1

không cháy như Hình 4.4 (b). (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.4. Mô tả điều kiện H1

Điều kiện H2:

Ở thời điểm trước nơ-ron Ni,j và Ni,j+1 không cháy, các nơ-ron Ni,j-1,

Ni,j+2 cháy như Hình 4.5 (c).

Ở thời điểm hiện tại Ni,j và Ni,j+1 cháy, các nơ-ron Ni,j-1, Ni,j+2

không cháy như Hình 4.5 (d).

Hình 4.5. Mô tả điều kiện H2

Theo chiều dọc có hai trường hợp gặp nhau là V1 và V2 được chỉ ra như sau:

Điều kiện V1:

Ở thời điểm trước nơ-ron Ni,j không cháy, các láng giềng của nó là

Ni-1,j, Ni+1,j cháy như Hình 4.6 (a).

Ở thời điểm hiện tại Ni,j cháy, các láng giềng của nó là Ni-1,j, Ni+1,j

Hình 4.6. Mô tả điều kiện V1

Điều kiện V2:

Ở thời điểm trước nơ-ron Ni,j và Ni+1,j không cháy, các nơ-ron Ni-1,j,

Ni+2,j cháy như Hình 4.7 (c).

Ở thời điểm hiện tại Ni,j và Ni+1, j cháy, các nơ-ron Ni-1,j, Ni+2,j

không cháy như Hình 4.7 (d).

Hình 4.7. Mô tả điều kiện V2

Nếu áp dụng điều kiện H1, H2 thì ta sẽ thu được khung xương theo chiều ngang (Horizontal Skeleton), nếu chỉ áp dụng điều kiện V1, V2 thì ta sẽ thu được khung xương theo chiều dọc (Vertical Skeleton).

Mô hình nơ-ron như sau

Hình 4.8. Mô tả nơ-ron trong mạng PCNN

Bước 1: Khởi gán các ma trận

L = 0; U = 0; Fired = 0; Tr = 0; Y = 0; Ypre = 0 Khởi gán các hằng số

T_Ah = 1.5; T_Bh = 15; Beta = 1.5; Khởi gán ma trận T_H= T_Ah

Bước 2: kiểm tra điều kiện nếu tất cả các thành phần của ma trận Fired bằng 1 và tất cả các nơ-ron đã cháy hết thì quá trình làm mỏng ảnh, trích khung xương hoàn thành, ma trận Tr chính là khung xương kết quả. Ngược lại thì ta chuyển sang bước 3

Bước 3: Tính toán các ma trận và ngưỡng T_H L=YK

U=F*(1+ Beta*L) Ypre=Y

Tính Y theo thuật toán: For (i = 0; i < M; ++i) { for (j = 0; j < N; ++j) { if (U[i, j] > T_H[i, j]) Y[i, j] = 1; else Y[i, j] = 0; } } (M, N là số hàng và số cột của ma trận) Fired=Fired + Y T_H=T_H + Y*(T_Bh - T_Ah)

Bước 4: Sử dụng ma trận Y và Ypre để kiểm tra các điều kiện gặp nhau của các cặp xung. Những Nơ-ron nào thỏa mãn một trong 4 điều kiện gặp nhau như đã trình bày ở trên thì được lưu vào ma trận Tr. (adsbygoogle = window.adsbygoogle || []).push({});

Mộ số hình ảnh khung xương lấy được theo phương pháp PCNN:

a. Ảnh gốc b. Khung xương hoàn chỉnh

c. Khung xương theo chiều dọc d. Khung xương theo chiều ngang

Hình 4.9. Mô tả khung xương, khung xương dọc, khung xương ngang

Một phần của tài liệu Phương pháp trích chọn đặc trưng cho bài toán nhận dạng chữ Nôm (Trang 40)