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(Bản đầy đủ))

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Mai Kul, 28/11/13.

  1. Mai Kul

    Mai Kul New Member

    Bài viết:
    1,299
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    PHÁT TRIỂN MỘT SỐ THUẬT TOÁN XỬ LÝ ẢNH SỬ DỤNG MẠNG NƠRON TẾ BÀO

    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 đó 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 (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).
    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ữ 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ỹ. 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.
    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...