Transcript KẾT QUẢ

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SPKT TP.HCM

Báo cáo chuyên đề 2:

THỰC HIỆN LỌC NHIỄU ĐỐM CHO ẢNH SIÊU ÂM Y TẾ DÙNG FPGA

GVHD: TS. Lê Chí Thông HVTH: Ph ạ m Th ị Trinh

1

Tê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à SRAM).

2

MỤC LỤC

Tổng quan về lý thuyết Kết quả Kết luận và hướng phát triển đề tài

3

TỔNG QUAN VỀ LÝ THUYẾT

4

CÁC LOẠI NHIỄU VÀ NHIỄU TRONG ẢNH SIÊU ÂM

Nhiễu cộng : X n = X g + ŋ Nhiễu nhân : X n = X g

.

ŋ 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

5

CÁC PHƯƠNG PHÁP LỌC NHIỄU TRONG ẢNH SIÊU ÂM

Có 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 6

THUẬT TOÁN BỘ LỌC MEDIAN

(L B 1 : Lấy các phần tử trong cửa sổ ra mảng một chiều phần tử).

gọi m 1 B 2 : Tìm Min của lần lượt các chuỗi con rồi lấy Max: là giá trị này.

gọi m 2 B 3 : Tìm Max của lần lượt các chuỗi con rồi lấy Min: là giá trị tìm được.

m 1 B 4 : và m  2 .

Gán giá trị điểm đang xét là trung bình cộng của Giá trị lọc gọi là trung vị - được tính theo trung bình cộng: Max của Min và Min của Max.

7

THUẬT TOÁN BỘ LỌC MODIFY HYBRID MEDIAN

B 1 : Tìm median MR của các pixels R và pixel trung tâm C B 2 : Tìm maximum MXD của các pixels D và pixel trung tâm C B 3 : Pixel cuối cùng sau xử lý là : M = median { MR, MXD, C} 8

KẾT QUẢ SO SÁNH HAI BỘ LỌC Bộ lọc Median Modify hybrid median SRN RSRN RMSE EPF SSI QI

17.2011

29.4170

12.1956

0.2728

0.8185

0.9249

25.8382

37.7046

6.1556

0.9279

1.0000

0.9983

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ế.

9

MATLAB 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.

10

BINARY IMAGE (ẢNH NHỊ PHÂN)

11

INDEXED IMAGE

Gồm một mảng và một ma trận màu 12

GRAYSCALE 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 13

TRUECOLOR IMAGE

+

Truecolor Image: Là ma trận ảnh dạng m x n x3 (R,G,B).

Giá trị của pixel trong mỗi ma trận được mặc định 8 bits ảnh RGB sẽ có độ phân giải 24 bits.

14

CÔNG NGHỆ FPGA

FPGA được cấu tạo từ 3 thành phần: Khối logic Mạng kết nối trong có thể lập trình Khối I/O.

15

CÔ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 bán dẫn.

16

TÌ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.

17

SƠ ĐỒ KIT DE 2

Các tính năng được cung cấp sẵn trên kit DE2: 18

GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH

(Dữ liệu lưu ở ROM)

19

Giải Thuật khối VGA_DRV (Dạng sóng)

20

DẠNG SÓNG TÍN HIỆU QUÉT NGANG

H_FRONT H_SYNC H_BACK H_ACT H_BLANK H_TOTAL = = = 16; 96; 48; = 640; = H_FRONT+H_SYNC+H_BACK; = H_FRONT+H_SYNC+H_BACK+H_ACT; 21

Giải Thuật khối VGA_DRV (Giải Thuật)

22

CÔ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; 100) (292; 100)

Khung ảnh (cửa sổ) hiển thị

(100; 292) (292; 292)

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 Đọc ROM Đưa địa chỉ Đọc dữ liệu

Lưu đồ giải thuật đọc ROM

GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH

(Dữ liệu lưu ở SRAM)

25

1.

2.

3.

Thực hiện mạch lọc trên FPGA

Giải thuật mạch lọc Sơ đồ thiết kế phần cứng Kết quả thực hiện 26

Giải thuật mạch lọc

27

Sơ đồ thiết kế phần cứng 1/2

28

Sơ đồ thiết kế phần cứng 2/2

29

PixelCount

Giải thuật khối PixelCount

30

Giải thuật khối Load Data

• 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 31

Giải thuật khối Filter

• 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 32

Data_Collector

• 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 33

Khối Display Select

• Đây chỉ là một tín hiệu.

• Sau khi xử lý xong pixel cuối cùng Display Select sẽ được set lên 1 • Khi Display Select = 1, Khối VGA_Ctr và Dispay_Ctr sẽ chiếm bus data để giao tiếp với RAM và SRAM, hiển thị hình ảnh lên VGA 34

Khối VGA_Ctr

• 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 35

Khối Display_Ctr

• 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 36

KẾT QUẢ

37

KẾ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ư ảnh gốc. Với bộ lọc Modify hybrid median cho kết quả không mịn nhưng độ sác nét gần giống với ảnh gốc.

38

KẾ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.

39

SO SÁNH KẾT QUẢ KHI LỌC NHIỄU MUỐI TIÊU VÀ NHIỄU ĐỐM

Từ kết quả thu được ta thấy với nhiễu đốm chúng ta nên dùng bộ lọc Modify hybrid median sẽ hiệu quả hơn.

40

GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH

(Dữ liệu lưu ở ROM)

41

GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH

(Dữ liệu lưu ở SRAM)

42

43

44

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

45

KẾ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.

Nhiễu đốm thì dùng bộ lọc modify hybrid median hiệu quả hơn.

46

KẾ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) 47

HƯỚ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.

48

Cả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.

49