« Home « Kết quả tìm kiếm

Nghiên cứu về xử lý ảnh trên nền FPGA


Tóm tắt Xem thử

- LÊ THế THANH Nghiên cứu về xử lý ảnh trên nền FPGA Chuyên ngành: điện tử viễn thông luận văn thạc sĩ KHOA Học Ng−ời h−ớng dẫn khoa học : TS.
- Phạm Ngọc Nam Hà Nội - 2010 ILỜI GIỚI THIỆU Trong những năm gần đõy, nhu cầu về xử lý ảnh số đang phỏt triển mạnh mẽ.
- Cỏc hệ thống xử lý ảnh số đươc triển khai rộng khắp là cụng cụ đắc lực khụng chỉ cho cỏc cơ quan đoàn thể mà cho cả cỏc cỏ nhõn trong nhiều lĩnh vực khỏc nhau.
- Hiện nay, với sự phỏt triển của cụng nghệ mỏy tớnh số, cỏc cụng nghệ xử lý ảnh số là rất dễ dàng và trực tiếp bằng nhiều phần mềm chuyờn dụng trờn mỏy tớnh.
- Tuy nhiờn, việc xử lý ảnh số trờn mỏy tớnh gặp rất nhiều vấn đề về mặt giỏ thành, về kớch thước khối lượng.
- Mục đớch của luận văn là nghiờn cứu ứng dụng cụng nghệ mạch tớch hợp logic khả trỡnh FPGA để thực hiện xử lý cỏc ảnh số trực tiếp ngay trờn phần cứng với nhiều ưu điểm vượt trội mà vẫn cho kết quả giống như việc xử lý bằng cỏc phần mềm chuyờn dụng.
- Một số khỏi niệm cơ bản trong xử lý ảnh số .
- Tổng quan về một hệ thống xử lý ảnh số .
- Tiền xử lý ảnh .
- Cỏc thành phần của hệ thống xử lý ảnh .
- Cỏc thuật toỏn xử lý ảnh số .
- Xử lý đồng cấu ảnh nhị phõn .
- Một số giải phỏp phần cứng cho hệ thống xử lý ảnh số .
- Xử lý đồng cấu nhị phõn .
- 9 Hỡnh 1.3: Cỏc giai đoạn chớnh trong xử lý ảnh.
- 10 Hỡnh 1.4: Cỏc thành phần chớnh của hệ thống xử lý ảnh Hỡnh 1.5: Vớ dụ tớch chập.
- 53 Hỡnh 3.2: Cấu trỳc thuật toỏn bộ lọc hạng trong VHDL Hỡnh 3.3: Ảnh được xử lý bởi bộ lọc hạng cú hạng là 4 bằng VHDL và MATLAB.
- 56 Hỡnh 3.4: So sỏnh kết quả xử lý ảnh bằng VHDL và MATLAB.
- 57 Hỡnh 3.5: Ảnh được xử lý bởi thuật toỏn làm mảnh bằng VHDL và MATLAB.
- 58 Lờ Thế Thanh - Điện Tử Viễn Thụng Hỡnh 3.6: So sỏnh kết quả xử lý ảnh bằng VHDL và MATLAB.
- 58 Hỡnh 3.7: Ảnh được xử lý bởi thuật toỏn làm đầy bằng VHDL và MATLAB.
- 59 Hỡnh 3.8: So sỏnh kết quả xử lý ảnh bằng VHDL và MATLAB.
- 62 Hỡnh 3.11: Ảnh được xử lý bởi tớch chập bằng VHDL và MATLAB.
- 63 Hỡnh 3.12: So sỏnh kết quả xử lý ảnh bằng VHDL và MATLAB Lờ Thế Thanh - Điện Tử Viễn Thụng PHẦN MỞ ĐẦU Xử lý ảnh số là một lĩnh vực đó và đang rất phỏt triển, cú liờn quan tới nhiều ngành học và hướng nghiờn cứu khỏc nhau.
- Từ những năm 1970 khi mà năng lực tớnh toỏn của mỏy tớnh ngày càng trở nờn mạnh mẽ hơn, cỏc mỏy tớnh lỳc này cú thể xử lý được những tập dữ liệu lớn như cỏc hỡnh ảnh, cỏc đoạn phim thỡ khỏi niệm và kỹ thuật về xử lý ảnh số ngày càng được nhắc đến và nghiờn cứu nhiều hơn cho tới ngày nay.
- Ngày nay, ứng dụng của xử lý ảnh số đó trở nờn rất rộng lớn và đa dạng, len lỏi vào mọi lĩnh vực từ quõn sự, khoa học, vũ trụ, cho đến y học, sản xuất, và tự động húa tũa nhà.
- Xử lý ảnh số cũng cú liờn quan đến nhiều ngành khỏc như: hệ thống tin học, lý thuyết thụng tin, lý thuyết thống kờ, trớ tuệ nhõn tạo, nhận dạng, v.v..
- Trờn cơ sở đú, tỏc giả đó lựa chọn luận văn tốt nghiệp của mỡnh là “Xử lý ảnh trờn nền FPGA” với mục đớch là nghiờn cứu cỏc vấn đề trong lĩnh vực xử lý ảnh số.
- Đồng thời, từ những kiến thức thu nhận được đú, tiến hành thực hiện một số thuật toỏn xử lý ảnh số trờn nền FPGA (hardware), sau đú so sỏnh, đỏnh giỏ với cỏc ảnh được xử lý bằng MATLAB (software).
- Trong phần 1 của luận văn đề cập đến những cỏc khỏi niệm của hệ thống xử lý ảnh số, những ứng dụng và cỏc thành phần của nú.
- Đồng thời tỏc giả cũng trỡnh bày cơ sở kiến thức của xử lý ảnh số.
- Lờ Thế Thanh - Điện Tử Viễn Thụng Phần 3 đi sõu vào thực hiện một số thuật toỏn xử lý ảnh cơ bản bằng ngụn ngữ lập trỡnh VHDL cho FPGA, so sỏnh với kết quả xử lý trờn mỏy tớnh bằng MATLAB.
- Một số khỏi niệm cơ bản trong xử lý ảnh số 1.1.1.
- Để cú thể xử lý ảnh bằng mỏy tớnh cần thiết phải tiến hành số hoỏ ảnh.
- Tổng quan về một hệ thống xử lý ảnh số Để cú thể hỡnh dung cấu hỡnh một hệ thống xử lý ảnh chuyờn dụng hay một hệ thống xử lý ảnh dựng trong nghiờn cứu, đào tạo, trước hết chỳng ta sẽ xem xột cỏc bước cần thiết trong xử lý ảnh.
- Trước hết là tiền xử lý ành - tăng cường ảnh để nõng cao chất lượng ảnh.
- Do những nguyờn nhõn khỏc nhau: cú thể do chất lượng thiết bị thu nhận Camera Thu nhận ảnh Sensor Số hoỏ Nhận dạng Phõn tớch ảnh Lưu trữHệ Q.định Lưu trữ Hỡnh 1.3: Cỏc giai đoạn chớnh trong xử lý ảnh Thu thập ảnh Phõn vựngảnh Tiền xử lý ảnh Phõn tớch ảnh Lờ Thế Thanh - Điện Tử Viễn Thụng ảnh, do nguồn sỏng hay do nhiễu, ảnh cú thể bị suy biến.
- Sau đõy, chỳng ta lần lượt tiến hành nghiờn cứu cụ thể từng quỏ trỡnh của hệ thống xử lý ảnh số.
- Thu thập ảnh Trong hệ thống xử lý ảnh số, camera là một thiết bị rất quan trọng cú chức năng quan sỏt và thu nhận ảnh đầu vào của hệ thống.
- Cỏc bước xử lý này bao gồm sự phỏt sỏng, thấu kớnh, sensor, cỏc phần tử quang điện và bộ số hoỏ, mỗi thành phần này phối hợp nhằm đưa ra ảnh số cuối cựng.
- Tiền xử lý ảnh: Sau khi ảnh số được thu thập dưới dạng tớn hiệu số, cần phải trải qua giai đoạn tiền xử lý.
- Chức năng chủ yếu của tiền xử lý là cải thiện ảnh, nõng cao cỏc tớnh chất của ảnh giỳp cho cỏc quỏ trỡnh xử lý về sau được thuận tiện hơn.
- Cỏc cụng đoạn cơ bản của tiền xử lý là: nõng cao độ tương phản, lọc nhiễu.
- Lờ Thế Thanh - Điện Tử Viễn Thụng .
- Phõn vựng ảnh: Bước tiếp theo của quỏ trỡnh xử lý là phõn vựng ảnh.
- Kết quả của quỏ trỡnh phõn vựng ảnh, ta sẽ được một tập hợp cỏc điểm ảnh cú liờn kết với nhau thành cỏc đối tượng, được đỏnh số phõn biệt, thuận tiện cho cỏc quỏ trỡnh xử lý cao hơn.
- Số liệu này cần được biến đổi thành dạng thớch hợp cho mỏy tớnh xử lý.
- Phõn tớch ảnh: Đõy là giai đoạn xử lý bậc cao trong hệ thống xử lý ảnh số.
- Cỏc thành phần của hệ thống xử lý ảnh: Với cỏc giai đoạn trờn, một hệ thống xử lý ảnh (cấu trỳc phần cứng theo chức năng) gồm cỏc thành phần tối thiểu như hỡnh 1.2.
- Hỡnh 1.4: Cỏc thành phần chớnh của hệ thống xử lý ảnh Màn hỡnh đồ họa Camera Bộ xử lý tương tự Bộ nhớ ảnh Mỏy chủ Bộ nhớ ngoài Bộ xử lý ảnh số Màn hỡnh Bàn phớm Mỏy in Lờ Thế Thanh - Điện Tử Viễn Thụng Đối với một hệ thống xử lý ảnh thu nhận qua camera thỡ camera như là con mắt của hệ thống.
- Bộ xử lý tương tự (analog processor).
- Tiền xử lý ảnh khi thu nhận.
- Bộ xử lý ảnh số gồm nhiều bộ xử lý chuyờn dụng: xử lý lọc, trớch chọn đường bao, nhị phõn hoỏ ảnh.
- Cỏc thuật toỏn xử lý ảnh số 1.4.1.
- Toỏn tử cửa sổ (windowing operator) Trong việc thực thi cỏc thuật toỏn xử lý ảnh số cơ bản, người ta thường sử dụng một toỏn tử đặc biệt gọi là toỏn tử cửa sổ.
- Toỏn tử cửa sổ là một tập hợp cú hỡnh dạng nhất định, gồm cỏc pixel cú liờn kết với một pixel trung tõm, là pixel đang được xử lý.
- Cỏc phộp toỏn trờn cỏc pixel này sẽ cú ảnh hưởng đến cỏc pixel trung tõm cũng là cỏc pixel đang được xử lý trong một thuật toỏn xử lý ảnh.
- Trong đồ ỏn này, em sử dụng thường xuyờn toỏn tử cửa sổ cú dạng 3x3, vỡ đõy là kớch thước hợp lý để thực hiện hiệu quả tất cả cỏc thuật toỏn xử lý cơ bản và nõng cao, đồng thời lại dễ thực hiện và rỳt ngắn tối đa quỏ trỡnh xử lý.
- Nếu sử dụng cửa sổ 5x5 và 7x7, thời gian xử lý sẽ tăng lờn rất nhiều.
- Để cải thiện ảnh, hỗ trợ cỏc quỏ trỡnh xử lý cao hơn, ta sử dụng cỏc phương phỏp hiệu chỉnh: hiệu chỉnh min-max, hiệu chỉnh histogram, hiệu chỉnh Gamma.
- Sau khi hiệu chỉnh mức xỏm, ta sẽ dón mức xỏm của ảnh ra cỏc giỏ trị cỏch biệt nhau hơn, tạo thuật tiện cho việc xử lý và nhận dạng sau này.
- Nhõn chập (convolution) Nhõn chập khụng phải là một thuật toỏn xử lý ảnh, mà là phộp toỏn thụng dụng trong cỏc thuật toỏn xử lý ảnh sử dụng toỏn tử cửa sổ.
- Mỗi thuật toỏn xử lý khỏc nhau sử dụng một mặt nạ khỏc nhau để tớnh giỏ trị của cỏc điểm ảnh.
- Làm mờ ảnh được sử dụng trong quỏ trỡnh tiền xử lý ảnh, nhằm mục đớch loại bỏ cỏc chi tiết nhỏ ra khỏi ảnh trước khi tiến hành tỏch cỏc thành phần lớn hơn khỏi ảnh, làm mờ cũn được sử dụng để làm liền lại những đứt quóng nhỏ của đường thẳng hoạc đường cong.
- Lờ Thế Thanh - Điện Tử Viễn Thụng Lọc tuyến tớnh (linear filter) cú tỏc dụng cải thiện ảnh, loại bỏ nhiễu hỗ trợ cho cỏc quỏ trỡnh xử lý cao hơn.
- Do đú ảnh sau xử lý trở nờn mượt hơn, giảm độ sắc nột so với ảnh gốc.
- Tuy nhiờn, một hạn chết dễ thấy khi tiến hành làm mượt ảnh là tại cỏc vị trớ biờn (chi tiết được sử dụng nhiều trong xử lý ảnh), nơi cú sự thay đổi nhanh chúng của cỏc mức xỏm, lại bị làm mờ đi, ảnh hưởng đến cỏc bước tiếp theo trong xử lý ảnh.
- Phõn ngưỡng, phõn vựng và nhị phõn húa ảnh số Ảnh sau quỏ trỡnh tiền xử lý, nõng cấp, để tới những quỏ trỡnh xử lý cao hơn cần được nhị phõn húa, phõn vựng thành cỏc đối tượng riờng biệt.
- Xử lý đồng cấu ảnh nhị phõn Ảnh nhị phõn thu được sau khi phõn ngưỡng, phõn vựng ảnh thành cỏc đối tượng, vẫn cú thể chưa hoàn chỉnh để thực hiện cỏc quỏ trỡnh phõn tớch tiếp theo.
- Để giải quyết vấn đề này, ta sử dụng cỏc thuật toỏn xử lý đồng cấu ảnh nhị phõn (morphological algorithms).
- Cú 2 phương phỏp xử lý tiờu biểu: Thuật toỏn làm đầy (dilation) và làm mảnh (erosion).
- Bài toỏn đỏnh nhón đối tượng: Với phương phỏp xử lý đồng cấu ảnh nhị phõn, ta đó được 1 ảnh nhị phõn với cỏc đối tượng được tỏch ra rừ rệt, và loại bỏ được cỏc nhiễu.
- Lờ Thế Thanh - Điện Tử Viễn Thụng Vị trớ (tọa độ) của đối tượng, cũng là tọa độ trọng tõm vật thể, được tớnh theo cụng thức: ∑∑==ì=nimjjiIiAx11),(1 ∑∑==ì=nimjjiIjAy11),(1 1.5.
- Một số giải phỏp phần cứng cho hệ thống xử lý ảnh số.
- Cú thể thấy, cỏc thuật toỏn xử lý ảnh số đều tương đối phức tạp, với khối lượng tớnh toỏn rất lớn (hàng trăm ngàn pixel).
- Do đú, để thỏa món yờu cầu về tốc độ và hiệu suất xử lý, đũi hỏi những nền phần cứng đủ mạnh với khả năng xử lý và tớnh thời gian thực cao.
- Dưới đõy là một số giải phỏp phần cứng thường được sử dụng cho một hệ thống xử lý ảnh số.
- Tận dụng đặc tớnh của FPGA là linh hoạt và tốc độ xử lý nhanh (cứng hoỏ cỏc giải thuật), đặc biệt với khả năng xử lý song song, FPGA rất phự hợp với cỏc bài toỏn xử lý ảnh đũi hỏi một khối lượng tớnh toỏn phức tạp.
- Cỏc bộ xử lý DSP cú những đặc tớnh nổi bật như sau: Lờ Thế Thanh - Điện Tử Viễn Thụng Thớch hợp cho cỏc quỏ trỡnh cần xử lý theo thời gian thực - Hiệu năng được tối ưu với dữ liệu dạng luồng - Chương trỡnh và dữ liệu được bố chớ riờng biệt (kiến trỳc Harvard.
- Khụng hỗ trợ đa nhiệm - Tương tỏc trực tiếp với bộ nhớ của thiết bị - Tớch hợp sẵn ADC và DAC DSP Processor ngày nay đó được tớch hợp nhiều thành phần khỏc nhau, làm tăng khả năng linh hoạt và tốc độ xử lý.
- Đặc biệt cỏc DSP Processor rất thớch hợp cho những nhu cầu cần tớnh toỏn nhanh, xử lý số thực.
- Với những ưu điểm đú DSP Processor được dựng trong nhiều thiết bị xử lý ảnh chuyờn nghiệp.
- Cú thể tận dụng cỏc mainboard mỏy tớnh hay thậm chớ cỏc mỏy tớnh xỏch tay với chức năng là một đơn vị xử lý ảnh, và đưa ra quyết định.
- Với việc kết nối một camera hay webcam ta hoàn toàn chủ động trong quỏ trỡnh nhận/xử lý ảnh.
- Ưu điểm - Cú tốc độ xử lý cao - Dễ dàng lập trỡnh, kiểm lỗi - Hệ điều hành quen thuộc (windows/linux.
- Nhược điểm - Kớch thước, khối lượng lớn - Dễ hư hỏng do va đập hay cỏc tỏc nhõn khỏc - Giỏ thành rất đắt - Cú quỏ nhiều thành phần khụng sử dụng đến - Chỉ cú thể giao tiếp với ngoại vi thụng qua cỏc chuẩn phổ biến như UART, USB Ngoài cỏc giải phỏp trờn, cũn nhiều những giải phỏp phần cứng khỏc cho một hệ thống xử lý ảnh số như: Main cụng nghiệp, Single Board Computer (SBC) sử dụng Single on Chip (SoC.
- Một ưu điểm khỏc của FPGA, là người thiết kế cú thể tớch hợp vào đú cỏc bộ xử lý mềm (soft processor) hay vi xử lý tớch hợp (embedded processor).
- Cỏc vi xử lý này cú thể được thiết kế như cỏc khối logic thụng thường, mà mó nguồn do cỏc hóng cung cấp, thực thi cỏc lệnh theo chương trỡnh được nạp riờng biệt, và cú cỏc ngoại vi được thiết kế linh động (khối giao tiếp UART, vào/ra đa chức năng GPIO, ethernet.
- Cỏc vi xử lý này cũng cú thể được lập trỡnh lại (re-configurable computing) ngay trong khi đang chạy.
- Lờ Thế Thanh - Điện Tử Viễn Thụng Ứng dụng.
- FPGA được ứng dụng điển hỡnh trong cỏc lĩnh vực như: xử lý tớn hiệu số, xử lý ảnh, thị giỏc mỏy, nhận dạng giọng núi, mó húa, mụ phỏng (emulation.
- FPGA đặc biệt mạnh trong cỏc lĩnh vực hoặc ứng dụng mà kiến trỳc của nú yờu cầu một lượng rất lớn xử lý song song, đặc biết là mó húa và giải mó.
- FPGA cũng được sử dụng trong những ứng dụng cần thực thi cỏc thuật toỏn như FFT, nhõn chập (convolution), thay thế cho vi xử lý.
- EDK 9.2 Là cụng cụ để xõy dựng hệ thống cú cỏc vi xử lý nhỳng trong FPGA như MicroBlaze (cho tất cả cỏc họ FPGA) và Power PC (chỉ cho họ Virtex).
- EDK 9.2 khụng chỉ giỳp tạo ra cỏc vi xử lý nhỳng mà cũn hỗ trợ thiết kế cỏc ngoại vi, giao diện cho chỳng, với một thư viện ngoại vi đồ sộ, cho phộp vi xử lý thực thi bất cứ một nhiệm vụ nào mà cỏc vi xử lý thụng thường cú thể thực hiện được: như giao tiếp UART, Ethernet, cỏc bộ nhớ RAM, ROM, cỏc I/O,....Cỏc thiết kế vi xử lý nhỳng cũng được tối ưu húa.
- Trong đồ ỏn này, em đó sử dụng Sysgen để xõy dựng toàn bộ phần thuật toỏn xử lý ảnh số cho thiết kế của mỡnh.
- Lờ Thế Thanh - Điện Tử Viễn Thụng PHẦN III THỰC HIỆN XỬ Lí ẢNH SỐ Trờn cơ sở những điều nghiờn cứu ở trờn, trong phần này chỳng ta bắt đầu đi vào nghiờn cứu chi tiết một số thuật toỏn thực hiện xử lý ảnh cơ bản trờn ngụn ngữ VHDL dựng cho FPGA đó được đề cập đến ở phần I đú là bộ lọc hạng, xử lý đồng cấu nhị phõn và tớch chập.
- Lờ Thế Thanh - Điện Tử Viễn Thụng signal a31 : std_logic_vector(vwidth-1 downto 0).
- Lờ Thế Thanh - Điện Tử Viễn Thụng signal ousedwa_temp: integer:=0.
- Lờ Thế Thanh - Điện Tử Viễn Thụng clear

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt