Kiến trúc của FPGA

Một phần của tài liệu (Luận án tiến sĩ) phát triển mạng nơron tế bào đa tương tác và khả năng ứng dụng (Trang 100)

6. Cấu trúc của luận án

3.3.1.1 Kiến trúc của FPGA

Kiến trúc của FPGA cho phép tích hợp số lượng lớn các phần tử bán dẫn vào 1 vi mạch, là kiến trúc mảng các khối logic. Ưu điểm này giúp FPGA có thể chứa nhiều các phần tử logic và phát huy tối đa khả năng lập trình của các phần tử logic và hệ thống mạch kết nốị Kến trúc của FPGA được minh họa như saụ

Hình 3.7 Kiến trúc của FPGA + Khối logic FPGA

Khối Logic lập trình được Khối vào/ra

Phần tử chính của FPGA là các khối logic. Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop. Khối logic có thể thực hiện bất kỳ hàm logic nào từ 4 đầu vàọ Kết quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop. Ngoài 4 đầu vào kể trên LUT còn được hỗ trợ thêm 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng số đầu vào của LUT lên 6 chân. Cấu trúc này giúp tăng tốc các bộ số học logic.

3.3.1.2 Xử lý ảnh trên nền STM32

Hệ thống thu thập và xử lý ảnh dùng vi điều khiển có sơ đồ khối như hình 3.8.

Hình 3.8 Hệ thống thu thập và xử lý ảnh dùng vi điều khiển

Camera số: cảm biến, biến đổi các điểm ảnh (màu hoặc xám). Tốc độ biến đổi nhanh với yêu cầu xử lý theo thời gian thực.

Khối kết nối: chuyển đổi (tương thích) giữa camera với vi điều khiển.

Vi điều khiển STM32: tạo xung nhịp cơ bản để đồng bộ các tín hiệu (VSYNC and HSYNC) cho camera, thu thập các dữ liệu hình ảnh đưa vào bộ nhớ đệm xuất ra màn hình (hoặc truyền ra các kênh thông tin như: cổng UART của PC, ra kênh Wifi- TCP/IP, v.v…).

Màn hình: có nhiệm vụ hiển thị hình ảnh. Nếu là luồng video có thể cho các tốc độ caọ

STM32 là vi điều khiển do hãng STMicroelectronic sản xuất dựa trên nền tảng lõi vi xử lý ARM Cortex®-M. Là một dòng sản phẩm vi xử điều khiển 32 bit kết hợp các ưu điểm về hiệu suất cao, khả năng xử lý thời gian thực, xử lý tín hiệu số, tiêu

thụ ít năng lượng, hoạt động điện áp thấp, trong khi duy trì khả năng tích hợp đầy đủ và dễ dàng phát triển ứng dụng.

3.3.1.3 CNN bậc hai trên nền tảng FPGA và STM32

Hình 3.9 Sơ đồ hệ thống thu thập xử lý ảnh trên nền tảng FPGA và STM32 Theo cấu trúc của mạng (Hình 3.6), tác giả xây dựng mô hình CNN bậc hai thu thập xử lý ảnh trên nền tảng FPGA và STM32 như (Hình 3.9).

Bước 1. Camera (ma trận 33) cảm biến hình ảnh; Bước 2. Chuyển đổi sang ảnh số;

Bước 3. Ghép nối FPGA bộ nhận dạng tín hiệu theo ma trận MiCNNs (tín hiệu được gửi đồng thời từ khối Camera đến FPGA để xử lý);

Bước 4. Ghép nối tín hiệu với STM32;

Bước 5. STM32 xử lý chuyển tín hiệu sang màn hình hiển thị, PC, Wifi; Trong (Hình 3.9), ta có khối 1 là tín hiệu hình ảnh đầu vào của hệ thống. Khối 2 là khối Camera CMOS được thiết lập theo cấu trúc của CNN có kích thước (33) camera, các camera này thu nhận tín hiệu ảnh gửi về bộ xử lý FPGA (khối 3), bộ xử lý được thiết lập theo cấu trúc của CNN bậc cao được trình bày trong chương 2. Khối này có nhiệm vụ đưa ra tín hiệu có sự ảnh hưởng lớn nhất từ các tín hiệu ở vùng lân cận, sau đó dữ liệu hình ảnh sẽ được sắp xếp lại và đưa vào bộ nhớ tạm thời trước khi đưa đến bộ xử lý STM32 (khối 4).

Tại đây, STM32 nhận dữ liệu hình ảnh được gửi từ FPGA sang và đồng bộ tín hiệu trước khi đưa đến thiết bị xuất dữ liệu như máy tính để lưu trữ hoặc xử lý phục vụ cho các công việc khác qua cổng ghép nối quang hoặc đưa đến màn hình hiển thị

Ảnh đầu vào

để quan sát hình ảnh được xử lý hoặc phát tín hiệu Wifi để ghép nối với các thiết bị khác như các cơ cấu chấp hành, lưu trữ (khối 5) v.v…

Với ứng dụng của CNN bậc 2 trong xử lý ảnh trên nền tảng FPGA kết hợp với STM32 trên cơ sở ứng dụng sự ảnh hưởng đa chiều của mỗi tế bào trung tâm đến các tế bào láng giềng và lân cận hay còn gọi là sự ảnh hưởng trực tiếp theo tỉ lệ ½ (50%) và ¼ (25%) để bù điểm ảnh có tỷ lệ màu tương ứng ở vùng láng giềng và lân cận.

- CNN bậc hai trong xử lý ảnh trên nền tảng FPGA kết hợp với STM32 CNN bậc hai được sử dụng ở đây bao gồm cả phần tử mạng bậc nhất và phần tử mạng bậc hai (2.1) chương 2, chi tiết xem bài báo [Ạ4] công trình khoa học của tác giả.

3.3.1.4 Bàn luận và đánh giá

Bài toán thử nghiệm thuật toán CNN bậc hai trên nền tảng FPGA kết hợp với STM32 dựa trên việc áp dụng các hiệu ứng đa chiều của tế bào trung tâm đến các tế bào lân cận theo tỷ lệ ½ (50%) và ¼ (25%) để bù màu tương ứng ở các vùng với láng giềng với r =1 và láng giềng với r =2. Kết quả cho thấy hình ảnh thu thập được bù ảnh từ các láng giềng cho kết quả tốt hơn.

3.3.2 Một số ứng dụng khác của CNN bậc cao

3.3.2.1 Ứng dụng CNN bậc hai trong bài toán nuôi trồng

Một thử nghiệm ứng dụng khác của CNN bậc cao là kết hợp với STM32 ARM Cortex MCUs trong nuôi trồng thông minh khép kín chuồng, ao, vườn. CNN bậc hai được áp dụng trong xây dựng hệ thống nuôi trồng thông minh trên cơ sở thu thập thông tin tương tác đa chiều: hình ảnh, âm thanh, tiếng động, độ ẩm, mật độ oxy, độ rắn, trọng lượng, mực nước v.v…

a) Sơ đồ hệ thống nuôi trồng thông minh

Trong (Hình 3.10), các khối: thức ăn, nước uống (A); chuồng gà, lợn (gia súc) (B); xử lý chất thải (C); ao, hồ (bể cá) (D); máy bơm hút (E); vườn rau thủy canh hoặc bán thủy canh (dinh dưỡng cho rau là phân cá trong nước ao hồ hoặc bể cá) (F); xử lý nước trước khi trả về ao, hồ (bể cá) (G). Quy trình như (Hình 3.10).

Hình 3.10 Mối quan hệ trong hệ thống nuôi trồng thông minh

- Thức ăn: Dạng hạt, dạng bột, dạng nước, dạng tổng hợp, hạt mềm, hạt rắn, hạt khô, hạt ướt, nước, v.v.

Hình 3.11 Tính tương tác đa chiều của CNN bậc hai trong hệ thống - Chuồng gia súc: Sạch, bẩn, khô, ướt; loại động vật nuôi v.v...

- Xử lý chất thải: Lấy chất thải từ chuồng, xử lý phân loại, lưu trữ, xả cho cá, xác định hàm lượng độc hại tồn dư v.v…

- Ao, hồ (bể cá): Nước, cá, chất hỗn hợp hòa tan từ phân gia súc, cá và từ nguồn tự nhiên v.v…

- Công xuất, lượng nước bơm, thời gian bơm, dạng nước xả ở đầu ra, khoảng cách, áp suất, thời gian v.v…

- Cách thức trồng, loại rau, độ ẩm, mực nước, chất dinh dưỡng v.v…

- Lọc, độ sạch của nước v.v…

Từ dữ liệu, tác giả xây dựng thành các cụm tương tác đa chiều tương ứng. Ví dụ: Ao hồ (D): Có lượng thức ăn nhiều → xử lý chất thải (C) không xả thêm thức ăn cho cá → Thức ăn, nước uống (A) điều chỉnh lượng thức ăn, v.v… (Hình 3.11) cho thấy quan hệ từ các phần tử láng giềng tạo nên tương tác đa chiềụ

b) Các bước thực hiện của chương trình hệ thống nuôi trồng thông minh sử dụng HiCNN và STM32.

Bước 1. Start (khởi tạo chương trình) Bước 2. Nhận dạng khối chức năng

Hình 3.12 Sơ đồ hệ thống Smart Farm sử dụng HiCNN và STM32

Khối cảm biến, thu thập dữ liệu Camera Micro Cảm biến nhiệt độ Cảm biến ánh sang Cảm biến độ ẩm Cảm biến mực nước Cảm biến mưa, gió Cảm biến độ ẩm Khối xử lý STM32 ARM Cortex MCUs Khối Nguồn AC.220v DC.24v DC.12v DC.5.0v DC.3.2v Khối kết nối hệ thống thực thi Bơm Micro Đồ ăn, đồ uống Đóng, mở cửa Tắt/mở đèn, quạt Tưới, làm sạch Cảnh bái

Bước 3. Xác nhận các trạng thái: Nếu sai, cảnh báo lỗi; Nếu đúng thì dừng cảnh bảo và chuyển tiếp bước 4.

Bước 4. Khối A hoạt động: Nếu sai, cảnh báo lỗi; Nếu đúng thì dừng cảnh báo và chuyển tiếp bước 5.

Bước 5. Khối B hoạt động: Nếu sai, cảnh báo lỗi và quay lại bước 4; Nếu đúng dừng cảnh báo và chuyển tiếp bước 6…

Bước 10. Khối G hoạt động: Nếu sai, cảnh báo lỗi và chuyển bước 9; Nếu đúng, dừng báo và chuyển tiếp bước 11.

Bước 11. Kiểm tra dữ liệu sau xử lý: Nếu đúng, dừng cảnh báo và chuyển sang bước 12; Nếu sai, cảnh báo lỗi và chuyển về bước 10.

Bước 12. Kết thúc

Trong thực nghiệm này, tác giả ứng dụng mô hình CNN bậc 2 trong phát triển hệ thống nuôi trồng thông minh.

Toàn văn kết quả được công bố trên bài báo [Ạ3].

3.3.2.2 Ứng dụng CNN bậc hai trong cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K

Dựa vào các yêu cầu nghiêm ngặt về việc sử dụng thuốc kháng vitamin K [Ạ5] cho bệnh nhân, mô hình này đáp ứng các yêu cầu sau:

- Bệnh nhân dùng vitamin K nên dùng đúng khung thời gian trong ngày/ tuần/ tháng/ năm và sử dụng thuốc trọn đời với tuổi thọ của van nhân tạọ

- Bệnh nhân thường quên dùng thuốc hoặc sai mốc thời gian dùng thuốc: + Thông báo bằng chuông hoặc nhạc hoặc lời nói trong 1 phút và gián

đoạn trong 4 phút, sau đó báo cáo nhiều lần trong khoảng 1 giờ. Nếu bệnh nhân uống thuốc, và xác nhận đã dùng thuốc thì hệ thống lưu thông tin và dừng cảnh báọ

+ Nếu bệnh nhân không dùng thuốc, cảnh báo sẽ được lặp lại 1 phút, phút và sẽ kéo dài trong 1 giờ,

+ Sau 1 giờ, nếu không được xác nhận, tin nhắn được gửi lại có tốc độ 1 phút và 10 phút gián đoạn (âm thanh có tần số cao hơn để phân biệt với 1 giờ trước đó), cảnh báo với tiếng chuông hoặc nhạc hoặc lời nói được

phát liên tục trong 60 phút.

+ Sau 60 phút, nếu chưa được xác nhận, tin nhắn được thông báo ở tần suất 1 phút và 15 phút (lần này âm thanh cao hơn và tần số của lần thứ hai khác với lần 1 và thời gian gián đoạn sau 120 phút, cảnh báo với tiếng chuông hoặc nhạc hoặc lời nói sẽ được liên tục trong 60 phút, và sau đó gửi tin nhắn ngắn đến điện thoại của gia đình người bện nhắc gia đình hỗ trợ người bệnh sử dụng thuốc.

+ Quy trình cảnh báo được lặp lại từ lần thứ 4 đến Lần thứ 7, với tần suất cao và khẩn cấp cho bệnh nhân đang dùng thuốc. Nếu đến lần thứ 7 vẫn chưa được xác nhận, chương trình sẽ thông báo cho các thành viên gia đình và bác sĩ gia đình về việc bỏ thuốc để gia đình và bác sĩ gia đình lên kế hoạch theo dõi và kiểm tra INR của bệnh nhân sau khi bỏ lỡ việc sử dụng thuốc.

- Nếu người dùng thuốc bỏ quên thuốc hoặc ngừng dùng thuốc vì lý do đã hết thuốc sau 8 giờ đồng hồ nhưng vẫn chưa có thuốc bổ sung. Lúc này chương trình sẽ thông báo cho gia đình. Các thành viên và bác sĩ gia đình về việc bỏ thuốc để bổ sung thuốc và kế hoạch theo dõi kiểm tra chỉ số đông máu (INR) sau khi bỏ thuốc.

a) Sơ đồ khối ứng dụng CNNs bậc 2 trong cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K

Hình 3.13 Sơ đồ khối gửi thông tin cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K Thông báo -Âm thanh -Text Bệnh nhân Sử dụng thuốc kháng Vitamin K Bệnh nhân Xác nhận đã sử dụng thuốc Bệnh nhân Xác nhận quên sử dụng thuốc Gửi tin nhắn đến người nhà và bác sĩ điều trị nhắc bệnh nhân Lưu dữ liệu trên máy cá nhân và iCloud

Thử nghiệm chương trình với một số chức năng cơ bản như nhắc bệnh nhân dùng thuốc bằng âm thanh, lời nói và tin nhắn trên màn hình nhắc liều thuốc theo toa của bác sĩ kê đơn cho mỗi lần/ngày/tuần/tháng.

Hình 3.14. Sơ đồ khối chức năng cảnh báo cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K

Lời thoại và tin nhắn văn bản được gửi cho gia đình bệnh nhân về việc bổ sung thuốc kháng vitamin K. Do bệnh nhân sử dụng van nhân tạo phải duy trì tần suất sử dụng thuốc và kiểm tra chỉ số INR định kỳ, chương trình cũng theo dõi nhịp tim và dữ liệu huyết áp, chỉ số INR hàng tuần/ tháng để cảnh báo sớm cho bệnh nhân và bác sĩ. Thực nghiệm cho thấy, 95,7% người dùng đúng chế độ thuốc theo quy định của bác sĩ, và trường hợp bỏ thuốc do quên hoặc hết thuốc được hạn chế.

b) Thuật toán sử dụng trong cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K

CNN bậc hai được sử dụng ở đây bao gồm cả phần tử mạng bậc nhất và phần Dữ liệu đầu vào

Thời gian quên uống thuốc Liều lượng

Địa chỉ của dữ liệu lưu trữ trên mạng

Địa chỉ của người nhà, bác sỹ điều trị

Mạng nơron tế bào bậc cao trong cảnh báo sớm cho bệnh nhân kháng Vitamin K Thông báo - Âm thanh - Tin nhắn - Lưu dữ liệu

Gửi thông báo

-Các thành viên trong gia đình

tử CNN bậc 2 (2.1) trong chương 2.

c) Các bước thực hiện trong chương trình cảnh báo sớm cho bệnh nhân sử dụng thuốc kháng Vitamin K

Bước 1. Bắt đầu (khởi tạo chương trình)

Bước 2. Nhập thông tin cảnh báo: âm thanh cảnh báo, cảnh báo bằng lời thoại, số điện thoại gửi tin nhắn cảnh báo, địa chỉ lưu trữ trực tuyến về việc sử dụng thuốc kháng vitamin K.

Bước 3. Khai báo khung thời gian dùng thuốc

- Nếu được xác nhận khi bệnh nhân đã dùng thuốc, thì gửi thông tin được lưu trữ và dừng cảnh báọ

- Nếu không được xác nhận bệnh nhân đã dùng thuốc, thì chuyển đến bước 4.

Bước 4. Thông báo, nhắc lại yêu cầu cho người sử dụng với tỷ lệ ¼ liên tục trong 6 lần.

- Nếu người dùng xác nhận đã dùng thuốc, thì gửi thông tin được lưu trữ và dừng thông báo;

- Nếu không xác nhận, bệnh nhân đã dùng thuốc, chuyển đến Bước 5. Bước 5. Lời nhắc cho 1/4 liều được lặp lại sáu lần, tần số âm cao gấp 6 lần so

với trước đó.

- Nếu được xác nhận bệnh nhân đã dùng thuốc, hãy gửi thông tin được lưu trữ và dừng thông báo;

- Nếu không được xác nhận bệnh nhân dùng dụng thuốc, thì chuyển sang bước 6.

Bước 6. Lời nhắc được lặp lại sáu lần, tần suất cao hơn từ 1 giờ đến 2 giờ. - Nếu được xác nhận đã dùng thuốc, thì gửi thông tin được lưu trữ và dừng thông báo;

Bước 7. Thông báo tỷ lệ 1/4 và được lặp lại liên tục trong 18 lần, tần suất từ 1 giờ đến 2 giờ và 3 giờ.

- Nếu được xác nhận, bệnh nhân đã dùng thuốc thì gửi thông tin được lưu trữ và dừng thông báọ Gửi tin nhắn thông báo cho gia đình, bác sĩ. - Nếu không được xác nhận đã dùng thuốc, chuyển đến bước 8.

Bước 8. Gửi tin nhắn và lời thoại cho bệnh nhân đã bỏ sử dụng thuốc để không uống lại do thời gian đã quá 8 giờ theo hướng dẫn của bác sĩ.

- Người dùng thuốc xác nhận thông tin, dừng thông báọ

- Nếu không được xác nhận thông tin thì gửi tin nhắn âm thanh và văn bản cho các thành viên trong gia đình, gia đình bác sĩ.

Bước 9. Kết thúc

Toàn văn kết quả được công bố trên bài báo [Ạ5] của tác giả.

3.4 Kết luận chương 3

Dựa trên kết quả nghiên cứu mô hình CNN bậc cao, tác giả đã thử nghiệm bậc hai cho các bài toán điển hình bao gồm:

i) Thử nghiệm CNN bậc hai trong nhận mẫu tương ứng với Y Y1, 2,Y3 và số bit tương ứng là 9 bit và 81 bit cho nhận mẫu đã được học và các mẫu không được học có số bit sai đến 44% để kiểm chứng bộ nhớ CNN bậc cao làm bộ nhớ liên kết.

ii) Thực hiện trên phần cứng FPGA và thử nghiệm cho nuôi trồng, đóng góp gồm có 2 bài báo [Ạ3], [Ạ4] trong công trình khoa học của tác giả.

iii) Thực nghiệm CNN bậc hai với một số các ứng dụng khác, đóng góp gồm 2

Một phần của tài liệu (Luận án tiến sĩ) phát triển mạng nơron tế bào đa tương tác và khả năng ứng dụng (Trang 100)

Tải bản đầy đủ (PDF)

(140 trang)