Thực hiện lọc nhiễu đốm cho ảnh siêu âm y tế dùng fpga
Trang 1Báo cáo chuyên đề 2:
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SPKT TP.HCM
GVHD: TS Lê Chí Thông
THỰC HIỆN LỌC NHIỄU ĐỐM CHO
ẢNH SIÊU ÂM Y TẾ
DÙNG FPGA
Trang 2Tên đề tài: thực hiện lọc nhiễu đốm cho ảnh siêu âm
y tế dùng FPGA
Yêu cầu đề tài: loại bỏ nhiễu đốm trong ảnh siêu âm
nhằm giúp cho chẩn đoán của bác sĩ được chính xác hơn
Giới hạn: lọc nhiễu dùng matlab, giao tiếp VGA và
hiển thị kết quả lên màn hình(dữ liệu chứa trong ROM, và
Trang 3MỤC LỤCTổng quan về lý thuyết
Kết quả
Kết luận và hướng phát triển đề tài
Trang 4TỔNG QUAN VỀ LÝ THUYẾT
Trang 5CÁC LOẠI NHIỄU VÀ NHIỄU TRONG ẢNH SIÊU ÂM
Nhiễu cộng : X n = Xg + ŋNhiễu nhân : Xn = Xg ŋ
Nhiễu xung : chỉ phân bố ở một vài điểm ảnh
Trong đó : ảnh siêu âm y tế gặp hạn chế về kết quả khi bị nhiễu đốm
Trang 6Có nhiều phương pháp lọc Song đối với nhiễu đốm chúng ta có thể dùng một trong hai bộ lọc mang
lại hiệu quả nhất đó là:
- Median
- Modify Hybrid Median
CÁC PHƯƠNG PHÁP LỌC NHIỄU TRONG ẢNH
SIÊU ÂM
Trang 7B1: Lấy các phần tử trong cửa sổ ra mảng một chiều (L phần tử).
B2: Tìm Min của lần lượt các chuỗi con rồi lấy Max: gọi m1 là giá trị này
B3: Tìm Max của lần lượt các chuỗi con rồi lấy Min: gọi m2 là giá trị tìm được
B4: Gán giá trị điểm đang xét là trung bình cộng của
Trang 8THUẬT TOÁN BỘ LỌC MODIFY HYBRID MEDIAN
B1: Tìm median MR của các pixels R và pixel trung tâm C
B2: Tìm maximum MXD của các pixels D và pixel
trung tâm C
B3: Pixel cuối cùng sau xử lý là : M = median { MR,
Trang 9KẾT QUẢ SO SÁNH HAI BỘ LỌC
Chúng ta so sánh hai bộ lọc với các tiêu chuẩn trên, nhằm chọn ra bộ lọc hiệu quả cho lọc nhiễu đốm trong ảnh siêu âm y tế
Bộ lọc SRN RSRN RMSE EPF SSI QI
Median 17.201
1
29.417 0
Trang 10MATLAB VÀ KHÁI NIỆM ẢNH TRONG MAT LAB
- Kiểu dữ liệu: Kiểu Single, kiểu Double (phổ biến nhất), kiểu int8, uint8, int16, …
- Ứng dụng: Matlab được ứng dụng : xử lý tín hiệu số, xử lý ảnh, …
- Các dạng ảnh: Binary Image, Indexed Image, Grayscale
Image, Truecolor Image
Trang 11BINARY IMAGE (ẢNH NHỊ PHÂN)
Trang 12INDEXED IMAGE
Gồm một mảng và một ma trận màu
Trang 13GRAYSCALE IMAGE
Grayscale Image: Là một ma trận số, mà giá trị của nó đại
diện cho độ sáng của các pixel ảnh, dữ liệu được lưu ở double, uint8, or uint16
Trang 16CÔNG NGHỆ FPGA
Thiết kế mạch ở mức cổng logic hoặc mức thanh ghi, FPGA là thiết bị có khả năng tái cấu hình được ứng dụng rộng rãi cho việc thiết kế các IC chuyên dụng
Công nghệ FPGA cho phép thiết kế IC mà không cần dây chuyền công nghệ chế tạo IC từ những tấm
Trang 17TÌM HIỂU VỀ KIT DE2:
- Kit DE2 có nhiều tính năng
- Khi tổng hợp chương trình – Chương trình Quartus II sẽ tự động gán chân
- Trong đề tài ta sử dụng: cổng USB Blaster để nạp code cho kit DE2, cổng VGA để truyền ảnh lên màn hình
Trang 18SƠ ĐỒ KIT DE 2
Các tính năng được cung cấp sẵn trên kit DE2:
Trang 19GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở ROM)
Trang 20Giải Thuật khối VGA_DRV
(Dạng sóng)
Trang 21DẠNG SÓNG TÍN HIỆU QUÉT NGANG
Trang 22Giải Thuật khối VGA_DRV
(Giải Thuật)
Trang 23CÔNG THỨC TÍNH ĐỊA CHỈ VGA_ADDR
VGA_ADDR = (b – ( V_count – y))*a + (H_count – x)
Ví Dụ: VGA_addr = (192 - (v_count - 100))*192 + (h_count- 100)
(100; 292) (292; 292)
(292; 100) (100; 100) Khung ảnh (cửa
sổ) hiển thị
Trang 24Đọc ROM Đưa địa chỉ Đọc dữ liệu
GIAO TIẾP VỚI ROM: LƯU ĐỒ GIẢI THUẬT ĐỌC
ROM
ROM được chứa sẵn trong FPGA và được tạo thành từ MegaWizard Plug In Manager
Trang 25GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở SRAM)
Trang 261. Giải thuật mạch lọc
2. Sơ đồ thiết kế phần cứng
3. Kết quả thực hiện
Trang 30PixelCount
Trang 31 Tính địa chỉ của các điểm ảnh cần xử lý và 8 điểm
ảnh xung quanh.(1)
Đưa địa chỉ cho Khối “RAM”
Nhận dữ liệu từ khối RAM store vào tập thanh ghi
dịch
Sau khi đã store đủ các giá trị sẽ thông báo tín hiệu
“Loaded” đến khối “Filter”
Sau khi khối “Filter” xử lý xong sẽ báo về “Done”
Khi nhận được “Done” LoadBuffer sẽ báo “Feedback”
về cho PixelCount
Trang 32 Tính toán giá trị điểm ảnh mới sau xử lý bằng cách nhân data với bộ thông số
của mạch lọc.
Ghi dữ liệu vào SRAM vào địa chỉ cần
ghi
Trang 33 Vì dữ liệu sau Filter là 8bit
SRAM dữ liệu 16 bit
Khối Data_Collector được dùng để kết hợp 2 dữ liệu Filter (8bit) liên tiếp thành
dữ liệu 16 bit
Khi có được dữ liệu 16 bit sẽ ghi vào
SRAM
Trang 34 Đây chỉ là một tín hiệu.
Select sẽ được set lên 1
Dispay_Ctr sẽ chiếm bus data để giao tiếp với RAM và SRAM, hiển thị hình ảnh lên VGA
Trang 35 Tạo các tín hiệu để đồng bộ data với
VGA Chip, thông qua h_count, v_count
VGA_Ctr sẽ cung cấp h_count, v_count
và nhận được giá trị RGB của điểm ảnh tương ứng
Trang 36 Nhận giá trị h_count, v_count từ
VGA_Ctr
Tính toán để chọn lấy dữ liệu từ RAM
hay SRAM
Tính toán giá trị địa chỉ
Đưa dữ liệu RGB cho VGA_Ctr
Trang 37KẾT QUẢ
Trang 38KẾT QUẢ KHI LỌC NHIỄU ĐỐM DÙNG MATLAB
Dùng bộ lọc Median cho kết quả ảnh mịn, nhiễu đốm gần như biến mất, nhưng độ nét của ảnh không còn như
Trang 39KẾT QUẢ KHI LỌC NHIỄU MUỐI TIÊU DÙNG MATLAB
Dùng bộ lọc Median cho kết quả ảnh mịn, nhiễu gần như biến mất Với bộ lọc Modify hybrid median cho kết quả nhiễu vẫn còn rất nhiều
Trang 40Từ kết quả thu được ta thấy với nhiễu đốm chúng ta
SO SÁNH KẾT QUẢ KHI LỌC NHIỄU MUỐI TIÊU VÀ
NHIỄU ĐỐM
Trang 41GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở ROM)
Trang 42GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở SRAM)
Trang 45KẾT LUẬN VÀ
HƯỚNG PHÁT TRIỂN
Trang 46KẾT LUẬN
- Các loại nhiễu thường gặp: nhiễu cộng, nhiễu nhân và nhiễu xung Đặc biệt trong ảnh siêu âm thường xuất hiện nhiễu đốm ( một dạng của nhiễu cộng, và nhiễu xuất hiện trên khắp mặt ảnh)
- Để lọc được nhiễu đốm ta thường dùng hai bộ lọc median và modify hybrid median
- Dùng Matlab mô phỏng so sánh hai loại nhiễu với
bộ lọc trên để chọn được bộ lọc tối ưu cho lọc nhiễu đốm
Trang 47KẾT LUẬN
Ngoài ra để lọc nhiễu đốm cho ảnh siêu âm y tế dùng FPGA trong chuyên đề này đã tiến hành nghiên cứu
về công nghệ FPGA, tính năng của kit DE2
Thực hiện giao tiếp với VGA chip và hiển thị ảnh lên mà hình (dữ liệu được chứa trong ROM)
Thực hiện giao tiếp với VGA chip và hiển thị ảnh lên mà hình (dữ liệu được chứa trong SRAM)
Trang 48HƯỚNG PHÁT TRIỂN
- Thực hiện giao tiếp RAM trên kit DE2
- Thực hiện lọc nhiễu đốm cho ảnh siêu âm y
tế dùng FPGA
Trang 49Cảm ơn sự
lắng nghe của quý Thầy,
Cô và các bạn ! Trân trọng kính chào.