Tìm kiếm tài liệu miễn phí

Thiết kế mẫu CNN cho bài toán tìm biên ảnh

Bài báo có 4 phần, phần 1 giới thiệu chung, phần 2 giới thiệu khái quát về CNN và ứng dụng trong xử lý ảnh, phần 3 giới thiệu và giải quyết bài toán dò biên gồm: thiết kế mẫu CNN, áp dụng cho bài toàn tìm biên ảnh, tiến hành cài đặt mô phỏng mẫu tìm được trên ngôn ngữ Java. So sánh với kết quả trên Candy cho thấy độ chính xác của ảnh kết quả là tương đương, phần 4 kết luận đánh giá kết quả thực nghiệm, hướng ứng dụng và phát triển cứng hóa thuật toán trên chip.



Đánh giá tài liệu

0 Bạn chưa đánh giá, hãy đánh giá cho tài liệu này


  • 5 - Rất hữu ích 0

  • 4 - Tốt 0

  • 3 - Trung bình 0

  • 2 - Tạm chấp nhận 0

  • 1 - Không hữu ích 0

Mô tả

Vũ Đức Thái và Đtg

Tạp chí KHOA HỌC & CÔNG NGHỆ

106(06): 139 - 145

THIẾT KẾ MẪU CNN CHO BÀI TOÁN TÌM BIÊN ẢNH
Vũ Đức Thái1*, Lê Văn Thủy2
1

Trường ĐH Công nghệ Thông tin & Truyền thông – ĐH Thái Nguyên
2
Đại học Thái Nguyên

TÓM TẮT
Tìm biên của một ảnh là một trong những xử lý quan trọng trong phân tích ảnh vì các kĩ thuật phân
đoạn ảnh chủ yếu dựa vào biên. Thực tế, trong nhiều lĩnh vực, yêu cầu về các máy tính, thiết bị có
công suất tính toán cực mạnh là rất cấp thiết như: trong xử lý ảnh động thời gian thực, nhận dạng
và định vị đa mục tiêu di động trong an ninh quốc phòng, kiểm tra chất lượng sản phẩm chuyển
động nhanh trên dây chuyền công nghiệp, xử lý chất lượng ảnh siêu âm trong y tế, chế tạo robot
thông minh, chế tạo các thiết bị không người lái... Mạng nơ ron tế bào CNN với kiến trúc xử lý
song song vật lý giúp cho tốc độ xử lý nhanh hơn nhiều so với máy PC. Bài báo giới thiệu phương
pháp sử dụng công nghệ CNN vào bài toán tìm biên ảnh. Bài báo có 4 phần, phần 1 giới thiệu
chung, phần 2 giới thiệu khái quát về CNN và ứng dụng trong xử lý ảnh, phần 3 giới thiệu và giải
quyết bài toán dò biên gồm: thiết kế mẫu CNN, áp dụng cho bài toàn tìm biên ảnh, tiến hành cài
đặt mô phỏng mẫu tìm được trên ngôn ngữ Java. So sánh với kết quả trên Candy cho thấy độ chính
xác của ảnh kết quả là tương đương, phần 4 kết luận đánh giá kết quả thực nghiệm, hướng ứng
dụng và phát triển cứng hóa thuật toán trên chip.
Từ khóa: CNN, biên, mẫu, ngưỡng, PDE, láng giềng.

GIỚI THIỆU
Năm 1988, Leon O Chua và Lin Yang đưa ra
ý tưởng về kiến trúc máy tính mạng nơ ron tế
bào CNN (Cellular Neural Network). Trong
đó, các tác giả đã nêu những nội dung cơ bản
cho một mô hình tính toán song song, bao
gồm kết cấu mạch điện, phương trình toán
học mô tả hoạt động của hệ thống. Đồng thời
phân tích, chứng minh sự làm việc ổn định
của mạng bằng các cơ sở toán học, đưa ra mô
hình mô phỏng thuật toán với những ví dụ cụ

thể. Cung cấp những khái niệm, nguyên tắc
cơ bản, làm nền tảng cho việc nghiên cứu về
công nghệ CNN.
Năm 1993 máy tính mạng nơron tế bào đã
được chế tạo ứng dụng thành công cho một số
bài toán xử lý ảnh và tính toán. Đến nay,
CNN đã được nghiên cứu phát triển ứng dụng
rộng rãi trên nhiều nước với nhiều lĩnh vực
như xử lý ảnh động, thị giác máy, tính toán
điều khiển... Tại Việt Nam đã có một số
nghiên cứu ban đầu [1].

Hình 1. Máy tính thị giác trên PC 104 plus*
*

Hình 2. Máy tính thị giác trên PC để bàn

Tel: 0985 158998; Email: vdcthai@gmail.com

139

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.lrc-tnu.edu.vn

Vũ Đức Thái và Đtg

Tạp chí KHOA HỌC & CÔNG NGHỆ

Một trong những vấn đề trọng tâm nghiên cứu
của lĩnh vực thị giác máy là biên và các thao
tác trên đó vì các kĩ thuật phân đoạn ảnh chủ
yếu dựa vào biên. Nhìn chung về mặt toán
học, người ta coi điểm biên của ảnh là điểm
có sự thay đổi nhanh hoặc đột ngột về độ xám
(hoặc màu). Tập hợp các điểm biên liên tiếp
tạo thành biên hay đường bao quanh của ảnh.
Để áp dụng CNN vào bào toán xử lí ảnh (cụ
thể bài toán tìm biên) cần sử dụng bộ mẫu xử
lí. Ứng với mỗi yêu cầu xử lý cụ thể sẽ một
bộ mẫu xử lí riêng. Bài báo sẽ giới thiệu một
số phương pháp để thiết kế mẫu xử lí và tiến
hành thử nghiệm mẫu đó.
KIẾN TRÚC CNN VÀ MÔ HÌNH TOÁN HỌC

xij ∈ R, yij ∈ R và zij ∈ R được gọi là trạng
thái: đầu ra, đầu vào, ngưỡng của tế bào
C(i,j), A(i, j; k, l) và B(i, j; k, l) được gọi là
toán tử phản hồi và toán tử dẫn nhập đầu vào.
Theo Chua và Roska, 1993 [6]:

A(i, j; k , l ) = A(k , l ; i, j ) 
,
B (i , j ; k , l ) = B ( k , l ; i , j ) 

xij ( 0 ) ≤ 1 ,
uij ≤ 1

Để

CNN có tính ổn định thì
a ij ∈ A, bij ∈ B, có thể được chọn như sau:
một

a1 = a9; a2 = a8; a3 = a7; a4 = a6;
b 1 = b 9; b 2 = b 8; b 3 = b 7; b 4 = b 6:
2. Phương trình đầu ra

Kiến trúc CNN và các phương trình mô tả
Theo Leon O. Chua và L.Yang giới thiệu năm
1988. CNN sử dụng một mảng đơn giản các tế
bào liên kết nhau cục bộ để xây dựng một hệ
thống xử lý tín hiệu analog mạnh. Khối mạch
cơ bản của CNN được gọi là tế bào (tế bào),
chứa các phần tử mạch tuyến tính và phi tuyến
bao gồm các tụ tuyến tính, các điện trở tuyến
tính, các nguồn điều khiển tuyến tính và phi
tuyến, và các nguồn độc lập.

106(06): 139 - 145

yij = f ( xij ) =

1
1
xij ( t ) + 1 − xij ( t ) − 1
2
2

(1.2)
3. Điều kiện biên xác định và là các tế bào
thuộc hiệu ứng cầu của các tế bào cạnh
nhưng nằm ngoài mảng kích thước MxN.
4.

Trạng

thái

khởi

i = 1, 2,...., M , j = 1, 2,..., N ;

tạo

x ij (0) ,

(1.3)

5. Sr(i, j) là hiệu ứng cầu của tế bào C(i,j) có
bán kính r, khi tất cả các tế bào lân cận thỏa
mãn điều kiện sau (r là một số nguyên
dương);

Sr (i, j) = C ( k, l ) max { k − i , l − j ≤ r}


1≤k ≤M ,1≤l ≤N
(1.4)
Hình 3. Kiến trúc mạng CNN MxN

Kiến trúc CNN chuẩn là một mảng có kích
thước MxN gồm các tế bào C(i,j) với (i = 1,
2,…M, j = 1, 2, . . . , N), bao gồm phương
trình toán học sau [2]:

Ta thu được Sr(i, j) là lân cận (2r + l) x (2r
+1) (hình 4).

1. Phương trình trạng thái (state equation)

xij =−
+

1
xij ( t )
Rx



C(k,l)∈Sr (i, j)

A(i, j;k,l)ykl ( t ) +



C(k,l )∈Sr (i, j)

(1.1)

Hình 4. Lân cận

B(i, j; k,l)ukl +zij

a) Lân cận 3x3 (r=1), b) lân cận 5x5(r=2)

Dưới đây là một kiểu kiến trúc mạng nơron tế
bào xử lý ảnh thông dụng nhất. Trong kiến

140

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.lrc-tnu.edu.vn

Vũ Đức Thái và Đtg

Tạp chí KHOA HỌC & CÔNG NGHỆ

106(06): 139 - 145

ảnh còn lại là đầu ra output. Trong pha xử lý
này, ảnh trong đầu ra được thay đổi và ảnh
cuối cùng trên lớp ra là kết quả của sự tính
toán. Trong chip tế bào thị giác, ngoài cấu
trúc mạng nơron tế bào, còn có một số các
kiến trúc thực hiện tính toán hiệu năng cao
khác tồn tại.

trúc này, phần tử xử lý chứa 2 lớp gồm một
lớp vào và một lớp ra. Lớp đầu vào cung cấp
mối liên kết feed-forward cho lớp đầu ra.
Trong lớp đầu ra, có các trọng số phản hồi
ngược liên tục trong thời gian từ các tế bào
lân cận trong không gian. Một mạng nơron tế
bào xử lý ảnh CNN có thể được khởi tạo với
2 ảnh, một ảnh được nạp vào đầu vào input,

Hình 6. Hệ động lực của một tế bào CNN

Hình 5. Mô hình kết nối mạng nơron tế bào

Mẫu và các thao tác xử lý của CNN
Phần 1 ta đã thấy sự xuất hiện của 3 trọng số A, B, z (A, B được gọi là các toán tử hồi tiếp và các
toán tử điều khiển hoặc còn được gọi là các mẫu vô tính) trong kiến trúc CNN. Bộ 3 trọng số này
giúp tạo ra trạng thái ổn định của mạng CNN… Việc xây dựng chương trình chạy trên CNN là
xây dựng tập các mẫu xử lí thực hiện liên tục. Đối với bài toán yêu cầu xử lí lớn ta tiến hành xây
dựng thư viện mẫu (hoặc sử dụng thư viện mẫu có sẵn).

Hình 8. Mẫu tìm đường xiên và hiệu quả của mẫu

Hình 7. Mẫu tìm vùng và hiệu quả của mẫu

A=

v/h2

0
v/h
0

2

*

0

2

-4 v/h + 1/R

v/h

v/h2

0

2

B=

0

0

0

0

0

0

0

0

0

Z=

0

Hình 9. Mẫu giải phương trình PDE Laplace

Phương pháp thiết kế mẫu cho bài toán ứng dụng [1], [3], [4]
Sử dụng các mặt nạ trong kỹ thuật xử lý ảnh truyền thống
Dùng các mặt nạ đã được sử dụng, kiểm nghiệm trong quá trình xử lý ảnh trên máy tính số như
các mẫu lọc trung bình (average), các mẫu co ảnh (erosion), dãn ảnh (dilation), ... Trong mạng
CNN mặt nạ này được sử dụng làm ma trận cho phép thực hiện các phép biến đổi tương đương.
141

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.lrc-tnu.edu.vn

Vũ Đức Thái và Đtg

Tạp chí KHOA HỌC & CÔNG NGHỆ

106(06): 139 - 145

• EDGE: Mẫu tìm biên nhị phân

A=

0

0

0

0

0

0

0

0

0

B=

-1

-1

-1

-1

8

-1

-1

-1

-1

Z=

-1

B sử dụng mặt nạ Laplace.
Phương pháp hệ thống dùng bảng logic
Đây là phương pháp xác định các mẫu không liên kết cho các ứng dụng xử lý ảnh nhị phân. Bảng
logic được mã hoá với các giá trị {0, 1} tức là trắng và đen, ngoài ra chúng ta cũng còn có thể mã
hoá dữ liệu nhị phân là TRUE(1), FALSE(-1) và DON'T CARE(0). Khi thiết kế các mẫu CNN
để thực hiện một hàm logic Fk (.) đã cho, chúng ta thường sử dụng các mẫu không liên kết được
mã hoá và diễn tả như sau:

A=

0

0

0

0

a 00 ≥ 0

0

0

0

0

Bk =

Phân tích hoạt động của CNN để tìm ra mẫu
Theo phương pháp này để tìm ra một tập mẫu
trước hết cần phảỉ phân tích mô tả hoạt động
của mẫu đó thành các tác vụ chi tiết - Các luật
cục bộ (local rule) sau đó dựa vào phương
trình trạng thái và đồ thị quan hệ giữa biến
trạng thái và đạo hàm bậc nhất của nó (đồ thị
DP) để xác định mẫu.
Kỹ thuật thiết kế fuzzy
Lý thuyết tập mờ và logic mờ (fuzzy sets and
fuzzy logic) do giáo sư Lofti Zadeh công bố
năm 1965. Logic mờ được thiết kế để làm
việc với các sự kiện không chính xác. Mặc dù
không được các hầu hết cộng đồng nghiên
cứu ủng hộ trong phát triển lý thuyết, logic
mờ vẫn được áp dụng và có nhiều thành công
trong thực tiễn như trong hệ thống điện ô tô,
máy điều hoà nhiệt độ, thang máy, máy giặt,
máy rửa bát, các bộ lọc ngôn ngữ, xử lý ảnh
số, ... Logic mờ cũng được áp dụng trong
thiết kế các mẫu phục vụ cho các tác vụ CNN.
Thiết kế mẫu dùng giải thuật di truyền
Thuật giải di truyền (Genetic algorithms GA) có đặc điểm thích hợp với những bài
toán dạng tối ưu. Bản chất của giải thuật di
truyền là một giải thuật tìm kiếm ngẫu nhiên
có định hướng (hàm thích nghi). Thuật gen có
khả năng kiểm tra hết mọi trường hợp có thể
của bài toán, nhưng đó là một sự kiểm tra
Định hình
dạng mẫu

Tạo hệ thống quy
luật quan hệ

w-1,-1

w-1,0

w-1,1

w0,-1

w0,0

w0,1

w1,-1

w1,0

w1,1

Z

(*)

ngẫu nhiên và có định hướng; khác với
phương pháp vét cạn tất cả các trường hợp.
Có thể xem thuật gen như là một phương
pháp khám phá. Thuật giải di truyền không
quan tâm đến nội dung của bài toán mà chỉ
cần quan tâm đến vấn đề cần giải quyết của
bài toán. Vì GA là một giải thuật ngẫu nhiên
nên nếu có thể xác định được hàm phân bố
ngẫu nhiên của bài toán thì việc giải quyết bài
toán sẽ dễ dàng hơn. Các giải thuật leo đồi,
luyện thép cũng đã được áp dụng để tìm kiếm
mẫu. Tuy nhiên giải thuật di truyền không
phải khi nào cũng cho kết quả tối ưu và giá
thành tính toán đắt (Số lượng phép tính lớn).
Mặc dù vậy do là một kỹ thuật tìm kiếm giải
pháp dựa trên việc mô phỏng quá trình tiến
hoá của tự nhiên nên hiện nay kỹ thuật này
vẫn được các nhà nghiên cứu CNN áp dụng
để tìm kiếm, thiết kế mẫu...
Phương pháp thiết kế mẫu trực tiếp
Đây là phương pháp dùng thiết kế mẫu cho
xử lý ảnh nhị phân được Ákos Zarándy đề
xuất. Phương pháp này được sử dụng để
thiết kế mẫu khi nhiệm vụ yêu cầu đã được
xác định chính xác. Các mẫu tìm được có
thể là loại cho mạng CNN ghép cặp hoặc
không ghép cặp. Trình tự tiến hành thiết kế
mẫu theo phương pháp trực tiếp theo 4 bước
như trong hình:
Giải hệ thống
quy luật quan hệ

Chọn mẫu
mạnh nhất

Hình 10. Sơ đồ các bước thiết kế mẫu theo phương pháp trực tiếp

142

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.lrc-tnu.edu.vn

Vũ Đức Thái và Đtg

Tạp chí KHOA HỌC & CÔNG NGHỆ

ỨNG DỤNG CNN VÀO BÀI TOÁN TÌM
BIÊN ẢNH
Quy trình phát hiện biên
Điểm biên nếu có sự thay đổi nhanh hoặc đột
ngột về mức xám (hoặc màu). Việc thực hiện
tìm biên trong xử lí ảnh truyền thống cài đặt
trên máy PC thường thực hiện tuần tự trên
từng điểm ảnh kết hợp sử dụng toán tử làm
nổi biên. Do vậy thời gian xử lý bằng tổng
thời gian xử lý cho mỗi điểm ảnh. Với công
nghệ CNN, mỗi điểm ảnh được xử lý bởi một
chip trong mạng CNN, quá trình thực hiện xử
lí toàn ảnh xảy ra song song. Tốc độ xử lý chỉ
bằng tốc độ xử lý cho một điểm ảnh. Để ứng
dụng CNN, nhóm nghiên cứu tiến hành áp
dụng các phương pháp thiết kế mẫu, sử dụng
quy trình học mẫu để tìm mẫu cho việc tìm
biên ảnh (mẫu EDEG EXTRACTION).
Thử nghiệm và đánh giá
a. Thử nghiệm:

Quá trình tìm mẫu bằng phương
pháp học [5]:

106(06): 139 - 145

B1. Nạp ảnh đầu vào;
B2. Đưa yêu cầu xử lí (ví dụ làm mờ, dò biên,
dãn ảnh…);
B3. Thực hiện các xử lý logic hoặc analogic
để tìm mẫu;
B4. Thực thiện xử lí song song với tìm được;
B5. Đánh giá kết quả thu được, nếu đầu ra chưa
hội tụ đến đầu ra của biên lí tưởng tiến hành
quay trở lại bước 3 cho tới khi đạt được mẫu
CNN tối ưu (Mẫu EDEG EXTRACTION).
Sau khi tìm được mẫu tối ưu của mạng ta áp
dụng thực hiện xử lý cho bất kỳ ảnh đầu vào
nào, thuật toán như sau:
Bước 1: Nạp ảnh đầu vào
Bước 2: Nạp mẫu xử lý (tùy yêu cầu xử lý để
nạp mẫu thích hợp)
Bước 3: Chạy chương trình
Bước 4: Đưa ra kết quả xử lý
Nhóm đã tiến hành thử nghiệm tìm mẫu và
chạy chương trình trên một số dạng ảnh, kết
quả như sau:

Candy

Java Simulation
Hình 12. Ảnh đầu vào

Hình 11. Quy trình tìm mẫu bằng phương pháp học

Thử nghiệm 1: mẫu chuẩn CNN EDEG

A=
Kết quả (1):

0

0

0

0

0

0

0

0

0

B=

-1

-1

-1

-1

8

-1

-1

-1

-1

Candy T = 2s

Z=

-1

Java Simulation T = 2s

143

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.lrc-tnu.edu.vn

Tài liệu cùng danh mục Hệ điều hành

Cách cài Windows XP

Cách cài Windows XP Không giống như những thiết bị điện tử thông thường chỉ cần cắm điện và nhấn nút là hoạt động được, máy vi tính phải cần đến chương trình để điều khiển chúng hoạt động.


Bài giảng Nguyên lý hệ điều hành: Chương 7 - Phạm Quang Dũng

Bài giảng Nguyên lý hệ điều hành chương 7 trình bày về "bế tắc" (Deadlocks) trong hệ điều hành. Mục tiêu của chương này là mô tả bế tắc, tình trạng ngăn cản các tiến trình đồng thời hoàn thành tác vụ; giới thiệu các phương pháp khác nhau để ngăn ngừa hoặc tránh khỏi bế tắc trong một hệ thống máy tính. Mời các bạn cùng tham khảo.


Red Hat Linux Second Edition

I don’t know how many times I have been asked what Red Hat is. When I say that it is a distribution of Linux, people tend to know what I am talking about. (At least the people I hang around with do!) The follow-up question is usually something like, “Okay, if it is a distribution of Linux, why should I use it, and not Linux itself?” This introduction should start to answer that question. Red Hat also answers the question on its Web page (http:// www.redhat.com), which is summarized in this introduction....


Lý do bạn cần có đĩa LiveCD Linux

Tham khảo tài liệu 'lý do bạn cần có đĩa livecd linux', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả


solaris 9 student guide part 2 sa299 phần 4

Các hệ thống tập tin AutoFS cung cấp một cơ chế tự động lắp hệ thống tập tin NFS trên nhu cầu và tự động unmount các hệ thống tập tin sau khi một thời gian nhất định không hoạt động. Các điểm gắn kết được quy định cụ thể bằng cách sử dụng bản đồ địa phương hoặc phân phối automount. Sau khi hoàn thành mô-đun này, bạn sẽ có thể:


Packt publishing dns in action_3

Giao thức DNS làm việc với một số loại hoạt động. Các hoạt động được sử dụng phổ biến nhất là một QUERY DNS. Đó là một truy vấn mà cho phép có một hoặc nhiều hồ sơ từ cơ sở dữ liệu DNS. Các hoạt động QUERY DNS đã được một thời gian dài hoạt động duy nhất có thể trong hệ thống DNS.


Actionscript 3.0 bible 2nd edition

The updated edition on all the latest features and capabilities of ActionScript 3.0 and Flash Player 10. ActionScript is a popular programming language used primarily for the development of Web sites and software. This update to the successful previous version introduces you to all the exciting new capabilities of ActionScript 3.0. You'll see how ActionScript 3.0 goes beyond its primary use of scripting Flash animations and is now an object-oriented evolution that runs ten times faster than previous versions and can be used in Adobe's new platforms, including Flex and AIR. Hands-on instruction and step-by-step tutorials enhance your learning process...


Tài liệu tham khảo: Hệ điều hành Linux

Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành giống Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc đóng gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như là các bản phân phối Linux.


Bài giảng môn Hệ điều hành: Chương 2 - TS. Nguyễn Văn Hiệp

Bài giảng môn Hệ điều hành - Chương 2: Quản lý process và thread" cung cấp cho người học các kiến thức: Khái niệm process; tạo, xóa process, trạng thái process, khái niệm thread, lập lịch chạy các process, các phương pháp lập lịch. Mời các bạn cùng tham khảo nội dung chi tiết.


Tin học đại cương: Sơ lược về máy vi tính

Hệ điều hành là phần mềm dùng khời động máy, giúp người sử dụng lập trình giao tiếp vói các bộ phận của máy tính. Hệ điều hành có nhiều loại nhưng thông dụng nhất là Hệ điều hành MS-DOS (MicroSoft- Disk Operating System). Hệ điều hành phát triển cùng với sự phát triển của phần cứng Hệ điều hành có nhiều version (phiên bản), version sau tiến bộ hơn version trước.


Tài liệu mới download

Mẫu Bản cảnh cáo nhân viên
  • 19/05/2015
  • 83.311
  • 893

Từ khóa được quan tâm

Có thể bạn quan tâm

Advanced Bash−Scripting Guide
  • 03/09/2009
  • 41.790
  • 140
Windows 2000 Active Directory
  • 08/08/2009
  • 56.565
  • 189

Bộ sưu tập

Danh mục tài liệu