1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 1 ĐỀ TÀI PHÁT TRIỂN ỨNG DỤNG BÉ YÊU ĐỘNG VẬT

50 3 0

Đ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

Định dạng
Số trang 50
Dung lượng 4,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI NÓI ĐẦUTrí tuệ nhân tạo AI đang là xu hướng phát triển có nhiều tiềm năng trong lĩnh vựccông nghệ thông tin, nắm giữ vai trò chủ đạo trong dòng chảy công nghệ hiện đại vớinhiều

Trang 1

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

VÀ TRUYỀN THÔNG VIỆT – HÀN KHOA KHOA HỌC MÁY TÍNH

Sinh viên thực hiện : Nguyễn Duy Sỹ

Nguyễn Thị Nguyệt Minh

Đà Nẵng, tháng 12, năm 2021

Trang 2

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

VÀ TRUYỀN THÔNG VIỆT – HÀN KHOA KHOA HỌC MÁY TÍNH

Sinh viên thực hiện : Nguyễn Duy Sỹ

Nguyễn Thị Nguyệt Minh

Đà Nẵng, tháng 12, năm 2021

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Chữ ký của giảng viên hướng dẫn ………

Trang 4

MỤC LỤC

LỜI CẢM ƠN 6

LỜI NÓI ĐẦU 7

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 8

1.1 Giới thiệu về đề tài 8

1.2 Lý do chọn đề tài 8

1.3 Mục đích của đề tài 9

1.4 Vấn đề cần giải quyết 9

1.5 Đề xuất nội dung thực hiện 9

1.6 Tổng quan về xử lý ảnh 10

1.6.1 Xử lý ảnh là gì? 10

1.6.2 Các quá trình của xử lý ảnh 10

1.6.3 Những vấn đề cơ bản trong hệ thống xử lý ảnh 12

1.7 Giới thiệu về python 15

1.8 Giới thiệu về các thư viện 16

1.8.1 Tổ chức thư viện OpenCV 17

1.8.2 Hàm cho một số chức năng cụ thể 18

1.9 Tìm hiểu về Flutter 19

1.9.1 Ngôn ngữ DART là gì? 19

1.9.2 Những thành phần chính trong Flutter 20

1.9.3 Những tính năng của Flutter 20

1.9.4 Ưu và nhược điểm của Flutter 20

CHƯƠNG 2 TÌM HIỂU VÀ PHÂN TÍCH THUẬT TOÁN 22

2.1 Công nghệ nhận diện và xử lí hình ảnh 22

2.1.1 Công nghệ nhận diện hình ảnh là gì? 22

2.1.2 Mục đích chính của việc sử dụng công nghệ hình ảnh 22

2.1.3 Các kỹ thuật xử lý hình ảnh kỹ thuật số phổ biến hiện nay 23

Trang 5

2.2 Tổng quan về Yolov5 24

2.2.1 Kiến trúc mạng YOLO 25

2.2.2 Nguyên lý hoạt động của mạng YOLO 27

2.2.3 Output của YOLO 27

2.2.4 Dự báo trên nhiều feature map 28

2.2.5 Anchor box 29

2.2.6 Hàm mất mát ( Loss Function) 31

2.2.7 Dự báo bounding box 33

2.2.8 Thuật toán sử dụng trong YOLOv5 35

2.3 Tìm hiểu về Rest API 37

2.3.1 REST API là gì? 37

2.3.2 Chức năng của REST API là gì? 38

2.3.3 Quy trình hoạt động của REST API là gì? 39

CHƯƠNG 3 TRIỂN KHAI VÀ DEMO SẢN PHẨM 42

3.1 Cài đặt môi trường 42

3.1.1 Python và Visual studio 42

CHƯƠNG 4 ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 43

4.1 Đánh giá kết quả đạt được: 43

4.2 Hướng phát triển đề tài: 44

4.3 Kết luận 44

TÀI LIỆU THAM KHẢO 45

Trang 6

MỤC LỤC HÌNH ẢNH

Hình 1 1 Nhận diện hình ảnh 4

Hình 1 2 Quá trình xử lý ảnh 5

Hình 1 3 Các thành phần cơ bản của hệ thông xử lý ảnh 8

Hình 2 1 Những tác dụng của việc sử dụng nhận dạng hình ảnh 18

Hình 2 2 Kiến trúc mạng YOLO 20

Hình 2 3 Các layer trong mạng darknet-53 21

Hình 2 4 Cách hoạt động của mạng YOLO 22

Hình 2 5 Công thức ngõ ra 22

Hình 2 6 Kiến trúc một output của model YOLO 23

Hình 2 7 Các feature maps của mạng YOLOv3 24

Hình 2 8 Xác định anchor box cho một vật thể 25

Hình 2 9 Khi 2 vật thể người và xe trùng mid point và cùng thuộc một cell 26

Hình 2 10 Tính tốn Loss Function cho 2 object: tam giác và hình thoi 27

Hình 2 11 Công thức ước lượng bounding box từ anchor box 29

Hình 2 12 So sánh kích thước lưu trữ Model của các mẫu mã YOLOv5 31

Hình 2 13 So sánh độ trễ trung bình giữa các phiên bản YOLO(v3,v4,v5) 31

Hình 2 14 Cấu trúc nhận diện vật thể của YOLOv5 32

Hình 2 15 Rest API là gì? 33

Hình 2 16 Cách thức hoạt động Rest AIP 34

Hình 3 1 Cài đặt python 38

Hình 3 2 Thiết kế giao diện ứng dụng 38

Hình 3 6 Giao diện thông tin chi tiết 39

Hình 3 3 Giao diện thông tin các loài 39

Hình 3 4 Giao diện trang hính 39

Hình 3 5 Giao diện quét con vật 39

Trang 7

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt quãngthời gian từ khi bắt đầu học tập tại giảng đường Trường Đại học Công nghệ thông tin vàTruyền thông Việt Hàn - Đại học Đà Nẵng, chúng tôi đã nhận được rất nhiều sự quantâm, giúp đỡ của thầy cô và các bạn

Với lòng biết ơn sâu sắc nhất, nhóm chúng tôi xin gửi lời cảm ơn chân thành tớitoàn thể các thầy cô giáo trong khoa Công nghệ thông tin và truyền thông Đại học ViệtHàn, những người đã dạy dỗ và truyền đạt vốn kiến thức vô cùng quý báu của mình chochúng tôi trong suốt quãng thời gian học tại đây Những tình cảm và kiến thức mà thầy

cô đã gửi trao cho chúng tôi sẽ là hành trang cho chúng tôi để bước đi trên những đoạnđường tương lai

Nhóm chúng tôi cũng xin gửi lời cảm ơn sâu sắc tới Thầy Trần Văn Đại, người đãtận tình hỗ trợ và dẫn dắt nhóm chúng tôi trong suốt quá trình thực hiện đồ án để cóđược kết quả một cách tốt nhất

Một lần nữa nhóm chúng tôi xin được chân thành cảm ơn!

Trang 8

LỜI NÓI ĐẦU

Trí tuệ nhân tạo (AI) đang là xu hướng phát triển có nhiều tiềm năng trong lĩnh vựccông nghệ thông tin, nắm giữ vai trò chủ đạo trong dòng chảy công nghệ hiện đại vớinhiều ứng dụng trong mọi lĩnh vực của đời sống xã hội như trợ lí ảo, nhà thông minh, xetự lái, các hệ thống nhận diện,… Nhận diện khuôn mặt là một là một lĩnh vực nghiêncứu của ngành thị giác máy tính, và cũng được xem là một lĩnh vực nghiên cứu củangành sinh trắc học tương tự như nhận dạng vân tay, hay nhận dạng mống mắt

Nhận dạng hay nhận biết là một trong những khả năng của con người cũng như cácloài vật, theo một cách bản năng nhất của loài vật qua cảm nhận từ các cơ quan nhưmắt, mũi, miệng, bằng hành động nhìn nghe ngửi… có thể cảm nhận được ngay đượcđối tượng đang tiếp xúc với mình là cái gì quen hay lạ Chính vì vậy, có thể nói rằng cơthể của mỗi loài vật chính là một hệ thống nhận dạng tối ưu nhất

Với sự phát triển của khoa học công nghệ đặc biệt là khoa học về robot thì ngàycàng mong ước tạo ra một nhận dạng máy học có khả năng tương tự và vượt trội hơn hệthống nhận dạng sinh học là một khát khao cháy bỏng của các nhà khoa học

Một hệ thống nhân dạng đối tượng là một hệ thống nhận vào một ảnh hoặc mộtđoạn video (một chuỗi các ảnh) Qua xử lý tính toán hệ thống xác định được vị trí đốitượng trong ảnh (nếu có) là đối tượng nào trong số đối tượng hệ thống đã biết (qua quátrình học) hay là đối tượng mới Yêu cầu đặt ra đối với hệ thống nhận dạng đối tượng là

độ chính xác cao, vì vậy hệ thống đòi hỏi phải có các đặc trưng tốt Hệ thống phải chọnđặc trưng nào để biểu diễn tốt một thông tin đối tượng cần nhận dạng Đồng thời đặctrưng phải được tính toán nhanh để không làm chậm quá trình nhận dạng Thêm vào đó

hệ thống phải có phương pháp học hiệu quả, có khả năng nhận biết được các mẫu mớichứ không chỉ làm tốt trên những mẫu đã học

Đồ án môn học của chúng tôi gồm 4 chương:

Chương 1: Tổng quan về đề tài

Chương 2: Cơ sở lý thuyết

Chương 3: Phân tích

Chương 4: Đánh giá kết quả đạt được và hướng phát triển

Trang 9

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu về đề tài

Ngày nay, cùng với những tiến bộ vượt bậc của khoa học kỹ thuật nói chung, bộmôn khoa học xử lý ảnh đã và đang thu được những thành tựu lớn lao và chứng tỏ vaitrò không thể thiếu với những ứng dụng sâu rộng trong khoa học kỹ thuật cũng như đờisống xã hội Một bộ phận của khoa học xử lý ảnh là lĩnh vực thị giác máy tính hiện đangthu hút rất nhiều sự quan tâm của các nhà nghiên cứu xử lý ảnh với mục tiêu xây dựngnên một thế giới trong đó hệ thống thị giác kỳ diệu của con người có thể được môphỏng bởi các hệ thống máy tính, đem lại khả năng cảm nhận bằng thị giác cho các hệthống về môi trường xung quanh Mơ ước về một hệ thống máy tính có thể hoà nhậpvào thế giới con người với đầy đủ các giác quan trong đó thị giác đóng vai trò quantrọng đang dần dần được hiện thực hoá với những đóng góp nghiên cứu của các nhàkhoa học trên phạm vi toàn thế giới

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

Trẻ em là mầm non của đất nước, mỗi đứa trẻ đều có quyền được học tập và vuichơi lành mạnh Nhưng làm sao để bé vừa chơi vừa học, vừa được phát triển cả về trítuệ, cảm xúc và thể chất ln là mối bận tâm hàng đầu của các bậc phụ huynh Giai đoạn

từ 0 đến 6 tuổi là chương đầu tiên trong cuộc đời một đứa trẻ cho đến lúc trưởng thành

Đó là giai đoạn bé nhìn thế giới với con mắt đầy sự tị mị Trong khi đó, với nhịp sốngngày càng bận rộn, thời gian cha mẹ ở sát bên quan sát con lại càng ít, độ phức tạp vàlượng kiến thức của việc ni dạy trẻ thì lại càng tăng lên

Trong vài năm trở lại đây, Object detection là một trong những đề tài rất hot củadeep learning bởi khả năng ứng dụng cao, dữ liệu dễ chuẩn bị và kết quả ứng dụng thìcực kì nhiều Các thuật toán mới của Object detection như YOLO, SSD có tốc độ khánhanh và độ chính xác cao nên giúp cho Object Detection co thể thực hiện được các tác

vụ dường như là real time, thậm chí là nhanh hơn so với con người mà độ chính xáckhông giảm Các mô hình cũng trở nên nhẹ hơn nên co thể hoạt động trên các thiết bịIoT để tạo nên các thiết bị thông minh

Với những lý do đó, nhóm đã suy nghĩ và muốn xây dựng một ứng dụng đa nềntảng kết hợp giữa việc học và chơi cho trẻ Nhằm thu hút trẻ tiếp cận những thông tincần thiết, giúp bé tìm hiểu các thông tin về các loài động vật một cách hấp dẫn nhất.Đây là nơi các bé có thể học những kiến thức cơ bản thông qua các game sống động, vui

Trang 10

tươi, các câu truyện thú vị hay các video độc đáo Chính vì vậy, nhóm đã chọn đề tài “Xây dựng ứng dụng bé yêu động vât” để thực hiện đồ án lần này.

1.3 Mục đích của đề tài

 Xây dựng một phần mềm ứng dụng đa nền tảng nhận diện động vật

 Tìm hiểu về một số thư viện như opencv, phần mềm visual studio code, flutter

 Tìm hiểu các phương pháp nhận diện khuôn mặt( Face Detection)

 Tìm hiểu về các phương pháp xử lý ảnh

 Xây dựng một số trò chơi cơ bản về động vật trong ứng dụng

1.4 Vấn đề cần giải quyết

Hệ thống nhận động vật là một ứng dụng máy tính tự động xác định hoặc nhận dạngmột người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từ mộtnguồn video Một trong những cách để thực hiện điều này là so sánh các đặc điểmkhuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt

Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được sosánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròng mắt

Từ đó thu thập, phân tích các tài liệu về nhận dạng khuôn mặt, tìm hiểu các phươngpháp nhận dạng khuôn mặt, nghiên cứu các công cụ xây dựng hệ thống

1.5 Đề xuất nội dung thực hiện

Hình 1 1 Nhận diện hình ảnh

Đối với đề tài Tìm hiểu, nghiên cứu và thực hiện xây dựng hệ thống nhận diện cáccon vật quen thuộc, giúp hỗ trợ trẻ em học hỏi tìm hiều thêm về động vật Việc hệ thống

có thể nhận dạng chính xác là một việc quan trọng Đối với đề tài này, chúng em thực

Trang 11

hiện xây dựng hệ thống nhận diện gương mặt sử dụng Deep learning với khả năng

“Nhận dạng động vật nhanh chóng và chính xác” và xây dựng trên đa nền tảng

Với hệ thống này, chúng em sẽ sử dụng các thư viện được cung cấp bởi PIP trongpython và sử dụng Visual Studio Code để lập trình

1.6 Tổng quan về xử lý ảnh

1.6.1 Xử lý ảnh là gì?

Xử lý ảnh (XLA) là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trìnhbiến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn củangười sử dụng Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làmtăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch cácthông tin hình ảnh của ảnh

Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứngdụng Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xemxét như là một cấu trúc dữ liệu và được tạo bởi các chương trình Xử lý ảnh số bao gồmcác phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên Mụcđích của xử lý ảnh gồm:

 Biến đổi ảnh làm tăng chất lượng ảnh

 Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh

 Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thànhnhững phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dựa vào đó ta cóthể mô tả cấu trúc của hình ảnh ban đầu Có thể liệt kê một số phương pháp nhận dạng

cơ bản như nhận dạng ảnh của các đối tượng trên ảnh, tách cạnh, phân đoạn hình ảnh,…

 Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhậndạng chữ trong văn bản

1.6.2 Các quá trình của xử lý ảnh

Hình 1 2 Quá trình xử lý ảnh

Trang 12

Sơ đồ này gồm các thành phần sau:

a) Phần thu nhận ảnh (Image Acquisition)

Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera làảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng cóloại camera đã số hoá (như loại CCD – Charge Coupled Device) là loại photodiode tạocường độ sáng tại mỗi điểm ảnh

Camera thường dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều Chất lượngmột ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phongcảnh)

b) Tiền xử lý (Image Processing)

Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý

để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, tăng độ tươngphản để làm ảnh rõ hơn, nét hơn

c) Phân đoạn (Segmentation) hay phân vùng ảnh

Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễnphân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thưcho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thànhcác từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạpkhó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kếtquả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này

d) Biểu diễn ảnh (Image Representation)

Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộngvới mã liên kết với các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp

là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnhgọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnhdưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này vớiđối tượng khác trong phạm vi ảnh nhận được

e) Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)

Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách

so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ýnghĩa trên cơ sở nhận dạng Có nhiều cách phân loại ảnh khác nhau về ảnh Theo lý

Trang 13

thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạngảnh cơ bản:

 Nhận dạng theo tham số

 Nhận dạng theo cấu trúc

Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoahọc và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạngvăn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…

f) Cơ sở tri thức (Knowledge Base)

Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiềukhâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảotiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theocách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo cácphương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được phát huy

1.6.3 Những vấn đề cơ bản trong hệ thống xử lý ảnh

a) Điểm ảnh (Picture Element)

Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lý bằngmáy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng một ảnhliên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mứcxám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phânbiệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh (PEL: PictureElement) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa

độ (x, y)

Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợpsao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh

số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh

b) Mức xám của ảnh

Mức xám của điểm ảnh: là cường độ sáng của nó được gán bằng giá trị số của nó

tại điểm đó

Điểm ảnh (pixel): là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc

màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp

Trang 14

sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh

số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh

Độ phân giải của ảnh: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh

được ấn định trên một ảnh số được hiển thị Khoảng cách giữa các điểm ảnh phải đượcchọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cáchthích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theotrục x và y trong không gian hai chiều

Các thang giá trị mức sáng thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức

phổ dụng Lư do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mứcxám dùng 1 byte biểu diễn: 2 8=256 mức, tức là từ 0 đến 255)

Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức

xám ở các điểm ảnh có thể khác nhau

Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 21 mức

khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1

Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế

giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu:28*3=224≈ 16,7 triệu màu

c) Các thành phần cơ bản của hệ thống xử lý ảnh

Hình 1 3 Các thành phần cơ bản của hệ thông xử lý ảnh

Thiết bị thu nhận ảnh: Là thiết bị biến đổi quang điện, cho phép biến đổi hình ảnh

quang học thành tín hiệu dưới dạng analog hay trực tiếp dưới dạng số Có nhiều dạngcảm biến cho phép làm việc với ánh sáng nhìn thấy hoặc hồng ngoại Hai loại thiết bịbiến đổi quang – điện chủ yếu thường được sử dụng là đèn ghi hình điện tử và chipCCD (Charge Coupled Device – linh kiện ghép điện tích)

Bộ xử lý ảnh chuyên dụng: Sử dụng chip xử lý ảnh chuyên dụng, có khả năng thực

hiện nhanh các lệnh trong xử lý ảnh Cho phép thực hiện các quá trình xử lý ảnh như

Trang 15

lọc,làm nổi đường bao, nén và giải thích video v.v Trong bộ xử lý thường thường tíchhợp hợp bộ nhớ đệm có tốc độ cao.

Bộ nhớ trong và bộ nhớ ngoài: Trong các hệ thống xử lý ảnh số thường có dung

lượng rất lớn dùng để lưu trữ ảnh tĩnh và động dưới dạng số.Bộ nhớ số trong hệ thống

 Bộ nhớ dùng để lưu trữ dữ liệu Loại bộ nhớ này thường có dung lượng lớn, tốc

độ truy cập không cao.Thông dụng là đĩa quang ghi 1 lần (ROM) hoặc nhiều lần (ROM)như đĩa DVD có dung lượng 4.7 GB(một mặt )

Ngoài ra trong hệ thống xử lý ảnh còn sử dụng các thiết bị cho phép lưu ảnh trêncác vật liệu khác như giấy in, công nghệ nung nóng v.v

Màn hình hiển thị: Hệ thống biến đổi điện –quang hay đèn hình ( đen trắng cũng

như màu) có nhiệm vụ biến đổi tín hiệu điện có chứa thông tin của ảnh (tín hiệu video)thành hình ảnh trên màn hình Có hai dạng display được sử dụng rộng rãi là đèn hìnhCRT ( Cathode – Ray Tube ) và màn hình tinh thể lỏng LCD (Liquid Crystal Display).Đèn hình CRT thường có khả năng hiển thị màu sắc tốt hơn màn hình LCD nên đượcdùng phổ biến trong các hệ thống xử lý ảnh chuyên nghiệp

Máy tính: Có thể là máy tính để bàn cũng như siêu máy tính có chức năng điều

khiển tất cả các bộ phận chức năng trong hệ thống xử lý ảnh số

d) Các khái niệm về đường viền ảnh, biên ảnh và vùng bao lồi của ảnh

Đường viền ảnh(border) của một vùng ảnh R là tập hợp các điểm ảnh trong vùng

đó mà có 1 hay nhiều lân cận bên ngoài vùng ảnh R

Biên ảnh: một điểm ảnh có thể coi là biên nếu ở đó có sự thay đổi đột ngột về mức

xám.tập hợp các điểm biên tạo thành đường bao của ảnh

Vùng bao lồi: Được sử dụng để mô tả các thuộc tính hình học của đối tượng.Vùng

bao lồi là vùng nhỏ nhất chứa đối tượng, sao cho bất kỳ điểm ảnh nào của vùng đều cóthể được nối với nhau bởi 1 đường thẳng, và tất cả các điểm ảnh đó đều thuộc vào vùng

e) Các thiết bị thu nhận ảnh và một số quy trình khác

Trang 16

Các thiết bị thu nhận ảnh: Bộ cảm biến ảnh camera, màn hình video, máy tính.

Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận này có thể choảnh đen trắng Các thiết bị thu nhận ảnh có 2 loại chính ứng với 2 loại ảnh thông dụngRaster, Vector Các thiết bị thu nhận ảnh thông thường Raster là camera các thiết bị thunhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digitizer hoặc được chuyểnđổi từ ảnh Raster Nhìn chung các hệ thống thu nhận ảnh thực hiện 1 quá tŕnh Cảmbiến: biến đổi năng lượng quang học thành năng lượng điện Tổng hợp năng lượng điệnthành ảnh

Số hóa ảnh: Ảnh thu vào được từ các thiết bị thu nhận ảnh có thể là ảnh tương tự

hoặc ảnh số.Trong trường hợp ảnh tương tự, chúng ta phải tiến hành quá trình số hóaảnh để có thể xử lý được bằng máy tính

Quá trình lượng hóa: Lượng tử hóa về mặt biên độ (độ sáng) cho dòng ảnh vừa

được rời rạc hóa

Lấy mẫu là một quá tŕnh, qua đó ảnh được tạo nên trên một vùng có tính liên tục

được chuyển thành các giá trị rời rạc theo tọa độ nguyên Quá tŕnh này gồm 2 lựa chọn:Một là khoảng lấy mẫu Hai là cách thể hiện dạng mẫu Lựa chọn thứ nhất được đảmbảo nhờ lư thuyết lấy mẫu của Shannon Lựa chọn thứ hai liên quan đến độ đo (Metric)được dùng trong miền rời rạc

1.7 Giới thiệu về python

Python là một ngôn ngữ mạnh và dễ học Python có tính hiệu quả rất cao với cáccấu trúc dữ liệu và đơn giản nhưng lại rất hữu dụng với ngôn ngữ lập trình hướng đốitượng Cú pháp Python gọn gàng và có tính năng gõ động, cùng với tính diễn dịch tựnhiên, làm Python là một ngôn ngữ lý tưởng dành cho viết kịch bản và phát triển nhanhchóng trong nhiều lĩnh vực trên nhiều nền tảng khác nhau

Python có nhiều tính năng như:

- Đơn giản: Python là ngôn ngữ đơn giản Đọc một chương trình Python có cảmgiảm như đọc tiếng Anh, mặc dù ở dạng rút gọn Tính tự nhiên của mã giả trong Python

là một trong các điểm mạnh nhất của ngôn ngữ này Điều này giúp cho lập trình viêntập trung vào giải pháp giải quyết vấn đề hơn là tập trung vào ngôn ngữ

- Dễ học: Python dễ học vì có cú pháp cực kỳ đơn giản

- Miễn phí và mã nguồn mở: Python là một ví dụ của FLOSS (Free/Libre and OpenSource Software) Vì vậy bạn có thể tự do phân phối bản sao chép các phần mềm,

Trang 17

chương trình mới Một trong những lý do Python là ngôn ngữ mạnh vì nó được cộngđồng thường xuyên phát triển và nâng cấp.

- Ngôn ngữ bậc cao: Khi sử dụng Python, bạn sẽ không bao giờ phải để ý các chitiết mức thấp như quản lý bộ nhớ cho chương trình của bạn và vân vân

- Khả năng bỏ túi: Do tính tự nhiên mã mở của Python, Python cũng xây dựng chạytrên các nền tảng khác nhau Bạn có thể sử dụng Python trên GNU/Linux, Windows,FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, Á/400,BeOS, OS/390, z/OS, Palm

OS, QNX, VMS, Psion, Acorn RÍC OS, VxWorks, PlayStation, Sharp Zaurus,Windows CE và PocketPC Bạn có thể dùng một nền tảng như Kivy để tạo các trò chơitrên máy tính dành cho iPad, và Android

- Diễn dịch: Khi một chương trình được viết bằng ngôn ngữ biên dịch như (C hoặcC++) thì nó được chuyển đổi từ mã ngôn ngữ (C/C++) thành ngôn ngữ máy tính có hiểuđược bằng cách dùng một trình biên dịch với các chức năng và các cờ khắc nhau Tráilại, Python không cần biên dịch ra nhị phân Chương trình viết bằng Python chạy trựctiếp bằng mac nguồn Cụ thể, Python sẽ chuyển mã nguồn thành một dạng trung gianthành ngôn ngữ mà máy tính có thể hiểu được

- Hướng đối tượng: Python là ngôn ngữ hỗ trợ cho lập trình hướng đối tượng lẫn cảlập trình thủ tục Nếu so sánh với C++ hoặc Java, Python rất mạnh nhưng cực kỳ đơngiản để thực hiện lập trình hướng đối tượng

- Tính mở rộng: Nếu bạn cần một đoạn mã chạy nhanh hoặc một vài thuật toánđóng, bạn có thể lập trình ở C/C++ và sau đó sử dụng nó cho chương trình Python.Python cho phép tích hợp các chương trình ở các ngôn ngữ khác

- Khả năng nhúng: Bạn có thể nhúng Python bên trong chương trình C/C++ đẻmang lại các khả năng kịch bản cho người dùng chương trình

- Thư viện mở rộng: Thư viện tiêu chuẩn Python thì rất lớn Thư viện giúp bạn làmnhiều thứ khác nhau liên quan đến biểu thức chính quy, giao tài liệu, tiến trình/tiểutrình, database, trình duyệt web, CGI, FTP, email, XML, XML-RPC, HTML, tập tinWAV, mã hóa, GUI, và các phần khác Tất cả thứ này đều sẵn có khi cài đặt Python

1.8 Giới thiệu về các thư viện

Opencv (Open Computer Vision library) do Intel phát triển, được giới thiệu năm

1999 và hoàn thiện thành phiên bản 1.0 năm 2006 Thư viện opencv – gồm khoảng 500hàm – được viết bằng ngôn ngữ lập trình C và tương thích với các hệ điều hành

Trang 18

Windows, Linux, Mac OS… đóng vai trò xác lập chuẩn giao tiếp, dữ liệu, thuật toáncho lính vực CV và tọa điều kiện cho mọi người tham gia nghiên cứu và phát triển ứngdụng

Trước Opencv không có một công cụ chuẩn nào cho lĩnh vực xử lí ảnh Các đoạncode đơn lẻ do các nhà nghiên cứu tự viết thường không thống nhất và không ổn định.Các bộ công cụ thương mại như Matlab, Simulink, v.v lại có giá cao chỉ thích hợp chocác công ty phát triển các ứng dụng lớn Ngoài ra còn có các giải phảp kèm theo thiết bịphần cứng mà phần lớn là mã đóng và được thiết kế riêng cho tứng thiết bị, rất khó khancho việc mở rộng ứng dụng

OpenCV là công cụ hữu ích cho những người bước đầu làm quen với xử lí ảnh số vìcác ưu điểm sau:

 OpenCV là công cụ chuyên dụng: được Intel phát triển theo hướng tối ưu hóacho các ứng dụng xử lí và phân tích ảnh, với cấu trúc dữ liệu hợp lí, thư viện tạogiao diện, truy xuất thiết bị phần cứng được tích hợp sẵn OpenCV thích hợp đểphát triển nhanh ứng dụng

 OpenCV là công cụ mã nguồn mở: Không chỉ là công cụ miễn phí, việc đượcxây dựng trên mã nguốn mở giúp OpenCV trở thành công cụ thích hợp chonghiên cứu và phát triển, với khả năng thay đổi và mở rộng các mô hình, thuậttoán

 OpenCV đã được sử dụng rộng rãi: Từ năm 1999 đến nay, OpenCV đã thu hútđược một lượng lớn người dung, trong đó có các công ty lớn như Microsoft,IBM, Sony, Siemens, Google và các nhóm nghiên cứu ở Standford, MIT, CMU,Cambridge,… Nhiều forum hỗ trợ và cộng đồng người dung đã được thành lập,tạo nên kênh thông tin rộng lớn, hữu ích cho việc tham khảo, tra cứu

1.8.1 Tổ chức thư viện OpenCV

CXCORE chứa các định nghĩa kiểu dữ liệu cơ sở Ví dụ, các cấu trúc dữ liệu choảnh, điểm và hình chữ nhật được định nghĩa trong cxtypes.h

CXCORE cũng chứa đại số tuyến tính và phương pháp thống kê, chức năng duy trì

và điều khiển chuỗi Một số ít, các chức năng đồ họa để vẽ trên ảnh cũng được đặt ởđây

CV chứa các thuật toán về xử lý ảnh và định kích cỡ camera Các chức năng hìnhhọa máy tính cũng được đặt ở đây

Trang 19

CVAUX được mô tả trong tài liệu của OpenCV như chứa các mã cũ và thứ nghiệm.Tuy nhiên, các giao diện đơn cho sự nhận diện ảnh ở trong module này Code sau nàychúng được chuyên dụng cho nhận diện mặt và chúng được ứng dụng rộng rãi cho mụcđích đó

- HIGHGUI và CVCAM được đặt trong cùng thư mục là “otherlibs”

+ HIGHGUI : chứa các giao diện vào ra cơ bản, nó cũng chứa các khả năng cửa sổ

- Truy xuất ảnh và phim: đọc ảnh số từ camera, từ file, ghi ảnh và phim

- Cấu trúc dữ liệu ảnh số và các dữ liệu hỗ trợ cần thiết: ma trận, vector, chuỗi, xâu

và cây

- Xử lí ảnh căn bản: các bộ lọc có sẵn, tìm chi tiết cạnh, góc, chỉnh đổi màu, phóng

to thu nhỏ, và hiệu chỉnh histograms

- Xử lí cấu trúc: tìm viền, nhận chuyển động, thay đổi trong không gian 3D, đốichiếu bản mẫu, xấp xỉ các đơn vị hình học cơ sở - mặt phẳng, đa giác, ellipse, đườngthẳng

- Phân tích dữ liệu ảnh: nhận dạng thực thể, theo dõi các chi tiết và phân tíchchuyển động

- Tạo giao diện đơn giản: hiển thị ảnh, thao tác bàn phím, chuột, thanh trượt đểchỉnh thông số (nếu cần thiết các bạn có thể tự tạo thêm các phím điều khiển thông quathao tác chuột, hoặc tích hợp thêm các thư viện về giao diện như wxWidgets)

- Chức năng vẽ, chú thích lên ảnh

Trang 20

• cvNamedWindow(): Thiết lập cửa sổ để hiện thị ảnh

• cvShowImage(): Hiển thi ảnh

• cvWaitKey(0): Chờ bấm phím bất kỳ để kết thúc chương trình

• cvReleaseImage( ): Xóa ảnh

• cvDestroyWindow( ): Xóa cửa sổ

b) Chức năng Lọc Nhiễu.

• cvCreateImage(): Tạo 1 ảnh mới có các thông số tương ưng với ảnh gốc

• cvSmooth(): Thưc hiện bộ lọc trung bình

• cvNamedWindow(): Tạo cửa sổ hiển thị ảnh Nhận dạng ảnh sử dụng thuật toán

c) Đổi màu ảnh

• cvCvtColor(): Đổi màu ảnh

d) Đọc ảnh từ VIDEO

• cvNamedWindow( ): Tạo cửa sổ để hiển thị ảnh

• CvCapture: Cấu trúc chứa thông tin của File AVI

• cvCreateFileCapture(): Lấy thông số từ File Avi được Load hệ thống sẽ đọc cácảnh từ đoạn VIDEO và xếp chúng thành một dãy các ảnh động liên tiếp nhau nên tacũng có cảm giác như đang xem một VIDEO

e) Đọc ảnh từ Camara

• cvCreateCameraCapture(0): Hoạt động tương tự như hàm

• cvCreateFileCapture(): Webcam máy tính sẽ bật lên,hệ thống sẽ nhận ảnh từCAMERA

Trang 21

Vào năm 2018, Dart bị trang Codementor.io xếp vào top một trong những ngôn ngữkhông nên học! Với sự cố gắng của đội ngũ phát triển, Dart nhanh chóng trở thành mộttrong những ngôn ngữ được quan tâm và sử dụng nhiều nhất Từ đó, khiến bộ đôiFlutter/ Dart “nổi đình nổi đám” như hiện nay.

Đây là một ví dụ điển hình về sự hỗ trợ tối đa trong việc code, đặc biệt là trong 2phần mềm: Android Studio và Visual Studio Code

Dart hỗ trợ cực tốt để phát triển Front end và bạn cũng có thể sử dụng Dart để thiết

kế ứng dụng di động lẫn ứng dụng web cực kỳ tốt!

1.9.2 Những thành phần chính trong Flutter

Flutter có 2 thành phần quan trọng nhất bao gồm:

 Framework (UI Library based on widgets): đây là tập hợp của các thànhphần UI có thể tùy biến theo nhu cầu của bạn và có thể tái sử dụng nhiều lần

 SDK – Software Development Kit: là một bộ công cụ giúp bạn có thể pháttriển các ứng dụng của mình một cách dễ dàng hơn Trong đó còn có cả mộtcông cụ có khả năng biến code của bạn trở thành codebase để phát triển cho

cả 2 nền tảng Android và iOS

1.9.3 Những tính năng của Flutter

Dù chỉ mới phát triển gần đây, nhưng Flutter và Dart có rất nhiều những tính năngvượt trội hơn cả đàn anh như:

 Khả năng hỗ trợ UI trên nhiều nền tảng khác nhau

 Flutter đã là một react framework

 Ngôn ngữ Dart cực kỳ đơn giản, dễ hiểu và dễ học

 Hỗ trợ xây dựng giao diện đẹp lung linh và cực kỳ linh hoạt

 Giúp bạn có thể phát triển ứng rất nhanh

 Hiệu năng của ứng sẽ trở nên vượt trội

1.9.4 Ưu và nhược điểm của Flutter

Ưu điểm của Flutter

 Khả năng giao tiếp gần như trực tiếp với hệ thống

 Ngôn ngữ có cú pháp hiện đại và trình biên dịch linh động

 Khả năng vượt trội về hiệu suất cũng như hiệu ứng cho ứng dụng rất cao

 Bạn có thể tạo ra một phiên bản giả lập thiết bị di động ngay trên nền tảngweb giúp việc phát triển ứng dụng dễ dàng hơn

Trang 22

 Các bộ công cụ hỗ trợ đo lường hiệu suất giúp các coder kiểm soát, đánh giá

và khắc phục các lỗi về hiệu suất của ứng dụng

Nhược điểm của Flutter

Flutter không phải là một ngôn ngữ “thần thánh” có thể đạt đến trình độ không thểnào chê Dù được Google tập trung nguồn lực phát triển, nhưng Flutter vẫn có một sốnhược điểm như sau:

 Nếu muốn sử dụng Flutter, bạn sẽ phải học thêm ngôn ngữ lập trình Dart.Tuy là một một ngôn ngữ rất dễ học, nhưng Dart Không được uyển chuyểnnhư những ngôn ngữ khác như: Python hay JavaScript

 Mặc dù Flutter là ”con cưng” và được Google tập trung phát triển nhưng,những phần mềm hay dịch vụ không mang lại quá nhiều lợi nhuận sẽ bịGoogle “bỏ giữa chợ” như: Google+, Hangout hay Angular,…

 Sử dụng mô hình dữ liệu mới như DART Streaming hay Bloc Pattern, những

mô hình dữ liệu này sẽ làm bạn tốn thêm thời gian tìm hiểu

 Bộ UI được phát triển riêng biệt với OS – hệ điều hành, điều này dẫn đếnviệc khi tạo ra ứng dụng trên những phiên bản khác nhau nhưng chúng sẽtương tự như nhau

 Có thể nói rằng bộ Render UI được phát triển lại hoàn toàn và không liênquan đến UI sẵn có của Framework native, từ đó dẫn đến việc sử dụng cựcnhiều bộ nhớ!

Trang 23

CHƯƠNG 2 TÌM HIỂU VÀ PHÂN TÍCH THUẬT TOÁN 2.1 Công nghệ nhận diện và xử lí hình ảnh

2.1.1 Công nghệ nhận diện hình ảnh là gì?

Công nghệ nhận dạng và xử lý hình ảnh là một trong những ứng dụng rộng rãi trongnhiều ngành công nghiệp hiện nay Rất nhiều các công ty lớn, những công ty công nghệđã tìm cách để ứng dụng công nghệ hình ảnh trong việc sản xuất nhiều thiết bị ngàynay

Hiện nay có rất nhiều định nghĩa về công nghệ nhận dạng hình ảnh Nhận dạng hìnhảnh hay được biết đến với tên gọi khác là tầm nhìn máy tính Đây là một trong những

kỹ thuật dùng để tìm kiếm các cách tự động hóa tất cả công việc mà một hệ thống thịgiác của con người có thể làm

Có rất nhiều ứng dụng trong cuộc sống hiện nay, chẳng hạn như: TensorFlow củaGoogle, DeepFace của Facebook, dự án Oxford của Microsoft Đây đều là nhữngchương trình sử dụng hệ thống nhận dạng hình ảnh học sâu như một phương thức làmviệc và đạt được những hiệu quả bất ngờ

Ngoài ra, các giao diện chương trình ứng dụng – các API được lưu trữ hiện naynhư: Google Cloud Vision, Clarifai, Imagga… Những dữ liệu này cho phép các doanhnghiệp có thể sử dụng và là giải pháp giúp tiết kiệm một số tiền lớn cho các nhóm pháttriển

Ưu điểm lớn nhất của các dịch vụ mã nguồn mở nhận diện hình ảnh hiện nay là vô

kể Ngoài việc tiến hành tính toán giúp nhận dạng hình ảnh trên đám mây, giúp cho hoạtđộng kinh doanh trở nên hiệu quả hơn và rẻ hơn rất nhiều.Các API còn có thể được tíchhợp vào nội bộ công ty mà không gặp những trục trặc về bản quyền hay sự cố Thậmchí, các nhà phát triển API mở này có thể sử dụng để phát triển một doanh nghiệp mớitrong lĩnh vực nhận dạng hình ảnh

2.1.2 Mục đích chính của việc sử dụng công nghệ hình ảnh

Hiện nay, công nghệ nhận dạng hình ảnh có được những tiềm năng rất lớn và đượcnhiều ngành công nghiệp sử dụng rộng rãi Những công ty hàng đầu thế giới hiện naynhư: Tesla, Google, Uber, Adobe Systems vv cũng sử dụng công nghệ nhận dạng hìnhảnh

Theo các nghiên cứu của chúng tôi, ngành công nghiệp nhận diện hình ảnh đượcứng dụng và tồn tại trên khắp thế giới Cụ thể theo dự tính của các nhà nghiên cứu,

Trang 24

ngành công nghệ nhận dạng hình ảnh sẽ đạt 38,92 tỷ USD vào năm 2021 Đây thực sự

là một con số khổng lồ

Ngày nay càng có nhiều các ứng dụng imagetech tận dụng nhận dạng hình ảnh để

sử dụng cho nhiều mục đích khác nhau và trong cả kinh doanh Chính những ưu điểm

của công nghệ này đã giúp ngành này có được một vị thế không hề nhỏ trong xã hội.

Hình 2 1 Những tác dụng của việc sử dụng nhận dạng hình ảnh

Các công cụ mã nguồn mở giúp việc lập trình dễ dàng hơn, giúp việc tính toán chiphí phải chăng hơn

Các khung công tác và thư viện nguồn mở hiện nay giúp nhiều công ty có thể sửdụng, và hưởng lợi từ công nghệ nhận diện hình ảnh theo cấp số nhân.Ví dụ, các cơ sở

dữ liệu mở lớn như Pascal VOC và ImageNet đã cung cấp quyền truy cập vào hàng triệuhình ảnh được gắn thẻ Điều này đã giúp ích rất lớn cho các công ty công nghệ hình ảnhphát triển và cải tiến các ứng dụng cũng như các thuật toán học máy – Machine learningcủa riêng mình

Đây cũng là một thư viện đa nền tảng nguồn mở – OpenCV, giúp ích cho các nhàphát triển chuyên nghiệp nhận dạng hình ảnh thời gian thực

Công nghệ nhận dạng hình ảnh là tài nguyên có thẩm quyền lớn nhất và điểm giảiquyết đầu tiên dành cho các chuyên gia nhận dạng hình ảnh

Công nghệ này như một bộ thư viện tuyệt vời khác cho tầm nhìn máy tính bao gồmOpen, VXL và nhiều loại khác

Công nghệ nhận diện hình ảnh được sử dụng theo nhiều cách khác nhau, với nhữngứng dụng không giới hạn Việc Phân tích hình ảnh đã được đưa đến một đẳng cấp mớinhờ vào các giải pháp nguồn mở và các công cụ học sâu – deep learning

Trang 25

2.1.3 Các kỹ thuật xử lý hình ảnh kỹ thuật số phổ biến hiện nay

Hiện nay, công nghệ nhận dạng được đưa vào rất nhiều các ngành nghề khác nhau.Các hình ảnh phát triển trong các phần mềm di động, web và phần mềm phục vụ cho vô

số lý do Bao gồm: nhận dạng đối tượng, nhận dạng mẫu, định vị các bản sao (chính xáchoặc một phần), tìm kiếm hình ảnh theo phân đoạn, xử lý hình ảnh (Retouch,…), cảithiện ứng dụng di động UX…

Đặc biệt nhất chính là kỹ thuật xử lý hình ảnh Công việc này có rất nhiều giaiđoạn: nhập ảnh, phân tích, thao tác và tạo ảnh Trên thực tế, có hai phương pháp xử lýhình ảnh phổ biến nhất là: kỹ thuật số – Digital và analog

Trong kỹ thuật xử lý hình ảnh, thuật toán máy tính đóng vai trò vô cùng quan trọng.Các kỹ thuật chính để xử lý hình ảnh kỹ thuật số thông dụng nhất hiện nay gồm có:Chỉnh sửa hình ảnh: kỹ thuật này thường sử dụng một số công cụ phần mềm đồ họanhư: Photoshop, Lightroom, Gimp,…

 Phục hồi hình ảnh: kỹ thuật này dùng có nhiệm vụ để tách một hình ảnh banđầu sạch ra khỏi hình ảnh tham nhũng được thực hiện để lấy lại các thông tin

bị mất

 Phân tích thành phần độc lập: kỹ thuật này dùng để phân tách tín hiệu đabiến tính toán thành các thành phần phụ cộng

 Nhiễu xạ không đẳng hướng: hay còn được gọi là khuếch tán Perona-Malik

Kỹ thuật này có tác dụng giảm nhiễu hình ảnh mà không loại bỏ các phầnquan trọng của hình ảnh

 Lọc tuyến tính Đây là một kỹ thuật xử lý hình ảnh kỹ thuật số dùng để chỉcác tín hiệu đầu vào biến đổi theo thời gian Đồng thời tạo ra các tín hiệu đầu

ra phụ thuộc vào ràng buộc của tuyến tính

 Mạng nơron: đây là các mô hình tính toán dùng để giải quyết các nhiệm vụkhác nhau

 Pixelation: kỹ thuật này dùng để chuyển hình ảnh đã in thành những hìnhảnh được số hóa (chẳng hạn như GIF)

2.2 Tổng quan về Yolov5

Trong vài năm trở lại đây, Object detection là một trong những đề tài rất hot củadeep learning bởi khả năng ứng dụng cao, dữ liệu dễ chuẩn bị và kết quả ứng dụng thìcực kì nhiều Các thuật toán mới của Object detection như YOLO, SSD có tốc độ khá

Ngày đăng: 06/11/2022, 21:19

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w