Ứng dụng công nghệ mang nowrron tế bào vào bài toán lọc nhiễu ảnh - Pdf 32

i

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
------------------------------------

LĂNG THỊ KHÁNH HẢI

ỨNG DỤNG CÔNG NGHỆ MẠNG NƠRON TẾ BÀO
VÀO BÀI TOÁN LỌC NHIỄU ẢNH

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Số hóa bởi trung tâm học liệu

THÁI NGUYÊN
- 2013
/>

ii

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LỜI CAM ĐOAN
------------------------------------------Tôi xin cam đoan luận văn này do tôi thực thiện, có sự hướng dẫn tận
tình và chu đáo của người hướng dẫn là TS. Vũ Đức Thái. Các nội dung tìm
hiểu và kết quả trong luận văn này là những vấn đề mới. Những số liệu trong
các bảng biểu, hình ảnh phục
vụ cho
phân tích,
LĂNG

Số hóa bởi trung tâm học liệu

/>
THÁI NGUYÊN - 2013


iii

MỤC LỤC
Trang
LỜI CAM ĐOAN ............................................................................................ i
MỤC LỤC ...................................................................................................... iii
DANH MỤC CÁC KÍ HIỆU ......................................................................... v
DANH MỤC CÁC CHỮ VIẾT TẮT .......................................................... vi
DANH MỤC BẢNG ...................................................................................... vi
DANH MỤC HÌNH VẼ ............................................................................... vii
MỞ ĐẦU ......................................................................................................... 1
CHƢƠNG 1. TỔNG QUAN VỀ MẠNG NƠRON TẾ BÀO CNN ............ 3
1.1. Sự ra đời và phát triển của CNN và CNN UM ......................................... 3
1.2. Kiến trúc mạng nơ ron tế bào .................................................................. 12
1.2.1. Kiến trúc của CNN tuyến tính .............................................................. 12
1.2.2. Kiến trúc CNN phi tuyến và CNN trễ .................................................. 16
1.2.3. Kiến trúc của CNN nhiều lớp............................................................... 17
1.2.4. Ba lớp CNN tuyến tính đơn giản ......................................................... 17
1.3. Máy tính vạn năng mạng nơ ron tế bào CNN UM .................................. 19
1.3.1. Sự phát triển của máy tính điện tử ....................................................... 19
1.3.2. Máy tính vạn năng mạng nơ ron tế bào CNN UM .............................. 23
1.4. Tình hình nghiên cứu về xử lý ảnh dùng CNN tại Việt Nam ................. 24
CHƢƠNG 2. XỬ LÝ ẢNH DÙNG MẠNG NƠ RON TẾ BÀO ............... 26
2.1. Bài toán xử lí ảnh trên CNN ................................................................... 26

3.4. Nhận xét & đánh giá ............................................................................... 61
KẾT LUẬN ................................................................................................... 63
TÀI LIỆU THAM KHẢO ........................................................................... 64

Số hóa bởi trung tâm học liệu

/>

v

DANH MỤC CÁC KÍ HIỆU

Ý NGHĨA

CÁC KÍ HIỆU
u, v (in đậm)

Ký hiệu cho đại lượng véc tơ trong các phương trình

A

Mẫu A của mạng nơron tế bào là mẫu liên kết các trọng
số hồi tiếp từ đầu ra của các láng giềng của một tế bào

Auv

là các trọng số liên kết từ lớp u đến lớp v trong kiến
trúc mạng nơron tế bào đa lớp.

B


Số hóa bởi trung tâm học liệu

/>

vi
DANH MỤC CÁC CHỮ VIẾT TẮT
CNN

Công nghệ mạng nơron tế bào (Cellular Neural Network)

CNN-UM

Máy tính mạng nơron tế bào (CNN-Universal Machine)

PDE

Phương trình vi phân đạo hàm riêng (Partial Differential
Equation): (trong luận văn dùng thuật ngữ tiếng Việt là “phương
trình đạo hàm riêng”).

ODE

Phương trình vi phân thường (Ordinary Deferential Equation)

CELL

Tế bào

FPGA

DANH MỤC BẢNG
Bảng 1.1. Kích thước mảng CPU trong chip CNN ........................................... 8

DANH MỤC HÌNH VẼ
Trang
Hình 1.1. Các mức phần mềm và công cụ sử dụng ngôn ngữ Alpha. .............. 7
Hình 1.2. Eye- RIS .......................................................................................... 10
Hinh 1.3. CNN tiêu chuẩn kích thước MxN .................................................. 12
Hình 1.4. Mạch điện một tế bào ...................................................................... 13
Hình 1.5 Dạng đồ thị hàm ra của một tế bào .................................................. 14
Hình 1.6. Sơ đồ hoạt động của tế bào ............................................................. 15
Hình 1.7. Một số kiểu lưới CNN ..................................................................... 16
Hình 1.8. Cấu trúc hệ thống của một tế bào C(i,j) đầu vào bằng 0. .............. 18
Hình 1.9. cấu trúc hệ thống của một tế bào C(i,j) trung tâm không ghép cặp 19
Hình 1.10. Cấu trúc máy tính CNN-UM ......................................................... 23
Hình 2.1. Mẫu tìm biên và hiệu quả của mẫu ................................................. 37
Hình 2.2. Mẫu thiết lập ngưỡng ...................................................................... 38
Hình 2.3. Sơ đồ các bước thiết kế mẫu theo phương pháp trực tiếp............... 40
Hình 3.1. Mạch thể hiện của điều kiện biên cố định (Dirichlet)..................... 47
Hình 3.2. Mạch thể hiện điều kiện biên Neumann ......................................... 48
Hình 3.3. Mạch thể hiện của điều kiện biên tuần hoàn ................................... 48
Hình 3.4. Mô hình tìm hiểu ứng dụng CNN khử nhiễu .................................. 50
Hình 3.5. Quá trình tìm mẫu bằng phương pháp học ..................................... 51

Số hóa bởi trung tâm học liệu

/>

1


phần tử ảnh là một tế bào C(i,j) i = 1, 2, . . . , M, j = 1, 2, . . . , N, biểu thị mức
xám của ảnh tại các vị trí (i,j) tương ứng. Ảnh được coi là ảnh nhị phân nếu
C(i,j) chỉ nhận giá trị 0 hoặc 1. Các đặc trưng của ảnh thường bao gồm các
thành phần như: mật độ xám, phân bố xác suất, phân bố không gian.
Các ảnh khi thu vào để xử lý trên máy tính nói chung thường không có
chất lượng tốt (ngoại trừ chúng được thu trong những điều kiện như phòng thí
nghiệm). Trong ảnh ngoài đối tượng chính cần quan tâm còn rất nhiều các đối
tượng nhiễu. Các nhiễu làm giảm hoặc nhiều khi làm mất khả năng biểu lộ
Số hóa bởi trung tâm học liệu

/>

2
thông tin của đối tượng chính trong ảnh. Có nhiều loại nhiễu như nhiễu cộng,
nhiễu nhân, nhiễu xung. Trên thế giới việc nghiên cứu về khử nhiễu vẫn tiếp
tục được quan tâm.Trong khoảng 5 năm trở lại đây nghiên cứu về khử nhiễu
trong xử lý ảnh chủ yếu là sử dụng các công cụ ứng dụng wavelet, fuzzy…
Được sự gợi ý của TS. Vũ Đức Thái và nhận thấy tính thiết thực của vấn
đề này, em đã chọn đề tài: “Ứng dụng công nghệ mạng nơ ron tế bào vào bài
toán lọc nhiễu ảnh” để làm đề tài luận văn tốt nghiệp của mình.
Luận văn gồm 3 chương với các nội dung cơ bản sau:
Chƣơng 1. Tổng quan về mạng nơ ron tế bào CNN
Chƣơng 2. Xử lý ảnh dùng mạng CNN
Chƣơng 3. Ứng dụng công nghệ mạng nơron tế bào cho bài toán lọc nhiễu
Mặc dù đã hết sức nỗ lực, song thời gian và kinh nghiệm nghiên cứu
khoa học còn hạn chế nên không tránh khỏi những thiếu sót. Em rất mong
nhận được sự góp ý của thầy cô và bạn bè đồng nghiệp để hiểu biết của mình
ngày một hoàn thiện hơn.
Qua luận văn này em xin chân thành cảm ơn TS. Vũ Đức Thái, Trường
Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã tận

tăng tốc độ tính toán dựa vào các cải tiến về tốc độ của bộ xử lý trung tâm
CPU theo nguyên lý tuần tự tất nhiên sẽ phải dừng lại ở một giới hạn do tính
chất vật lý của vật liệu bán dẫn.
Mạng Nơron tế bào (Cellular Neural Network), được Leon O. Chua và
L.Yang giới thiệu năm 1988 và sau đó máy tính vạn năng tương tự logic
CNN UM (CNN Universal Machine) xử lý theo luồng được giới thiệu năm
1992 bởi Leon O. Chua và Tamás Roska là một loại máy tính xử lý song
song thật sự, mở ra một hướng mới cho sự phát triển của khoa học tính toán,
tiếp cận đến các phương thức xử lý cũng như phương thức cảm nhận và
hành động của các tổ chức trong cơ thể sinh vật sống. Các chip CNN thực
Số hóa bởi trung tâm học liệu

/>

4
hiện tính toán song song bằng một lệnh duy nhất cho một phép toán. Khi
chúng ta đưa một mảng dữ liệu cần xử lý vào đầu vào của CNN và thiết lập
bộ trọng số liên kết trong CNN thích hợp thì sau một khoảng thời gian ngắn
ngủi là thời gian quá độ của mạch điện (chỉ vài micro giây) chúng ta nhận
được mảng dữ liệu đã được xử lý ở đầu ra. Về mặt lý thuyết kích thước của
mảng dữ liệu được đưa vào xử lý là không có giới hạn. Về mặt công nghệ
hiện tại các chíp CNN thương phẩm đã có hàng vài chục ngàn bộ xử lý trong
một chip. Ví dụ chíp ACE16K trong thiết bị Bi-I (được giới thiệu năm 2003)
có 128x128=16.384 bộ xử lý, chíp Q-Eye (2006) có 176x144 =25.344 bộ xử
lý, chíp 255x255 = 65.025 bộ xử lý đang được nghiên cứu. Những hệ thống
kết hợp cảm biến ảnh và CNN cho phép thu và xử lý ảnh đạt tốc độ lên
50.000fps. Các mạng nơron tế bào CNN hiện nay được nghiên cứu đề tạo ra
các ứng dụng trong xử lý ảnh nhanh, giải PDE, quan sát đa mục tiêu thời
gian thực xây dựng các sản phẩm sinh học. Hướng cứng hóa các mô hình và
thuật toán (thuần CNN hoặc lai) sẽ cho phép tạo ra những hệ thống tính toán

đề ổn định của bộ ma trận trọng số liện kết trong mạng nơ ron một lớp, và
nhiều lớp đã được hoàn chỉnh, chứng minh chặt chẽ. Một số nguyên tắc xử lý
mới dùng CNN như nguyên lý xử lý cặp sóng (twin – wave processing
principle) nguyên lý tự thích nghi động phụ thuộc cảm biến (adaptive
dynamic content hoặc context dependent sensing) đã được phát triển và ứng
dụng. Trên cơ sở nền móng lý thuyết vững chắc này các sản phảm công nghệ
đã được phát triển.
Phần mềm và thuật toán
Máy tính mạng nơron tế bào CNN UM sử dụng phần mềm COS (CNN
Operating System) dưới dạng filmwave trong hạ tầng phần cứng. Do là một
dạng hệ thống nhúng nên các nhà sản xuất không chú trọng phát triển giao
diện với người sử dụng riêng cho CNN UM mà lợi dụng hệ thống PC quen
thuộc để thực hiện các thao tác nạp mẫu, hiển thị kết quả xử lý; đây cũng là
một điều hợp lý trong sử dụng. Tuy nhiên hiện nay tùy theo yêu cầu cụ thể

Số hóa bởi trung tâm học liệu

/>

6
một số hệ thống CNN UM có thể nối thẳng với màn hình giao diện người sử
dụng cũng đã được xây dựng.
Để mô tả các thuật toán xử lý luồng người ta xây dựng một kiểu mô tả,
một kiểu thuật toán mới gọi là biểu đồ luồng (UMF – Universal Machine on
Flow). Ngôn ngữ lập trình cho CNN UM cũng được xây dựng thuận tiện cho
người sử dụng. Mức thấp nhất là mã máy, tiếp đến là assembly của CNN
được gọi là AMC (Analogic Macro Code). Để lập trình ở mức cao có thể sử
dụng ngôn ngữ Alpha và bộ dịch tương ứng sản phẩm của Analogical and
Neural Computing Labotary and Automation Institute Hungarian Academy of
Sciences. Một công cụ hiện đang được sử dụng rộng rãi là công cụ lập trình

8
điều này thực là bất tiện và các chíp CNN sau này được thiết kế có tính năng
thay đổi được giá trị của các ma trận trọng số. Kích thước của các mảng
Procesor trong chíp CNN có độ lớn ngày càng tăng xem bảng 1.1
Bảng 1.1. Kích thƣớc mảng CPU trong chip CNN
Công Nămra
nghệ
đời

TT

Tên chíp

Số bộ Processor
trong chíp

1

ACE400

20x22 = 440

CMOS

1996

2

ACE4K


6

2008

Eye-RIS

176x144 = 25.344 FPGA

Sự thực hiện CNN trên phần cứng trong những thời kỳ đầu sử dụng
công nghệ CMOS. Trong vài năm gần đây để giảm giá thành sản phẩm và có
khả năng tái cấu hình CNN được nghiên cứu để thực hiện trên FPGA. Sự thực
hiện CNN bằng quang học, bằng từ cũng đã được nghiên cứu. Với khả năng
thu và xử lý ảnh ở tốc độ 10.000fps (đen trắng, xám, màu) năng lực của chíp
CNN đã đạt đến mức TeraOPS.
Các hệ xử lý ứng dụng công nghệ CNN hiện nay thường được thiết kế
với kiến trúc tổ hợp, lai: chíp CNN phối hợp với DSP và các sensor (quang,
áp lực, từ tính) đưa trực tiếp các mảng tín hiệu vào chíp CNN như Bi-I V2.
Bi-I V2 là một thiết bị camera video thông minh được giải thưởng năm 2002
tại Stutgat-cộng hòa liên bang Đức, xử lý ảnh độc lập thời gian thực. Thiết bị
này sử dụng chíp ACE 16K trong chíp này chứa một mảng 128x128 các bộ
xử lý tế bào. Các tế bào CNN là loại nhiều lớp (Multy –layer) kết hợp trực
tiếp với các senser CCD. Cấu trúc này tương tự cấu trúc sinh học của võng
Số hóa bởi trung tâm học liệu

/>

9
mạc mắt người. Con chíp này gồm 16.384 bộ xử lý tế bào làm việc song song.
Toàn bộ quá trình hoạt động tính toán của con chíp cung cấp khả năng xử lý
hình ảnh kích thước 128x128 lên đến 10.000fps bao gồm cả vào, ra. Các tín

+ Cấu trúc cơ sở dữ liệu (Data Base)
+ Module IO, module (IO Components)
+ Thư viện xử lý tín hiệu và hình ảnh (SILib)
+ Thư viện phân loại theo đặc trưng (FCLib)
+ Thư viện đa mục tiêu di động (MTTlib)
+ Thư viện xử lý dòng tín hiệu và hình ảnh (SIFLib)
IVRun là môi trường đồ họa cho các ứng dụng cơ bản chạy trên
InstantVision. Các chương trình viết cho Bi-I được soạn bằng Alpha hoặc
Code Compose Studio hoặc bằng AMC xong sau đó dịch ra các file tương
ứng “.out” hoặc “.abc” sẽ chạy được trên môi trường này. Các kết quả của
chương trình: hình ảnh, thông báo, … sẽ hiện trên các cửa sổ IVRun. Người
sử dụng có thể thay đổi các kiểu hiển thị của các cửa sổ bằng cách thiết lập
thông số trong các menu chọn.
Thiết bị CNN UM thương mại mới nhất hiện nay (2008) là Eye-RIS V1.2 sản
phẩm tổ hợp của AnaFocus (Tây Ban Nha) và Altera (Mỹ)

Hình 1.2. Eye- RIS
Eye- RIS là một máy tính vạn năng tương tự logic CNN UM kết hợp
camera kết hợp với mảng 25.344 bộ xử lý on chip có thể xử lý ảnh nhị phân,
ảnh mức xám và ảnh màu với kích thước (3.5x4.5x8.0 cm), trọng lượng (118g),
công suất tiêu thụ cực nhỏ (2.7W). Có thể nói đây là một con mắt công nghiệp
có thể được ứng dụng cho nhiều nhiệm vụ xử lý ảnh thời gian thực.
Khả năng ứng dụng
Số hóa bởi trung tâm học liệu

/>

11
CNN được dùng để xử lý theo luồng các mảng tín hiệu. Do sự xử lý là
song song, thực sự chỉ cần một lệnh duy nhất cho cả mảng vài chục ngàn bộ

Trong các thiết bị hệ tính toán chuyên dụng người ta thường mong
muốn thực thi các mô hình, quá trình tính toán thành phần cứng để tăng tốc
độ và đảm bảo tính ổn định của hệ thống. Các mô hình xử lý ảnh tuần tự kinh
điển khó có thể triển khai được trên phần cứng. Ngược lại, với cấu trúc xử lý
song song hoàn toàn, liên tục theo luồng theo thời gian, với việc cho phép
triển khai nhiều mô hình toán học trong cả trường số thực và số phức người ta
có thể xây dựng các mô hình CNN một lớp hoặc nhiều lớp trên phần cứng.
Khi sử dụng công nghệ FPGA để xây dựng các hệ CNN giá thành của sản
phẩm sẽ rất thấp.
1.2. Kiến trúc mạng nơ ron tế bào
1.2.1. Kiến trúc của CNN tuyến tính
CNN đơn giản là một mảng các bộ xử lý song song động lực học
analog gọi là các tế bào (cell), trong mỗi tế bào chứa các tụ tuyến tính, điện
trở tuyến tính các nguồn được điều khiển tuyến tính và không tuyến tính.
Định nghĩa 1- láng giềng r: láng giềng r của một cell C(i,j) trong một mạng nơ
ron tế bào được đinh nghĩa là Nr(i, j) = {C(k, l)\max{\k- i\, \l - j\} < r, 1 < k


13

Hình 1.4. Mạch điện một tế bào
Trong đó Vxij, Vyij, Vuij là ký hiệu các điện áp trạng thái, đầu ra và đầu
vào của một tế bào. Để đơn giản chúng ta sẽ ký hiệu các điện áp này là xij, yij,

Số hóa bởi trung tâm học liệu

/>

14

Phương trình đầu ra
v yij (t )

1
(| v xij (t ) 1 | | v xij (t ) 1 |)
2
với 1 i M ;1 j N

(1.2b)

Phương trình đầu vào
vuij

Eij với 1 i

M ;1

j

(1.2c)

N

Các điều kiện ràng buộc (Constraint conditions):

1
-1

1

x

-1

Hình 1.5 Dạng đồ thị hàm ra của một tế bào

Số hóa bởi trung tâm học liệu

(1.2f)

/>

15

Hình 1.6. Sơ đồ hoạt động của tế bào
Chúng ta sẽ đưa ra hai định nghĩa tổng quát của một CNN nguyên bản
như sau:
Định nghĩa 1- Mạng nơ ron tế bào: một mạng nơ ron tế bào CNN là
một mảng 2, 3 hoặc n chiều của các hệ thống động lực học được gọi là các
cell (tế bào), hầu hết các hệ này là đồng nhất và thỏa mãn hai thuộc tính:
- Ảnh hưởng phổ biến là cục bộ trong phạm vi bán kính r;
- Tất cả các biến trạng thái là giá trị tín hiệu liên tục.
Định nghĩa 2 – Mạng nơ ron tế bào: một mạng nơ ron tế bào CNN là
một mạch điện phi tuyến động lực học bậc cao được tạo nên bởi ghép nối liên
kết cục bộ theo không gian các khối mạch điện giống nhau- mỗi khối mạch

là các giá trị điện áp đầu vào, đầu ra của tế bào C(i,j) và điện áp đầu vào,
đầu ra của một tế bào láng giềng C(k,l).
Ngoài kiểu cấu trúc CNN đồng nhất như đã xem xét ở trên còn có kiểu
cấu trúc CNN không đồng nhất NUP-CNN (Non-Uniform Procesor CNN) và
CNN kích thước đa láng giềng MNS-CNN (Multiple Neighbourhood Size CNN).
Kiểu cấu trúc CNN không đồng nhất: trong CNN tiêu chuẩn thì các bộ
xử lý (mỗi một tế bào là một bộ xử lý) là cùng kiểu như nhau. Trong CNN
không đồng nhất thì các bộ xử lý có thể khác nhau mặc dù liên kết vẫn là
không gian bất biến, đẳng hướng. CNN kích thước đa láng giềng (MNSCNN): trong loại này các bộ xử lý là như nhau, nhưng một bộ xử lý có thể liên
kết với các láng giềng với các bán kính khác nhau. Chẳng hạn nó liên kết với 8
láng giềng ở lớp r=1 nhưng nó cũng liên kết với 16 láng giềng ở lớp r=2.
1.2.3. Kiến trúc của CNN nhiều lớp
Trong CNN lớp đơn mỗi tế bào chỉ có một biến trạng thái. Với CNN
nhiều lớp trong một tế bào số biến trạng thái có thể lớn hơn 1. Chúng ta có thể
hình dung một CNN nhiều lớp được tạo ra bằng một số mảng CNN đơn, được
xếp chồng lên nhau. Chiều của mỗi lớp có thể là 1,2 hoặc 3. Số lớp có thể là
2,3,…n. Khi đó chúng ta có thể có CNN hai lớp 1 chiều (2 lớp 1D) hoặc CNN
2 lớp 2 chiều (2 lớp 2D), CNN 3 lớp 3D…Trong CNN nhiều lớp 1 tế bào
ngoài liên kết với các láng giềng xung quanh như trong CNN đơn ra nó còn
liên kết với các tế bào của các lớp gần nó.
1.2.4. Ba lớp CNN tuyến tính đơn giản
Mỗi CNN được định nghĩa duy nhất bởi tập số {A, B, z}. Nếu bán kính
láng giềng là 1 (đây là trường hợp hay sử dụng nhất) chúng ta có CNN 3x3 và
tập mẫu sẽ gồm một ma trận A kích thước là 3x3 chứa 9 hệ số là số thực, một
ma trận B kích thước là 3x3 chứa 9 hệ số là số thực và một ngưỡng z. Tổng
Số hóa bởi trung tâm học liệu

/>

18

/>

Trích đoạn Thiết kế mẫu giải các PDE khuếch tán Điều kiện biên tiêu biểu cho một CNN Thử nghiệm 03: mẫu DENOISSING CNN 03
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status