Tải bản đầy đủ (.pdf) (67 trang)

Ứng dụng công nghệ mạng nơron tế bào vào bài toán lọc nhiễu ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.86 MB, 67 trang )

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
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

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01


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



Người hướng dẫn khoa học: TS. VŨ ĐỨC THÁI





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

DANH MỤC BẢNG vi
DANH MỤC HÌNH VẼ vi
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 11
1.2.1. Kiến trúc của CNN tuyến tính 11
1.2.2. Kiến trúc CNN phi tuyến và CNN trễ 15
1.2.3. Kiến trúc của CNN nhiều lớp 16
1.2.4. Ba lớp CNN tuyến tính đơn giản 16
1.3. Máy tính vạn năng mạng nơ ron tế bào CNN UM 18
1.3.1. Sự phát triển của máy tính điện tử 18
1.3.2. Máy tính vạn năng mạng nơ ron tế bào CNN UM 22
1.4. Tình hình nghiên cứu về xử lý ảnh dùng CNN tại Việt Nam 23
CHƢƠNG 2. XỬ LÝ ẢNH DÙNG MẠNG NƠ RON TẾ BÀO 25
2.1. Bài toán xử lí ảnh trên CNN 25
2.1.1. Lọc nhiễu trong xử lý ảnh trên máy tính hệ lệnh tuần tự 25
2.1.2. Giải pháp công nghệ mới 25
2.2. Sự cần thiết của CNN trong xử lí ảnh 26
2.3. Xử lý ảnh dùng PDE 27
2.4. Xử lý ảnh dùng CNN những kết quả đã đạt được 28
iii
Số hóa bởi trung tâm học liệu
2.5. Thiết kế mẫu cho mạng nơ ron tế bào 30
2.5.1. Vai trò toán tử, tham số 30
2.5.2. Bộ mẫu - chương trình máy tính mạng nơron tế bào 32
2.5.3. Các phương pháp thiết kế mẫu cho CNN 36
2.6. Thiết kế mẫu giải các PDE khuếch tán 38
2.7. Sử dụng phương trình khuếch tán trong xử lý ảnh trên máy tính hệ lệnh
tuần tự 38

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

uv

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
Mẫu B của mạng nơron tế bào là mẫu liên kết các trọng
số đầu vào của các láng giềng của một tế bào
B
uv

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

Toán tử nhân chập
x
ij
(t)
Giá trị trạng thái của tế bào trong mạng nơron tế bào hai
chiều (MxN).
u
ij
Điện áp vào tế bào ij
x
ij
Điện áp trạng thái của tế bào ij
y
ij
Điện áp đầu ra của tế bào ij

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

Số hóa bởi trung tâm học liệu
DANH MỤC BẢNG
Bảng 1.1. Kích thước mảng CPU trong chip CNN 7

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. 6
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 12
Hình 1.5 Dạng đồ thị hàm ra của một tế bào 13
Hình 1.6. Sơ đồ hoạt động của tế bào 14
Hình 1.7. Một số kiểu lưới CNN 15
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. 17
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 18
Hình 1.10. Cấu trúc máy tính CNN-UM 22
Hình 2.1. Mẫu tìm biên và hiệu quả của mẫu 35
Hình 2.2. Mẫu thiết lập ngưỡng 35
Hình 2.3. Sơ đồ các bước thiết kế mẫu theo phương pháp trực tiếp 37
Hình 3.1. Mạch thể hiện của điều kiện biên cố định (Dirichlet) 44
Hình 3.2. Mạch thể hiện điều kiện biên Neumann 45
Hình 3.3. Mạch thể hiện của điều kiện biên tuần hoàn 45
Hình 3.4. Mô hình tìm hiểu ứng dụng CNN khử nhiễu 46
Hình 3.5. Quá trình tìm mẫu bằng phương pháp học 47




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

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

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ình giúp đỡ, động viên, định hướng, hướng dẫn em nghiên cứu và hoàn thành
luận văn này. Em xin cảm ơn các thầy cô trong Viện Công nghệ thông tin, các
thầy cô giáo Trường Đại học Công nghệ thông tin và Truyền thông đã giảng
dạy và giúp đỡ em trong hai năm học, cám ơn sự giúp đỡ nhiệt tình của các
bạn đồng nghiệp.
Thái nguyên, ngày 15 tháng 10 năm 2013
Học viên


Lăng Thị Khánh Hải
3
Số hóa bởi trung tâm học liệu
CHƢƠNG 1.
TỔNG QUAN VỀ MẠNG NƠRON TẾ BÀO CNN

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

đượ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
và xử lý cực mạnh được áp dụng vào kỹ thuật quân sự, nghiên cứu vũ trụ,
nghiên cứu sinh học …mà với các hệ xử lý tuần tự chúng ta không thể xây
dựng được; đặc biệt là không thể cứng hóa được.
Do có nhiều tiềm năng hứa hẹn nên công nghệ mới CNN đã được các
nhà khoa học trên thế giới quan tâm nghiên cứu. Việc nghiên cứu phát triển cả
về lý thuyết và ứng dụng, cả phần cứng và phần mềm liên quan tới cả những
ngành khoa học khác như y học, sinh học. Trên thế giới hiện nay các nước đi
đầu, các cơ sở có trung tâm nghiên cứu mạnh chế tạo chíp CNN là Mỹ,
Hungary, Tây Ban Nha. Trường đại học Berkeley-Califonia, University of
Maryland, Sevilla-Tây Ban Nha, Viện nghiên cứu MTA SzTAKI Budapest –
Hungary, công ty Analogic Computer LTD … là các địa chỉ quen thuộc gắn
liền với công nghệ CNN. Nội dung của CNN đã được giảng dạy trong trường
đại học của nhiều nước. Tại châu Á các nước như Nhật Bản, Đài Loan,Trung
Quốc cũng là các nước nghiên cứu về CNN. Cho đến nay đã có rất nhiều các
cuộc hội thảo quốc tế về CNN (CNNA- Cellular Neural Network and their
5
Số hóa bởi trung tâm học liệu
Applications) với sự tham gia của hàng trăm nhà nghiên cứu về CNN. Các hội
thảo gần đây nhất là CNNA 2002 tại Frankfurt, Germany. CNNA 2003 tại

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

đượ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
Code Compose Studio của hãng Texas. Dùng Code Compose Studio (phiên
bản hiện nay đang là 3.3) có thể nạp các thuật toán và mẫu vào thiết bị CNN
thông qua máy tính PC sử dụng các hệ điều hành quen thuộc như là Window,
Linux. Các kết quả của quá trình xử lý trong thiết bị CNN có thể được quan
sát trên màn hình máy tính nối với nhau qua mạng Ethernet

Hình 1.1. Các mức phần mềm và công cụ sử dụng ngôn ngữ Alpha.

Cho đến nay các bộ trọng số liên kết cơ sở trong CNN (các mẫu –
template) và thuật toán cơ bản đã được các nhà khoa học nghiên cứu về CNN
7
Số hóa bởi trung tâm học liệu
đi trước tìm ra và tập hợp, sắp xếp thành thư viện chuẩn. Thư viện này vẫn có
thể được cập nhật thêm các mẫu và các thủ tục.
Đến tháng 1-2007 đã có trên 160 bộ mẫu và thủ tục của thư viện được
công bố. Phối hợp các mẫu và thủ tục cơ bản này người sử dụng có thể giải
quyết nhiều nhiệm vụ tính toán và xử lý song song bằng CNN. Tuy nhiên đây
chưa phải là phương thức cho tất cả và trong nhiều trường hợp người sử dụng
phải xây dựng các mô hình mới, tìm ra các mẫu mới, xây dựng các thủ tục
mới để giải quyết nhiệm vụ tính toán xử lý của mình.
Sản phẩm thương mại
Các mảng CNN ban đầu thực hiện xử lý song song được thiết kế với
các ma trận trọng số liên kết cố định. Ngay lập tức người ta nhận thấy rằng
đ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
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

Chip thu nghiem voi loi Falcon PE
tren board RC203 FPGA cua
Xilinx
128x128 = 16.384
FPGA
2008
6
Eye-RIS
176x144 = 25.344
FPGA
2008
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
8
Số hóa bởi trung tâm học liệu
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
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

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)

+ 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ỹ)
10
Số hóa bởi trung tâm học liệu

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
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ộ
xử lý nên CNN rất thích hợp cho các nhiệm vụ xử lý tín hiệu có khối lượng
đồ sộ như xử lý ảnh, video, mảng tín hiệu sensor tiếp xúc, xử lý dữ liệu trong
nghiên cứu y học như nghiên cứu về miễn dịch, DNA, giải phương trình vi
phân đạo hàm riêng đáp ứng xử lý thời gian thực. Các thiết bị chuyên dụng
CNN có thể đạt tốc độ thu và xử lý ảnh đến hàng chục ngàn fps cho phép ứng
dụng vào nhiều nhiệm vụ phức tạp trong thực tiễn; nhất là trong công nghiệp

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.

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 <
M; 1< l < N } (1.1) trong do r là một số nguyên dương.

×