Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
2,81 MB
Nội dung
www.ngohaibac.net ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN – BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG THIẾT KẾ HỆ THỐNG XỬ LÝ ẢNH SỐ TRÊN NỀN FPGA Nhóm sinh viên thực hiện: Ngô Hải Bắc Đỗ Trung Hiếu Lớp Điều khiển tự động – K48 Giáo viên hướng dẫn: Ts Lưu Hồng Việt HÀ NỘI - 2008 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Lời cảm ơn Trước hết, chúng em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Lưu Hồng Việt, người giúp đỡ nhiều định hướng nghiên cứu, thiết bị thí nghiệm phục vụ cho nghiên cứu Chúng em xin chân thành cảm ơn thầy cô giáo giảng dạy chúng em, đặc biệt thầy cô giáo Bộ môn Điều khiển tự động – Khoa Điện, TS Phạm Ngọc Nam – Phó Trưởng môn Điện tử - Tin học – Khoa Điện tử Viễn Thông – Trường Đại học Bách Khoa Hà Nội tạo điều kiện giúp đỡ chúng em hoàn thành đồ án tốt nghiệp Xin chân thành cảm ơn Dave Vanden Bout, kĩ sư công ty XESS Corporation trả lời tận tình thắc mắc chúng em KIT XSA3S1000 XST-3.0 Và cuối cùng, chúng em xin dành tất lịng biết ơn kính trọng sâu sắc tới bố mẹ chúng em, người sinh thành, nuôi dưỡng chúng em nên người, lo lắng, bảo từ việc nhỏ nhất, tạo điều kiện cho chúng em sống học tập cách tốt để vươn tới ước mơ hồi bão Mặc dù nỗ lực cố gắng để hoàn thành luận văn tốt nghiệp này, song chắn tránh khỏi sai sót Vì vậy, chúng em mong bảo thầy cô giáo để đề tài tốt nghiệp hoàn thiện LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Mục lục Lời cảm ơn Mục lục Danh mục hình vẽ đồ án tốt nghiệp Mở đầu Phần : Cơ sở lý thuyết xử lý ảnh số 10 1.1 Khái quát hệ thống Thị giác máy tính Cảm biến thị giác 10 1.3 Các thành phần hệ thống xử lý ảnh: 16 1.3.1 Thành phần thu thập ảnh, Camera vấn đề định dạng ảnh 16 1.3.2 Thành phần xử lý ảnh 17 1.4 1.3.2.1 Các khái niệm xử lý ảnh số 17 1.3.2.2 Các thuật toán xử lý ảnh số 18 Một số giải pháp phần cứng cho hệ thống thị giác máy 28 FPGA 28 DSP Processor 28 Mainboard, laptop 29 Phần : Khái quát FPGA mạch phát triển XST 3S1000 XESS 31 2.1 Giới thiệu chung FPGA ngôn ngữ VHDL 31 2.1.1 Khái niệm ứng dụng FPGA 31 2.1.2 Kiến trúc FPGA 32 2.1.2.1 Kiến trúc chung FPGA 32 Configurable Logic Blocks (CLBs) 33 Configurable I/O Blocks 34 Programmable Interconnect 34 Mạch đồng hồ (Clock Circuitry ) 35 2.1.2.2 So sánh cấu trúc nhỏ cấu trúc lớn 36 2.1.2.3 So sánh SDRAM Programming Anti-fuse programming 36 2.1.2.4 Cấu trúc FPGA Spartan 37 2.1.3 Trình tự thiết kế chip 38 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Ghi đặc điểm kĩ thuật 39 Chọn công nghệ 40 Chọn hướng tiếp cận thiết kế 40 Chọn công cụ tổng hợp 40 Thiết kế chip 41 Mơ – nhìn tổng quan thiết kế 41 Tổng hợp 41 Place and Route 41 Mô lại – tổng quan cuối 42 Kiểm tra 42 2.1.4 Ngôn ngữ mô tả phần cứng VHDL 42 Trình tự thiết kế chíp dựa VHDL 43 2.2 Giới thiệu mạch phát triển XST 3S 1000 hãng XESS 44 2.2.1 XSA-3S1000 45 2.2.2 XST-3.0 (XStend Board) 46 2.3 Giới thiệu hãng Xilinx công cụ lập trình: 49 Hãng Xilinx 49 ISE 9.2 49 LogicCore 9.2 49 EDK 9.2 50 System Generator 9.2 50 Phần : Xây dựng hệ thống xử lí ảnh động FPGA 51 3.1 Sơ đồ cấu trúc hệ thống xử lí ảnh động 51 3.2 Xây dựng hệ thống thu thập, lưu trữ, xử lý hiển thị ảnh 53 3.2.1 Thành phần thu thập ảnh Framegrabber 53 3.2.2 Lưu liệu từ Framegrabber vào SDRAM 55 3.2.3 Các chế ghi đọc SDRAM: SDRAM Controller, Dual Port SDRAM 55 SDRAM Controller 55 Pipeline Read Operation 56 Pipeline Write Operation 56 Dualport Module for the SDRAM Controller 58 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net 3.2.4 Image Processing core 60 3.2.5 Hiển thị ảnh lên VGA: VGA Generator 67 VGA Color Signals 67 VGA Signal Timing 68 Nguyên tắc hoạt động VGA Generator 69 3.2.6 Picoblaze hệ thống điều khiển trung tâm 71 3.2.6.1 Khái quát PicoBlaze 71 KCPSM3 Module 73 Kết nối với nhớ ROM chương trình 73 3.2.6.2 Sơ đồ cấu trúc khối xử lý trung tâm 75 Thuật tốn chương trình 75 3.3 Thiết kế giao diện điều khiển hệ thống 76 Chức 77 3.4 Mô kết 77 Phương án mô 77 Kết 78 Kết luận 79 Tài liệu tham khảo 82 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Danh mục hình vẽ đồ án tốt nghiệp Hình 1.1 Một tay máy thực gắp đối tượng với trợ giúp hệ thống thị giác máy tính Hình 1.2 Các bước xử lý ảnh số Hình 1.3 Những kiểu liên kết điểm ảnh Hình 1.4 Những kiểu đường liên kết điểm ảnh Hình 1.5 Kết phép lọc Gaussian với cửa sổ 3x3 Hình 1.6 Kết thuật tốn dị biên Hình 1.7 Phân ngưỡng theo lược đồ xám Hình 1.8 Loại bỏ nhiễu khơi phục đối tượng trình làm mảnh-làm đầy Hình 1.9 Sơ đồ thuật tốn gán nhãn đối tượng Hình 2.1 Kiến trúc chung FPGA Hình 2.2 Một Logic Block điển hình Hình 2.3 Configurable Logic Blocks Hình 2.4 Programmable Interconnect Hình 2.5 Cấu trúc thành phần Spartan 3A Hình 2.6 Design Flow Hình 2.7 Qui trình thiết kế chip dựa VHDL Hình 2.8 KIT XSA-3S1000 Hình 2.9 Sơ đồ cấu trúc XSA-3S1000 Hình 2.10 XST-3.0 Board Hình 2.11 XST-3S1000 Hình 3.1 Một ảnh cần xử lý Hình 3.2 Sơ đồ chung hệ thống Hình 3.3 Pixel stream waveform Hình 3.4 Framegrabber state machine Hình 3.5 Pipelined Read Operation timing waveforms Hình 3.6 Pipelined Write Operation timing waveforms Hình 3.7 Ghép nối với SDRAM Controller Hình 3.8 Ghép nối dualport với SDRAM Controller Hình 3.9 Xây dựng ports SDRAM interface Hình 3.10 Sơ đồ khối xử lý ảnh Hình 3.11 Khối ghi liệu từ read_fifo vào Buffer LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Hình 3.12 Khối thuật tốn xử lý ảnh Hình 3.13 Cơ chế ghi đọc buffer Hình 3.14 Khối đọc liệu từ buffer Hình 3.15 Sơ đồ khối ghi dịch Pixel register Hình 3.16 Cấu trúc nhân chập Hình 3.17 Cấu trúc xử lý đồng cấu ảnh nhị phân Hình 3.18 Khối gán nhãn đối tượng Hình 3.19 VGA Connection Hình 3.20 màu Hình 3.21 CRT Display Timing Example Hình 3.22 640 x 480 Mode VGA Control Timing Hình 3.23 Sơ đồ khối cấu trúc VGA Generator Hình 3.24 Sơ đồ khối cấu trúc PicoBlaze Hình 3.25 Sơ đồ cấu trúc PicoBlaze Microcontroller Hình 3.26 Sơ đồ khối điều khiển trung tâm giao tiếp UART Hình 3.27 Giao diện điều khiển LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Mở đầu Thị giác máy lĩnh vực phát triển Khái niệm thị giác máy – Computer vision có liên quan tới nhiều ngành học hướng nghiên cứu khác Từ năm 1970 mà lực tính tốn máy tính ngày trở nên mạnh mẽ hơn, máy tính lúc xử lý tập liệu lớn hình ảnh, đoạn phim khái niệm kỹ thuật thị giác máy ngày nhắc đến nghiên cứu nhiều ngày Thị giác máy bao gồm lý thuyết kỹ thuật liên quan nhằm mục đích tạo hệ thống nhân tạo tiếp nhận thơng tin từ hình ảnh thu tập liệu đa chiều Ngày nay, ứng dụng thị giác máy trở nên rộng lớn đa dạng, len lỏi vào lĩnh vực từ quân sự, khoa học, vũ trụ, y học, sản xuất, tự động hóa tịa nhà Mục đích đồ án nghiên cứu khái niệm Thị giác máy tính xử lý ảnh số Đồng thời sở đó, chúng em xây dựng hệ thống cảm biến thị giác phần cứng vi mạch khả trình FPGA Cảm biến thực chức sở cảm biến thị giác : tiếp nhận thơng tin từ hình ảnh thu để xử lý phục vụ cho trình phân tích cao LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Trong phần đồ án, chúng em đề cập đến khái niệm hệ thống thị giác máy tính, ứng dụng thành phần Đồng thời chúng em trình bày sở kiến thức xử lý ảnh số dùng việc xây dựng hệ thống cảm biến thị giác Trong phần 2, chúng em trình bày khái niệm chip khả trình FPGA, hãng Xilinx cơng cụ lập trình phát triển hệ thống với FPGA Chúng em đề cập đến vi mạch tích hợp XST 3S 1000 hãng XESS, sử dụng đồ án Phần 3, chúng em trình bày phương án thực thi hệ thống thị giác máy FPGA Việc xây dựng thành phần thu thập ảnh, lưu trữ ảnh, xử lý ảnh thị ảnh mạch tích hợp XST 3S 1000 đề cập chi tiết phần Trong phần này, chúng em trình bày phương án chạy mô kiểm tra hoạt động hệ thống Và cuối cùng, chúng em tổng kết kết đạt được, ưu điểm, nhược điểm giải pháp, hiệu giải pháp hướng phát triển LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Phần : Cơ sở lý thuyết xử lý ảnh số 1.1 Khái quát hệ thống Thị giác máy tính Cảm biến thị giác Theo định nghĩa từ [1] : Hệ thống thị giác - bao gồm thị giác máy (machine vision) thị giác máy tính (computer vision)- hệ thống tiếp nhận thông tin từ cảm biến thị giác (vision sensor) với mục đích cho phép máy móc đưa định thơng minh Thị giác máy tính ngành khoa học phát triển Mặc dù có ứng dụng xử lý ảnh số thập niên đầu kỉ XX vào số lĩnh vực, phải đến năm 1970, nghiên cứu lĩnh vực bắt đầu máy tính quản lý q trình xử lý lượng lớn liệu ảnh số Lĩnh vực nghiên cứu thị giác máy rộng, đặc điểm chung toán thị giác máy tính khơng có đề chung cách giải Mỗi giải pháp giải vấn kết định cho trường hợp cụ thể Ta thấy tương quan Computer vision với lĩnh vực khác sau: 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net sync generator có đầu tín hiệu gate chu kì trùng khớp với sườn lên xung đồng ngang ( horizontal sync pulse), tín hiệu gate nối với tín hiệu clock-enable vertical sync generator nên clock-enable cập nhật đếm thời gian sau dịng pixel (line of pixels) Tín hiệu gate vertical sync generator dùng tín hiệu báo kết thúc frame cho khối liệu pixel bên ngồi, đồng thời reset xóa tồn nội dung pixel buffer nên VGA generator ln khởi động từ trạng thái xóa hồn tồn với frame Bộ tạo tín hiệu đồng tạo tín hiệu horizontal vertical blanking Khi dùng phép tốn OR logic ta tín hiệu blanking tồn cục Các tín hiệu blanking kết hợp với bit có trọng số thấp đếm horizontal pixel counter để xác định đọc pixel từ đệm Ví dụ, pixel có độ rộng 16 bit, từ 16 bit cần đọc sau chu kì clock Vì nên hoạt động đọc khởi tạo tín hiệu video khơng trống bit thấp đếm pixel Hình 3.23 : Sơ đồ khối cấu trúc VGA Generator 70 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Tín hiệu full signal gửi nguồn liệu pixel bên để báo cho biết dừng việc điền liệu vào đệm Với đệm FIFO 256, tín hiệu full lên cao bit cao tín hiệu FIFO level 11111 Khiến cho bỏ trống bit FIFO để điền pixel nguồn liệu bên ngồi chót gửi liệu vào pipe Đây gọi chế đệm an toàn 3.2.6 Picoblaze hệ thống điều khiển trung tâm 3.2.6.1 Khái quát PicoBlaze Vi điều khiển PicoBlaze vi điều khiển nhúng bit có cấu trúc RISC tối ưu phát triển cho họ FPGA Spartan 3, Virtex II Virtex II Pro Xilinx Với vi điều khiển làm điều khiển dựa vi điều khiển hiệu quả, hay xử lý liệu đơn giản Vi điều khiển PicoBlaze tối ưu mặt hiệu suất chi phí phát triển thấp Nó chiểm khoảng 96 FPGA slices, hay 12.5% XC3S50 FPGA chiếm phần nhỏ mức 0.3% XC3S5000 FPGA Bình thường block RAM FPGA lưu trữ tới 1024 câu lệnh chương trình (program instructions) lệnh tự động load cấu hình FPGA, vi điều khiển PicoBlaze hoạt động từ 44000 tới 100000 câu lệnh giây (MIPS – million instructions per second) tùy thuộc vào họ FPGA dùng loại tốc độ họ Nhân vi điều khiển PicoBlaze nhúng hồn tồn FPGA khơng cần nguồn thêm Đơn giản ngoại vi PicoBlaze tự lựa chọn cho phù hợp với mục đích đặc biệt, chức yêu cầu giá sản phẩm cuối PicoBlaze nhúng vào dạng mã nguồn VHDL nhúng vào đời FPGA sau project có tính kế thừa cao Được nhúng FPGA, vi điều khiển PicoBlaze giảm kích thước mạch, giá thiết kế thực PicoBlaze FPC hỗ trợ số công cụ phát triển phù hợp bao gồm assembler mơi trường phát triển đồ họa tích hợp (IDE – integrated development environment), graphical instruction set simulator mã nguồn 71 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net VHDL khối mô Và đơn giản vi điều khiển PicoBlaze hỗ trợ môi trường phát triển Xilinx System Generator hay ISE Hình 3.24 : Sơ đồ khối cấu trúc PicoBlaze Vi điều khiển PicoBlaze có đặc điểm sau: 16 ghi liệu chức chung có độ rộng bit Lưu trữ 1K lệnh chương trình có thê lâp trình chip tự động nạp cấu hình FPGA hay khởi động FPGA Khối tính tốn logic (Arithmetic Logic Unit – ALU) với cờ CARRY ZERO Một bảng RAM 64 byte 256 đầu vào 256 đầu dễ dàng mở rộng thêm Automatic 31 location CALL/RETURN stack Predictable performance, luôn dùng xung nhịp hệ thống cho câu lệnh, đạt tới 200 MHz 100 MIPS Virtex – II Pro FPGA Đáp ứng ngắt nhanh; worst-case clock cycles Được tối ưu cho cấu truc Spartan – 3, Virtex II, Virtex II Pro FPGA Xilinx chiếm 96 slices 0.5 tới block RAM Hỗ trợ mô tệp lệnh assembler Vi điều khiển PicoBlaze cung cấp file nguồn VHDL gọi KCPSM3.vhd, tối ưu việc thực thi hiệu chắn họ Spartan-3, Virtex-II hay Vertex-II Pro Các mã nguồn phù hợp với q trình tổng hợp mơ phát triển kiểm tra dùng công cụ 72 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Xilinx Synthesizs Tool (XST) cho tổng hợp logic ModelSim cho mô Các nhà thiết kế thành công dùng công cụ tổng hợp logic mô khác Các mã nguồn VHDL không nên bị chỉnh sửa hồn cảnh KCPSM3 Module Module KCPSM3 bao gồm ALU, register file, scratchpad RAM, … Chỉ chức không nằm KCPSM3 nhớ chương trình Khai báo component gắn chân sau: Kết nối với nhớ ROM chương trình 73 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Bộ nhớ ROM chương trình PicoBlaze dùng thiết kế VHDL Từ file assembler tạo file VHDL, định nghĩa block RAM khởi tạo nội dung cho RAM File VHDL dùng cho tổng hợp logic mô vi điều khiển Sau khai báo component gán thực thể nhớ chương trình FPGA: Do đó, sơ đồ cấu trúc vi điều khiển PicoBlaze sau: Hình 3.25: Sơ đồ cấu trúc PicoBlaze Microcontroller Để viết mã lệnh cho chương trình (với tên mở rộng psm) dùng trình soạn thảo để lập trình dựa theo 31 lệnh cung cấp Và dùng file thực thi KCPSM3.exe form định nghĩa sẵn 74 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net ROM dạng file vhd, coe, v để dịch file vhd, v cho vào chương trình FPGA Để phối hợp hoạt động tất thành phần trên, đảm bảo hệ thống hoạt động xác, ta phải có hệ thống điều khiển trung tâm Trong đồ án này, chúng em sử dụng vi xử lý nhúng có tên PicoBlaze để điều khiển hoạt động khối xử lý FPGA, đồng thời giao tiếp với máy tính thơng qua cổng RS232 khối điều khiển giao tiếp RS232 : UART Controller 3.2.6.2 Sơ đồ cấu trúc khối xử lý trung tâm Sơ đồ cấu trúc khối xử lý dùng PicoBlaze: Hình 3.26 : Sơ đồ khối điều khiển trung tâm giao tiếp UART Ngồi vi điều khiển PicoBlaze, có sử dụng thêm component UART Receive UART Transmit Hai component cung cấp miễn phí Xilinx, bao gồm đệm tín hiệu trạng thái để giao tiếp với cổng RS232 Vi điều khiển PicoBlaze có nhiệm vụ nhận lệnh điều khiển từ chương trình PC lệnh điều khiển để capture ảnh từ camera tín hiệu lựa chọn thuật tốn kích hoạt khối xử lý frame ảnh lưu SDRAM, đồng thời nhận tín hiệu done báo giao diện để biết thuật toán xử lý xong Thuật toán chương trình 75 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Chương trình ln ln nhận kí tự từ giao diện người dùng kiểm tra xem gửi lệnh với cú pháp Ví dụ: lệnh bắt đầu chữ ‘C’ dùng để capture ảnh, bắt đầu chữ M để chọn thuật toán xử lý M1 để lọc nhiễu, M2 để phân vùng, … tín hiệu điều khiển tương ứng vào chân Algorithm Selection khối xử lý ảnh Khối xử lý ngắt kích hoạt có tín hiệu done từ xử lý ảnh xóa tín hiệu kích hoạt khối xử lý ảnh gửi messenger lên PC 3.3 Thiết kế giao diện điều khiển hệ thống Giao diện chương trình xây dựng GUI (Graphic User Interface) Matlab R2007a Giao diện chương trình điều khiển hình vẽ Giao diện thay đổi thời điểm bảo vệ Hình 3.27 : Giao diện điều khiển 76 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Chức Chọn thông số cổng RS232 để thiết lập giao tiếp RS232 với mạch phần cứng bên Mặc định chọn cổng COM1, tốc độ 115200 Có thể lựa chọn kết nối ngắt kết nối với RS232, có hộp thoại hiển thị trạng thái giao tiếp RS232 Kích hoạt chip Video Decoder mạch phần cứng qua nút I2C để giao tiếp I2C với chip qua cổng LPT Mặc định chọn cổng LPT1, phát triển thêm để lựa chọn cổng LPT khác Cho phép download trực tiếp file cấu hình cho FPGA Flash qua cổng LPT, nhờ nút bấm phần LPT FPGA Programming Cho phép lựa chọn thuật tốn thực có led hiển thị số thứ tự thuật tốn tương ứng Do chưa có tên cụ thể thuật toán cụ thể nên đặt tên thuật toán 1, thuật toán 2, … Mỗi kết thúc thuật tốn có điện thông báo thực thành công Cho phép kích hoạt để capture ảnh từ camera tự lên hình VGA Đang phát triển để thực lựa chọn capture ảnh chụp liên tục khoảng 30 hình/s 3.4 Mơ kết Phương án mơ u cầu tốn mơ phỏng: thực tốt thuật toán xử lý ảnh để đếm số vật frame, định vị vật Phương án mô thực sau: dùng camera chiếu vào bảng mầu (đen) có vật có kích thước khác Khi đó, dùng chương trình giao tiếp PC để điều khiển camera capture ảnh rõ nét, sau tiến hành thực thuật tốn theo trình tự định xác định số vật Từng kết chạy thuật toán hiển thị trực tiếp hình VGA 77 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Trình tự thực sau: Thuật toán : Lọc ảnh phép lọc Gausse, đồng thời tính ngưỡng trung bình Thuật tốn : Phân ngưỡng ảnh theo thuật toán phân ngưỡng, sử dụng ngưỡng vừa tính Thuật tốn : Làm mảnh Thuật tốn : Làm đầy, khơi phục ảnh Thuật toán : Thực gán nhãn đối tượng, hiển thị số đối tượng frame Thuật tốn : Tính tốn đặc tính đối tượng, đồng thời đối tượng lên., hiển thị đặc tính đối tượng cần xác định giao diện Hồn thành lượt mơ Kết Kết mô cho thấy việc thực thi thuật toán thiết kế hệ thống thực mong muốn Việc phần vùng đánh nhãn ảnh thành cơng Tuy nhiên, ảnh có nhiễu tương đối lớn ( độ dày khoảng pixel ) cần nhiều trình làm mảnh liên tiếp xóa bỏ hồn tồn nhiễu 78 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Kết luận Trong giải pháp phần cứng cho việc xây dựng hệ thống thị giác máy tính, thầy FPGA giải pháp phù hợp Với FPGA, thiết kế hệ thống theo khối hoạt động song song, cho phép tăng tốc độ xử lý lên nhiều lần so với xử lý Điều quan trọng hệ thống đòi hỏi tốc độ xử lý nhanh, chẳng hạn cánh tay robot gắp đồ vật chuyển động nhanh Trong đồ án này, chúng em thực thi thành công hệ thống thị giác máy với nhiệm vụ tách đối tượng ảnh, gán nhãn xác định đặc trưng hình học đối tượng Với khả xử lý vậy, chúng em nhận thấy hồn tồn mở rộng đề tài giải toán xử lý nâng cao : Nhận dạng : dựa đặc trưng hình học đối tượng, ta cịn nhân dạng đối tượng, phục vụ cho toán nhân dạng đồ vật chữ số sau Việc nhận dạng mạng neural xây dựng trực tiếp FPGA, cách tạo neural đơn vị xử lý kết nối với Xác định đối tượng chuyển động: Đối tượng xử lý đối tượng tĩnh, camera truyền ảnh liên tục đối tượng Nếu kết hợp trình xử lý thời điểm khác nhau, ta giải tốn xác định đối tượng chuyển động tốc độ chuyển động Việc giải tốn có ý nghĩa thực tiễn lớn cấu bám đối tượng chuyển động Xác định khoảng cách vật khơng gian : Mạch XST 3S 1000 có cổng video Thêm vào đó, project chưa chiếm hết nửa tài nguyên hệ thống, thêm project nữa, ta tận dụng tài ngun cũ Do hồn tồn thực thi hệ thống với camera hoạt động Điều cho phép ta quan sát đối tượng không gian 3D, chí xác định hình dạng, kích thước thể tích chúng Ta xác định khoảng cách đối tượng không gian kết hợp kết xử lý với phép tính quang học xác Xa nữa, ta hồn tồn xây dựng hệ thống thị 79 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net giác máy giúp cho việc di chuyển xe tự hành thao tác hệ thống CNC vật thể chiều Mở rộng khả giao tiếp cảm biến thị giác để phù hợp với nhiều chuẩn không riêng RS232: chuẩn Ethernet, USB, CAN, RS 485 giúp cho thiết bị dễ dàng tích hợp vào hệ thống điều khiển phân tán thật Cải thiện thuật toán nhằm làm tăng khả xử lý, chất lượng ảnh sau tiền xử lý Đó ứng dụng có giá trị thực tiễn nhiều lĩnh vực, đặc biệt Tự động điều khiển, có khả thực thi sâu nghiên cứu Qua trình thực đồ án này, chúng em cảm thấy học nhiều điều Đó kỹ tự nghiên cứu lĩnh vực mẻ sinh viên Điều khiển tự động : Xử lý ảnh số, Thị giác máy tính cơng nghệ FPGA, tảng kiến thức sở học nhà trường Đó kỹ làm việc theo nhóm : cách phân cơng tương đối hợp lý, chúng em chia tách công việc cách cân bằng, đảm bảo người phát huy hết sở trường mình, để thực đồ án cách tốt khả Đây kỹ quan trọng cho công việc kĩ sư sau Đó kỹ trình bày ý tưởng , hiểu biết kiến thức vào đồ án, nhằm truyền tải cách đầy đủ hiểu lĩnh vực mà nghiên cứu Cuối cùng, phải nói dù cố gắng nhiều, chúng em không tránh khỏi sai sót, việc xây dựng hệ thống, việc trình bày luận văn Nhưng chúng em ln ý thức rằng, sai sót hội cho chúng em rèn luyện kỹ : kỹ sửa chữa sai sót khiếm khuyết, để thực đề tài, dự 80 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net án sau cách hoàn chỉnh Đó tất nhờ theo dõi, hướng dẫn , phản biện tận tình nghiêm túc thầy, cô hội đồng bảo vệ Chúng em xin chân thành cảm ơn thầy tận tụy ấy! 81 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Tài liệu tham khảo [1] Volnei A Pedroni, Circuit Design with VHDL, MIT Press Cambridge, Massachusetts London, England, 2004 [2] Texas Instruments, TVP5150PBS Ultralow-Power NTSC/PAL Video Decoder, Texas Instruments Incorporated, May 2006 [3] D Vanden Bout, XSA Board SDRAM Controller, XESS Corporation, July 12, 2005 [4] D Vanden Bout, VGA Generator for the XSA Boards, XESS Corporation, October 12, 2004 [5] D Vanden Bout, Dualport Module for the SDRAM Controller, XESS Corporation, July 12, 2005 [6] Karthikeyan Palanisamy, Interfacing Spartan-3 Devices with 166 MHz or 333 Mb/s DDR SDRAM Memories, Xilinx Corporation, October 14, 2004 [7] Anil K.Jail , Fundamentals Digital Image Processing, University of California [8] Xilinx Ltd, PicoBlaze 8-bit Embedded Microcontroller User Guide UG129, www.xilinx.com, November 21, 2005 [9] Xilinx Ltd, Spartan-3E Starter Kit Board User Guide UG230 (v1.0), www.xilinx.com , March 9, 2006 [10] Xilinx Ltd, Chapter – Implementing DDR SDRAM Controller – MIG User Guide UG086 (V2.0), www.xilinx.com, September 18, 2007 [11] Xilinx Ltd, System Generator for DSP Userguide Release 9.2.00, www.xilinx.com, August 2007 [12] Xilinx Ltd, System Generator for DSP Reference Guide Release 9.2.00, www.xilinx.com, August, 2007 82 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net [13] Xilinx Ltd, System Generator for DSP Getting Started Guide Release 9.2.00, www.xilinx.com, August, 2007 [14] Gregory K.McMillan, Douglas M.Considine, Process/Industrial Instruments and Controls Handbook, McGraw-Hill, 1999 [15] O.Gassman, H.Meixner, Sensors in Intelligent buildings, Wiley-VHC, 2001 [16] Trung tâm công nghệ FPT, Giới thiệu giải pháp phần cứng cho toán thị giác máy Linux nhúng [17] Nguyễn Đức Thành, Nguyễn Đức Minh, Computer Vision using Neural Network, Application for Robot Manipulator Control, Bộ Môn Điều khiển tự động, khoa Điện-Điện tử, Đại học Bách Khoa Thành phố Hồ Chí Minh, 2004 [18] Anthony Edward Nelson, Implementation of Image Processing Algorithms on FPGA Hardware, Nashville, 2000 [19] Bruce Draper, Walid Najjar, Wim Böhm, Jeff Hammes, Bob Rinker, Charlie Ross, Compiling and Optimizing Image Processing Algorithms for FPGA’s, Colorado State University, 2000 [20] Ben Cope, Implementation of 2D Convolution on FPGA, GPU and CPU, Imperial College London, 2000 [21] Bill Silver , An Introduction to Digital Image Processing, Cognex Corporation, 2000 [22] Richard G Shoup, Parameterized Convolution Filtering in a Field Programmable Gate Array, California, 2000 [23] Chi-Jeng Chang, Pei-Yung Hsiao, Zen-Zi Hoang, Intergrated Operation of Image Capturing in FPGA, Chang Gung University, Tao-Yuan, Taiwan, 2006 [24] Anil K.Jail , Fundamentals Digital Image Processing, University of California 83 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com www.ngohaibac.net Các nguồn tham khảo Internet [1] http://tech.groups.yahoo.com/group/xsboard-users/ : thảo luận XESS Board group thiết kế hệ thống nhúng dùng board XESS Trưởng nhóm D Vanden Bout có nhiều viết hay Nhóm chúng em hỗ trợ tận tình từ phía Dave [2] http://www.xilinx.com/: Trang web cung cấp công cụ, hướng dẫn để thực thi FPGA 84 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... trình FPGA để xây dựng tồn hệ thống xử lý ảnh điều khiển trung tâm Mục đích đề tài xây dựng hệ thống xử lý ảnh nên FPGA, thực số thuật toán lọc, phân ngưỡng, phân vùng, xử lý đồng cấu ảnh nhị... dựng hệ thống xử lí ảnh động FPGA 51 3.1 Sơ đồ cấu trúc hệ thống xử lí ảnh động 51 3.2 Xây dựng hệ thống thu thập, lưu trữ, xử lý hiển thị ảnh 53 3.2.1 Thành phần thu thập ảnh. .. mềm sở lý thuyết Các bước xử lý ảnh số mô tả sơ đồ đây: Phân vùng, phân ngưỡng Biểu diễn Tiền xử lý Cơ sở kiến thức Xử lý nhận dạng Thu nhận ảnh Hình 1.2 : Các bước xử lý ảnh số Thu thập ảnh( image