GIAO TIẾP PHẦN MỀM

Một phần của tài liệu Thực hiện sopc dò tìm chuyển động bằng phương pháp xử lý ảnh dựa trên kết cấu (Trang 53)

Sau khi đã tích hợp khối custom logic vào trong ALU của Nios II, người thiết kế có thể truy xuất đến khối này thông qua phần mềm trên IDE. Về mặt lý thuyết, kiến trúc của Nios II cho phép có bao nhiêu custom instruction cũng được nhưng phải phù hợp với tài nguyên của FPGA, mỗi custom instruction tương ứng do người thiết kế định nghĩa để truy xuất đến các khối custom logic. Người thiết

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

kế có thể gọi các lệnh của custom instruction thông qua C/C++ hoặc Asembly trên môi trường IDE.

Khi lập trình bằng C/C++, việc sử dụng các thanh ghi rất rõ ràng, bởi vì trình biên dịch sẽ tự động chọn các thanh ghi. Tuy nhiên, khi sử dụng Assembly, người thiết kế phải ghi rõ thanh ghi nào được sử dụng cho mục đích nào.

Nios Configuration Wizard sẽ tự động tạo ra các lệnh và tên của nó khi người thiết kế thêm vào các custom instruction. Điều này giúp cho việc đọc và chỉnh sửa các đoạn mã trở nên dễ dàng hơn.

Sử dụng custom instruction với C/C++

Khi sử dụng custom instruction với C/C++, người thiết kế truy xuất đến các khối custom logic thông qua việc gọi hàm. Tập tin khai báo (header file) sẽ được SoPC Buider tạo ra chứa các hàm chuẩn để người thiết kế có thể dễ dàng thực hiện. Ví dụ một cú pháp lệnh :

Ví dụ một đoạn C code sử dụng custom instruction :

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

3.4. CÁC BƯỚC THỰC HIỆN

Phần này sẽ mô tả khái quát cách thực hiện một custom instruction sử dụng phần mềm SoPC Builder. Phần này cũng sẽ đề cập quá trình truy xuất đến custom instruction bằng phần mềm. Quá trình thực hiện sẽ được trình bày theo từng bước:

1. Mở hệ thống SoPC Builder.

2. Trong tab System Content, chọn cpu bằng cách click đúp.

3. Trong trang Parameter Settings, chọn tab Custom Instruction như hình 3.2.

4. Click vào Import để thêm custom instruction vào hệ thống.

5. Trong tab HDL Files, chọn Add, đặt đường dẫn đến tập tin chứa custom instruction bằng ngôn ngữ Verilog (hình 3.11).

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Hình 3.11 : Tab HDL Files

6. Thiết lập các chân tín hiệu cũng như các giao tiếp ngoài cho custom instruction trong tab Signals.

7. Kiểm tra lại, thiết lập số xung clock xử lý và hoàn tất.

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Chương 4

KẾT CẤU BỀ MẶT

4.1.KẾT CẤU BỀ MẶT

Có thể nói rằng bất kỳ ai cũng có thể biết thế nào là kết cấu của một bề mặt nhưng hầu như rất khó để có thể định nghĩa nó một cách chính xác. Thực sự không có một định nghĩa thống nhất về kết cấu, cũng chẳng có một mô hình thuật toán cố định nào để phân tích kết cấu. Một cách tổng quát, kết cấu bề mặt chính là những tính chất của một bề mặt mà ta có thể dựa vào thị giác hoặc xúc giác để cảm nhận nó. Kết cấu bề mặt có thể gồm những phần tử rất nhỏ như những hạt cát trong sa mạc hay những phần tử rất lớn như những ngôi sao trong dải Ngân Hà. Thậm chí trên cùng một bề mặt, có thể có rất nhiều kết cấu bề mặt khác nhau khi có sự thay đổi của khoảng cách, cường độ sáng, hướng chiếu sáng, khả năng hấp thụ hay phản xạ của chính bề mặt đó. Thực sự, kết cấu bề mặt làm cho thế giới trở nên tươi đẹp hơn, làm cho mọi sự sống có thể tồn tại được trên trái đất. Hãy tưởng tượng nếu như kết cấu mọi bề mặt đều biến mất, tất cả vật thể trong cuộc sống hàng ngày của chúng ta đều phẳng lì và đồng nhất, điều này dẫn đến vật lý không có sự ma sát, chúng ta không thể đi, xe hơi không thể chạy, cây viết trở nên vô tác dụng, các bộ môn nghệ thuật đều không thể tồn tại, Trái Đất sẽ lệch khỏi quĩ đạo và cuối cùng sự sống sẽ biến mất, thậm chí cả vũ trụ cũng không thể tồn tại. Hình 4.1 thể hiện các kết cấu bề mặt chứa trong một bức ảnh tiêu biểu : nước, bụi cây, cỏ và tán lá.

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Hình 4.1 : Ảnh chứa các loại kết cấu bề mặt khác nhau

Mọi vật trong thế giới này đều có kết cấu bề mặt miễn là nó phải được quan sát ở khoảng cách thích hợp. Kết cấu bề mặt có ở khắp nơi xung quanh chúng ta, từ ngay cả những hình ảnh do chúng ta tạo ra, nó giúp chúng ta phân biệt được những vật xung quanh. Do đó việc nghiên cứu kết cấu bề mặt là hết sức quan trọng và cần thiết, nhất là trong các ứng dụng phân tích ảnh.

4.1.1. Vai trò kết cấu bề mặt

Kết cấu bề mặt có vai trò rất quan trọng trong thị giác máy tính. Ví dụ nếu chúng ta quan tâm đến việc nhận dạng một đối tượng có kết cấu bề mặt, thì những cạnh và góc của vật thể đó sẽ hòa lẫn vào trong kết cấu bề mặt làm cho việc nhận dạng vật thể không còn chính xác nữa. Do đó việc loại bỏ thông tin về kết cấu bề mặt là rất quan trọng để cho các hệ thống thị giác máy tính có thể nhận dạng vật thể một cách chính xác. Hình 4.2 cho thấy kết cấu bề mặt đã làm ảnh hưởng nghiêm trọng đến giải thuật dò tìm cạnh một vật thể trong không gian.

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

nhận dạng vật thể.

Hình 4.2 : (a) Ảnh gốc. (b) Cạnh của vật thể. (c) Giải thuật dò tìm cạnh bị ảnh

hưởng bởi kết cấu bề mặt của vật thể.

Một ví dụ khác, việc nhận dạng bề mặt của một vật thể giúp cho việc xác định chất liệu tạo nên vật thể đó. Do mỗi bề mặt đều có liên quan đến chất liệu tạo nên nó, ví dụ bề mặt của nước, cát và cỏ là hoàn toàn khác nhau. Dựa vào tính chất của mỗi bề mặt mà ta có thể nhận dạng được chất liệu tạo nên bề mặt đó. Tuy nhiên, việc quan sát kết cấu bề mặt của các chất liệu khác nhau phải được thực hiện trong cùng điều kiện môi trường.

Ngoài ra, kết cấu bề mặt còn được ứng dụng vào các lĩnh vực khác như y sinh, điều khiển tự động, phân tích tài liệu, mô hình môi trường v.v. . .

Khó khăn khi giải quyết các bài toán trên đó chính là kết cấu bề mặt có tính không đồng nhất. Kết cấu bề mặt trên cùng một vật thể có thể rất dễ dàng bị thay đổi :

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

nhau (hình 4.3).

- Sự thay đổi hướng nhìn hoặc hướng chiếu sáng trên cùng một bề mặt sẽ cho ra các kết cấu bề mặt khác nhau (hình 4.4).

Hình 4.3 : Bề mặt của cùng một vật thể nhưng ở 2 khoảng cách quan sát khác

nhau cho ra kết cấu bề mặt khác nhau

Hình 4.4 : Bề mặt của cùng một vật thể nhưng có hướng chiếu sáng khác nhau

cho ra kết cấu bề mặt hoàn toàn khác nhau

Có rất nhiều phương pháp khác nhau để mô tả và phân loại kết cấu bề mặt. Đây là một lĩnh vực nghiên cứu rất rộng lớn và còn khá mới mẻ, do đó nó có tiềm

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

kết cấu bề mặt khác nhau. Do đó, nhiệm vụ của các nghiên cứu về kết cấu bề mặt là làm thế nào để mô tả được chúng, sau đó là phân loại và cuối cùng là phân đoạn bức ảnh theo các kết cấu bề mặt này. Có một lĩnh vực nghiên cứu khá rộng lớn về nhận dạng mẫu trong đó việc nghiên cứu nhận dạng các kết cấu bề mặt là chủ yếu.

Trong hầu hết các ứng dụng được thực hiện trên phần cứng (chủ yếu hướng đến ASIC), việc phân tích ảnh phải được thực hiện với càng ít phép tính toán học càng tốt. Điều này giúp tiết kiệm tài nguyên và quan trọng hơn đó là tốc độ tính toán của cả hệ thống. Trong các hệ thống xử lý ảnh, tốc độ có một tầm quan trọng rất lớn để hệ thống có thể thực hiện ở thời gian thực. Vì vậy, số lượng phép tính phải được giữ ở mức nhỏ nhất có thể nhưng vẫn đảm bảo kết quả đạt được.

Để đáp ứng yêu cầu của thế giới thực, phép toán thực hiện phân tích kết cấu bề mặt phải thực sự tiết kiệm tài nguyên và linh động, có khả năng thích nghi với sự thay đổi, nhất là sự thay đổi cường độ sáng, khoảng cách hay góc nhìn. Nói cách khác, phép toán phải bất biến trước các biến đổi của môi trường xung quanh và cả sự méo dạng do hệ thống gây nên. Tuy nhiên, tính bất biến thường tỉ lệ nghịch với độ chính xác. Thật dễ dàng khi thiết kế một phép toán hoàn toàn bất biến với tất cả nhưng nó sẽ là một phép toán vô dụng. Do vậy, ta cần phải cân nhắc trong việc đưa ra phép toán sao cho đáp ứng được các yêu cầu một cách hài hòa.

4.1.2. Mô tả kết cấu bề mặt

Mục đích của việc mô tả kết cấu bề mặt là làm sao tìm được các số đo thể hiện các đặc trưng riêng biệt giữa các kết cấu bề mặt khác nhau mà nó được sử

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

nhận dạng kết cấu bề mặt. Vì kết cấu bề mặt rất dễ bị thay đổi, nên vị trí, tỉ lệ scale, độ quay và cường độ sáng phải bất biến (không thay đổi) và được áp dụng cho toàn bộ quá trình xử lý. Nếu không thỏa yêu cầu này, thì không thể nhận dạng một kết cấu bề mặt một khi nó đã bị thay đổi hình dạng ban đầu bởi một trong các yếu tố trên.

Không giống với các phương pháp rút trích đặc trưng, mô tả kết cấu gần như không liên quan đến các thuật toán dò tìm cạnh vì bản chất của thuật toán này là lấy đi toàn bộ các mức xám và chỉ thể hiện sự thay đổi của mức xám.

Đã có rất nhiều phương pháp phân tích kết cấu bề mặt được đưa ra nhưng chủ yếu được chia thành 2 loại chính : phương pháp dựa trên thống kê và phương pháp dựa trên cấu trúc. Loại thứ nhất xem kết cấu bề mặt là hiện tượng mang tính chất thống kê nên gọi là phương pháp thống kê. Sự hình thành kết cấu bề mặt được mô tả với các tính chất thống kê của độ lớn và vị trí của các pixel. Phương pháp phân tích này hoạt động rất hiệu quả đối với các kết cấu bề mặt nhỏ, không đều, mang tính chất ngẫu nhiên và lộn xộn (như tán lá, mặt nước . . .). Loại thứ hai dựa vào cấu trúc của kết cấu bề mặt, gọi là phương pháp dựa trên cấu trúc. Mục đích phương pháp này là mô tả cấu trúc các kết cấu bề mặt phức tạp bằng cách dựa trên mô hình các kết cấu bề mặt đơn giản. Phương pháp này hiệu quả đối với các kết cấu bề mặt lớn, có cấu trúc rõ ràng hay còn gọi là kết cấu đều (hình 4.5). Tuy nhiên, kết cấu đều (vải, hoa văn trang trí) thường ít xuất hiện trong thực tế hơn kết cấu không đều.

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Hình 4.5 : Các kết cấu bề mặt : (a), (b) Kết cấu đều (c), (d) Kết cấu không đều.

Hình 4.6 cho ví dụ về 3 loại kết cấu bề mặt cần mô tả trong đó 2 kết cấu bề mặt đầu là dạng kết cấu đều :

Hình 4.6 : 3 ví dụ về kết cấu (a) French canvas (chi tiết). (b) French canvas.

(c) cát biển.

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Phương pháp mô tả kết cấu bề mặt này căn bản dựa trên biến đổi Fourier của ảnh và chia nhóm các dữ liệu sau khi thực hiện biến đổi tạo thành một tập các số đo tượng trưng cho kết cấu bề mặt của ảnh. Hình 4.7 cho thấy kết quả sau khi biến đổi Fourier của 3 mẫu ví dụ ở hình 4.6. Quan sát bằng mắt thường ta cũng có thể nhận ra ở 2 hình Fench Canvas, với tỉ lệ scale khác nhau sẽ cho ra kết quả sau khi biến đổi Fourier rất khác biệt. Do đó phương pháp này chưa thực sự hiệu quả đối với các kết cấu bề mặt giống nhau nhưng tỉ lệ scale khác nhau.

Hình 4.7 : 3 ví dụ về kết cấu sau khi biến đổi Fourier (a) French canvas (chi

tiết). (b) French canvas. (c) cát biển.

Phương pháp dựa trên thống kê

Phương pháp thống kê chủ yếu dựa trên ma trận đồng hiện (co-occurrence matrix). Phương pháp này còn phổ biến đến ngày nay bởi khả năng thực hiện rất tốt. Ma trận đồng hiện chứa các phần tử là số các cặp có mức xám xác định kề nhau trong ảnh. Ma trận này là một ma trận vuông, đối xứng và có chiều bằng số mức xám có trong ảnh (hình 4.8).

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Hình 4.8 : Cách tạo ra ma trận đồng hiện

Hình 4.9 : 3 ví dụ về kết cấu sau khi biến đổi bằng ma trận đồng hiện

(a) French canvas (chi tiết). (b) French canvas. (c) cát biển.

Nhìn trên hình 4.9 ta thấy ma trận đồng hiện thể hiện được các tính chất tự nhiên của kết cấu tốt hơn dùng biến đổi Fourier, nhất là khi so sánh giữa 2 kết cấu giống nhau nhưng tỉ lệ scale khác nhau. Tuy vậy, để so sánh các kết cấu bề mặt với nhau một cách lý tính thay vì cảm tính, một số thông số (năng lượng, entropy, độ tương phản, tính đồng nhất, tính tương quan) được đưa ra nhằm giúp cho việc đánh giá các loại kết cấu bề mặt mang tính chất toán học :

(4.1)

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

Một phần của tài liệu Thực hiện sopc dò tìm chuyển động bằng phương pháp xử lý ảnh dựa trên kết cấu (Trang 53)