Việc nghiên cứu các phương pháp xử lý ảnh, cải tiến các thuật toán xử lý trên máy tính hệ lệnh tuần tự vẫn được tiếp tục nhằm đáp ứng các nhu cầu của thực tế.. Chương 2 của luận án giới
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN
Phạm Đức Long
PHÁT TRIỂN MỘT SỐ THUẬT TOÁN XỬ LÝ ẢNH
SỬ DỤNG MẠNG NƠRON TẾ BÀO
LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI 10 - 2011
Trang 2Phạm Đức Long
PHÁT TRIỂN MỘT SỐ THUẬT TOÁN XỬ LÝ ẢNH
SỬ DỤNG MẠNG NƠRON TẾ BÀO
Chuyên ngành: Bảo đảm toán học cho máy tính
và hệ thống tính toán
LUẬN ÁN TIẾN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS, TSKH Phạm Thượng Cát PGS TS Ngô Diên Tập
HÀ NỘI 10 - 2011
Trang 3Viện Khoa học và Công nghệ Việt Nam đặc biệt là Thày giáo PGS TSKH Phạm Thượng Cát và Thày giáo PGS TS Ngô Diên Tập, bằng sự nỗ lực của bản thân tôi
đã hoàn thành bản luận án này Tôi xin chân thành cảm ơn sự chỉ bảo, giúp đỡ của các Thày, Cô Tôi cũng gửi lời cảm ơn tới Ban giám hiệu Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên đã hỗ trợ, tạo điều kiện cho tôi trong thời gian học tập Tôi xin cảm ơn các bạn đồng nghiệp trong Trường đã luôn động viên, khích lệ tôi Cảm ơn những người thân trong gia đình về những hỗ trợ và động viên tôi trong những năm tháng dài cố gắng học tập
Hà Nội ngày 10 tháng 10 năm 2011 Nghiên cứu sinh
Phạm Đức Long
Trang 4của PGS TSKH Phạm Thượng Cát và PGS TS Ngô Diên Tập Các số liệu và kết quả nêu trong luận án là trung thực và chưa từng được công bố trong bất kỳ sản phẩm khoa học nào khác
Trang 5MỤC LỤC
Trang CHƯƠNG 1: MỞ ĐẦU
1.1 Tổng quan về xử lý ảnh dùng mạng nơron tế bào CNN 9
1.1.1 Tình hình nghiên cứu trên thế giới 10
a) Lọc nhiễu trong xử lý ảnh trên máy tính hệ lệnh tuần tự 10
b) Sự ra đời và phát triển của CNN và CNN UM 12
1.1.2 Tình hình nghiên cứu về xử lý ảnh dùng CNN trong nước 22
1.2 Mục đích đối tượng và phạm vi nghiên cứu của đề tài 23
1.4 Ý nghĩa khoa học và thực tiễn của đề tài 24
CHƯƠNG 2: MẠNG NƠ RON TẾ BÀO CNN VÀ LỌC NHIỄU
2.1 Kiến trúc của CNN
2.1.1 Kiến trúc của CNN tuyến tính 25 2.1.2 Kiến trúc CNN phi tuyến và CNN trễ 28
2.1.3 Kiến trúc của CNN nhiều lớp 29
2.1.4 Ba lớp CNN tuyến tính đơn giản 29 2.2 Một số vấn đề cơ bản của CNN
2.2.1 Giới hạn động lực học của CNN 32
2.2.3 Ba kiểu điều kiện biên tiêu biểu cho một CNN 35 2.2.4 Thiết kế mẫu cho mạng nơ ron tế bào 36
2.2.5 Thiết kế mẫu giải các PDE khuếch tán 41 2.3 Sử dụng phương trình khuếch tán trong xử lý ảnh trên máy tính
Trang 6a) Khuếch tán đẳng hướng (isotropic) 42
2.4 Một số mô hình CNN một lớp và hai lớp đã được đề xuất
2.4.1 Mô hình CNN 1 lớp lọc nhiễu 49
2.4.2 Mô hình CNN hai lớp của Zonghuang Yang, Yoshifumi
CHƯƠNG 3: PHÁT TRIỂN MỘT SỐ THUẬT TOÁN XỬ LÝ ẢNH
XỬ LÝ SONG SONG DÙNG CÔNG NGHỆ MẠNG NƠRON TẾ BÀO
3.1 Thuật toán lọc nhiễu dùng CNN với khuếch toán phức 53 3.1.1 Mô hình CNN thực hiện PDE khuếch tán tuyến tính phức 53
3.1.2 Mô hình CNN khuếch tán phi tuyến phức 63
3.1.3 Độ chính xác của phương pháp 69 3.2 Thuật toán lọc nhiễu SHOCK dùng CNN 69
3.2.2 Thuật toán lai dùng CNN tăng tốc độ cho bộ lọc shock 74 3.2.3 Xem xét sự thực hiện của thuật toán 77 3.3 Thuật toán lọc nhiễu đốm SRAD dùng CNN 79
3.3.2 Mô tả thuật toán dùng CNN 83 3.3.3 Đánh giá tính hội tụ và hiệu quả của thuật toán 87 3.4 Thuật toán phục hồi ảnh đối xứng thời gian thực 88
CHƯƠNG 4: MỘT SỐ KẾT QUẢ THỰC NGHIỆM
VÀ MÔ PHỎNG KIỂM CHỨNG 4.1 Thực nghiệm thuật toán lọc nhiễu shock
4.1.2 Kết quả và đánh giá so sánh với các phương pháp khác 94
Trang 74.2 Mô phỏng thuật toán lọc nhiễu đốm SRAD
4.2.1 Mô tả bài toán mô phỏng 99 4.2.2 Kết quả và đánh giá so sánh với các phương pháp khác 99
4.3 Thực nghiệm xử lý ảnh thời gian thực trên CNN UM
4.3.1 Thực nghiệm thuật toán phục hồi ảnh đối xứng thời gian thực 99
4.3.2 Thực nghiệm nhận dạng tốc độ cao 102
4.4 Hướng ứng dụng các kết quả nghiên cứu trong công nghiệp 110 KẾT LUẬN
Tóm tắt các nội dung nghiên cứu chính 111
Các kết quả mới của luận án 112
Kiến nghị về những nghiên cứu tiếp theo 112
Trang 8Hình 2.3 Hàm đầu ra Piecewise với phương trình 2.1b
Hình 2.4 Sơ đồ hoạt động của cell
Hình 2.5 Một số kiểu lưới CNN
Hình 2.6 Cấu trúc hệ thống của cell zero-feedback
Hình 2.7 Cấu trúc hệ thống của một CNN zero-input
Hình 2.8 Cấu trúc hệ thống của một cell trung tâm không ghép cặp
Hình 2.9 Sáu kiểu hệ số của mẫu A 3x3 cho phép CNN ổn định
Hình 2.10 Đồ thị DP
Hình 2.11 Giải thích bằng mạch điện của điều kiện tế bào biên cố định
(Dirichlet)
Hình 2.12 Giải thích bằng mạch điện các tế bào biên kiểu Neumann
Hình 2.13 Giải thích bằng mạch điện các tế bào biên kiểu Periodic
Hình 2.14 Mẫu tìm biên và hiệu quả của mẫu
Hình 2.15 Mẫu thiết lập ngưỡng (Threshold)
Hình 2.16 Tách thu hồi ảnh nguyên bản
Hình 2.17 Tác dụng của mẫu Hollow
Hình 2.18 Sơ đồ các bước thiết kế mẫu theo phương pháp trực tiếp
Hình 2.19 Khuếch tán phức tuyến tính trên ảnh màu 256x216
Hình 2.20 Biên dốc và biên bước
Hình 2.21 Quan hệ giữa biên dốc và biên bước và các đạo hàm
Hình 2.22 Khuếch tán phức của ảnh người chụp ảnh với θ nhỏ
Hình 2.23 Khuếch tán phức của ảnh cameraman với θ lớn
Hình 2.24 Làm mờ một ảnh bằng CNN
Hình 2.25 Thực hiện bộ lọc Gabor phức
Trang 9Hình 2.26 Tách đôi đối tượng thành hai nửa dùng CNN 2 lớp
Hình 2.27 Tìm xương đối tượng bằng mạng CNN hai lớp
Hình 3.1 CNN 2 lớp 2D giải phương trình khuếch tán
Hình 3.2 Tương tác giữa hai lớp CNN thực và ảo
Hình 3.3 Quan hệ trạng thái và hàm đầu ra
Hình 3.4 Khuếch tán phức phi tuyến trên một ảnh y học
Hình 3.5 Khuếch tán phức phi tuyến trên một ảnh phong cảnh
Hình 3.6 Tác dụng của bộ lọc shock
Hình 3.7 Ảnh hưởng của nhiễu đến bộ lọc shock
Hình 3.8 Sơ đồ quy ước các phần tử điểm ảnh
Hình 3.9 Thuật toán thực hiện bộ lọc shock theo phương pháp lai Hình 3.10 Biểu đồ DP của CNN tính I px.
Hình 3.11 SRAD tám hướng
Hình 3.12 Thuật toán lai giảm nhiễu đốm
Hình 3.13 Sơ đồ khối của thuật toán khôi phục ảnh 2D đối xứng bằng
CNN
Hình 3.14 Biểu đồ xử lý luồng ảnh
Hình 3.15 Ảnh X 0
Hình 3.16 Quay P1 180 0 quanh trục Oz để nhận được P2
Hình 4.1 Sơ đồ thực nghiệm shock trên Bi-I
Hình 4.2 Kết quả thực nghiệm bộ lọc shock trên Bi-I
Hình 4.3 Thực hiện bộ lọc shock trên ảnh xám thu trực tiếp từ camera
CNN UM Bi-I
Hình 4.4 Thực hiện bộ lọc shock trên ảnh SAM3
Hình 4.5 Thực hiện bộ lọc shock trên ảnh tháp Rùa
Hình 4.6 Hệ thống thử nghiệm khôi phục ảnh đối xứng thời gian thực Hình 4.7 Các ảnh bị phá huỷ trên đĩa quay dùng cho thử nghiệm
Trang 10Hình 4.8 Màn hình chương trình và các ảnh nguyên thuỷ sau khi khôi
Hình 4.13 Ảnh thu được qua camera
Hình 4.14 Chi tiết thực hiện bước 2
Hình 4.15 Ảnh sau bước 2.3
Hình 4.16 Ảnh sau bước 2.4 và 2.5
Hình 4.17 Ảnh thu được qua các bước tiền xử lý
Hình 4.18 Mẫu tìm tâm đối tượng
Hình 4.19 Các ảnh thu được lớn dần
Hình 4.20 Trục elip ảo của đối tượng
Hình 4.21 Giao diện chương trình chính
Danh mục các bảng
Bảng 1.1 Kích thước mảng CPU trong chip CNN tăng theo thời gian
Bảng 4.1 Hiệu quả xử lý của một số bộ lọc shock
Bảng 4.2 Tỷ lệ số phép toán thực hiện song song khi sử dụng thuật toán lai
Danh mục các ký hiệu, viết tắt
Trang 11I Độ sáng của điểm ảnh
I R Thành phần thực của I
I I Thành phần phức của I
I x Đạo hàm bậc nhất theo hướng x của I
I xx Đạo hàm bậc hai theo hướng x của I
I xxx Đạo hàm bậc ba theo hướng xcủa I
ℑ Trường số phức
ℵ Trường số nguyên
ℜ Trường số thực
u ij Điện áp vào cell ij
x ij Điện áp trạng thái cell ij
y ij Điện áp đầu ra cell ij
c Hệ số dẫn trong phương trình khuếch tán
ADC Bộ chuyển đổi tín hiệu tương tự thành tín hiệu số (Analog Digital Converter)
CCD Các sensor cặp tích điện (Charge Coupled Device)
CMOS Công nghệ ô xit bán dẫn kim loại (Complementary Metal Oxide Semiconductor)
CNN Mạng nơ ron tế bào (Cellular Neural Network)
CNN UM Máy tính vạn năng tương tự lo gic (CNN Universal Machine)
DC Dòng điện một chiều (Direct Current)
DSP Bộ xử lý tín hiệu số (Digital Signal Processor)
fps Số khung ảnh trong 1 giây (frame per second)
FPGA Mảng cổng dạng trường lập trình được (Field Programmable
1D Một chiều (1 dimention)
2D Hai chiều (2 dimentions)
3D Ba chiều (3 dimentions)
KCL Định luật Kiếc hốp về dòng điện (Kirhof Cỉcuit Law)
MRI Ảnh cộng hưởng từ (Magnetic Resonance Imaging)
Trang 12NN Mạng nơ ron (Neural Network)
ODE Phương trình vi phân thường (Ordinary Differential Equation)
PDE Phương trình vi phân đạo hàm riêng (Partial Differential
Equation)
PSNR Tỷ lệ tín hiệu đỉnh trên nhiễu (Peak Signal-to-Noise Ratio)
SAR Ảnh tổng hợp Radar (Synthetic Aperture Radar)
SNR Tỷ lệ tín hiệu trên nhiễu (Signal-to-Noise Ratio)
SRAD Khuếch tán không đẳng hướng giảm nhiễu đốm (Speckle
Reducing Anisotropic Diffusion)
TeraOPS 1012 lệnh/giây (tera Operations per Second)
VCCS Nguồn dòng điều khiển bằng điện áp (Voltage Controlled
Thuật ngữ
Biên (edge) Nơi có sự thay đổi đột ngột về độ sáng
Cứng hoá Thực hiện các thuật toán hoàn toàn bằng
các mạch điện, điện tử
Khuếch tán đẳng hướng Khuếch tán có hệ số khuếch tán không
đổi theo các hướng
Khuếch tán dị hướng
(anisotropic diffusion) Khuếch tán có hệ số khuếch tán thay đổi
Mẫu cho CNN (Template) Bộ thông số xác định hành vi động học
của CNN
Thuật toán lai Thuật toán phối hợp tính toán song song bằng
Quá độ (transient) Quá trình một mạch điện đạt trạng thái ổn
định, thường là rất ngắn khoảng vài micro giây
Trang 13CHƯƠNG 1 MỞ ĐẦU
1.1.Tổng quan về xử lý ảnh dùng mạng nơron tế bài CNN
Xử lý ảnh bằng máy tính hệ lệnh tuần tự đã đạt được nhiều thành tựu và là một lĩnh vực vô cùng quan trọng trong xử lý thông tin và tín hiệu bằng máy tính Các chương trình ứng dụng như: nhận dạng mặt người, nhận dạng vân tay trong điều tra hình sự, xử lý ảnh vệ tinh, kiểm soát giao thông, xử lý ảnh chụp cắt lớp, MRI, chuẩn đoán tế bào trong y học, các chương trình nhận dạng chữ viết đã đem lại nhiều ứng dụng tiện ích cho con người Xử lý ảnh trên máy tính hệ lệnh tuần tự
đã đạt được các kết quả mỹ mãn trên các ảnh 2D Trong lĩnh vực 3D cũng thu được nhiều kết quả có ý nghĩa khoa học và thực tiễn Việc nghiên cứu các phương pháp
xử lý ảnh, cải tiến các thuật toán xử lý trên máy tính hệ lệnh tuần tự vẫn được tiếp tục nhằm đáp ứng các nhu cầu của thực tế Trong khoảng 10 năm trở lại đây, ngoài việc phát triển các phương pháp xử lý truyền thống giới xử lý ảnh còn quan tâm đến một loại hình xử lý ảnh mới là xử lý ảnh dùng PDE [17], [25], [27], [28], [37], do
có nhiều ưu điểm hơn so với các phương pháp đã có Tuy nhiên dù theo hướng nào thì xử lý ảnh trên máy tính hệ lệnh tuần tự đã gặp phải các ngưỡng, các giới hạn khó
có thể vượt qua đó là tốc độ xử lý Các ảnh đưa vào máy tính để xử lý là các ảnh đã được số hoá Chúng có thể là ảnh nhị phân (chỉ có 2 mức đen/trắng) hoặc ảnh đa cấp xám (đen trắng có nhiều mức) hoặc ảnh màu (tổng hợp từ 3 màu cơ bản: đỏ, xanh, lục) Các ảnh được lưu trữ dưới dạng các ma trận có kích cỡ khác nhau Khi
xử lý ảnh tuỳ theo yêu cầu các giá trị ảnh sẽ bị biến đổi với các phép tính toán khác nhau Việc thao tác được thực hiện trên từng bit một Ảnh càng lớn, thao tác càng phức tạp thì số lượng phép tính phải thực hiện càng lớn thì dẫn đến thời gian xử lý càng dài Với các máy tính PC hiện nay thời gian xử lý trọn vẹn một tác vụ của một ảnh dung lượng 128x128 (chúng ta tạm lấy con số này để dễ so sánh với CNN sau này) không thể hoàn thành trong vài phần triệu giây (micro giây)
Một yếu tố nữa làm cho việc xử lý ảnh thời gian thực trên máy tính hệ lệnh tuần tự khó thực hiện được là việc chuyển thông tin thu nhận vào cho CPU xử lý
Cơ chế này yêu cầu các tín hiệu điện analog từ các sensor CCD khi đưa vào CPU phải qua các bộ ADC để chuyển thành tín hiệu số rồi đưa qua bộ nhớ máy tính sau
Trang 14đó CPU mới thực hiện xử lý dần từng dữ liệu được đọc ra từ bộ nhớ máy tính Cả một chuỗi dài các chuyển vận, biến đổi tín hiệu sau đó mới đến khâu xử lý Hiện nay việc xử lý với các ảnh thu trực tiếp trên máy tính hệ lệnh tuần tự từ camera thường chỉ với tốc độ 30 ảnh/ giây (fps); một số trường hợp với tốc độ 60fps Với kiến trúc của máy tính hệ lệnh tuần tự như vậy, cơ chế chuyển vận dữ liệu để xử lý như vậy thì rõ ràng là có tăng tốc độ bắt ảnh fps lên thì cũng không thể tăng được tốc độ xử lý
Nội dung của luận án trình bày một số đóng góp về xử lý ảnh dùng mạng nơron tế bào CNN trong vấn đề lọc nhiễu cho ảnh Các mô hình và thuật toán xử lý được đề xuất có năng lực xử lý thời gian thực, có thể thực hiện trên các hệ thống thu
và xử lý ảnh với tốc độ hàng nghìn fps Ngoài ra các mô hình và thuật toán được đề xuất này còn có thể được thực hiện hoàn toàn trên phần cứng Chương 1 của luận án giới thiệu chung về CNN, tình hình nghiên cứu trong và ngoài nước, phạm vi mục đích nghiên cứu của luận án Chương 2 của luận án giới thiệu các kiến thức cơ bản
về mạng nơron tế bào CNN và một số nghiên cứu xử lý nhiễu bằng phương trình khuếch tán trên máy tính hệ lệnh tuần tự và một số mô hình CNN có kết cấu hoặc công dụng gần với các mô hình được đề xuất của luận án Chương 3 trình bày các đóng góp của luận án Trong chương 4 các thực nghiệm và mô phỏng được trình bày Cuối cùng là phần kết luận và các đề xuất nghiên cứu cho tương lai
1 1 1 Tình hình nghiên cứu trên thế giới
a) Lọc nhiễu trong xử lý ảnh trên máy tính hệ lệnh tuần tự
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 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, nhiễu nhân, nhiễu xung Với mỗi loại nhiễu cần có các bộ lọc thích hợp Với nhiễu cộng và nhiễu nhân người ta thường dùng các bộ lọc thông thấp, trung bình và lọc đồng hình
Trang 15(homomorphic) Với nhiễu xung ta dùng lọc trung vị, giả trung vị, lọc ngoài [1], [3],
Từ khoảng những năm cuối của thế kỷ 20 việc ứng dụng PDE cho xử lý ảnh
đã được khởi động nghiên cứu, bắt đầu từ các bài báo của Witkin và Koenderink [19], [47] tiếp theo là các công trình của Osher và Rudin [39], L.Alvarez và L.Mazorra [32], P.Perona và J.Malik [37] với các PDE thành phần thực, G.Gillboa
và Y.Y.Zeevi, N.Sochen [22], [23], [24] với các PDE thành phần số phức Xử lý ảnh bằng PDE đã tỏ rõ là một phương pháp xử lý ảnh hiệu quả khi thực hiện các tác
vụ làm trơn (smoothing), giảm nhiễu (denoising) [20], [21], [25] tìm biên (edge
(reconstruction) [28], [38], nén ảnh, thay đổi histogram (PDE based histogram
modification),
Các thuật toán xử lý ảnh dùng PDE [17] có nhiều đặc tính tốt do:
+ Tính chất cục bộ tự nhiên của PDE phù hợp với rất nhiều các đặc điểm cục bộ
của ảnh Do vậy biểu diễn quá trình biến đổi ảnh qua PDE là rất thích hợp + Đã sẵn có nền tảng lý thuyết toán học về PDE chặt chẽ và phong phú bao gồm
sự hội tụ, tính ổn định, lời giải duy nhất…
+ Đã có nhiều dạng sơ đồ rời rạc hoá cho thực hiện các thuật toán PDE
+ Thuật toán được mô tả ngắn gọn không dài dòng phức tạp và dễ hiểu
+ Dễ dàng khái quát hoá mở rộng chiều một cách đơn giản bằng cách sử dụng các toán tử Laplace, divergence và gradient
+ Có thể quan sát được quá trình biến đổi thời gian thực của ảnh nếu sử dụng công cụ CNN
Các PDE được sử dụng để xử lý ảnh thường ở hai lớp: PDE khuếch tán tuyến tính (hệ số khuếch tán hằng số, đẳng hướng) và PDE khuếch tán phi tuyến (hệ số khuếch tán phi tuyến và không đẳng hướng)
Trang 16Cũng như với tất cả các tác vụ xử lý ảnh khác trên máy tính hệ lệnh tuần tự
xử lý ảnh dùng PDE gặp phải một vấn đề đó là tổng số lượng các phép tính toán, xử
lý rất lớn, điều này làm cho mong muốn xử lý ảnh thời gian thực (real-time) trong
đa số các trường hợp yêu cầu là không thực hiện được Tuy nhiên với các mô hình CNN 1 lớp, nhiều lớp được thiết kế với các bộ mẫu thích hợp việc giải các PDE này theo phương pháp sai phân sẽ chỉ tốn những khoảng thời gian vài phần triệu giây, không phụ thuộc vào kích thước lưới sai phân, cho phép thực hiện được các xử lý ảnh dùng PDE với thời gian thực
b) 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 Neuman János, 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ó yêu 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á chinh 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 Neuman János đưa ra
từ 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 các 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) [5], [29], [30], [31], [43], [44] được Leon O.Chua và Lin.Yang giới thiệu năm 1988 và sau đó là máy tính vạn năng tương tự logic CNN UM (CNN Universal Machine) [41] xử lý theo luồng được giới thiệu năm 1992 bởi L.O.Chua và Tamás Roska là một loại máy tính xử lý song song thực 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 chúng ta đưa một mảng dữ
Trang 17liệ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ụ chip ACE16K trong thiết bị Bi-i (được giới thiệu 2003) có 128x128=16.384 bộ xử lý, chip Q-Eye (2006) có 176x144 = 25.344 bộ xử
lý, chip 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 độ đế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 phỏng sinh học [2], [43] Hướng cứng hoá 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ạch đượ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 hoá đượ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 và 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 các chip CNN là Mỹ, Hungary, Tây Ban Nha Trường đại học Berkeley - California, 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 Các nước Đức, Ytalia cũng là các nước nghiên cứu 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 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ỹ
Trang 18CNNA 2004 tại Budapest Hung-ga-ry CNNA 2005 tại Hsinchu (Taiwan), CNNA lần thứ 10 Istanbul Turkey 2006 và CNNA lần thứ 11 tổ chức vào tháng 7-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
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 [5], [29], [31] hoặc nhiều lớp [52] đã đượ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 [43] 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
Máy tính mạng nơ ron tế bào CNN UM sử dụng hệ điều hành COS (CNN
Operating System) dưới dạng firmware 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 tuỳ theo yêu cầu cụ thể một số hệ thống CNN-UM có nối 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 [50]
Để 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ả thuật
toán mới gọi là các biểu đồ luồng (UMF-Universal Machine on Flows) 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 [6] sản phẩm của Analogical and Neural Computing Labotary Computer 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
Trang 19Dùng Code Compose Studio (phiên bản hiện nay (9-2010) đ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ư Windows hoặc 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
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 đ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 [12]
Đến 1-2007 đã có trên một trăm sáu mươi 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ụ của 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
Mã nguồn Alpha
Bộ dịch Alpha
Script macro code
(giống như AMC) AMC (analogic machine code) sinh ra bởi các ngắt
chip CNN-UM trong Engine Board
Bộ mô phỏng chạy
trên một chip
Emulated digital CNN-UM
Hình 1.1 Các mức phần mềm và công cụ sử dụng ngôn ngữ Alpha
Thuật toán: Biểu đồ luồng, các mẫu và các thủ tục
Trang 20• 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 chip 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 chip 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
T
Số bộ processor trong chip
Công nghệ
5 Chip thử nghiệm với lõi Falcon PE
trên board RC203 FPGA của Xilinx 128x128 = 16.384 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 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: chip 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 chip CNN như Bi-I V2, Bi-I V302 [8], [14] Bi-i V2 là một thiết bị camera video thông minh được giải thưởng năm 2003 tại Stutgat-Cộng hoà liên bang Đức, xử lý ảnh độc lập, thời gian thực [8], [14] Thiết bị này sử dụng chip ACE16k, trong chip 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 (multi-layer) kết hợp trực tiếp với
các sensor 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
Trang 21Con chip gồm 16384 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 chip 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ể được thu từ sensor CMOS độ phân giải cao 1280x1024 hoặc từ sensor + bộ xử lý ACE16k có cấu tạo như võng mạc của động vật có vú với 16384 bộ xử lý tế bào Việc xử lý song song mảng tín hiệu được thực hiện trong ACE16k 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 [18]: chia thành các mảng < (128 x 128) để xử lý các mảng con này sau đó ghép lại Việc xử lý trong các bộ DSP 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 ACE16k là các 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á độ < 5µs mạng lan truyền và đầu ra thu được kết quả mong muốn
Để lập trình 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)
Sensor CMOS 1280x1024 (IBIS 5)
Sensor bộ xử lý CNN
Bộ xử lý truyền tin ETRAX 100
Trang 22hoặ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 Instruments.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 Instruments InstantVision cũng sử dụng được với nhiều platform khác Thư viện phần mềm InstanceVision bao gồm các modul sau:
+ Cấu trúc cơ sở dữ liệu (BaseData),
+ Module IO, module (IOComponents),
+ 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ổ của 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.3 Eye-RIS
Trang 23Eye-RIS là một máy tính vạn năng tương tự logic CNN UM kết hợp camera 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.5 x 4.5 x 8.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
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 hoá 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 hoạ 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 kiểm với 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ùng 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ị hoả lực phá huỷ đú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 để 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 hoá hệ thống truyền dữ liệu băng thông rộng, giải phương trình vi phân đạo
Trang 24hà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
c) Xử lý ảnh dùng CNN
trong xử lý ảnh tốc độ cao
+ Tính ưu việt:
Xử lý thông tin ảnh là một công việc khó khăn do tính bất định, đa dạng của
ảnh, do lượng thông tin cần xử lý vô cùng lớn Xử lý ảnh dùng CNN đã giải quyết
được sự xung đột về lượng thông tin đồ sộ cần xử lý và tốc độ thực hiện Vấn đề xử
lý ảnh thời gian thực, xử lý ảnh trong những khoảng thời gian vài phần nghìn giây,
xử lý ảnh từ nhiều nguồn thu khác nhau đã trở thành hiện thực Do tính chất động
học liên tục về thời gian nên luồng ảnh được xử lý (thực chất là luồng tín hiệu điện),
trạng thái biến đổi của ảnh có thể quan sát được liên tục; đây là thuộc tính không
thể có được khi xử lý trên máy tính tuần tự
+ Ý nghĩa khoa học:
Việc ứng dụng CNN cho các yêu cầu tính toán và xử lý nhanh đã cung cấp cho xã hội con người một công cụ mạnh, sắc bén có tiềm năng lớn trong các hoạt động khoa học, công nghệ, quân sự và dân dụng Việc nghiên cứu về CNN giúp cho
việc thúc đẩy nghiên cứu tiếp cận các hoạt động sống của động vật: các cơ chế thu
nhận và xử lý âm thanh, hình ảnh, áp suất, của tai, mắt, da, của động vật có thể giống như mô hình các hệ thu và xử lý tín hiệu CNN
Trang 25+ Ý nghĩa thực tiễn:
Một điều rất lý thú và cũng là đặc điểm nổi bật của mạng nơron tế bào CNN
là do tính đơn giản về kết cấu và chúng có giới hạn động lực học xác định nên việc thực hiện trên phần cứng tương đối đơn giản hơn so với việc cứng hoá các chip xử
lý tuần tự Các hệ thống xử lý ảnh tốc độ cao dùng CNN có thể được cứng hoá trên các mảng FPGA, tích hợp trong các hệ nhúng sẽ là những sản phẩm phổ biến trong
thời kỳ hậu PC hiện nay Ở mức cao hơn nữa người ta tìm cách cứng hoá các thuật
toán CNN Khi đó các thuật toán sẽ được thực hiện với thời gian ở gần mức quá độ
của mạch điện (thường khoảng vài micro giây) có nghĩa là các thuật toán xử lý phức tạp sẽ chạy ngay trực tiếp trên các mạch điện được thiết kế theo yêu cầu của nhiệm
vụ cụ thể Điều này là hoàn toàn cho phép do công nghệ FPGA đang càng ngày càng phát triển và giá thành càng hạ Đây cũng là một hướng nghiên cứu mở vô hạn cho những người nghiên cứu về xử lý và tính toán thời gian thực dùng CNN
được nghiên cứu
Mạng nơron tế bào CNN cho phép xử lý các mảng tín hiệu tốc độ cao bởi hai yếu tố cơ bản và khó có thể tách rời nhau:
+ Một bộ xử lý tế bào trong mảng CNN là một mạch điện phi tuyến đơn giản liên kết cục bộ với các bộ xử lý tế bào khác trong bán kính ảnh hưởng trực tiếp có tốc độ xử lý tín hiệu đầu vào là thời gian quá độ của một mạch điện (khoảng vài micro giây) Hàng chục ngàn bộ xử lý tế bào trong một chip CNN xử lý hàng chục ngàn tín hiệu đầu vào khác nhau để cho ra đồng thời ở đầu ra hàng chục ngàn tín hiệu đã được xử lý cũng chỉ cần một lệnh duy nhất là bộ trọng số liên kết giữa các bộ xử lý này
+ Các sensor thu mảng tín hiệu (ánh sáng, áp suất, âm thanh, ) có thể đưa trực tiếp vào đầu vào của mỗi nơron trong mạng nơron tế bào để xử lý không cần qua các bộ ADC Như vậy đã bỏ được rất nhiều khâu biến đổi, truyền dẫn trung gian giữa tín hiệu cần xử lý và bộ xử lý
Xử lý ảnh dùng CNN hiện nay đã thực hiện được tất cả các công việc kinh điển mà một chương trình xử lý ảnh thường phải thực hiện:
Trang 26+ Tiền xử lý: Loại bỏ các đối tượng nhiễu, tăng cường độ tương phản, tăng cường các thông tin cần quan tâm
+ Trích chọn đặc tính
+ Rút ra các quyết định
Như đã nói ở phần trên xử lý ảnh dùng PDE là một hướng mới trong xử lý ảnh Đã
có rất nhiều nghiên cứu về xử lý ảnh dùng PDE trên máy tính hệ lệnh tuần tự [25], [26], [27], [28], [37], nhưng các kết quả nghiên cứu về xử lý ảnh dùng PDE trên CNN mới chỉ rất ít ỏi; đây là một thực tế khách quan bởi lực lượng nghiên cứu về CNN chưa phải là rất đông đảo trong khi các công việc và hướng nghiên cứu thì rất rộng:
+ Đã có các mô hình CNN tìm biên dùng PDE [31] Đã có các nghiên cứu về giảm nhiễu dùng PDE trên CNN với các phương trình tuyến tính các hệ số, thành phần của PDE là số thực [12]
+ Tuy nhiên các mô hình CNN thực hiện các PDE khuếch tán sử dung cho xử
lý ảnh mới được quan tâm đến là các mô hình CNN 1 lớp đơn Các thành phần và hệ số của các CNN thực hiện PDE này chỉ là số thực Các mô hình
CNN nhiều lớp thực hiện PDE với các thành phần phi tuyến và phức áp dụng cho xử lý ảnh đã chưa được quan tâm nghiên cứu
+ Nhiều công việc xử lý ảnh cơ bản, hữu dụng như các bộ lọc shock, lọc nhiễu đốm chưa được quan tâm xử lý trên CNN
+ Cuối cùng là các mô hình, các thuật toán xử lý ảnh trên CNN (cũng như các
mô hình CNN cho các nhiệm vụ khác như giải PDE, quan sát đa mục tiêu, ) cần phải được nghiên cứu tích hợp tạo ra bởi phần cứng để có các sản phẩm nổi trội, sắc bén
1 1 2 Tình hình nghiên cứu về xử lý ảnh dùng CNN trong nước
Từ đầu năm 2005 thông qua chương trình hợp tác khoa học công nghệ quốc
tế giữa Việt Nam và Hung-ga-ry công nghệ CNN tại Việt Nam đã được bắt đầu nghiên cứu tại Viện Công nghệ thông tin-Viện Khoa học và Công nghệ Việt Nam Thông qua đề tài hợp tác các nhà nghiên cứu Việt Nam đã làm chủ được những thành tựu mới nhất về CNN cả về lý thuyết và công nghệ Từ việc nắm bắt này
Trang 27nhiều nghiên cứu về CNN đã được tiến hành và thu được kết quả tốt Các thực nghiệm về nhận dạng thuốc viên tốc độ cao trong khi sản xuất, nhận dạng sự phát sinh tia lửa điện bugi, phát hiện mất ốc trên đường ray, phát hiện sự xuất hiện các trạng thái thay đổi đột ngột trong thí nghiệm nổ bóng, nhận dạng vân tay, dùng CNN đã được thực hiện thành công
Mặc dù mới tham gia vào lĩnh vực này nhưng nhiều đóng góp khoa học nghiên cứu về CNN đã được công nhận trong các hội thảo khoa học quốc tế như thuật toán khôi phục ảnh đối xứng thời gian thực, mô hình CNN 3 lớp giải PDE cho bài toán ô nhiễm, giải PDE bài toán dòng chảy, mô hình CNN 2 lớp phức ứng dụng trong xử lý ảnh, các thuật toán lai giảm nhiễu, lọc ảnh, các sơ đồ cứng hoá thuật toán lai, nghiên cứu ứng dụng camera CNN nhận dạng hình ảnh trên robot tự động
sử dụng trong công nghiệp Hiện nay việc nghiên cứu về ứng dụng CNN vẫn được tiếp tục phát triển thông qua các đề tài hợp tác quốc tế như Việt Nam-Hung-ga-ry (chế tạo chip CNN giải PDE dùng công nghệ FPGA), Việt Nam-Hàn Quốc 2010-
2011 (sử dụng camera CNN trong điều khiển xe bốc xếp hàng tự động tại kho cảng)
mà đơn vị thực hiện trực tiếp của Việt Nam là Viện Công nghệ thông tin-Viện Khoa
học và Công nghệ Việt Nam
1.2 Mục đích đối tượng và phạm vi nghiên cứu của đề tài
Bởi sự độc đáo, đa dạng về thuộc tính bản chất và bởi sự phong phú về các ứng dụng tiềm năng của mạng nơ ron tế bào CNN nên đề tài luận án tập trung nghiên cứu chỉ giới hạn với các vấn đề sau:
• Nghiên cứu cơ bản về công nghệ CNN
• Nghiên cứu xây dựng các mô hình mạng nơ ron tế bào CNN mới một lớp và
nhiều lớp ứng dụng trong xử lý ảnh dùng PDE thời gian thực Công việc khi
xây dựng các mô hình CNN gồm có xây dựng kiến trúc cho CNN và xác định
các mẫu cho CNN
• Nghiên cứu xây dựng các thuật toán khử nhiễu nhanh dùng CNN có thể ứng dụng trong công nghiệp và quốc phòng
Trang 281.3 Phương pháp nghiên cứu
• Sử dụng công cụ toán học biến đổi các phương trình mô tả quá trình vật lý của đối tượng cần nghiên cứu, biến đổi phương trình mô tả trạng thái của CNN một lớp và nhiều lớp để thu được các mô hình mạng nơron tế bào CNN cần thiết áp dụng vào lớp nhiệm vụ cần giải quyết
• Xây dựng các thuật toán mới, phương pháp mới ứng dụng CNN để tăng tốc độ
xử lý một số tác vụ xử lý ảnh (Các thuật toán lai trong xử lý ảnh dùng PDE
cho giảm nhiễu, tăng cường biên trên CNN UM)
Việc xây dựng các mô hình CNN và thuật toán chú ý hướng tới việc có thể triển khai được bằng phần cứng trên FPGA
1.4 Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học:
• Đề xuất được mô hình CNN mới: mô hình CNN hai lớp phức tuyến tính Xây dựng mô hình CNN hai lớp phức phi tuyến áp dụng cho giảm nhiễu khi xử lý ảnh dùng PDE đáp ứng thời gian thực (Bài báo [6], [7] phần "Danh mục các
công trình đã công bố")
• Đề xuất và xây dựng được thuật toán mới, phương pháp mới kết hợp sử dụng các bộ mẫu tiêu chuẩn của CNN tính toán song song với tính toán tuần tự khắc
phục nhiễu trong xử lý ảnh đáp ứng tốc độ xử lý thời gian thực (Các bài báo
[5], [8], [9] phần "Danh mục các công trình đã công bố")
• Đề xuất việc thực hiện trên phần cứng sử dụng công nghệ FPGA các mô hình và thuật toán mới đã nêu
Ý nghĩa thực tiễn:
• Nghiên cứu ứng dụng xử lý ảnh nhanh CNN xây dựng thị giác máy cho hệ robot
tự động vận chuyển trong kho, cảng (Autonomous forklift)
• Đề xuất hướng xây dựng các hệ tính toán và xử lý chuyên dụng thời gian thực trên phần cứng dùng công nghệ mạng nơ ron tế bào CNN có thể được ứng dụng trong công nghiệp và quốc phòng
Trang 29CHƯƠNG 2 MẠNG NƠ RON TẾ BÀO CNN VÀ LỌC NHIỄU TRONG XỬ LÝ ẢNH 2.1 Kiến trúc của CNN
2.1.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 Hình2.1cho xem một CNN
2D kích thước MxN tế bào đặt trong hệ toạ độ Đề các C(i,j) là một tế bào của CNN với i=1, ,M; j=1, ,N, [29]
Đị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 định nghĩa là
N r ( i , j ) = { C( k , l)|max{ |k – i|, |l – j|} ≤ r, 1 ≤ k ≤ M ; 1≤ l ≤ N } (2.1)
trong đó r là một số nguyên dương
Sơ đồ mạch điện của mỗi một cell C(i,j) như trong hình 2.2
Trong đó v xij , v yij , v uij là ký hiệu các điện áp trạng thái, đầu ra và đầu vào của cell
Để đơn giản chúng ta sẽ ký hiệu các điện áp này là x ij , y ij , u ij Điện áp trạng thái x ij
Hình 2.1 CNN tiêu chuẩn kích thước MxN
Hình 2.2 Mạch điện một cell
Trang 30đượ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 áp đầu
vào u ij đượ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) chứa một nguồn điện áp độc lập E ij , một nguồn dòng độc lập Z, một tụ tuyến tính
điều khiển bằng điện áp tuyến tính có các đặc điểm I xy (i,j;k,l) = A ij,kl y kl và I xu (i,j;k,l)
= B ij,kl u kl với mọi C(k,l) ∈ N r (i,j) 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 I yx = (1/R y )f(x ij ) Các hệ số A ij,kl và B ij,kl được gọi
là các hệ số 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 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 được sử dụng để nhấn mạnh thuộc tính bất biến này Tập hợp 2(2r + 1)2 + 1 con số thực A ij,kl , B ij,kl , Z sẽ quyết định đầy đủ hành
vi của một mảng CNN hai chiều bất kỳ Các 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ô tả động lực học của một cell CNN hai chiều tuyến tính như sau:
Trang 31Hình 2.3 Hàm đầu ra Piecewise với phương trình 2.2b
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 [5]:
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, hầu hết các hệ này là đồng nhất và thoả mãn hai thuộc tính:
Hình 2.4 Sơ đồ hoạt động của cell
a) Ảnh hưởng phổ biến là cục bộ trong phạm vi bán kính r,
b) Tất cả các biến trạng thái là giá trị tín hiệu liên tục
đ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 điện được gọi là một cell.Mạng được tạo thành có thể có kiến trúc bất kỳ như dạng lưới hình chữ nhật, 6 cạnh, 3 cạnh, hình cầu v,v, (hình 2.5)
Trang 32c) Các điều kiện biên,
d) Các điều kiện khởi tạo
2.1.2 Kiến trúc CNN phi tuyến và CNN trễ
Tế bào của mạng CNN phi tuyến và mạng CNN trễ khác với tế bào cơ bản
trong hình 2.2 chỉ với các nguồn dòng được điều khiển I xy và I xu Thay cho hai
nguồn dòng điều khiển tuyến tính được định nghĩa bởi A ij,kl y kl và B ij,kl u kl là các nguồn dòng điều khiển phi tuyến và trễ Chúng được định nghĩa trong [5] bởi
^
, ( kl, ) ij kl kl( )
Aij kl y y + A y tτ −τ và B^ij kl, ( , )u u kl ij +B u t ij kl klτ, ( − τ) (2.3) trong đó τ = τkl Nghĩa là thay cho việc có một nguồn dòng được điều khiển bằng điện áp (VCCS -Voltage Controlled Current Source) trong các mẫu vô tính A và B,
bây giờ chúng ta có nguồn dòng được điều khiển bằng điện áp kiểu phi tuyến và/hoặc trễ Tính phi tuyến trong các mẫu CNN thường thể hiện là các hệ số của ma trận mẫu là một hàm phi tuyến; chẳng hạn hệ số mẫu là một hàm phụ thuộc giá trị
u ij -u kl hoặc hàm phụ thuộc giá trị y ij -y kl – trong đó u ij , y ij và u kl , y kl là các giá trị điện
áp đầu vào, đầu ra của cell C(i,j) và điện áp đầu vào, đầu ra của một láng giềng
C(k,l).
Trang 33Ngoà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 Procesors 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 cell 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 (MNS-CNN): 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 bán kính r = 2
2.1.3 Kiến trúc của CNN nhiều lớp
Trong CNN lớp đơn mỗi cell chỉ có một biến trạng thái Với CNN nhiều lớp trong một cell 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 2 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 một cell 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 cell của các lớp gần nó [5]
2.1.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 3x3 chứa 9 hệ số là số thực, một ma trận B kích thước 3x3 chứa 9 hệ số là số thực và 1 ngưỡng z Tổng cộng có 19 con số số thực để
mô tả một CNN 3x3 Từ việc số lượng các con số thực rất nhiều không đếm được, dẫn tới sẽ có rất nhiều các tập mẫu CNN khác nhau, để đơn giản và dễ kiểm soát toán học có thể chia các CNN tuyến tính thành 3 phân lớp dưới đây [31]:
Lớp CNN hồi tiếp bằng không (0,B,z)
Một CNN thuộc lớp hồi tiếp bằng 0 - Zero-feedback ϑ(0,B,z) nếu và chỉ nếu tất cả các phần tử mẫu hồi tiếp bằng không, tức là A = 0
Trang 34Mỗi một cell của CNN hồi tiếp bằng 0 được định nghĩa bởi
z U B x
+ +
− +
− +
−
− +
+ +
+
+ +
+ +
1 1
, 1 1 , 1 , 1 0 , 1 1 , 1 1 , 1 1 , 1
,
0
, 0 , 0 1 , 1 , 0 1 , 1 1 , 1 , 1 0 , 1 1 , 1 1 ,
1
1
|
| 1
|
| )
, ( )
,
(
) , ( )
,
; , (
l
l j k i l k k
j i j
i j
i j
i
j i j
i j
i j
i j
i
j l i k
ij j
i S l
k
C
ij
u b u
b u
b u
b u
b
u b u
b u
b u
b u
b
u j l i k B u
l k j i B
Hình 2.6 Cấu trúc hệ thống của cell C(i,j) hồi tiếp bằng 0 Các mũi tên in đậm biểu
thị tín hiệu đầu vào từ các cell xung quanh Trong trường hợp này không có sự tự
hồi tiếp và không có sự ghép nối từ các đầu ra của các cell xung quanh đến cell
đang xét
Lớp CNN tự trị - đầu vào bằng không (A, 0, z) (CNN Zero-input)
Một CNN thuộc về lớp CNN đầu vào bằng 0 ϑ(A,0,z) nếu và chỉ nếu tất cả
các phần tử mẫu dẫn nhập đều bằng không tức, là B = 0 Mỗi cell của CNN
zero-input được định nghĩa bởi
z Y A x
Trang 35Hình 2.7 Cấu trúc hệ thống của một cell C(i,j) đầu vào bằng 0 Mũi tên đậm biểu thị tín hiệu hồi tiếp từ các đầu ra của các cell xung quanh Trong trường hợp này không có tín hiệu đầu vào
Lớp CNN không ghép cặp (vô hướng) (A 0 , B, z)
Một CNN thuộc về lớp không ghép cặp ϑ(A0 , B, z) nếu và chỉ nếu a ij = 0 loại
trừ i = j, tức là _A ≡ Mỗi cell của một CNN không ghép cặp được diễn tả bởi một 0ODE không tuyến tính vô hướng
z U B x f a
x&ij=− + 00 ( )+ * +
Hình 2.8 Cấu trúc hệ thống của một cell C(i,j) trung tâm không ghép cặp Mũi tên đậm biểu thị các tín hiệu đầu vào từ các cell xung quanh Trong trường hợp này luồng dữ liệu được đơn giản hoá thành các luồng đơn đánh dấu bằng các mũi tên mảnh cho biết chỉ là hồi tiếp "vô hướng" nhưng không ghép cặp từ các đầu ra của các cell xung quanh
Trang 362.2 Một số vấn đề cơ bản của CNN
2.2.1 Giới hạn động lực học của CNN
Trước khi thiết kế một CNN vật lý chúng ta cần phải biết rằng giới hạn động lực học của nó có thoả mãn điều kiện để xây dựng các cell bằng các phần tử bán dẫn hiện đang sử dụng trong lĩnh vực điện tử hay không Giới hạn động lực học của một CNN có phương trình trạng thái (2.2a) và phương trình đầu ra (2.2b) đã được L.O Chua xem xét trong [29] Giới hạn động lực học thực sự này được tính theo:
R z R 1 max v
v v
(i,j) N C(k,l) x x
(i,j) max
max DLCNN
r
(2.9)
trong đó v DLCNN là giới hạn động lực học của CNN
Theo công thức này R x |z| ≈ 1, R x |A(i,j;k,l)| ≈ 1và R x |B(i,j;k,l)| ≈ 1 với mọi i, j, k, l và nếu các láng giềng 3x3 bán kính r = 1 có thể tính ra v max ≈ 20V Điện áp này không vượt quá một giới hạn nguồn cung cấp tiêu biểu của một IC Đây cũng là sự khác nhau cơ bản giữa các CNN và các mạng nơron (NN) thông thường vì một CNN có phạm vi động lực học thực sự có thể tính toán được, còn giới hạn động lực học của các mô hình NN nói chung thường khó tính toán và cũng khó thực thực hiện được bằng mạch điện
2.2.2 Độ ổn định của CNN
Với một CNN xác định (A,B,z xác định), điều kiện khởi tạo, tín hiệu vào bất
kỳ thì sau quá trình quá độ phân rã về không trạng thái của mạch điện sẽ hội tụ như thế nào và trong những điều kiện nào? Trả lời các câu hỏi này vấn đề độ ổn định của CNN một lớp đơn chuẩn đã được chứng minh trong [29]
+ Sau thời gian quá độ phân rã về 0 chúng ta luôn thu được một hằng số tín hiệu ở đầu ra của CNN
+ Một CNN tuyến tính tiêu chuẩn một lớp luôn có các trạng thái cân bằng ổn định [29]
Trong một số trường hợp có thể sử dụng định lý về đối xứng dấu của LO.Chua [31]
để khảo sát nhanh chóng tính ổn định của CNN Tuy nhiên có những CNN không
Trang 37thoả mãn định lý đối xứng dấu này thì cũng không có nghĩa là chúng không ổn định
Định nghĩa 2.3 - Mẫu đối xứng dấu
Mẫu A 180 0 của một mẫu A thu được bằng cách quay mẫu A tại phần tử mẫu trung
tâm đi 1800 ngược chiều kim đồng hồ Nếu các phần tử tương ứng của A và A 180 0
cùng dấu (không xét đến giá trị) thì chúng ta nói rằng mẫu A đối xứng dấu Nếu các phần tử tương ứng của chúng bằng nhau cả về giá trị và dấu thì chúng ta gọi mẫu A
0 -3 7 0 -2
-2 0 7 -5 0
1 6 0 -2 -6
0 2 4 3 0 -4 -3 0 6 2
0 -6 8 0 -3
- 0 + - 0 + + 0 - -
Trang 38⊕ ký hiệu giá trị hệ số mẫu A dương hoặc bằng 0
Θ ký hiệu giá trị hệ số mẫu A âm hoặc bằng 0
5 là một giá trị giả định
Định lý của LO.Chua về sự ổn định hoàn toàn của CNN:
Một CNN MxN với mẫu A (2r+1)x(2r+1) là ổn định hoàn toàn với mẫu B và ngưỡng z tuỳ ý nếu ba điều kiện sau được thoả mãn:
+ Mẫu A đối xứng dấu
+ A là 1 trong 6 kiểu trọng số như trong hình 2.9
+ Các điểm cân bằng độc lập với nhau
Định lý này đã được LO.Chua chứng minh trong [31]
Một công cụ hay được sử dụng khi khảo sát hoạt động của CNN là đồ thị điểm điều
khiển (đồ thị DP-Driving Point plot) [31]
Hình 2.10 Đồ thị DP
Các điểm cắt trục ngang là các trạng thái ổn định của CNN Trên đồ thị có hai điểm cân bằng ổn định (hình tròn đặc) và một điểm cân bằng không ổn định (hình tròn
trắng) Miền tuyến tính trung tâm sẽ đi qua gốc toạ độ nếu g(t) = 0 Nếu g(t) ≠ 0 đồ
thị sẽ tịnh tiến lên trên hoặc xuống dưới theo trục tung
Trang 39Với CNN hai lớp: Để chứng minh sự ổn định của CNN hai lớp phương pháp Lyapunov khảo sát hàm năng lượng thường được sử dụng
a) Điều kiện tế bào biên kiểu cố định (Dirichlet)
2 1 1
1 0 0
E v
x
E v x
Ở đây các tế bào biên của CNN được giữ ở các điện thế E 1 , E 2 , v 0 là điện áp của nút
bên trái nhất, v M+1 là điện áp của nút bên phải nhất
Các cell ảo bên trái: y i,0 =α1 , u i,0 =β1 , i=1,2, ,M
Các cell ảo bên phải y i,N+1 =α2 , u i,N+1 =β2 , i=1,2, ,M
Các cell ảo ở đỉnh y 0,j =α3 , u 0, j=β3 , j=1,2, ,N
Các cell ảo ở dưới y M+1,j =α4, u M+1,j =β4 , j=1,2, ,N
trong đó α1, α2, α3, α4 và β1, β2, β3, β4 là các hằng số Khi thực hiện bằng mạch điện: Thêm vào một dòng hoặc một cột của cell đầu vào hoặc đầu ra cố định bằng các nguồn điện một chiều
Hình 2.11 Sự giải thích bằng mạch điện
của điều kiện tế bào biên cố định (Dirichlet).
b) Điều kiện tế bào biên kiểu Zero-Flux (Neumann)
Các cell ảo bên trái: y i,0 = y i,1 , u i,0 = u i,1 , i=1,2, ,M
Các cell ảo bên phải: y i,N +1 = y i,N , u i,N+1 = u i,N , i=1,2, ,M
Các cell ảo ở đỉnh: y 0,j = y 1,j , u 0,j =u 1,j , j=1,2, ,N
Các cell ảo phía dưới: y M+1 ,j= y M,j , u M+1 ,j=u M,j , j=1,2, ,N
Trang 40Hình 2.12 Sự giải thích bằng mạch điện các tế bào biên kiểu Neumann
c) Điều kiện tế bào biên chu kỳ (Ring)
Các cell ảo bên trái: y i,0 = y i,N , u i,0 = u i,N , i=1,2, ,M
Các cell ảo bên phải: y i,N +1 = y i,1 , u i,N+1 = u i,1 , i=1,2, ,M
2.2.4 Thiết kế mẫu cho mạng nơ ron tế bào
a) Bộ mẫu – chương trình máy tính mạng nơ ron tế bào
Mạng nơ ron tế bào CNN như đã nói ở trên là một hệ tính toán song song đặc biệt thuận tiện cho các tác vụ xử lý các luồng mảng tín hiệu Với cấu trúc liên kết cục bộ giống nhau ở tất cả các tế bào của mạng nên mạng CNN dễ dàng được thực thi trên một chip CMOS, FPGA Hoạt động của mạng CNN hoàn toàn được xác