Thạc Sĩ phát triển một số thuật toán xử lý ảnh sử dụng mạng nơron tế bào

Thảo luận trong 'Toán Học' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    MỤ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
    c). Xử lý ảnh dùng CNN 20
    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.3. Phương pháp nghiên cứu 24
    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
    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. 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.2. Độ ổn định 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
    a). Bộ mẫu - chương trình máy tính mạng nơ ron tế bào 36
    b). Các phương pháp thiết kế mẫu cho CNN 40
    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
    hệ lệnh tuần tự 41




    2
    a). Khuếch tán đẳng hướng (isotropic) 42
    b). Khuếch tán dị hướng (anisotropic) 42
    c). Khuếch tán với thành phần phức 45
    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
    a). Mô hình CNN một lớp số thực giải phương trình truyền nhiệt 49
    b). CNN một lớp thực hiện bộ lọc phức của Gabor 50
    2.4.2. Mô hình CNN hai lớp của Zonghuang Yang, Yoshifumi
    và Akio Ushida 51
    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.1. Bộ lọc shock 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.1. Lọc nhiễu đốm SRAD 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.1. Mô tả thực nghiệm 93
    4.1.2. Kết quả và đánh giá so sánh với các phương pháp khác 94




    3
    4.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
    a). Mô tả thực nghiệm 99
    b). Kết quả và đánh giá so sánh với các phương pháp khác 101
    4.3.2. Thực nghiệm nhận dạng tốc độ cao. 102
    a). Mô tả thực nghiệm 102
    b). Kết quả và đánh giá so sánh với các phương pháp khác 110
    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
    Danh mục các công trình đã công bố 114
    TÀI LIỆU THAM KHẢO 116





    CHƯƠ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




    10
    đó 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 bộ lọc kinh điển
    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




    11
    (homomorphic). Với nhiễu xung ta dùng lọc trung vị, giả trung vị, lọc ngoài [1], [3],
    [4].
    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 [36], [40], .
    ã Xử lý ảnh dùng PDE
    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
    detection) [17], phân vùng ảnh (segmentation), phục hồi cấu trúc ảnh
    (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).




    12
    Cũ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ữ




    13
    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ụ 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ỹ.




    14
    CNNA 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.
    ã 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 [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.
    ã 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 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.




    15
    Dù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.
     

    Các file đính kèm:

Đang tải...