báo cáo chuyên đề 2:
DESCRIPTION
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. Tên đề tài: thực hiện lọc nhiễu đốm cho ảnh siêu âm y tế dùng FPGA. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/1.jpg)
1
Bá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ôngHVTH: Ph m Th Trinhạ ị
THỰC HIỆN LỌC NHIỄU ĐỐM CHO ẢNH SIÊU ÂM Y TẾ
DÙNG FPGA
![Page 2: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/2.jpg)
2
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).
![Page 3: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/3.jpg)
3
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
![Page 4: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/4.jpg)
4
TỔNG QUAN VỀ LÝ THUYẾT
![Page 5: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/5.jpg)
5
CÁ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
![Page 6: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/6.jpg)
6
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
CÁC PHƯƠNG PHÁP LỌC NHIỄU TRONG ẢNH
SIÊU ÂM
![Page 7: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/7.jpg)
7
B1: 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 m1 và m2.
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.
THUẬT TOÁN BỘ LỌC MEDIAN
![Page 8: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/8.jpg)
8
THUẬ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,
MXD, C}
![Page 9: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/9.jpg)
9
KẾ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.2011 29.4170 12.1956 0.2728 0.8185 0.9249
Modify hybrid median 25.8382 37.7046 6.1556 0.9279 1.0000 0.9983
![Page 10: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/10.jpg)
10
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.
![Page 11: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/11.jpg)
11
BINARY IMAGE (ẢNH NHỊ PHÂN)
![Page 12: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/12.jpg)
12
INDEXED IMAGE
Gồm một mảng và một ma trận màu
![Page 13: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/13.jpg)
13
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
![Page 14: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/14.jpg)
14
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.
![Page 15: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/15.jpg)
15
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.
![Page 16: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/16.jpg)
16
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.
![Page 17: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/17.jpg)
17
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.
![Page 18: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/18.jpg)
18
SƠ ĐỒ KIT DE 2
Các tính năng được cung cấp sẵn trên kit DE2:
![Page 19: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/19.jpg)
19
GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở ROM)
![Page 20: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/20.jpg)
20
Giải Thuật khối VGA_DRV
(Dạng sóng)
![Page 21: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/21.jpg)
21
DẠNG SÓNG TÍN HIỆU QUÉT NGANG
H_FRONT = 16;H_SYNC = 96;H_BACK = 48;H_ACT = 640;H_BLANK = H_FRONT+H_SYNC+H_BACK;H_TOTAL = H_FRONT+H_SYNC+H_BACK+H_ACT;
![Page 22: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/22.jpg)
22
Giải Thuật khối VGA_DRV
(Giải Thuật)
![Page 23: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/23.jpg)
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; 292) (292; 292)
(292; 100)(100; 100) Khung ảnh (cửa sổ) hiển thị
![Page 24: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/24.jpg)
Đọc ROM
Đưa địa chỉ
Đọc dữ liệu
GIAO TIẾP VỚI ROM: LƯU ĐỒ GIẢI THUẬT ĐỌC 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
![Page 25: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/25.jpg)
25
GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở SRAM)
![Page 26: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/26.jpg)
Thực hiện mạch lọctrên FPGA
1. 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
26
![Page 27: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/27.jpg)
Giải thuật mạch lọc
27
![Page 28: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/28.jpg)
Sơ đồ thiết kế phần cứng 1/2
28
![Page 29: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/29.jpg)
Sơ đồ thiết kế phần cứng 2/2
29
![Page 30: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/30.jpg)
Giải thuật khối PixelCount
30
PixelCount
![Page 31: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/31.jpg)
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
![Page 32: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/32.jpg)
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
![Page 33: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/33.jpg)
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
![Page 34: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/34.jpg)
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
![Page 35: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/35.jpg)
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
![Page 36: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/36.jpg)
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
![Page 37: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/37.jpg)
37
KẾT QUẢ
![Page 38: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/38.jpg)
38
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.
![Page 39: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/39.jpg)
39
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.
![Page 40: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/40.jpg)
40
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.
SO SÁNH KẾT QUẢ KHI LỌC NHIỄU MUỐI TIÊU VÀ NHIỄU ĐỐM
![Page 41: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/41.jpg)
41
GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở ROM)
![Page 42: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/42.jpg)
42
GIAO TIẾP VGA CHIP VÀ HIỂN THỊ ẢNH TRÊN MÀN HÌNH
(Dữ liệu lưu ở SRAM)
![Page 43: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/43.jpg)
43
![Page 44: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/44.jpg)
44
![Page 45: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/45.jpg)
45
KẾT LUẬN VÀ
HƯỚNG PHÁT TRIỂN
![Page 46: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/46.jpg)
46
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.
![Page 47: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/47.jpg)
47
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)
![Page 48: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/48.jpg)
48
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.
![Page 49: Báo cáo chuyên đề 2:](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814e56550346895dbbeddf/html5/thumbnails/49.jpg)
49
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.