1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGHIÊN CỨU CÔNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC CHO PHÁT HIỆN CẠCH BIÊNTRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA

54 38 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 2,53 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN KHOA CÔNG NGHỆ KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU CÔNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC CHO PHÁT HIỆN CẠCH BIÊNTRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA Giảng viên hướng dẫn: TS.Dương Hữu Ái Sinh viên thực : Trần Cao Thông Lớp : 17CE MSSV : 17CE047 Đà Nẵng, ngày 15 tháng 12 năm 2021 Lời Cảm Ơn ! Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Trong suốt khóa học (2017-2022) Trường Cơng Nghệ Thơng Tin Truyền Thông Việt Hàn, quý Thầy Cô truyền đạt cho em nhiều kiến thức bổ ích đặc biệt thầy cô khoa Kỹ Thuật Máy Tính Điện Tử truyền đạt cho chúng em nhiều kiến thức chuyên ngành cần thiết cho chúng em sau trường Đặc biệt thời gian làm đề tài, em học hỏi nhiều kiến thức thực tế từ Thầy hướng dẫn nên hoàn thành đề tài thời gian quy định Sau học được, thực Em xin gửi lời biết ơn chân thành đến gia đình, q Thầy Cơ khoa Kỹ Thuật Máy Tính Điện Tử Đặc biệt Thầy TS.Dương Hữu Ái hướng dẫn, dìu dắt suốt trình làm đồ án tốt nghiệp Em xin cảm ơn anh chị, bạn sinh viên khoa giúp đỡ nhiều như: thiết bị nghiên cứu, tài liệu, phần mềm, đóng góp ý kiến … để em hoàn thành đề tài Em xin cảm ơn tất cả! SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp LỜI CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp: NGHIÊN CỨU CƠNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC TRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA cơng trình nghiên cứu thân Những phần có sử dụng tài liệu tham khảo có đồ án liệt kê nêu rõ phần tài liệu tham khảo Đồng thời số liệu hay kết trình bày đồ án mang tính chất trung thực, khơng chép, đạo nhái  Những nội dung luận văn tơi/nhóm thực hướng dẫn trực tiếp Thầy TS Dương Hữu Ái  Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian, địa điểm công bố  Mọi chép không hợp lệ, vi phạm quy chế đào tạo khơng thật, tơi/nhóm xin chịu hồn tồn trách nhiệm Đà Nẵng, ngày 15 tháng 12 năm 2021 Ký tên Trần Cao Thông SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp MỤC LỤC SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Danh mục viết tắt FPGA VHDL Field-Programmable Gate Array VHSIC-HDL, Very High-Speed FMC Hardware Description Language FPGA Mezzanine Card HDL LOG Hardware description language Laplacian of Gaussian SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Integrated Circuit Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Danh mục hình ảnh SVTH: Trần Cao Thơng GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Chương GIỚI THIỆU 1.1 LÝ DO CHỌN ĐỀ TÀI • Xử lý ảnh phân ngành xử lý số tín hiệu với tín hiệu xử lý ảnh Đây phân ngành khoa học phát triển • Ngày xử lý ảnh ngày phổ biến phát triển mạnh với nhiều ứng dụng thực tế ngành y học, an ninh, giao thông, hệ thống bảo mật, tự động hóa… Các ứng dụng xử lý ảnh y học máy siêu âm, chụp X-ray Cịn an ninh giúp phát chuyển động, cảnh báo xâm phạm Trong giao thông giúp đo lường tốc độ, cảnh báo ùn tắc… • Phát biên ảnh nhiệm vụ quan trọng xử lý ảnh Nhận dạng ảnh dùng máy tính liên quan tới việc nhận dạng phân loại đối tượng ảnh phát biên cơng cụ quan trọng Phát biên làm giảm cách đáng kể khối lượng liệu cần xử lý loại bỏ thông tin không cần thiết đảm bảo thuộc tính quan trọng cấu trúc ảnh • Nhằm thiết kế ứng dụng đạt hiệu cao vấn đề xử lý nhằm đáp ứng tốc độ, thời gian thực yêu cầu quan trọng hầu hết ứng dụng Để đáp ứng yêu cầu FPGA lựa chọn hồn hảo • Field-programmable gate array (FPGA) mạch tích hợp dùng cấu trúc mảng phần tử logic mà người dùng lập trình • FPGA có tốc độ xử lý nhanh, cung cấp độ trễ thấp hay độ trễ xác định cho ứng dụng thời gian thực xử lý hình ảnh, video cách nhập trực tiếp hình ảnh video vào FPGA, bỏ qua CPU FPGA đáp ứng nhiều chức giúp mang lại hiệu cao lượng FPGA sử dụng phần FPGA cho chức thay tồn chip- điều cho phép FPGA lưu trữ thưc nhiều chức song song SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp • FPGA có phần mềm chun dụng giúp người dùng nhanh chóng tiếp cận sử dụng 1.2 MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU • Tìm hiểu xử lý ảnh số: cấu trúc ảnh số, lọc ảnh số, ứng dụng • phương pháp thuật toán nâng cao chất lượng ảnh số Tìm hiểu cơng nghệ vi mạch khả trình (cách vận hành, ưu nhược điểm, ứng dụng thực tế…) tìm hiểu ngơn ngữ lập trình mơ tả phần cứng Verylog phần mềm lập trình Vivado Nghiên cứu bo mạch phát • triển FPGA cách thức nạp/ chạy chương trình bo mạch FPGA Cài đặt thuật toán lọc biên ảnh số ngôn ngữ mô tả phần cứng mô thuật toán lọc biên ảnh số phần mềm vivado Cài đặt thực thi lọc biên ảnh số KIT FPGA 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU • Cơng nghệ FPGA: Ứng dụng, phần mềm phần cứng liên quan • Xử lý ảnh: Cấu trúc, thuật toán phương pháp lọc ảnh • Ứng dụng xử lý ảnh vào công nghệ FPGA 1.4 PHƯƠNG PHÁP NGHIÊN CỨU • Bước 1: Nghiên cứu lý thuyết • Bước 2: Phát triển chương trình • Bước 3: Thực thi thử nghiệm • Bước 4: Đánh giá kết SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử 1.5 Đồ Án Tốt Nghiệp KẾT QUẢ ĐẠT ĐƯỢC • Nghiên cứu phát triển chương trình xử lý ảnh tảng FPGA • Mơ Phỏng phần mềm Vivado • Cài đặt thực thi lọc biên ảnh số KIT FPGA ghép nối máy tính để đưa kết 1.6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN • Ý nghĩa khoa học: o Nhằm thiết kế ứng dụng đạt hiệu cao vấn đề xử lý nhằm đáp ứng tốc độ, thời gian thực yêu cầu quan trọng hầu hết ứng dụng o Nên đề tài này, em ứng dụng xử lý ảnh vào FPGA để phục vụ nhu cầu • Ý nghĩa thực tiễn: o Tiếp cận nhanh chóng cơng nghệ FPGA làm chủ công nghệ nhận dạng xử lý ảnh o Thiết kế loc hình ảnh FPGA làm nâng cao khả tốc độ xử lý hình ảnh giảm thiểu trình trung gian o Làm giảm cách đáng kể khối lượng liệu cần tính tốn, giữ lại số thơng tin cần thiết đồng thời bảo toàn cấu trúc quan trọng 1.7 NỘI DUNG ĐỒ ÁN • • Chương 1: Giới thiệu tổng quan đề tài Chương 2: Tìm hiểu lý thuyết FPGA (cách vận hành, ưu nhược điểm, ứng dụng thực tế…) tìm hiểu ngơn ngữ lập trình mơ tả phần cứng Verylog phần mềm lập trình Vivado Tìm hiểu xử lý ảnh (cấu trúc ảnh số, lọc ảnh số, ứng dụng phương pháp thuật toán nâng cao chất lượng ảnh số) SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử • Đồ Án Tốt Nghiệp Chương 3: Đi sâu vào phân tích thực thuật tốn để xử lý hình ảnh FPGA, tiến hành nạp code chạy kết Phân tích so sánh với ảnh xử lý phần mềm phần mềm matlab Chương 4: Kết luận hướng phát triển đề tài • Chương CƠ SỞ LÝ THUYẾT 2.1 TÌM HIỂU VỀ CƠNG NGHỆ VI MẠCH KHẢ TRÌNH FPGA 2.1.1 Khái niệm FPGA 2.1.1.1 Lịch sử FPGA FPGA thiết kế Ross Freeman, người sáng lập công ty Xilinx vào năm 1984 Tiền thân trước FPGA CPLD CPLD cấu trúc từ số lượng định khối SPLD (Simple programmable devices, thuật ngữ chung PAL, PLA) SPLD thường mảng logic AND/OR lập trình có kích thước xác định chứa số lượng hạn chế phần tử nhớ đồng (clocked register) Cấu trúc hạn chế khả thực hàm phức tạp hiệu suất không cao Kiến trúc FPGA kiến trúc mảng khối logic, FPGA có khả chứa tới từ 100.000 đến hàng vài tỷ cổng logic, CPLD chứa từ 10.000 đến 100.000 cổng logic Một điểm khác biệt với CPLD FPGA đại tích hợp nhiều logic số học sơ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay nhân cộng (multiplication and accumulation, MAC), thuật ngữ tiếng Anh DSP slice dùng cho ứng dụng xử lý tín hiệu số DSP Ngoài khả tái cấu trúc vi mạch toàn cục, số FPGA đại hỗ trợ tái cấu trúc cục bộ, tức khả tái cấu trúc phận riêng lẻ (partial configuration) đảm bảo hoạt động bình thường cho phận khác SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 10 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Hình 26:Tạo dự án vivado Đến đây, bạn xem cấu trúc RTL mà viết Vivado 2.6 GIỚI THIỆU VỀ BOARD VIRTEX-7 FPGA 2.6.1 Mô tả sản phẩm Bộ công cụ đánh giá Virtex-7 FPGA VC707 tảng nối tiếp tốc độ cao, linh hoạt, đầy đủ tính sử dụng Virtex-7 XC7VX485T-2FFG1761C bao gồm thành phần phần cứng, công cụ thiết kế, IP tài liệu tham khảo xác minh trước thiết kế cho thiết kế hệ thống yêu cầu hiệu suất cao, kết nối nối tiếp giao tiếp nhớ tiên tiến Các thiết kế tham chiếu xác minh trước kèm FPGA (FMC) tiêu chuẩn ngành cho phép mở rộng tùy chỉnh với thẻ SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 40 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Hình 27: Board Virtex-7 VC707 2.6.2 Tính • Nền tảng kết nối 40Gb / s cho ứng dụng băng thông cao hiệu suất cao sử dụng Virtex-7 VX485T FPGA • Phần cứng, cơng cụ thiết kế, IP thiết kế tham chiếu xác minh trước • Hỗ trợ xử lý nhúng với MicroBlaze, RISC 32bit • Cho phép kết nối nối tiếp với cặp PCIe Gen2x8, SFP + SMA, UART, IIC • Giao diện nhớ tiên tiến với Bộ nhớ 1GB DDR3 SODIM lên đến 800MHz / 1600Mbps • Phát triển ứng dụng mạng với 10-100-1000 Mbps Ethernet (GMII, RGMII SGMII) • Mở rộng I / O với giao diện FPGA Mezzanine Card (FMC) SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 41 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp 2.6.3 Sơ đồ khối Hình 28: Sơ đồ khối SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 42 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Chương THIẾT KẾ VÀ KẾT QUẢ THỰC HIỆN 3.1 TOÁN TỬ SOBEL VÀ ỨNG DỤNG VÀO PHÁT HIỆN CẠNH BIÊN Sử dụng hai mặt nạ có kích thước [3 x 3] mặt nạ đơn giản quay mặt nạ góc 90 độ Các mặt nạ thiết kế để tím đường biên theo chiều đứng chiều ngang cách tốt Khi thực phép convolution ảnh mặt nạ ta nhận gradient (sự thay đổi giá trị pixel ảnh) theo chiều đứng chiều ngang Gx, Gy • Thuật tốn: o Ta có ảnh gốc A ảnh kết B o Có hai ma trận Gx Gy o Lấy ảnh gốc A nhân với Gx o Lấy ảnh gốc A nhân với Gy SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 43 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp o Lấy kết vừa cộng lại với o Cơng thức: B = (A*Gx) + (A*Gy) • Cách thực hiện: 3.2 SƠ ĐỒ KHỐI 3.3 KẾT QUẢ THỰC HIỆN 3.4 KẾT QUẢ THỰC NGHIỆM SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 44 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Chương 5.1 Đồ Án Tốt Nghiệp KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI HƯỚNG PHÁT TRIỂN • Đã hồn thành mục tiêu: o Tìm hiểu hiểu xử lý ảnh: quy trình, cách ứng dụng, … o Trình bày vấn đề vi mạch khả trình như: cấu trúc, tính ưu việt, ứng dụng, … o Mơ chương trình phần mềm vivado o Thực thi kit phát triển FPGA • Ngồi kết đạt hệ thống hạn chế: o Hệ thống chưa xử lý cách tối ưu o Chỉ dừng lại lọc biên o Kết nhận diện xử lý ảnh chưa thực cao Đây đề tài tương đối phức tạp, em cố gắng với hạn chế mặt trình độ thời gian thực hiện, em kết thúc đề tài với nghiên cứu mảng nhỏ công nghệ FPGA, số ý tưởng để tiếp tục phát triển ứng dụng:  Tiếp tục nghiên cứu phát triển chường trình mặt  Mở rộng phạm vi, nâng cao kỹ thuật chương trình  … 5.2 KẾT LUẬN • Với kiến thức tảng cộng thêm chạy thầy cô trường VKU đặc biệt hướng dẫn nhiệt tình thầy TS Dương Hữu Ái em hồn thành đề tài “NGHIÊN CỨU CƠNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC TRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA” phần hiểu rõ ứng dụng cách xử lý ảnh Có thêm hiểu biết cơng nghệ mơ tả phần cứng FPGA • Mặc dù hệ thống hồn thành cịn nhiều thiếu sót hạn chế cách vận hành nhận diện chưa thực xác, tốc độ xử lý chưa thật tối ưu nhất, Nhưng lần mong muốn nhận đóng góp SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 45 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp thầy, cô để thời gian tới cố gắng khắc phục mặt chưa tốt bổ sung thêm chức cho hệ thống SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 46 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Nhận xét giảng viên hướng dẫn  ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………… Đà Nẵng, ngày 15 tháng 12 năm 2021 GVHD TS Dương Hữu Ái SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 47 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Nhận xét giảng viên phản biện  ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………… SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 48 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp PHỤ LỤC ImageProcessTop `timescale 1ns / 1ps module imageProcessTop( input axi_clk, input axi_reset_n, //slave interface input i_data_valid, input [7:0] i_data, output o_data_ready, //master interface output o_data_valid, output [7:0] o_data, input i_data_ready, //interrupt output o_intr ); wire [71:0] pixel_data; wire pixel_data_valid; wire axis_prog_full; wire [7:0] convolved_data; wire convolved_data_valid; assign o_data_ready = !axis_prog_full; imageControl IC( i_clk(axi_clk), i_rst(!axi_reset_n), SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 49 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp i_pixel_data(i_data), i_pixel_data_valid(i_data_valid), o_pixel_data(pixel_data), o_pixel_data_valid(pixel_data_valid), o_intr(o_intr) ); conv conv( i_clk(axi_clk), i_pixel_data(pixel_data), i_pixel_data_valid(pixel_data_valid), o_convolved_data(convolved_data), o_convolved_data_valid(convolved_data_valid) ); outputBuffer OB ( wr_rst_busy(), // output wire wr_rst_busy rd_rst_busy(), // output wire rd_rst_busy s_aclk(axi_clk), // input wire s_aclk s_aresetn(axi_reset_n), // input wire s_aresetn s_axis_tvalid(convolved_data_valid), s_axis_tready(), // input wire s_axis_tvalid // output wire s_axis_tready s_axis_tdata(convolved_data), m_axis_tvalid(o_data_valid), // input wire [7 : 0] s_axis_tdata // output wire m_axis_tvalid m_axis_tready(i_data_ready), // input wire m_axis_tready m_axis_tdata(o_data), // output wire [7 : 0] m_axis_tdata axis_prog_full(axis_prog_full) // output wire axis_prog_full ); Endmodule …………………………………………………………………………………… SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 50 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Conv `timescale 1ns / 1ps module conv( input i_clk, input [71:0] i_pixel_data, input i_pixel_data_valid, output reg [7:0] o_convolved_data, output reg o_convolved_data_valid ); integer i; reg [7:0] kernel1 [8:0]; reg [7:0] kernel2 [8:0]; reg [10:0] multData1[8:0]; reg [10:0] multData2[8:0]; reg [10:0] sumDataInt1; reg [10:0] sumDataInt2; reg [10:0] sumData1; reg [10:0] sumData2; reg multDataValid; reg sumDataValid; reg convolved_data_valid; reg [20:0] convolved_data_int1; reg [20:0] convolved_data_int2; wire [21:0] convolved_data_int; reg convolved_data_int_valid; initial begin kernel1[0] = 1; kernel1[1] = 0; SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 51 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp kernel1[2] = -1; kernel1[3] = 2; kernel1[4] = 0; kernel1[5] = -2; kernel1[6] = 1; kernel1[7] = 0; kernel1[8] = -1; kernel2[0] = 1; kernel2[1] = 2; kernel2[2] = 1; kernel2[3] = 0; kernel2[4] = 0; kernel2[5] = 0; kernel2[6] = -1; kernel2[7] = -2; kernel2[8] = -1; end always @(posedge i_clk) begin for(i=0;i

Ngày đăng: 24/12/2021, 18:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w