Số hóa bởi trung tâm học liệu ĐẠ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
THÁI NGUYÊN - 2013
i
Số hóa bởi trung tâm học liệu
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 việc phân tích, nhận xét, đánh giá được
thu thập từ các nguồn khác nhau có ghi trong phần tài liệu tham khảo, trong
phạm vi hiểu biết của tôi.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách
nhiệm trước Hội đồng, cũng như kết quả luận văn của mình.
Thái Nguyên, ngày 15 tháng 10 năm 2013
Học viên
Lăng Thị Khánh Hải
ii
Số hóa bởi trung tâm học liệu
MỤC LỤC
Trang
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC CÁC KÍ HIỆU iv
DANH MỤC CÁC CHỮ VIẾT TẮT v
CHƢƠNG 3. ỨNG DỤNG CÔNG NGHỆ MẠNG NƠRON TẾ BÀO
CHO BÀI TOÁN KHỬ NHIỄU 44
3.1. Bài toán khử nhiễu với CNN 44
3.1.1. Điều kiện biên tiêu biểu cho một CNN 44
3.1.2. Quá trình ứng dụng CNN vào bài toán khử nhiễu 46
3.1.3. Quá trình tìm mẫu bằng phương pháp học 47
3.2. Mẫu CNN khử nhiễu đề xuất 48
3.3. Cài đặt thử nghiệm, mẫu khử nhiễu 48
3.3.1. Chuẩn bị 48
3.3.2. Cài đặt 49
3.3.3. Thử nghiệm 01: mẫu DENOISSING CNN 01 54
3.3.4. Thử nghiệm 02: mẫu DENOISSING CNN 02 55
3.3.5. Thử nghiệm 03: mẫu DENOISSING CNN 03 56
3.4. Nhận xét & đánh giá 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59 iv
Số hóa bởi trung tâm học liệu
DANH MỤC CÁC KÍ HIỆU
CÁC KÍ HIỆU
Ý NGHĨA
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
A
v
Số hóa bởi trung tâm học liệu
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
Mảng cổng dạng trường lập trình được (Field Programmable
Gate Array).
DSP
Bộ xử lý tín hiệu số (Digital Signal Processor)
fps
Số khung ảnh trong 1 giây (frame per second)
1D
Một chiều (1 Dimention)
2D
Hai chiều (2 Dimentions)
3D
Ba chiều (3 Dimentions)
vi
MỞ ĐẦUU
Xử lý ảnh trong quy mô công nghiệp đã bắt đầ ững máy
tính chuyên dụ x
. Quá trình số hóa ảnh thực có thể gây nhiễu cho ảnh số. Nhiễu
trong ảnh số đa dạng và phức tạp. Ta ngầm hiểu nhiễu là những phần tử
ảnh mà giá trị của nó trội so với các phần tử ảnh xung quanh. Xét theo tần
số các phần tử nhiễu có tần số cao so với các điểm xung quanh. Tuy nhiên
có thể thấy rõ là rất khó phân biệt điểm đặc biệt của ảnh với nhiễu, ví dụ
vết nhăn trên quần áo và vết gập của ảnh có trước khi số hóa. Cơ sở để xử
lý điểm ảnh bị nhiễ ủa các điểm ảnh lân cận. Thay
thế giá trị điểm ảnh cần xử lý bằng tổ hợp các giá trị của điểm ảnh lân cận.
Việc thay thế dựa trên giả định là các điểm ảnh lân cận có giá trị gần giống
với điểm ảnh cầ
Mạng nơ ron tế bào (Cellular Neural Network-CNN) là một trong những
công cụ xử lý ảnh thời gian thực hiệ ợc quan tâm nghiên cứu
rộng rãi trên thế giới do có nhiều ưu điểm trong đó có bản chất xử lý song
song. Ảnh số là một mảng số thực hai chiều kích thước MxN trong đó mỗi
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ộ
thông tin của đối tượng chính trong ảnh. Có nhiều loại nhiễu như nhiễu cộng,
2
Số hóa bởi trung tâm học liệu
Trong chương 1, luận văn có sử dụng một số tài liệu tham khảo sau:
[2] ,3] và [6]
1.1. Sự ra đời và phát triển của CNN và CNN UM
Máy tính điện tử hoạt động trên cơ sở số nhị phân, tính toán tuần tự do
NeumanJanos, Goldstine và Burks phát minh từ năm 1946. Chúng đã được
các nhà khoa học, phát minh thế hệ sau hoàn chỉnh và phát triển. Máy tính
điện tử, mạng máy tính điện tử đã làm thay đổi bộ mặt của thế giới, làm thay
đổi bản chất nhiều hoạt động kỹ thuật, kinh tế, xã hội và là một công cụ hữu
ích không thể thiếu được của con người. Năng lực tính toán của máy tính điện
tử ngày càng có nhu cầu phải cao hơn do nhu cầu của con người ngày càng
cao trong các hoạt động thường ngày, trong các hoạt động khám phá trinh
phục tự nhiên. Đã quá nửa thời gian của một thế kỷ trôi qua nhưng kiến trúc
và nguyên lý hoạt động của các hệ thống tính toán hiện tại về cơ bản vẫn
không có gì khác so với nguyên lý của NeumanJanos đưa ra năm 1946. Việc
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
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
4
Số hóa bởi trung tâm học liệu
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
Mỹ. CNNA 2004 tại Budapest – Hungary. CNNA 2005 tại Hsinchu (Taiwan),
CNNA lần thứ 10 Istanbul – Turkey 2006 , CNNA lần thứ 11 tổ chức vào
tháng 11-2008 tại Tây Ban Nha và CNNA lần thứ 12 tổ chức tại California
tháng 3-2010. Sau đây là các thành tựu đạt được trong nghiên cứu về CNN.
Về lý thuyết
Cho đến nay cơ sở toán học cho công nghệ mạng nơ ron tế bào CNN và
máy tính tương tự logic CNN UM, các vấn đề cơ bản về độ ổn định của CNN,
giới hạn động học, các trạng thái của CNN một lớp đơn hoặc nhiều lớp, vấ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ể
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
6
Số hóa bởi trung tâm học liệu
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
Bảng 1.1. Kích thƣớc mảng CPU trong chip CNN
TT
Tên chíp
Số bộ Processor
trong chíp
Công
nghệ
Nămra
đời
1
ACE400
20x22 = 440
CMOS
1996
2
ACE4K
64x64 = 4096
CMOS
1999
3
ACE16K
128x128 = 16.384
CMOS
2003
4
Q-Eye
176x144 = 25.344
CMOS
2006
5
hiệu ảnh có thể thu từ sensor CMOS độ phận giải cao 1280x1024 hoặc từ
sensor + bộ xử lý ACE 16K có cấu tạo như võng mạc mắt người với 16.384
bộ xử lý tế bào. Việc xử lý song song mảng tín hiệu được thực hiện trong
ACE 16K với các kích thước mảng lớn nhất là 128x128. Nếu kích thước
mảng tín hiệu lớn hơn 128x128 thì phải sử dụng kỹ thuật Tilling: chia thành
các mảng nhỏ hơn 128x128 để xử lý các mảng con này sau đó ghép lại. Việc
xử lý trong các bộ DFP là xử lý tuần tự nối tiếp. Bi-I có thể hoạt động trong
chế độ độc lập (stand alone), khởi động từ chương trình trong ROM hoặc
hoạt động có liên lạc với máy tính PC qua mạng Ethernet hoặc RS232, USB.
Các chương trình thực hiện trong ACE 16K là bộ mẫu A, B, z (các bộ
ma trận trọng số liên kết giữa các tế bào). Khi đưa một mảng tín hiệu ở đầu
vào của ACE16K tương ứng với các đầu ra yêu cầu người ta khởi tạo thiết bị
và nạp bộ mẫu, sau đó thực hiện quá trình quá độ. Sau khoảng thời gian quá
độ < µs mạng lan truyền và đầu ra thu được kết quả mong muốn.
Để xử lý ảnh trên Bi-I (và cả các ứng dụng xử lý song song khác trên
Bi-I như quan sát đa mục tiêu có thể dùng ngôn ngữ Alpha (xem hình 1.1)
9
Số hóa bởi trung tâm học liệu
hoặc dùng AMC hoặc dùng Code Compose như đã nói ở trên là bộ ngôn ngữ
lập trình cho DSP của hãng Texas Instrucment. Khi sử dụng AMC hoặc Code
Compose có thể tham khảo thư viên phát triển phần mềm trên Bi-I. Trong thư
viện có giới thiệu các kiểu dữ liệu sử dụng, các kiểu vào ra dữ liệu, các thư
viện xử lý ảnh, trích rút đặc điểm, phân loại đối tượng, quan sát đa mục tiêu
trên ảnh hoặc video. Thư viện phần mềm InstantVision được sử dụng với
phần cứng có DSP loại TMS320C62xx hoặc TMS320C64xx của Texas
Instrucment. InstantVision cũng sử dụng được nhiều với platform khác. Thư
viện phần mềm InstantVision bao gồm các modul sau:
+ 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)
và quốc phòng. Sản xuất công nghiệp ngày nay đã đạt tới trình độ tự động hóa
cao, tốc độ sản xuất của dây chuyền rất lớn. Thực tế này dẫn tới là nếu có sai
lệch trong quá trình sản xuất thì chỉ trong những khoảng thời gian rất ngắn đã
có ngay hàng loạt lớn số lượng sản phẩm phế phẩm. Do đó mọi khâu từ kiểm
tra giám sát đến điều chỉnh đều phải đáp ứng rất nhanh; đặc biệt là khâu kiểm
tra, phát hiện, chẳng hạn kiểm tra các họa tiết của tiền giấy bị lỗi trong quá
trình in, phân loại các viên thuốc lỗi trong sản xuất, kiểm tra hàn tự động các
đầu nối IC, …các dạng kiểm tra này không cho phép tiếp xúc dụng cụ đo với
11
Số hóa bởi trung tâm học liệu
sản phẩm nên phải áp dụng các phương pháp khác trong đó có thể dùng xử lý
ảnh để kiểm tra. Một ví dụ khác sử dụng CNN trong quân sự là quan sát đa
mục tiêu di động; có nhiều loại mục tiêu cần xuất hiện, chúng có hành vi di
chuyển phức tạp, cần phải bám sát vết các mục tiêu, điều khiển các thiết bị
hỏa lực phá hủy đúng mục tiêu đích trong số các mục tiêu đó, …hoặc ví dụ
trong y học: xử lý ảnh nhanh được ứng dụng trong nghiên cứu về miễn dịch,
quan sát các hoạt động của cơ thể thời gian thực, chế tạo mắt nhân tạo.
Ngoài ứng dụng xử lý ảnh tốc độ cao ra công nghệ CNN còn được
dùng để tối ưu hóa hệ thống truyền dữ liệu băng thông rộng, giải phương trình
vi phân đạo hàm riêng PDE …Sử dụng mô hình tính toán CNN cho phép
chúng ta tiếp cận nhiều cơ chế hoạt động sống của thế giới động vật.
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.