1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: MobileNetV2 trên FPGA Ultra96-V2 ứng dụng camera thông minh

58 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng MobileNetV2 trên Ultra96-V2 cho Smart Camera
Tác giả Lê Huy Hoàng, Tô Quốc Nguyễn
Người hướng dẫn Tiến Sĩ Nguyễn Hoài Nhân
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật Máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 58
Dung lượng 24,83 MB

Nội dung

Trong dé tài này, nhóm muốn sử dụng nền tảng System on Chip dé xây dựngmột hệ thống smart camera streaming hình anh qua kết nối không dây với độ trễ thấp và tiệm cận được với thời gian t

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

LÊ HUY HOÀNG

TÔ QUOC NGUYEN

KHOA LUAN TOT NGHIEP

UNG DUNG MOBILENETV2 TREN ULTRA96-V2 CHO

SMART CAMERA

MOBILENETV2 ON ULTRA96-V2 FOR SMART CAMERA

KY SU NGANH KỸ THUAT MAY TÍNH

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

LÊ HUY HOÀNG - 18520779

TÔ QUOC NGUYEN - 18521165

KHÓA LUẬN TÓT NGHIỆP

UNG DỤNG MOBILENETV2 TREN ULTRA96-V2 CHO

SMART CAMERA

MOBILENETV2 ON ULTRA96-V2 FOR SMART CAMERA

KỸ SƯ NGANH KỸ THUAT MAY TÍNH

GIẢNG VIÊN HUONG DAN

TIEN SĨ NGUYEN HOAI NHÂN

TP HO CHi MINH, 2022

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 528/QD-DHCNTT

ngày 19 thang 07 năm 2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

ơn quý thầy cô đã giúp đỡ chúng em rất nhiều trong suốt thời gian qua.

Đặc biệt, chúng em xin chân thành cảm ơn thầy Tiến sĩ Nguyễn Hoài Nhân đã

hướng dẫn nhóm rat tận tình trong suốt quá trình thực hiện dé tài, hỗ trợ và cung cap

cho chúng em nhiều kiến thức chuyên môn quý báu để chúng em có thể hoàn thành

khoá luận Bên cạnh đó chúng em cũng xin chân thành gửi lời cảm ơn đến các anh chị, bạn bẻ trong khoa, những người đã giúp đỡ nhóm trong quá trình tìm kiếm thông tin, trao đổi và giải quyết nhiều vấn đề cho nhóm trong suốt quá trình học tập và

nghiên cứu.

Chúng con xin dành lời cảm ơn gia đình đã luôn tin tưởng, tạo điều kiện và ủng hộ chúng con về rất nhiều về mặt thần cũng như là chỗ dita tinh thần vững chắc

trên con đường học tập của chúng em.

Trong suốt quá trình thực hiện đề tài khóa luận, chúng em không thể tránh khỏi những khó khăn và sai sót do một só giới hạn liên quan đến chuyên ngành chuyên

sâu Vì thé, chúng em mong các quý Thay/Cé và các bạn sẽ thông cảm, và có thé

đóng góp ý kiến dé dé tài khóa luận này được phát triển và hoàn thiện hon trong tương

lai.

Một lần nữa, chúng em xin chân thành cảm ơn!

Thanh pho Hồ Chi Minh, 5 tháng 8 năm 2022

Sinh viên thực hiện

Lê Huy Hoàng Tô Quốc Nguyễn

Trang 5

Chương 2 CÁC CÔNG NGHỆ VÀ CÁC NGHIÊN CỨU

2.1 Kiến trúc Field Programmable Gate Array (FPGA)

2.1.1 Dinh nghia

2.1.2 Kién trac tong quat

2.2 Công nghệ SoC (System on Chip)

2.2.1 Định nghĩa hệ thống SoC

2.2.2 Kiến trúc cơ bản của một hệ thống SoC

2.3 Zynq UltraScale+ MPSoC

2.7 Các nghiên cứu về smart camera

2.7.1 Nghiên cứu ngoài nước

2.7.2 Nghiên cứu trong nước

Chương 3 THIET KE HỆ THONG

œ

œ

" 12 12 13

14

15

17 19 19 20

22

Trang 6

3.1 Ý tưởng thiết kế hệ thống

3.2 Mô hình thiết kế tong quát hệ thống

3.3 Tổng hợp IP MobileNetV2

3.4 Hiện thực Smart Camera với Petalinux 2019.2

3.5 Thiết kế block design trên công cụ Vivado

3.6 Các IP của Xilinx dùng trong thiết kế hệ thống SoC

3.6.10 IP ZynQ UltraScale + MPSoC

3.6.11 IP Block Memory Generator

Chương 4 THUC NGHIEM VÀ ĐÁNH GIA KET QUA

*

È

Trang 7

5.2 Khó khăn gặp phải

Trang 8

Kiến trúc cơ bản của FPGA

Kiến trúc cơ bản của một SoC Các khối trong Zynq UltraScale+ MPSoC

Các thành phan chính trên board Ultra96-V2

Sơ đồ khối của board Ultra96-V2

Thuật toán MobileNetV2 Residual block của MobileNet

Kiến trúc tổng thể MobileNetV2

Số kênh/bộ nhớ

Hình 2.10 Khối Inverted Residual

Hình 2.11 So dé khối của một smart camera

IP MobileNetV2

Kết quả sau khi generate bitstream của nhóm

Năng lượng tiêu thụ Image packaging configuration Boot image settings

USB gadget support Hinh 3.10 Wilc module bitbake

Hinh 3.11 Block Diagram trén phan mém Vivado

Hinh 3.12 IP Cloking Wizard

Hình 3.13 IP AXT Interconnect

Hinh 3.14 IP Processor System Reset

Hinh 3.15 IP AXI SmartConnect

Hinh 3.16 IP AXI UART16550

10

ul 12

13 14

14

15 16 7

19

22 23

24

25 26

26 28

28 29 29

32 33

33

34 34 35

Trang 9

Hình 3.17 IP AXI GPIO

Hình 3.18 IP Slice

Hình 3.19 IP AXI Interrupt Controller

Hinh 3.20 IP Concat

Hinh 3.21 IP ZynQ UltraScale + MPSoC

Hinh 3.22 IP Block Memory Generator

Hình 4.1 Hình ảnh thực tế phan cứng

Hình 4.2 Kết quả nhận diện sách

Hình 4.3 Kết quả nhận diện chai nước

Hình 4.4 Kết quả nhận diện cái ly

Hình 4.5 Kết quả nhận diện laptop

Hình 4.6 Kết quả nhận diện con chuột máy tính

Hình 4.7 Kết quả nhận diện sai con chuột máy tính

36 36

36

37 37 38 39 40 40

41 41

42 42

Trang 10

DANH MUC BANG

So sánh các nghiên cứu liên quan trong nước

Tần số ước lượng của IP MobileNetV2_FPGA

Tài nguyên sau khi tổng hợp IP Luồng thiết kế Petalinux

File petalinux-user-image

Kết quả độ chính xác của hệ thông

20 25

25 27 30

43

Trang 11

DANH MỤC TỪ VIET TAT

Từ viết tắt Tên đầy du

ADC Analog to Digital Converter

AHB Advanced High performance Bus

Al Artificial Intelligence

ALU Arithmetic Logic Unit

AMBA Advanced Microcontroller Bus Architecture APB Advanced Peripheral Bus

APU Application Processing Unit

ARM Advance RISC Machines

AXI Advanced eXtensible Interface

CCl Cache Coherent Interconnect

CNN Convolutional Neural Network

Core SW Core SoftWare

CPU Central Processing Unit

DDR4 Double Data Rate fourth generation

DSP Digital Signal Processor

FPGA Field-Programmable Gate Array

GPU Graphics Processing Unit

Trang 12

HDL Hardware Description Language

HLS High Level Synthesis

HP High Performance

1OU Input Output Unit

IP Internet Protocol

LPDDR4 Low Power Double Data Rate fourth generation

OpenCV Open source Computer Vision library

PC Personal Computer

PL Progammable Logic

PS Processing System

RAM Random Access Memory

RISC-V Reduce Instruction Set Computer version 5

ROM Read Only Memory

SoC System on Chip

UART Universal Asynchronous Receiver Transmitter

VHDL (VHSIC-HDL)

Very High Speed Intergrated Circuit Hardware Description Language

Trang 13

TOM TAT KHÓA LUẬN

Ngày nay, những tiến bộ trong công nghệ vi điện tử đã giúp con người có thểtích hợp được nhiều hệ thống phức tạp trong một thiết bị duy nhất Smart cameracũng là một phần của quá trình phát triển này và có thể được định nghĩa là một hệthống được tích hợp thêm nhiều chức năng: truyền tải hình ảnh qua kết nối khôngdây, tích hợp thuật toán xử lý ảnh Việc xây dựng smart camera có thê dựa trên nhiềunên tảng như: FPGA, Embedded system, System on Chip Mỗi công nghệ đều có ưu

nhược điểm đặc trưng của chúng, đã và đang được nhiều nhóm tác giả, trường học,

các công ty lớn cả trong và ngoài nước nghiên cứu, phát triển Các yếu tố cần lưu ýkhi thiết kế smart camera có thé là tốc độ thu nhận và hiển thị, độ chính xác, năng

lượng tiêu tốn và giá thành sản phẩm

Trong dé tài này, nhóm muốn sử dụng nền tảng System on Chip dé xây dựngmột hệ thống smart camera streaming hình anh qua kết nối không dây với độ trễ thấp

và tiệm cận được với thời gian thực Smart camera sẽ tích hợp thêm thuật toánMobileNetV2 xử lý ảnh trên phần cứng FPGA, kết hợp bộ xử lý core ARM và một

số module khác dé điều khiến và truyền dữ liệu Người dùng có thé xem kết quả trênmàn hình hiển thị thông qua một Wifi Access Point modem

Nhóm đề xuất thiết kế hệ thống smart camera trên bộ công cụ phần mềmVivado phiên bản 2019.2 của Xilinx (bao gồm: Vivado HLS, Vivado Design Suite,Petalinux, Vitis), sử dụng board Ultra96-V2 trên nền tảng Zynq UltraScale+ MPSoCcủa nhà phát hành Avnet.

Trang 14

MỞ DAU

Ké từ những năm 1990, camera thông minh đã thu hút được sự quan tâm đáng

kế từ các nhóm nghiên cứu, trường đại học và nhiều phân khúc công nghiệp, đặc biệt

là trong các ngành công nghiệp sản xuất và giám sát video Điều này là do máy ảnhthông minh cung cấp lợi ích riêng biệt- vượt trội hơn so với máy ảnh bình thường(hoặc tiêu chuẩn) băng cách thực hiện không chỉ chụp ảnh mà còn phân tích hình ảnh

và nhận dạng sự kiện tat cả trong một hệ thống nhỏ gọn Sự phổ biến ngày càng tăng

của camera thông minh được xây dựng dựa trên tiến bộ đạt được trong công nghệ quy

trình bán dan, kỹ thuật thị giác máy tính nhúng và các yếu tô kinh tế - xã hội như antoàn và bảo mật, tăng năng suất và tiết kiệm chi phí Ngày nay, các sản phẩm camerathông minh được sử dụng trong nhiều ứng dụng trong thế giới thực, đặc biệt là tronggiám sát video, thị giác máy công nghiệp, robot, trò chơi và đồ chơi cũng như giao

điện máy tính của con người.

Xây dựng camera thông minh bao gồm việc áp dụng các công nghệ từ thị

giác máy tính, thị giác máy và các hệ thống nhúng Là lĩnh vực công nghệ, cả thịgiác máy tính và thị giác máy đều liên quan đến việc xây dựng các thiết bị hoặc

hệ thống có thé tìm kiếm thông tin hữu ich từ hình anh và có thé đưa ra các quyếtđịnh nhất định dựa trên thông tin đó Công nghệ hệ thống nhúng liên quan đếnviệc xây dựng các hệ thống năng lượng thấp, chi phí thấp và thời gian thực đủmạnh dé hoạt động đáng tin cậy trong các điều kiện trong thế giới thực Máy ảnhthông minh là một hệ thống nhúng thực hiện các công nghệ thị giác đồng bộ chocác ứng dụng thị giác máy Vì hiện tại, các máy ảnh thông minh không được thiết

kế cho mục đích chung mà thường dành cho các ứng dụng cụ thể, nên một mô

hình kinh doanh tốt cũng rất quan trọng để đảm bảo chúng được thị trường vàngười dùng cuối chấp nhận Khi các công nghệ và sản phẩm được người tiêu dùng

và nền xã hội sử dụng tiếp tục có nhiều sự tích hợp hơn, sức mạnh xử lý và tríthông minh, ba thuộc tính chính của camera thông minh, chắc chắn những chiếccamera này sẽ tiếp tục được chấp nhận nhiều hơn, tiên tiến hơn và trở nên phobién hon trong tuong lai

Trang 15

Chương 1 GIỚI THIỆU DE TÀI

1.1 Lý do chọn đề tài

Ngày nay với sự phát triển mạnh mẽ của các ngành công nghệ vật liệu, một

cảm biến camera có thé thu được hình anh với chất lượng tốt cùng với độ phân giải

cao Việc quan sát hình ảnh thu được thông qua một đường truyền ở khoảng cách xavới độ trễ nhận được không quá cao cũng là yếu tố thu hút nhiều mối quan tâm Honnữa, sự phát triển mạnh mẽ các thuật toán thông minh, trí tuệ nhân tạo trong xử lýảnh ngày nay càng khiến cho nhiều công ty, tổ chức nghiên cứu muốn áp dụng chúngvào trong các hệ thống camera quan sát của họ Nhờ đó tạo thành các smart camera

hỗ trợ tốt hơn cho các công việc sản xuất trong nhà máy, bảo mật an ninh Do đó,

trong đề tài này, nhóm nghiên cứu muốn thiết kế hệ thống smart camera có thể truyền

hình anh streaming thông qua mang Wifi, với một độ trễ thấp ở mức khả quan và ồnđịnh.

1.2 Mục tiêu đề tài

Ở luận văn này, nhóm tập trung tìm hiểu cách thiết kế mô hình CNN trên một

hệ thống SoC (Sytem on Chip) và streaming hình ảnh thông thường Ngoài ra, smartcamera tích hợp thêm thuật toán AI dé nhận diện có người trong khung hình dựa

trên CNN MobileNet Smart Camera sẽ truyền hình ảnh dữ liệu thông qua đường

truyền Wifi lên một màn hình đề quan sát Nhóm đề ra những mục tiêu sau:

¢ Nhóm tìm hiểu board Ultra96-V2 của Avnet phân phối dựa trên hệ thống Zynq

UltraScale+ MPSoC do Xilinx phát hành Nhóm tìm hiểu thêm bộ công cụ XilinxVivado (bao gom Vivado HLS, Vitis, Vivado Design Suite) dé dùng cho việc khởitạo ra bộ CNN MobileNetV2 dưới dạng ngôn ngữ Verilog bằng Vivado HLS Sau

đó nhóm tìm cách cài đặt bộ CNN MobileNet vào hệ thống SoC trên board

Ultra96-V2 kết nối với USB Camera và module Wi-Fi

Trang 16

% Kế tiếp nhóm tìm hiểu và xây dựng hệ điều hành Linux, sau đó nạp lên board

Ultra96-V2 bằng công cụ Petalinux của Xilinx phát hành dé điều khiển hoạt độngcủa hệ thống

Cuối cùng nhóm viết các chương trình phần mềm bằng Vitis và nạp lên hệ điềuhành Linux trên board Ultra96-V2 dé điều khiển hoạt động hệ thống Nhóm sẽ tiếptục kiểm tra lại hệ thống, đánh giá các kết quả thử nghiệm và đóng gói sản phẩm

1.3 Bồ cục bố cáo

Báo cáo này chia làm 05 chương chính Các chương được trình bày như sau:

Chương 1: GIỚI THIỆU ĐÈ TÀI

Chương 1 sẽ giới thiệu dé tài nhóm đang thực hiệnChương 2: CÁC CÔNG NGHỆ VÀ CÁC NGHIÊN CỨU

Chương 2 sẽ trình bày những công cụ phục vụ trong việc thiết kế hệ thống và

lý thuyết của các giải thuật được sử dụng trong hệ thông

Chương 3: THIẾT KE HE THONG

Chương 3 trình bay phương pháp thiết kế, xây dựng một hệ điều hành Linuxđược nạp lên Ultra96-V2 bao gồm việc kết hợp một số module Wifi, thư viện hỗ trợhiển thị ảnh OpenCV, thư viện Gstreamer, thiết kế pipeline streaming truyền hình

ảnh

Chương 4: KET QUÁ DANH GIÁ HỆ THONGChương 4 sẽ trình bày phương pháp đánh giá của thiết kếChương 5: KET LUẬN VÀ HUONG PHÁT TRIEN

Chương 5 sẽ tóm tắt toàn bộ công việc và kết quả đạt được Đồng thời đề ra

phương hướng phát triển cho đề tài trong tương lai cũng được trình bày ở chương

này.

Trang 17

Chương2 CÁC CÔNG NGHỆ VÀ CÁC NGHIÊN CỨU

2.1 Kiến trúc Field Programmable Gate Array (FPGA)

2.1.1 Dinh nghia

Field Programmable Gate Arrays là một chip logic số có thé lập trình được,tức là ban có thé sử dung chúng dé lập trình cho hầu hết các chức năng của bat kỳmột thiết kế số nào Đã có nhiều tai liệu trên website nói nhiều về FPGA nhưng ở đâymình muốn các bạn chú ý đến cái tên của nó Mình thấy trên các website người ta

dịch chữ FIELD là dạng trường Nhưng ở đây không phải như vậy FIELD nghĩa là

nơi sử dụng con chip Field Programmable nghĩa là có thé lập trình được tại nơi củangười sử dụng khác với một sỐ chip là phải lập trình tai nơi sản xuất FPGA được tạothành từ một mảng (matrix hay array) các phần tử khả trình nên được gọi là

Programmable Gate Array.

Bộ nhớ tĩnh đầu tiên dựa trên FPGA (thường được gọi là SRAM trên nền

FPGA) được đề xuất bởi Wahlstrom vào năm 1967 Sau đó bản thương mại của FPGA

được Xilinx giới thiệu vào năm 1984 Lúc này nó gồm có một mảng của các khốilogic có thé tái cầu hình — Configurable Logic Blocks (CLBs) và các đầu vào ra — /O(input/output) Chip FPGA đầu tiên chứa 64 CLBs và 58 I/Os Ngày nay, FPGA cóthé chứa khoảng 330,000 CLBs và khoảng 1100 I/Os Phan lớn các san pham FPGAtrên thi trường hiện nay đều dựa trên công nghệ SRAM với 2 hãng sản xuất lớn nhất

là Xilinx và Altera Ngoài ra còn có các hãng khác sản xuất FPGA nhưng với mục

đích chuyên dung (Atmel, Actel, Lattice, SiliconBlue, ).

2.1.2 Kiến trúc tổng quát

Kiến trúc cơ bản của FPGA được thể hiện qua Hình 2.1 bao gồm 3 thành phan

chính: khối logic có thé tái cấu hình, Configurable Logic Blocks (CLBs) thực hiệncác chức năng logic; các kết nối bên trong, Porgrammable Interconnect có thé lậptrình dé kết nối các đầu vào và đầu ra của các CLB và các khối I/O bên trong, cáckhôi I/O cung cap giao tiêp giữa các ngoại vi và các tín hiệu bên trong.

Trang 18

kênh được dùng trong một cum logic dé kết nối các phần tử logic lại với nhau, trongkhi đó cả ba đều được dùng cho các cấu trúc định tuyến bên trong FPGA Một số

FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ítkết nối hơn nên định tuyến phức tạp hơn

Trang 19

Khối I/O: I/O cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến

đến các thành phần bên ngoài Một trong những vấn đề quan trọng nhất trong thiết kếkiến trúc I/O là việc lựa chọn các tiêu chuẩn điện ap cung cấp và điện áp tham chiếu

sẽ được hỗ trợ.

Theo thời gian, các kiến trúc FPGA co bản đã được phát triển hơn nữa thôngqua việc bổ sung các khối chức năng đặc biệt có thé lập trình, như bộ nhớ trong (BlockRAMs), logic số học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý nhúng đượcthêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng Kết quả là nhiềuFPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó

2.2 Công nghệ SoC (System on Chip)

2.2.1 Dinh nghia hé thong SoC

Thuật ngữ SoC là viết tắt cua System on a Chip Chip này có tên như vậy bởi

vì nó bao gồm nhiều thành phan tính toán thiết yếu, tat cả đều được nén vào một conchip SoC chủ yếu được sử dụng cho các thiết bi di động vì kích thước nhỏ và sử dung

ít điện năng.

Bắt đầu từ năm 1970, một số công ty đã có gắng đưa nhiều thành phần vào mộtcon chip dé cung cấp năng lượng cho đồng hồ kỹ thuật s6 Intel đã thành công trongviệc thực hiện điều này với Microma Digital Watch vào năm 1974, được tạo ra SoCthực sự đầu tiên Công ty đã tích hợp các chức năng thời gian và những bóng bán dẫn

driver LCD vào một chip.

SoC thực sự phát triển vào những năm 80 và 90 Máy tính cá nhân đã trở nên

phổ biến vào những năm 80 và chúng cần được cung cấp năng lượng bởi những con

chip nhỏ hơn Trong những năm 90, điện thoại di động sử dụng SoC và xu hướng đó

tiếp tục cho tới ngày nay

2.2.2 Kiến trúc cơ bản của một hệ thong SoC

Mỗi chip SoC có mật độ tích hợp các chức năng khác nhau nhưng hau hết cácSoC đều có các thành phần cơ bản được giới thiệu ở Hình 2.2:

Trang 20

s==='.== i= = ET

Peripheral

Hình 2.2 Kiến trúc cơ ban của một SoCCPU (Central Processing Unit): Lõi vi xử lí là thành phần không thể thiếu trong

một SoC, làm nhiệm vụ quản lý toàn bộ hoạt động chính của một SoC CPU đảm

nhiệm luồng xử lý chính trong SoC, điều phối các hoạt động giữa các thành phần

khác trong SoC, thực thi các tính toán chính Một SoC có thể có một hoặc nhiềulõi CPU Một số lõi CPU thông dụng như: lõi CPU ARM dùng tập lệnh ARM và

được phát triển bởi hãng ARM; RISC-V là lõi CPU phát triển trên tập lệnh mở và

Bộ nhớ (Memory): Bộ nhớ trong một SoC được gọi là bộ nhớ nội dé phân biệt với

bộ nhớ năm ngoài SoC và giao tiếp với SoC thông qua các chân (pin) điều khiểncủa SoC Bộ nhớ nội này có thể là:

> ROM — lưu cấu hình hoặc chương trình ban đầu của SoC

Trang 21

> RAM - được sử dụng để lưu thông tin hoặc giá trị tính toán trong suốt quá

trình hoạt động cua SoC.

¢ Thanh phần điều khiển nội (Internal Block): là thành phần chỉ điều khiển hoạt

động bên trong SoC mà không điều khiển trực tiếp port nào của SoC như:

> Khối tạo clock (clock generator): cung cấp clock cho toàn bộ các khối chức

năng trong SoC ké cả CPU

> Khối tao reset (reset generator): cung cấp reset cho toàn bộ các khối chức năng

trong SoC, kể cả CPU

> Các khối giám sát (monitor): là các khối có chức năng giám sát hoạt động của

SoC, kịp thời phát hiện ra các lỗi trong quá trình hoạt động dé khởi động lại

một phần hoặc toàn bộ hệ thống.

$% Ngoại vi (Peripheral): là các khối có thé điều khién trực tiếp các chân (pin hoặc

port) của SoC dé thực thi một chức năng điều khiển bên ngoai SoC như: UART —

truyền nhận dữ liệu nối tiếp; Video — điều khiển camera; Audio — thu phát âm

thanh; ADC — chuyền đôi tín hiệu tương tự thành tín hiệu SỐ

2.3 Zynq UltraScale+ MPSoC

Ở đây nhóm chỉ đề cập đến các thành phần được sử dụng trong đề tài này.Hình 2.3 mô tả các khối trong Zynq UltraScale+ MPSoC (tham khảo cấu hình tùychỉnh )

Trang 22

Hình 2.3 Các khối trong Zynq UltraScale+ MPSoC

Application Processing Unit (APU): chứa chip ARM Cortex-A53, bao gồm cả

CPU va GPU, là một bộ xử lý da năng, có thể thực hiện cùng lúc nhiều chức năng

khác nhau.

Cache Coherent Interconnect (CCI): đây là giao tiếp nhận biết bộ nhớ cache giữa

các lõi CPU dé chúng có thé thay được các giá trị nhất quán khi truy cập cùng một

bộ nhớ logic Đôi khi, chúng cũng được sử dụng giữa bộ đệm CPU và thiết bịngoại vi để có quyền truy cập vào cùng một bộ nhớ

Core Sofware (Core SW): các chương trình dé điều khiến tín hiệu các bus, truyền

nhận dữ liệu.

Progammable Logic (PL): là một bộ FPGA có thể lập trình được, người dùng phải

sử dung ngôn ngữ mô tả phan cứng đặc trưng (Verilog/VHDL/SystemC ) thôngqua các phần mềm chuyên biệt đề có thé tổng hợp và sử dụng

AXI Bus: Advanced eXtensible Interface Bus là một giao thức dùng để trungchuyên dữ liệu giữa các thành phần trong hệ thống SoC, được phát triển bởi hãng

ARM Giao thức này có chức năng liên kết giữa các master, slave hoặc giữa cácbus trong hệ thống: phân xử truy cập; giải mã địa chỉ

10

Trang 23

'DDR4 RAM: Double Data Rate fourth generation Ramdom Access Memory là

một bộ nhớ truy cập ngẫu nhiên nhưng có kha năng truyền tải dữ liệu gấp đôitrong một chu kì bộ nhớ mà không cần tăng tần số clock

K2

¢ Input/Output Unit (OU): là các cổng giao tiếp với thiết bị ngoại vi Trong luận

văn này, nhóm sử dụng công SD dé nạp hệ điều hành Petalinux và công USB dékêt nôi với Camera.

2.4 Board Ultra96-V2

Ultra96-V2 là một máy tinh Single Board được sản xuất với chi phí thấp nhằmmục đích sử dụng rộng rãi trong nhiều ứng dụng như: trí tuệ nhân tạo, máy học, IoT,điện toán đám mây, máy tính nhúng, robotics, hỗ trợ các kết nối không day (Wi-Fi,Bluetooth) Hình 2.4 giới thiệu các thành phần chính trên board Ultra96-V2

40-pin Low-speed INIT_B 60-pin High speed 12V Power Wi-Fi’

expansion header (J5) | LED (D5) expansion header (4) Input (J10) Bluetooth

2) D4, D6, D7)

Mini DisplayPort Wireless LAN (D9) 1x USB 3.0 Type 2x USB 3,0 Type A

(Jd) and Bluetooth Micro-B upstream downstream ports

(D10) LEDs Port (J7) (J8 and J9)

Hình 2.4 Các thành phan chính trên board Ultra96-V2

Board Ultra96-V2 gồm các thành phần chính sau:

s* Linaro 96Boards Consumer Edition compatible.

s* Xilinx Zyng UltraScale+ MPSoC ZU3EG SBVA484.

s% Bộ nhớ:

11

Trang 24

B6 tao xung clock Renesas VersaClock 6E.

Infineon va ON Semiconductor dé quan lí điện năng với hiệu qua cao

Mini DisplayPort.

1 céng USB 3.0 Type Micro-B upstream

2 công USB 3.0 Type A downstream

1 céng USB 2.0 Type A downstream (trén High-speed expansion header)

40-pin Low-speed expansion header.

60-pin High-speed expansion header.

Ngoài ra, kiến trúc tong quát của board Ultra96-V2 cũng được thé hiện trong Hình

(SPI, 120, MIPI, LIART.

GPIO, etc)

Hình 2.5 Sơ đồ khôi của board Ultra96-V2

2.5 Thuật toán MobileNetV2

2.5.1 MobileNetV2

Ké từ khi ra đời, MobileNetV2 là một trong những kiến trúc được ưa chuộngnhất khi phát triển các ứng dụng AI trong computer vision Rất nhiều các kiến trúc

12

Trang 25

sử dung backbone là MobileNetV2 như SSDLite trong object detection va

DeepLabV3 trong image segmentation.

MobileNetV2 có một số điểm cải tiến so với MobileNetV1 giúp cho nó có độchính xác cao hơn, số lượng tham số và số lượng các phép tính ít hơn mà chúng ta sẽ

tìm hiểu ngay sau đây

2.5.2 Khối MobileNetV2 Convolutional

conv 1x1, Linear

Dwise 3x3, stride=2, Relu6

Hinh 2.6 Thuat toan MobileNetV2

Sự khác nhau giữa MobilenetV1 so với V2 được thể hiện qua Hình 2.6 Có thể

thay V2 sử dụng nhiều bước dé giảm tham số và tăng độ chính xác cho thuật toán

MobileNetV2 cũng sử dụng những kết nối tắt như ở mạng ResNet Các khối

ở layer trước được cộng trực tiếp vào layer liền sau Nếu coi layer liền trước là x, saukhi di qua các xử lý tích chập hai chiều ta thu được kết quả F(x) thi output cuối cùng

là một residual block có giá trị x+F(x) như trong Hình 2.7.

13

Trang 26

weight layer

x

identity

Hình 2.7 Residual block của MobileNet

Tuy nhiên kết nối tắt ở MobileNetV2 được điều chỉnh sao cho số kênh (hoặcchiều sâu) 6 input và output của mỗi block residual được thắt hẹp lại Chính vì thé nóđược gọi là các bottleneck layers (bottleneck là một thuật ngữ thường được sử dụng

trong deep learning dé ám chỉ các kiến trúc thu hẹp kích thước theo một chiều nao

72 x 1280 avgpool 7x7 | 1

1 < l1 x 1280 conv2d 1x1 k

-s Trong đó t : hệ -sô mở rộng, c : -sô kênh đâu ra, n : -sô lặp lại, -s: bước -sóng Hat

nhân 3 x 3 được sử dụng dé tích chập không gian

14

Trang 27

v? s%% Điển hình, mạng chính (hệ số chiều rộng 1, 224 x 224 ), có chi phí tính toán

là 300 triệu phép nhân-cộng và sử dụng 3,4 triệu tham số (Hệ sé chiều rộng

được giới thiệu trong MobileNetV1 )

“ Đề đào tao mạng, 16 GPU được sử dung với kích thước lô là 96

Số kênh/bộ nhớ tối đa (tính bằng Kb) ở mỗi độ phân giải của từng kiến

trúc khác nhau được so sánh qua Hình 2.9

(2x,g=3)

112x112 64/1600 16/400 32/800 56x56 128/800 32/200 48/300 28x28 256/400 64/100 400/600K 14x14 512/200 160/62 800/310

7x7 1024/199 320/32 1600/156 1x1 1024/2 1280/2 1600/3

Hình 2.9 Số kênh/bộ nhớ

2.5.4 Inverted Residual Block

Khối Inverted residual được minh hoa cu thé qua Hinh 2.10

15

Trang 28

Hình 2.10 Khối Inverted Residual

Kiến trúc residual này ngược lại so với các kiến trúc residual truyền thống vi

kiến trúc residual truyền thống có số lượng kênh ở input và output của một block lớn hơn so với các layer trung gian Chính vì vậy nó còn được gọi là kiến trúc inverted

residual block.

Tác gia cho rang các layer trung gian trong một block sẽ làm nhiệm vụ biến

đổi phi tuyến nên cần day hơn dé tạo ra nhiều phép biến đồi hơn Kết nối tat giữa các

block được thực hiện trên những bottleneck input va output chứ không thực hiện trên

các layer trung gian Do đó các layer bottleneck input va output chỉ cần ghi nhận kết

quả và không cần thực hiện biến đổi phi tuyến.

Ở giữa các layer trong một block inverted residual block chúng ta cũng sử dụng những biến đổi tích chập tách biệt chiều sâu đề giảm thiểu số lượng tham số của mô

hình Đây cũng chính là bí quyết giúp họ các model MobileNet có kích thước giảm

nhẹ.

16

Trang 29

2.6 Smart camera

Smart camera đã được ứng dụng trong công nghiệp được hơn hai thập kỷ, nhưng

những tiến bộ trong công nghệ vi xử lý đã làm cho thiết bị này trở nên dễ tiếp cận và phổ biến hơn, đặc biệt là trong các lĩnh vực như giám sát và thị giác máy tính Thuật ngữ smart camera có nhiều định nghĩa khác nhau, tuy nhiên mọi người đều thống nhất rằng một smart camera không chỉ bao gồm các cảm biến hình ảnh mà còn có

thêm một số loại chip xử lý như CPU, DSP, FPGA hoặc các thiết bị xử lý khác Sơ

đồ khối của một smart camera cơ bản được biểu diễn ở Hình 2.11.

Tuy nhiên, ngay cả máy ảnh kĩ thuật số thông thường cũng có sẵn một số bộ xử

lý hình ảnh để chỉnh sửa các hiệu ứng, loại bỏ các phần thừa, nhận diện khuôn mặt,

sử dụng bộ lọc hình ảnh hoặc thực hiện các tính năng xử lý ảnh khác Vì thế, một máy ảnh bao gồm bộ xử lý cùng với cảm biến hình ảnh không được gọi là smart

camera.

Không giống với hầu hết các máy ảnh thông thường, output của smart camera

không phải là hình ảnh mà là một thông tin hoặc một lựa chọn Vì thuật toán xử lý

17

Ngày đăng: 03/11/2024, 18:42

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN