Tạp chí Khoa học & Công nghệ - Số 1(49)/năm 2009<br />
<br />
Kĩ thuật – Công nghệ<br />
<br />
XÂY DỰNG MÔ HÌNH MẠNG NƠRON TẾ BÀO CNN GIẢI PHƢƠNG TRÌNH<br />
KHUẾCH TÁN PHỨC TUYẾN TÍNH ỨNG DỤNG TRONG XỬ LÝ ẢNH<br />
Phạm Đức Long - Cáp Thanh Tùng (Khoa Công nghệ thông tin - ĐH Thái Nguyên,<br />
Phạm Thượng Cát (Viện Công nghệ thông tin - Viện KH&CN Việt Nam)<br />
<br />
1. Xử lý ảnh dùng PDE<br />
Những ý tưởng về ứng dụng PDE trong xử lý ảnh đã được nhắc đến từ khoảng đầu những<br />
năm 80 của thế kỷ 20. Trong khoảng 10 năm gần đây việc nghiên cứu về xử lý ảnh PDE được<br />
các nhà nghiên cứu quan tâm do có nhiều ưu điểm trong khi thực hiện. Xử lý ảnh dùng PDE cho<br />
phép thực hiện các nhiệm vụ chính là làm trơn (smoothing), tìm biên (edge detection), giảm<br />
nhiễu denoising) , phân vùng ảnh, phục hồi cấu trúc ảnh (reconstruction) trong nhiều lĩnh vực<br />
đặc biệt là trong xử lý ảnh y tế [5],[7], [8], [9], [10], [11], việc thực hiện được tiến hành trên cả<br />
phần mềm và phần cứng [6].<br />
Với một PDE biểu diễn quan hệ giữa độ sáng của ảnh I với các biến chẳng hạn vị trí, thời<br />
gian là I(x,y,t) thì nghiệm của nó khi giải với điều kiện khởi tạo I(x0,y0,t0) và điều kiện biên cụ<br />
thể chính là hình ảnh mới của I ở thời điểm t. Một ví dụ quen thuộc nhất là phương trình truyền<br />
nhiệt tuyến tính đẳng hướng, phương trình này có thể được ứng dụng để thực hiện làm giảm<br />
nhiễu và tìm biên. Chúng ta khảo sát phương trình truyền nhiệt như sau:<br />
I ( x, y, t )<br />
t<br />
<br />
c I ( x, y, t )<br />
<br />
trong đó<br />
<br />
I<br />
<br />
2<br />
<br />
I<br />
<br />
2<br />
<br />
x<br />
<br />
2<br />
<br />
y2<br />
<br />
I<br />
<br />
(1)<br />
<br />
với c là hệ số dẫn. Trường hợp khi phương trình mô tả quá trình truyền nhiệt đẳng hướng c là<br />
một hằng số.<br />
2. Mạng nơ ron tế bào CNN<br />
Trong khi giải các PDE theo phương pháp sai phân, việc chia các điểm của đường cong<br />
PDE càng dày thì độ chính xác khi giải càng cao nhưng dẫn tới khối lượng tính toán càng lớn, thời<br />
gian giải càng lâu, không đáp ứng thời gian giải nhất là khi số lượng biến số lớn. Mạng nơ ron tế<br />
bào CNN (Cellular Neural Network) được L.O. Chua và L.Yang phát minh ra năm 1988 [1, 2] đã<br />
cho phép giải các PDE trong khoảng thời gian vài phần triệu giây. Hình 1. cho xem một CNN một<br />
lớp đơn 2 chiều kích thước 3x3. Sơ đồ mạch điện của mỗi một cell C(i,j) như trong hình 2.<br />
<br />
Hình 1. CNN với hệ thống 3x3 láng giềng<br />
<br />
Hình 2. Mạch điện một cell CNN<br />
<br />
Trong sơ đồ vxij, vyij, vuij là ký hiệu các điện áp trạng thái, đầu ra và đầu vào của cell.<br />
Điện áp trạng thái vxij được giả định với điều kiện khởi tạo có độ lớn nhỏ hơn hoặc bằng 1. Điện<br />
áp đầu vào vuij được giả định là hằng số với độ lớn nhỏ hơn hoặc bằng 1. Mỗi một cell C(i,j)<br />
chứa một nguồn điện áp độc lập Eij , một nguồn dòng độc lập I, một tụ tuyến tính C x, hai điện trở<br />
tuyến tính Rx và Ry. Ixy(i,j;k,l) và Ixu(i,j;k,l) là các nguồn dòng được điều khiển bằng điện áp<br />
<br />
1<br />
<br />
Tạp chí Khoa học & Công nghệ - Số 1(49)/năm 2009<br />
<br />
Kĩ thuật – Công nghệ<br />
<br />
tuyến tính có các đặc điểm Ixy(i,j;k,l) = Aij,klvykl và Ixu(i,j;k,l) = Bij,klvukl với mọi C(k,l)<br />
là bán kính ảnh hưởng của các cell láng giềng C(k,l) đến C(i,j) với:<br />
Nr(i,j) = {C(k,l)|max{|k-i|,|l-j|} r, 1 k M, 1 l N}.<br />
(2)<br />
<br />
Nr(i,j). r<br />
<br />
Phần tử phi tuyến trong mỗi một cell là một nguồn dòng được điều khiển bằng điện áp<br />
piecewise-linear Iyx = (1/Ry)f(vxij). Hệ số ghép cặp (coupling) Aij,kl và Bij,kl được gọi là các hệ số<br />
mẫu hồi tiếp và hệ số mẫu điều khiển. Tất cả các cell trong CNN được giả định rằng có các<br />
thông số bằng nhau theo các chiều (không gian bất biến và đẳng hướng). Thuật ngữ mẫu vô tính<br />
được sử dụng để nhấn mạnh thuộc tính bất biến này. Điều này có nghĩa là tập hợp 2(2r + 1)2 + 1<br />
con số thực Aij,kl và Bij,kl sẽ quyết định đầy đủ hành vi của một mảng CNN hai chiều bất kì. Các<br />
mẫu có thể được biểu diễn cô đọng trong dạng bảng hoặc ma trận. Hệ thống các phương trình mô<br />
tả động lực học của một cell CNN hai chiều tuyến tính như sau:<br />
Phương trình trạng thái<br />
Cx<br />
<br />
dvxij (t )<br />
dt<br />
<br />
1<br />
v xij (t )<br />
Rx<br />
<br />
A(i, j; k , l )v ykl (t )<br />
<br />
B(i, j; k , l )vukl<br />
<br />
C ( k ,l ) Nr ( i , j )<br />
<br />
Phương trình đầu ra:<br />
<br />
I 1 i M ;1<br />
<br />
j<br />
<br />
N (3a)<br />
<br />
C ( k ,l ) Nr ( i , j )<br />
<br />
vyij(t) =<br />
<br />
1<br />
( v xij (t ) 1<br />
2<br />
<br />
v xij (t ) 1 )<br />
<br />
1 i M ;1<br />
<br />
j<br />
<br />
N<br />
<br />
(3b)<br />
<br />
3. Mô hình CNN 1 lớp khuếch tán ứng dụng xử lý ảnh<br />
3.1. Mô hình CNN khuếch tán tuyến tính: Trước khi đưa ra mô hình CNN do chúng tôi đề<br />
xuất, chúng tôi xin giới thiệu mô hình CNN khuếch tán đẳng hướng một lớp thực hiện giải<br />
phương trình truyền nhiệt 2D (trong xử lý ảnh chỉ cần tới PDE 2D) với hệ số khuếch tán không<br />
đổi theo các hướng [3]. Thực hiện rời rạc và xấp xỉ hóa (1) và (2):<br />
2<br />
<br />
I<br />
<br />
x<br />
<br />
2<br />
<br />
+<br />
<br />
2<br />
<br />
I<br />
<br />
y<br />
<br />
2<br />
<br />
1<br />
I i, j<br />
h2<br />
<br />
1<br />
<br />
4I i, j<br />
<br />
I i, j<br />
<br />
1<br />
<br />
Ii<br />
<br />
1, j<br />
<br />
Ii<br />
<br />
(4)<br />
<br />
1, j<br />
<br />
với h là bước lưới không gian theo 2 hướng x, y ( x = y = h).<br />
So sánh với phương trình trạng thái của CNN [1] chúng ta có bộ mẫu (template) cho<br />
CNN một lớp đơn giải phương trình (1) như sau:<br />
1<br />
h2<br />
<br />
0<br />
A<br />
<br />
1<br />
h2<br />
0<br />
<br />
4<br />
h2<br />
<br />
0<br />
1<br />
R<br />
<br />
1<br />
h2<br />
<br />
(5)<br />
<br />
1<br />
, B 0, z 0<br />
h2<br />
0<br />
<br />
Mô hình CNN này có thể thực hiện trên phần cứng.<br />
3.2. Mô hình CNN khuếch tán phức tuyến tính<br />
Guy Gilboa [4] đã đưa giá trị phức vào quá trình khuếch tán. Một phương trình khuếch<br />
tán phức tuyến tính có thể được mô tả:<br />
I t cI xx , t 0 , x R I ( x,0) I 0 R , c, I C<br />
(6)<br />
j<br />
với I là tín hiệu và c = re . Quá trình khuếch tán tuyến tính phức này được điều khiển bằng hệ<br />
số khuếch tán phức c. Hãy xét phương trình khuếch tán sau:<br />
I<br />
t<br />
<br />
c I<br />
<br />
(7) Với các giá trị c và I phức: c<br />
<br />
cR<br />
<br />
jcI và I ( x, y )<br />
<br />
I R ( x, y)<br />
<br />
jI I ( x, y)<br />
<br />
2<br />
<br />
Tạp chí Khoa học & Công nghệ - Số 1(49)/năm 2009<br />
<br />
j2<br />
<br />
1;<br />
<br />
2<br />
<br />
là toán tử Laplace<br />
<br />
x<br />
<br />
2<br />
<br />
2<br />
<br />
y<br />
<br />
c= rcos + jsin ; cR = rcos<br />
Thay vào (7) được:<br />
I<br />
r cos<br />
t<br />
r cos I R<br />
<br />
j sin<br />
sin<br />
<br />
II<br />
<br />
I<br />
t<br />
<br />
Mặt khác:<br />
<br />
IR<br />
<br />
jI I<br />
<br />
j r sin<br />
<br />
IR<br />
t<br />
<br />
j<br />
<br />
Kĩ thuật – Công nghệ<br />
<br />
. Với c=rej chúng ta có:<br />
<br />
; cI = rsin<br />
<br />
r cos<br />
IR<br />
<br />
2<br />
<br />
IR<br />
<br />
r cos<br />
<br />
jr sin<br />
<br />
(8)<br />
IR<br />
<br />
jr cos<br />
<br />
II<br />
<br />
j 2 sin<br />
<br />
II<br />
<br />
(9)<br />
<br />
II<br />
<br />
II<br />
(10). Từ (9) và (10) cuối cùng chúng ta có:<br />
t<br />
2<br />
<br />
IR<br />
t<br />
<br />
r cos<br />
<br />
IR<br />
<br />
r sin<br />
<br />
II<br />
<br />
r cos<br />
<br />
II<br />
t<br />
<br />
r sin<br />
<br />
IR<br />
<br />
r cos<br />
<br />
II<br />
<br />
r sin<br />
<br />
IR<br />
x2<br />
<br />
2<br />
<br />
IR<br />
x2<br />
<br />
2<br />
<br />
2<br />
<br />
IR<br />
y2<br />
<br />
r sin<br />
<br />
IR<br />
y2<br />
<br />
r cos<br />
<br />
2<br />
<br />
II<br />
x2<br />
<br />
2<br />
<br />
2<br />
<br />
2<br />
<br />
II<br />
x2<br />
<br />
II<br />
.<br />
y2<br />
<br />
II<br />
.<br />
y2<br />
<br />
(11)<br />
(12)<br />
<br />
Sự phân rã này sẽ có ích cho chúng ta khi xây dựng mô hình giải phương trình (7).<br />
Ý nghĩa trong xử lý ảnh: Nếu một quá trình xử lý ảnh có quy luật biến đổi là một PDE mà<br />
chúng ta phân tách được PDE đó thành hai thành phần thực và ảo như trên thì khi xử lý bằng<br />
khuếch tán phức sẽ thu được đồng thời hai kết quả của quá trình.<br />
Điều kiện biên được sử dụng: IR(t=0) = IR0 = I0 : ảnh ban đầu. II (t=0) = II0 =0.<br />
<br />
Hình 3. CNN 2 lớp 2D giải phương trình khuếch tán phức<br />
<br />
II và IR sẽ có giá trị trong quá trình lan truyền (khuếch tán) theo (11) và (12).<br />
Thành phần thực được xấp xỉ thành một hàm Gaus - mục 3.4 [4]. Thành phần ảo được<br />
xấp xỉ thành đạo hàm bậc hai của nó tỉ lệ với thời gian. Thành phần thực sẽ thực hiện quá trình<br />
giảm nhiễu và thành phần ảo sẽ thực hiện việc tìm biên. Kết quả xử lý ảnh gốc sẽ cho ra hai ảnh:<br />
một ảnh đã được giảm nhiễu, một ảnh cho thấy các biên (edge) và vẫn giữ được các chi tiết<br />
mỏng mảnh.<br />
Dựa vào các kết quả khai triển trong các phương trình (9), (10), (11) chúng tôi đưa ra một<br />
mô hình CNN hai lớp để giải phương trình (7) với c và I là số phức như trong hình 3.<br />
Lớp 1 của CNN hai lớp này thực hiện giải PDE với thành phần thực và lớp 2 thực hiện<br />
giải phần ảo. Liên kết giữa hai lớp thông qua các bộ mẫu quan hệ A21 và A12.<br />
Cụ thể các hệ số mẫu của CNN hai lớp này như sau:<br />
<br />
3<br />
<br />
Tạp chí Khoa học & Công nghệ - Số 1(49)/năm 2009<br />
<br />
A12 = rcos<br />
<br />
Kĩ thuật – Công nghệ<br />
<br />
0<br />
1<br />
<br />
1<br />
4<br />
<br />
0<br />
1 ; A21 = - rsin<br />
<br />
0<br />
<br />
1<br />
<br />
0<br />
<br />
1<br />
<br />
4<br />
<br />
1 ,<br />
<br />
0<br />
<br />
1<br />
<br />
0<br />
<br />
0<br />
<br />
1<br />
<br />
0<br />
<br />
(15)<br />
<br />
4. Thực nghiệm<br />
- Khuếch tán tuyến tính: Quá trình thực hiện trên ảnh màu kích thước 256x216<br />
<br />
Hình 4. Khuếch tán tuyến tính thực trên ảnh màu<br />
<br />
- Khuếch tán tuyến tính phức<br />
<br />
(a)<br />
<br />
(b)<br />
Hình 5. Kết quả kép của khuếch tán tuyến tính phức trên ảnh màu.<br />
6(a): Phần thực hiện quá trình làm giảm nhiễu; 6(b): phần áo thực hiện quá trình tìm biên.<br />
<br />
(a)<br />
<br />
4<br />
<br />
Tạp chí Khoa học & Công nghệ - Số 1(49)/năm 2009<br />
<br />
Kĩ thuật – Công nghệ<br />
<br />
(b)<br />
<br />
Hình 6. Khuếch tán tuyến tính phức trên ảnh nhị phân kích thước 300x300.<br />
7(b): Phần ảo thực hiện quá trình tìm biên<br />
<br />
Nhận xét<br />
Quá trình khuếch tán thực hiện xử lý ảnh có thể tiến hành với cả ảnh nhị phân, ảnh màu<br />
và đa cấp xám. Quá trình khuếch tán tuyến tính thực chỉ cho ra được 1 kết quả - tương đương<br />
thực hiện trên CNN một lớp đơn trong khi quá trình khuếch tán phức tuyến tính cho kết quả<br />
kép cho phép quan sát bằng mắt thường (hoặc xử lý tự động nếu sử dụng hệ thống tính toán-xử<br />
lý) với cả hai kết quả đồng thời. Khi được thực hiện trên CNN hai lớp sẽ cho phép quan sát quá<br />
trình xử lý liên tục, thời gian thực. Thực nghiệm cho thấy kết quả đúng đắn của mô hình được<br />
đề xuất. Trên cơ sở này, mô hình có thể được cứng hóa bằng công nghệ CMOS hoặc FPGA.<br />
4. Kết luận<br />
Xử lý ảnh PDE đã được quan tâm nghiên cứu mạnh trong khoảng 10 năm gần đây. Ứng dụng<br />
các quá trình khuếch tán (diffusion) tuyến tính và phi tuyến, đẳng hướng và không đẳng hướng đã<br />
cho phép thu được hiệu quả cao trong việc giảm nhiễu, tìm biên ảnh. Bằng việc áp dụng các giá trị<br />
phức với hệ số dẫn và với thành phần tín hiệu ảnh thay đổi trong các quá trình khuếch tán có thể cải<br />
thiện được quá trình làm giảm nhiễu và vẫn gìn giữ được biên và các chi tiết mang thông tin mỏng<br />
mảnh của ảnh. Một mô hình CNN hai lớp thực hiện ý tưởng này cung cấp cho chúng ta một công cụ<br />
tìm biên và giảm nhiễu trên CNN với tốc độ xử lý thời gian thực và mô hình CNN này hoàn toàn có<br />
thể thực hiện được bằng phần cứng trên nền tảng công nghệ CMOS hoặc FPGA<br />
Tóm tắt<br />
Xử lý ảnh bằng PDE đã được nghiên cứu phát triển mạnh trong thời gian gần đây với<br />
nhiều tác vụ thực hiện trên các máy tính hệ lệnh tuần tự. Bài viết của chúng tôi đã giới thiệu một<br />
mô hình CNN tự trị 2 lớp thực hiện quá trình giải PDE khuếch tán phức tuyến tính ứng dụng<br />
trong xử lý ảnh. Các kết quả mô phỏng và thực nghiệm cho thấy tính đúng đắn của mô hình được<br />
đề xuất.<br />
Summary<br />
Image processing by PDE is investigated recently for tasks in PC. In this paper we are<br />
presented a CNN two-layer autonomous model that is used for solving linear complex diffusion<br />
PDEs in image processing. The results of simulations are guaranteed that the perform of this<br />
model is correct.<br />
Tài liệu tham khảo<br />
[1]. Leon O. Chua and L. Yang (1988), "Cellular neural networks: Theory", IEEE Trans. Circuits<br />
Syst., vol.35, No 10, pp 1257-1272.<br />
<br />
5<br />
<br />