Nghiên cứu chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh TENSORFLOW TT

26 10 0
Nghiên cứu chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh TENSORFLOW TT

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - TRƯƠNG MINH ĐỨC NGHIÊN CỨU CHẾ TẠO THIẾT BỊ NHẬN DIỆN ĐỐI TƯỢNG ỨNG DỤNG THƯ VIỆN XỬ LÝ ẢNH TENSORFLOW Chuyên nghành kĩ thuật viễn thơng Mã số: 8.52.02.08 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI-2021 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: PGS.TS.ĐẶNG HOÀI BẮC Phản biện 1: TS Phạm Duy Phong Phản biện 2: PGS.TS Đỗ Quốc Trình Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thông Vào lúc: 9h Hà Nội, ngày 15 tháng 01 năm 2022 Có thể tìm hiểu luận văn tại: Thư viện Học viện Cơng nghệ Bưu Viễn Thông MỞ ĐẦU Thuật ngữ cách mạng công nghiệp lần thứ tư thức đặt móng hội chợ cơng nghệ Hannover thuộc Cộng hịa Liên bang Đức vào năm 2011, trải qua thập kỉ, khái niệm cách mạng công nghiệp lần thứ tư hay ngắn gọn cách mạng 4.0 khơng cịn vấn đề giới nghiên cứu đại phận người dân Cách mạng công nghiệp diễn mạnh mẽ khắp nơi giới, đặc biệt khu vực Châu Á Thái Bình Dương, Việt Nam quốc gia chịu ảnh hưởng trực tiếp Đặc trưng cách mạng công nghiệp trước ứng dụng kỹ thuật khác vào sản xuất Cuộc cách mạng Công nghiệp lần thứ dùng máy nước để khí hóa sản xuất Cách mạng lần thứ hai sử dụng điện phục vụ cho sản xuất hàng loạt Cách mạng lần thứ ba sử dụng điện tử công nghệ thông tin để tự động hóa sản xuất Vì lý học viên xin chọn đề tài luận văn tốt nghiệp "Nghiên cứu chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh tensorflow" Sau trình tìm hiểu nghiên cứu thực thử nghiệm định, học viên xây dựng luận văn với kết cấu gồm phần sau: Chương 1: Tổng quan học máy xử lý ảnh Chương 2: Xây dựng mơ hình hệ thống thiết bị nhận diện đối tượng công nghệ xử lý ảnh Chương 3: Thiết kế chế tạo thử nghiệm hệ thống Do hạn chế kiến thức thân thời gian nghiên cứu, luận văn khơng thể tránh khỏi điểm thiết xót Rất mong nhận đóng góp ý kiến Thầy Cơ giáo bạn Học viên quan tâm đến đề tài để luận văn hoàn thiện CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ ẢNH 1.1 Tổng quan học máy Mạng vạn vật kết nối- Internet of Things (IoT) hệ sinh thái vơ lớn, bao hàm nhiều mơ hình, nhiều thiết bị cách thức tiếp cận xây dựng đa dạng, tạo thành hệ sinh thái phức tạp Thiết kế hệ thống hay sản phẩm IoT phải đặt bối cảnh chung hệ sinh thái IoT đó, tương tự vậy, nhận dạng đối tượng công nghệ xử lý ảnh phần chuyên nghành thị giác máy tính, chuyên nghành phức tạp có mức độ liên thơng liên kết chặt chẽ 1.1.1Sự hình thành phát triển học máy Hiện định nghĩa học máy chưa rõ ràng cũ thể hiểu kỹ thuật giúp cho máy tính tự học mà không cần phải cài đặt luật định Thường chương trình máy tính cần quy tắc, luật lệ để thực thi tác vụ dán nhãn cho email thư rác nội dung email có chứa từ khố “quảng cáo” Ngay từ năm 1950, nhà bác học Alan Turning nghĩ đến việc xác định trí thơng minh máy tính so sánh với trí thơng minh người, ơng nghiên cứu tạo Phép thử Turning (Turing Test) xem máy tính có khả đánh lừa người kiểm tra người khơng Hình 1.1: Mơ hình phép thử Turning Trong 70 năm, lĩnh vực học máy nói riêng trí tuệ nhân tạo nói chung đạt nhiều bước ngoặt bật thu hút nhiều nhà khoa học giới quan tâm nghiên cứu Trí tuệ nhân tạo coi nhân tố lớn cách mạng công nghiệp lần thứ giới Nhân tố áp dụng rộng rãi nhiều lĩnh vực như: Nông nghiệp, công nghiệp, y tế, xã hội,… không dành cho nhà khoa học, tổ chức hay công ty lớn mà người áp dụng tốn gặp sống Hình 1.2: Xe tự lái Tesla model X Sự đời trí tuệ nhân tạo giúp tạo thay đổi lớn lĩnh vực giáo dục Các hoạt động giáo dục chấm điểm hay dạy kèm học sinh tự động hóa nhờ cơng nghệ AI Nhiều trị chơi, phần mềm giáo dục đời đáp ứng nhu cầu cụ thể học sinh, giúp học sinh cải thiện tình hình học tập theo tốc độ riêng 1.2 Các mơ hình học máy học sâu Mơ hình học máy biểu thuật toán quét qua hàng núi liệu để tìm mẫu hình đưa dự đốn Được cung cấp liệu, mơ hình học máy “động cơ” tốn học trí tuệ nhân tạo Về bản, mơ hình biểu diễn tốn học đối tượng mối quan hệ chúng với Các đối tượng thứ gì, từ “lượt thích” đăng mạng xã hội phân tử thí nghiệm phịng lab 1.2.1 Mơ hình học có giám sát Supervised learing hay học có giám sát thuật toán dự đoán đầu (outcome) liệu (new input) dựa cặp (input, outcome) biết từ trước Cặp liệu gọi (data, label) liệu, nhãn Thuật toán học có giám sát nhóm thuật tốn phổ biến sử dụng học máy trí tuệ nhân tạo nói chung Có thể hiểu mức khái niệm có nhóm tập hợp biến đầu vào X = { x1, x2,…, xN } tập hợp nhãn tương ứng Y = { y1, y2,…, yN } xi, yi vector Các cặp liệu xi, yi ∈ X∗ Y gọi tập huấn luyện (trainning data) Từ tập huấn luyện này, mơ hình cần tìm hàm ánh xạ từ giá trị tập X sang tập Y Với mục tiêu tìm hàm xấy xỉ ƒ tốt để có tập giá trị x hàm ƒcó thể tính tốn nhãn cách tương ứng hàm xây dựng từ tập mẫu ban đầu Thuật tốn học có giám sát chia làm hai loại phân loại (Classification) hồi quy (Regression) Phân loại (Classification): toán gọi phân loại nhãn liệu đầu vào chia thành số hữu hạn nhóm theo nhãn Cơng việc phân loại tiến hành mơ hình học máy tiến hành học dựa vào tập liệu có sẵn từ sau đưa liệu mới, cho liệu loại nhãn khai báo tập liệu mẫu ngồi cho biết phần từ không nằm số nhãn Nếu có nhiều loại khác chưa nằm danh sách tập mẫu chương trình học tất loại nằm chung nhóm nhãn khơng nằm danh sách nhãn đưa vào để huấn luyện Trong thực tế, ngân hàng sử dụng để phân loại khách hàng Các bệnh viện ứng dụng để phân loại bệnh nhân, công ty bảo hiểm dùng việc phân loại thân chủ Hồi quy (Regression): Ở toán phân loại có danh sách nhãn định nghĩa sẵn mơ hình có nhiệm vụ đầu vào nhãn học khơng phải 1.2.2 Mơ hình học khơng giám sát Unsupervised Learning hay tốn học khơng giám sát thường sử dụng tập liệu mà biết trước nhãn đầu tập lớp liệu lớn thu thập trước đó, khơng phải tất liệu thu thập thực tế có giá trị nhãn xác định mà có tập liệu đầu vào Thuật tốn học khơng giám sát lúc chủ yếu dựa vào cấu trúc tập liệu để thực cơng việc phân nhóm giảm chiều liệu để làm gọn tập liệu thuận tiện cho việc lưu trữ tính tốn sau Các toán Unsupervised learning tiếp tục chia nhỏ thành hai loại là: Phân nhóm giảm chiều liệu 1.2.3 Mơ hình học bám giám sát Học bán giám sát (Semi-Supervised Learning) xuất phát từ thực tế có tốn có tập liệu mà phần lượng lớn liệu đính nhãn đầu Bài toán toán nằm tốn học có giám sát học khơng có giám sát Vì lý chi phí lượng liệu thu thập lớn nên việc đính nhãn cho tất tập mẫu khó khăn chưa kể đến trường hợp việc đánh nhãn liệu cần sử dụng đến chuyên gia nhiều phép đo đạc Vì vậy, cách thực học bán giám sát cách thức thực thường xuyên toán thực tế Một số thuật toán thường sử dụng phương pháp học bán giám sát bao gồm: Thuật toán cực đại kỳ vọng (EM - Expectation Maximization) SVM truyền dẫn TSVM - (Transductive Support Vector Machine) Self-training Co-training Các phương pháp dựa đồ thị 1.2.4 Học củng cố Học củng cố (Reinforcement Learning) toán giúp cho hệ thống tự động xác định hành vi dựa hồn cảnh để đạt lợi ích cao Hiện tại, học củng cố chủ yếu áp dụng vào Lý Thuyết Trị Chơi (Game Theory), thuật tốn cần xác định nước để đạt điểm số cao Lý thuyết trò chơi cách tiếp cận để hiểu phân tích hành vi hay định cá nhân nhóm cá nhân tình mâu thuẫn 1.3 Thuật toán phổ biến học máy Thuật ngữ “học” Machine Learning thực chất cơng việc tối thiểu hóa giá trị hàm mát Giá trị hàm thường tổng lỗi giá trị hàm thực giá trị thực tế mà hàm học đáp ứng Mức độ sai số hàm mát thông số để đánh giá mức độ khớp trình học tập liệu đầu vào Hiện nay, có số thuật tốn thường áp dụng để tối ưu hóa hàm mát như: Gradient Descent, Phương pháp Newton, Gradient kết hợp, Phương pháp Quasi-Newton, Thuật tốn Levenberg-Marquardt,…Phần trình bày giới thiệu thuật tốn thơng dụng 1.3.1 Phương pháp Newton 1.3.2 Phương pháp Quasi-Newton Phương pháp Newton có khả tìm tham số tối ưu với tốc độ nhanh nhiên phương pháp đánh giá “đắt” yêu cầu số ính tốn lớn q trình tính tốn ma trận Hessian ma trận đảo Từ ưu nhược điểm phương pháp khác có tên Quasi-Newton thiết kế để giải hạn chế phương pháp Newton Phương án tận dụng khả tính tốn nhan phương pháp Newton tránh việc tính tốn ma trận Hessian cách sử dụng phương án tính xấp xỉ ma trận Hessian nghịch đảo Thơng số tính tốn cách sử dụng thông số hàm đạo hàm bậc hàm mát Ý tưởng phương án tính xấp ma trận Hessian nghịch đảo ma trận khác có tên G Cơng thức tính tốn phương án có thay đổi so với phương pháp Newton sau: wi+1 = wi –(Gigi)𝜂 i Trong ma trận G tính theo hai phương án phổ biến sau: Davidon–Fletcher–Powell (DFP) Broyden–Fletcher–Goldfarb–Shanno (BFGS) Thuật toán sử dụng nhiều trường hợp khả tính tốn thiện so với phương pháp Newton tốc độ hội tụ nhanh nhiều so với Gradient Desent Gradient kết hợp 1.3.3 Thuật toán Gradient Descent Đây thuật toán coi thuật toán huấn luyện Machine Learning Giả sử bắt đầu điểm w0 sau tiến hành lặp để tìm điểm wi thông số mà mong muốn đáp ứng Mỗi bước di chuyển từ wi đến wi+1 theo chiều di = −gi Vì vậy, để tiến hành tiến hành lặp theo chuỗi công thức sau: wi+1 = wi −gi 𝜂 i Hệ số 𝜂 coi tỉ lệ học Ở phương pháp Gradient Descent giá trị thường giá trị cố định trình huấn luyện Quá trình lặp lại tìm thông số mà người huấn luyện đặt từ trước mạng vượt giới hạn cho thấy hội tụ Việc tối ưu vector tham số chia làm bước sau: Tính tốn giá trị chiều sai số thông số Hiệu chỉnh thơng số phương trình Thuật tốn Gradient Descent phương pháp thuật tốn huấn luyện cịn nhiều nhược điểm yêu cầu nhiều bước lặp để tìm điểm nghiệm thỏa mãn thơng số mong muốn thuật toán hỗ trợ tối thiểu hàm mát nhanh nhiên trình tìm kiếm đường ngắn mà thường đường zigzac gây tốn thời gian 1.3.4 Thuật toán Gradient kết hợp Thuật toán Gradient kết hợp coi thuật toán kết hợp Gradient Desent thuật toán Newton Phương pháp xây dựng với mục tiêu khắc phục hội tụ chậm phương pháp Gradient Desent giảm bớt phức tạp tính tốn lưu trữ nhớ phương pháp Newton Giả sử d vector huấn luyện, tiến hành bắt đầu huấn luyện với vector thông số w0 khởi tạo vector huấn luyện theo công thức: di = −gi Phương pháp gradient kết hợp tiến hành dựa vào phương trình lặp sau: di +1= gi+1 + di𝛾i Với 𝛾i gọi thông số kết hợp Thông số có nhiều cách tính có hai cách phổ biến phương pháp Fletcher, Reeves Polak, Ribiere Sau tính tốn thơng số vector huấn luyện tiến hành cập nhật giá trị tham số theo công thức sau: wi+1 = wi +di 𝜂 i Phương pháp đánh giá có hiệu huấn luyện tốt phương pháp Gradient Desent phương pháp khơng u cầu tính tốn ma trận Hessian thường khuyến nghị dùng mạng neural có số tham số lớn 1.3.5 Thuật toán Levenberg-Marquardt Thuật toán Levenberg-Marquardt thuật toán thiết kế hoạt động dành riêng cho hàm mát xây dựng tảng tổng bình phương sai số Thuật toán hoạt động dựa tảng vector gradient ma trận Jacobian với hàm mát xây dựng sau: ƒ = ∑ 𝑒𝑖2 Trong ma trận Jacobian định nghĩa sau: Ji,j ƒ(w) = dei dwj (i=1,…,m; j =1,…,n) Với m số tập mẫu n số phần tử mạng neural Vì ma trận Jacobian có kích thước m.n Vector gradient hàm mát tính tốn tảng cơng thức sau: ∇ƒ = 2.JTe Sau tính tốn thơng số tiến hành tối ưu thơng số mạng theo công thức sau: wi+1 = wi −(JTJi + λI )-1.(2JiTei) Với hệ số λ phương pháp trở thành phương pháp Newton với ma trận Hessian tính xấp xỉ, với hệ số λ lớn phương pháp lại trở thành phương pháp Gradient Desent với tỉ lệ học chậm 1.4 Thư viện TensorFlow 1.4.1 Tổng quan thư viện TensorFlow TensorFlow thư viện phần mềm mã nguồn mở dành cho máy học nhiều loại hình tác vụ nhận thức hiểu ngôn ngữ Tensorflow sử dụng cho nghiên cứu lẫn sản xuất 50 đội khác nhiều sản phẩm thương mại Google, nhận dạng giọng nói, Gmail, Google Photos, tìm kiếm, nhiều số sử dụng chương trình tiền nhiệm DistBelief TensorFlow phát triển đội Google Brain cho mục đích nghiên cứu sản xuất Google sau phát hành theo giấy phép mã nguồn mở Apache 2.0 vào ngày 9/11/2015 Vào tháng 5/2016, Google công bố ASIC tùy chỉnh họ xây dựng đặc biệt cho máy học dành riêng cho TensorFlow Họ tiết lộ họ vận hành TPU bên Trung tâm liệu họ năm, tìm cách để tạo hiệu suất watt tối ưu hóa tốt theo hàm mũ 10 dành cho máy học TPU máy tăng tốc AI lập trình tập trung vào số lượng lớn 1.4.2 Đặc điểm TensorFlow Node: Tensorflow mơ tả lại dịng chảy liệu thơng qua graph nên điểm giao cắt graph gọi Node Vì Node điểm đại diện cho việc thay đổi liệu nên việc lưu trữ lại tham chiếu Node quan trọng 10 CHƯƠNG 2: XÂY DỰNG MÔ HÌNH HỆ THỐNG NHẬN DIỆN ĐỐI TƯỢNG BẰNG CƠNG NGHỆ XỬ LÝ ẢNH 2.1 Bài toán xử lý ảnh học máy Bài tốn nhận diện hình ảnh toán phù hợp với nghiên cứu học máy giai đoạn đầu, mơ hình mạng neural tích chập tảng (Convolution Neural Network-CNN) Vấn đề đặt việc hiểu kiến thức chung học máy, kiến thức trình nghiên cứu tìm hiểu mạng CNN mơ hình mạng neural truyền thống từ phát triển nghiên cứu tiếp tục mạng CNN Đây tiền đề quan trọng xử lý ảnh thư viện TensorFlow sau Bài toán xây dựng hệ thống điều khiển xe tự lái mà công nghệ xử lý ảnh then chốt phát triển nhiều nước như: Mỹ, Nhật, Châu Âu,… doanh nghiệp công nghệ lớn Tesla, Google, IBM, Nvidia, Uber,… 2.1.1 Mạng Neural truyền thống Mạng Neural truyền thống hay (MLP – Multilayer Perceptron) chuỗi thuật tốn đưa để tìm kiếm mối quan hệ tập hợp liệu Thông qua việc bắt bước cách thức hoạt động từ não người Nói cách khác, mạng nơ ron nhân tạo xem hệ thống tế bào thần kinh nhân tạo có khả thích ứng với thay đổi từ đầu vào Hình 2.1: Kiến trúc mạng Neural Mạng Neural kết hợp tầng perceptron hay gọi perceptron đa tầng Và mạng Neural thường bao gồm kiểu tầng là: Tầng input layer (tầng vào): Tầng nằm bên trái mạng, thể cho đầu vào mạng 11 Tầng output layer (tầng ra): Là tầng bên phải thể cho đầu mạng Tầng hidden layer (tầng ẩn): Tầng nằm tầng vào tầng thể cho q trình suy luận logic mạng Mỗi Neural có tầng vào tầng lại có nhiều tầng ẩn Hình 2.2: Dữ liệu tốn phân loại Ở ví dụ thấy sử dụng đường thẳng để phân chia hai loại liệu mà đường cần để chia hai phía tập liệu đường cong có hình dạng phức tạp (Đường màu xanh cây) Như hình vẽ cho thấy phương trình đường phân tách hai miền hàm có bậc cao Ở tốn có đặc tính là: x1, x2 nên tăng bậc cần thêm thành phần theo công thức: x1m, x2n 2.1.2 Mạng neural tích chập (CNN – Convolution Neural Network) Trong năm đầu kỷ 21, thuật ngữ Deep Learning nhắc đến nhiều giúp giải nhiều toán mà phần lớn số sử dụng mạng neural tích chập (CNN) Mạng CNN giúp phân loại hình ảnh chí cịn giải nhiều tốn khó nhận diện người, chèn lời bình cho ảnh… Một ví dụ nhận diện kí tự “X” “O” Nhiệm vụ xây dựng mạng CNN có nhiệm vụ đưa vào ảnh mạng có vai trị đưa phán đốn “X” hay “O” với điều kiện chắn hình ảnh đưa vào loại Một cách tiếp cận đơn giản thực lưu ảnh “X” “O” sau so sánh ảnh ảnh lưu trữ sẵn để đưa kết luận Vấn đề đặt người, thời điểm có cách viết ký tự khác mà khơng hồn tồn giống chí trường hợp cịn thực không dễ nhận mắt thường trước có kết “X” “O” Vì việc thực phương án lưu trữ ảnh có sẵn khơng khả thi 12 với trường hợp kích thước ảnh lớn, ảnh màu cần tiến hành tịnh tiến, xoay xóa bớt vài điểm ảnh ảnh trở thành hoàn toàn khác so với ảnh lưu trữ máy Khi xem hình ảnh mới, CNN khơng biết xác nơi đặc tính khớp nên thử chúng khắp nơi Khi tính tốn khớp đặc tính toàn ảnh, làm thành lọc (filter) Phần toán ta sử dụng để làm điều gọi tích chập Chúng ta tiến hành di chuyển lọc qua khu vực của ảnh gốc sau thay giá trị ảnh cũ giá trị hình thành từ kết phép tính chập Hợp cơng cụ hỗ trợ làm co hình ảnh lại nhỏ mà giữ nguyên thông tin quan trọng ảnh Hợp sử dụng mặt nạ ma trận vng có kích thước n*n duyệt qua tất ô ma trận ảnh từ tìm điểm có giá trị lớn lấy giá trị trung bình tất điểm thay cho cụm ma trận có kích thước n*n ảnh Trong hai hình thức lấy trung bình lấy giá trị lớn mặt nạ phương pháp lấy giá trị lớn (Gọi Max pooling) cho thấy tính hiệu tốt Hiện nay, mơ hình thường sử dụng thường ma trận có kích thước 2x2 3x3 để làm ma trận mặt nạ kích thước ảnh huấn luyện thường nhỏ ma trận mặt nạ q lớn gây mát thơng tin ảnh Sau hợp nhất, hình ảnh đầu có kích thước phần tư phần chin số điểm ảnh so với lúc bắt đầu Vì giữ giá trị lớn từ cửa sổ, bảo tồn tính khớp đặc tính bên cửa sổ Nghĩa khơng quan tâm q nhiều vị trí xác nơi đặc tính khớp, miễn khớp chỗ cửa sổ Kết CNN tìm xem liệu đặc tính có nằm hình ảnh mà khơng cần lo nằm đâu Một lớp hợp thực hợp hình ảnh tập hình ảnh Đầu có số lượng hình ảnh, đầu có điểm ảnh Điều hữu ích việc giảm tải tính tốn lớp mạng phía sau thay tính tốn kích thước ảnh gốc Lớp kết nối đầy đủ công cụ quan trọng CNN thực lấy hình ảnh lọc cấp trước tiến hành chuyển thành phiếu bầu Trong trường hợp ví dụ phiếu bầu dành cho “X” hay “O” Thay coi đầu vào mảng hai chiều, lớp coi ảnh danh sách đơn 13 tất xử lý giống Mỗi giá trị bỏ phiếu riêng bầu cho hình ảnh “X” hay “O” Tuy nhiên, q trình khơng hồn tồn dân chủ Một số giá trị cho biết hình ảnh X tốt nhiều so với giá trị khác, số lại đặc biệt tốt cho biết hình ảnh O Chúng có giá trị bỏ phiếu lớn so với khác Chúng thể trọng số, mức độ kết nối, giá trị loại Khi hình ảnh đưa vào CNN, thay đổi qua lớp thấp cuối đạt đến lớp kết nối đầy đủ Sau đó, bầu chọn tổ chức Câu trả lời có nhiều phiếu thắng tuyên bố thuộc loại (“X” hay “O”) Chú ý lớp kết nối đầy đủ thường lớp cuối mạng CNN Trong ví dụ X O liên quan đến hình ảnh, CNN cịn sử dụng để phân loại loại liệu khác Với cách thức loại liệu nào, biến đổi để làm cho trơng giống hình ảnh Ví dụ tín hiệu âm cắt nhỏ thành khối thời gian ngắn, sau đoạn chia thành âm trầm, âm trung, âm cao, dải tần số tốt Cái biểu diễn mảng hai chiều cột đoạn thời gian hàng băng tần Các CNN hoạt động tốt với liệu kiểu Các nhà nghiên cứu dùng liệu văn để xử lý ngơn ngữ tự nhiên liệu hóa chất để phát ma túy Chú ý có ngun tắc là: Nếu liệu hữu ích sau tráo cột với nhau, khơng nên sử dụng CNN 2.2 Máy tính nhúng xử lý ảnh 2.2.1 Một số máy tính nhúng máy tính nhúng thiết bị, hệ thống thiết kế để phục vụ cho yêu cầu, toán, ứng dụng, chức định ứng dụng nhiều lĩnh vực công nghiệp, tự động hóa điều khiển, quan trắc truyền tin Ưu điểm máy tính nhúng là: - Chi phí thấp: Do máy tính nhúng thường nhỏ nhiều so với máy tính có đa dụng khơng cần phải mua hình, bàn phím, chuột phí cho hệ thống máy tính đa dụng - Kích thước nhỏ giúp triển khai máy tính nhúng số lượng lớn địa điểm từ xa cách dễ dàng Đặc điểm máy tính nhúng: 14 Tính linh hoạt máy tính nhúng có khả kết nối với nhiều loại giao thức khác như: Serial (SCI): RS-232, RS-422, RS-485 giao thức serial tiêu chuẩn cho ứng dụng công nghiệp Bus Serial đa (USB): Mặc dù RS-232/422/485 tiêu chuẩn cho ứng dụng công nghiệp, nhiên USB bắt đầu xâm nhập thị trường Kết nối mạng: Ethernet phổ biến môi trường văn phòng nhà ở, sử dụng ngày nhiều hệ thống công nghiệp Ngồi ra, số ứng dụng cơng nghiệp sử dụng giao thức CAN IO rời rạc: Các hệ thống điều khiển diện rộng ứng dụng rộng rãi công nghệ General Purpose Input/Output (GPIO) Chuyển từ Analog sang Digital/Digital sang Analog (ADC/DAC): Khả chuyển đổi tín hiệu analog sang tín hiệu số ngược lại yêu cầu nhiều ứng dụng công nghiệp Giao thức truyền thông không dây: Các ứng dụng công nghiệp hệ thống khó kết nối dây phù hợp với việc sử dụng kết nối không dây để truyền liệu qua mạng Máy tính nhúng hoạt động mơi trường khắc nghiệt: Trái ngược với mơi trường văn phịng an tồn, nhiệt độ ổn định, ứng dụng mơi trường khắc nghiệt cần đến thiết bị có thiết kế cứng vững Máy tính nhúng cần đến vỏ bọc kim loại chắn nhỏ gọn, sử dụng cáp không sử dụng phận chuyển động ổ cứng quạt làm mát Đặc biệt, ổ cứng thường bị xước hỏng làm cho việc sử dụng nhớ flash trở thành lựa chọn lí tưởng Bên cạnh đó, khả chống rung sốc nâng cao độ ổn định hệ thống sử dụng xe bus, tàu hỏa, xe tải vật thể chuyển động Thiết kế dải nhiệt độ rộng: Đây nhân tố quan trọng ứng dụng trường khắc nghiệt, trời, nhiệt độ dao động từ thấp -35°C đến cao +70°C Bảo vệ cách ly: Thiết bị điện tử hưởng lợi từ việc sử dụng công nghệ cách li quang học để bảo vệ vòng tiếp đất tác nhân gây nhiễu điện khác Công cụ cách li 15 hoạt động cách chuyển đổi tín hiệu điện sang ánh sáng, tín hiệu mà truyền qua khe hở nhỏ thiết bị điện tử Khi tín hiệu ánh sáng đến mặt bên khe hở, chuyển đổi trở lại thành tín hiệu điện Khe hở tạo mạch điện tử thường đặt truyền nhận Thân thiện với người sử dụng: Đối với vấn đề thời gian tung thị trường, máy tính nhúng cần nhiều hộp ổ cứng cần cài đặt cấu hình mở rộng STT Loại Đặc điểm Đã đời cách năm vào tháng năm 2012 Phát triển Raspberry Pi Foundation với mục đích hỗ trợ nghiên cứu khoa học máy tính trường học nước phát triển Theo thời gian, dần trở nên phổ thơng hơn( giá rẻ) tham gia nghiên cứu ngày nhiều người giới, không Raspberry Pi người làm ngành tin học hay máy tính Raspberry Pi trở thành bo mạch máy tính nhúng phổ thơng tên Pi gần đặt cho bo mạch máy tính nhúng sau Hiện mắt đến phiên thứ tư với trước trở thành phiên mạnh mẽ thời điểm với lựa chọn : 2GB, 4GB, 8GB LPDDR4 SDRAM máy tính nhúng nhỏ - gọn (8.8x7.0 cm) cài đặt sử dụng Windows 10 PC thông thường, Đây dòng Single Board Computer tương tự Raspberry Pi Được thiết kế với ưu điểm vượt Latta Panda trội sử dụng hệ điều hành Window 10 Trong nhớ LattePanda cài đặt sẵn phiên đầy đủ Windows 10 Home Edition, bạn hồn tồn cài đặt sử dụng công cụ : Visual Studio, NodeJS, Java, Processing, Với API đa 16 dạng có nhiều tài liệu hướng dẫn Internet , bạn phát triển dự án phần cứng , phần mềm LattePanda bạn thực PC thông thường : C, C++, Python, C#, Javascript, Ruby… Là Single Board Compute (SBC) với System on-Module(SOM) tháo rời chứa nhớ eMMC, SOC, Wireless radios Edge TPU Google Đây máy tính nhúng hồn hảo cho thiết bị IoT hệ thống nhúng yêu cầu suy luận Machine Learning Coral Dev thiết bị cách nhanh chóng SOM dựa System- Board on-Chip (SOC) đặc biệt sức mạnh độc đáo đến từ đồng xử lý Edge TPU Edge TPU ASIC nhỏ thiết kế Google cung cấp khả suy luật Machine Learning hiệu suất cao với mức tiêu thụ lượng thấp Nó thực Model Mobile Vision MobileNet v2 với 100+ FP Bảng 2.1: So sánh ba loại máy tính nhúng phổ biến 2.2.2 Cài đặt thư viện TensorFlow Raspberry Pi Để kiểm thử trước chế tạo thiết bị nhận diện đối tượng xử dụng công cụ máy tính nhúng thư viện TensorFlow, có nhiều lựa chọn cho máy tính nhúng, cơng cụ phổ biến với chi phí thấp cộng đồng người dùng lớn mạnh Raspberry Pi Máy tính nhúng chạy mơi trường Linux cách dễ để cài đặt TensorFlow Linux sử dụng pip, trình quản lý gói Python 17 Hình 2.3: Trình cài đặt gói TensorFlow trang chủ Tiến hành chạy lệnh sau môi trường cửa sổ lệnh Raspberry Pi để kiểm tra phiên phần mềm liên quan python3 version pip3 version virtualenv version Nếu khơng có sẵn phiên ta cần tiến hành cài đặt sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install -U virtualenv Tiến hành cập nhật gói Pip: pip3 install upgrade pip Chạy lệnh sau để cài đặt TensorFlow thư mục chính: pip3 install user upgrade tensorflow Cài đặt phiên hỗ trợ GPU sử dụng driver Nvidia, thay vào đó, chạy lệnh sau: pip3 install user upgrade tensorflow-gpu Kiểm tra trình cài đặt lệnh sau: python3 -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))" 2.3 Mơ hình hệ thống thiết bị nhận diện đối tượng 2.3.1 Thuật toán Gradient Descent Trong Machine Learning nói riêng tốn tối ưu nói chung, thường xun phải tìm giá trị nhỏ (hoặc lớn nhất) hàm số Với Machine Learning thường xun cần tìm giá trị tối thiểu hàm mát để thu thông số tối ưu Tuy nhiên, hầu hết trường hợp, việc giải phương trình đạo hàm bất khả thi Nguyên nhân đến từ phức tạp dạng đạo hàm, từ việc điểm liệu có số chiều lớn, từ việc có nhiều điểm liệu nhiều biến liệu thường xuất chương trính có nhiều tham số 18 Machine Learning Hướng tiếp cận phổ biến xuất phát từ điểm mà coi gần với nghiệm tốn, sau dùng phép tốn lặp để tiến dần đến điểm cần tìm, tức đến đạo hàm gần với Gradient Descent (GD) biến thể phương pháp dùng nhiều 2.3.2 Gradient Descent ngôn ngữ Python 2.3.3 Biến thể Gradient Descent 2.4 Kết luận Chương luận văn học viên trình bày tốn xử lý ảnh học máy nói chung, nhấn mạnh vào việc áp dụng mạng nơ-ron tích chập giới thiệu biến thể thuật toán Gradient Descent xây dựng mơ hình hệ thống xử lý ảnh thuật tốn này, đồng thời học viên trình bày máy tính nhúng phổ biến phục vụ xử lý ảnh cách thức cài đặt thư viện xử lý ảnh TensorFlow lên môi trường Rasberry Pi 19 CHƯƠNG 3: THIẾT KẾ CHẾ TẠO THỬ NGHIỆM HỆ THỐNG 3.1 Thiết kế hệ thống Mơ hình thiết kế hệ thống triển khai thực thiết kế thành phần hệ thống với cơng việc chính: Xây dựng mơ hình thiết kế, thiết kế phần cứng, lập trình phần mềm hệ thống với sở mạng CNN trình bày chương trước phối hợp với mơi trường python cài đặt Raspberry Pi Hình 3.1: mơ hình hệ thống nhận diện đối tượng ứng dụng thư viện TensorFlow 3.1.1 Lựa chọn thiết bị a) Camera Hình 3.2: Camera xử lý ảnh b) Máy tính nhúng Raspberry Pi 20 Hình 3.2: Máy tính nhúng Raspberry Pi sử dụng cho đề tài c) Màn hình hiển thị Học viên sử dụng hình độ phân giải 1024 × 600, kết nối HDMI, IPS siêu sáng, tiêu thụ điện thấp Màn hình hỗ trợ chuẩn sau:  Hỗ trợ Raspbian, cảm ứng điểm, không cần cài driver  Hỗ trợ Ubuntu / Kali / WIN10 IoT, cảm ứng đơn điểm, không cần cài driver  Hỗ trợ Retropie, không cần cài driver  Tương thích phiên Raspberry Pi Hình 3.3: Kết nối hình HDMI inch Raspberry Pi Để hình chạy ổn định sau kết nối cần tiến hành thực Config cho hình: max_usb_current=1 hdmi_group=2 hdmi_mode=1 hdmi_mode=87 hdmi_cvt 1024 600 60 0 21 3.2Thiết lập phần mềm hệ thống 3.2.1 Thiết lập Python Ngôn ngữ Python ngơn ngữ lập trình bậc cao phổ biến lập trình viên sử dụng nhiều lĩnh vực Python có khả chạy nhiều tảng có cấu trúc chương trình đơn giản, kiến trúc dễ đọc hiểu Ở lĩnh vực nghiên cứu ứng dụng Machine Learning đa số thư viện hỗ trợ lập trình ngơn ngữ lập trình Python khả thiết kế nhanh, cấp phát nhớ linh động phù hợp với chương trình sử dụng nhớ yêu cầu linh hoạt chương trình Machine Learning Sau tiến hành nghiên cứu mạng chọn mơ hình mạng phù hợp người thiết kế tiến hành tối ưu tốc độ đáp ứng cách sử dụng ngôn ngữ bậc thấp sử dụng cách tối ưu tính tốn hệ thống phần cứng thông qua ngôn ngữ mô tả phần cứng VHDL Tuy nhiên, việc thiết kế theo hướng phức tạp, không phù hợp với giai đoạn nghiên cứu, tiến hành thử nghiệm Lựa chọn Python làm cơng cụ để thiết kế phần mềm thực mô phỏng, huấn luyện thử nghiệm mô hình mạng xây dựng Ngơn ngữ cho phép người lập trình thay đổi phiên kiến trúc mạng cách nhanh chóng để tập trung thời gian vào thử nghiệm, đánh giá hệ thống $sudo apt-get install build-essential checkinstall $sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tkdev libgdbm-dev libc6-dev libbz2-dev Hình 3.4: Cài đặt thành cơng Python 3.2.2 Thiết lập TensorFlow Thư viện Tensorflow thư viện Google tạo với mục đích hỗ trợ người dùng nghiên cứu thiết kế chương trình Machine Learning Như trình bày trên, số lượng người dùng thư viện nhiều số lượng nghiên cứu, sản phẩm tạo từ Tensorflow phát triển với tốc độ nhanh Với toán học máy, số lượng phép tính ma trận, vector lớn Việc cải thiện tốc độ tính tốn ma trận làm tăng tốc độ xử lý chương trình lên 22 nhiều Thư viện Tensorflow hỗ trợ tính tốn phép toán ma trận tốt sở phương pháp tính tốn ma trận tối ưu từ nhà tốn học Ngồi phép tính tốn ma trận, vector Tensorflow tích hợp nhiều phép huấn luyện phổ biến nghiên cứu công bố thời gian gần Với thuật tốn tối ưu phức tạp để hiểu thực lập trình để tạo hàm huấn luyện lấy nhiều thời gian nhà nghiên cứu lập trình viên, tính Tensorflow giúp cho người sử dụng tiết kiệm nhiều thời gian Để thiết lập TensorFlow cần cập nhật Raspberry Pi để tránh bị xung đột cài tiến hành phân giải gói cài đặt TensorFlow Để cài đặt gói này, chạy lệnh sau terminal: sudo apt update sudo apt install python3-dev python3-pip python3-venv Điều hướng đến thư mục muốn lưu trữ môi trường ảo Python 3.0 tiến hành thiết lập: mkdir tensorflow_files cd tensorflow_files Khi bên thư mục Để tạo môi trường ảo, chạy lệnh sau: python3 -m venv virtualenv Lệnh tạo thư mục có tên virtualenv Nó chứa tệp nhị phân Python, trình quản lý gói PIP, thư viện Python tiêu chuẩn tệp hỗ trợ khác Tiến hành kích hoạt mơi trường ảo: source virtualenv/bin/activate Sau kích hoạt mơi trường, thư mục bin môi trường ảo thêm vào đầu biến $PATH, hiển thị tên mơi trường ảo sử dụng, tức virtualenv Cập nhật gói PIP trước cài đặt: pip install –upgrade pip Tiến hành cài đặt TensorFlow: pip install — upgrade TensorFlow 3.2.3 Thư viện Numpy 23 Numpy thư viện tảng sử dụng cho tính tốn số học sử dụng cho ngơn ngữ lập trình Python Nó bao gồm: Mảng N-chiều mạnh mẽ Các hàm tối ưu tinh vi Thư viện tích hợp cho ngơn ngữ C/C++ Fortan Hữu ích tính tốn đại số tuyến tính, biến đổi Fourier, tạo chuỗi số ngẫu nhiên 3.2.4 Thư viện OpenCV OpenCV (OpenSource Computer Vision) thư viện mã nguồn mở OpenCV phát hành theo giấy phép BSD, hồn tồn miễn phí cho học thuật thương mại OpenCV có nterface C++, C, Python, Java hỗ trợ Windows, Linux, Mac OS, iOS Android OpenCV thiết kế để tính tốn hiệu với tập trung nhiều vào ứng dụng thời gian thực Được viết tối ưu hóa C/C++, thư viện tận dụng lợi xử lý đa lõi 3.3 Lập trình đánh giá hệ thống 3.3.1 Lập trình hệ thống Sau nghiên cứu sử dụng công cụ học viên xây dựng chương trình thử nghiệm tiến hành huấn luyện vớp tập mẫu xây dựng (Chương trình chi tiết đính kèm phụ lục) 3.3.2 Đánh giá hệ thống Dựa vào kết cho thấy tổng thời gian huấn luyện cho mạng chiếm khoảng 77 phút cho lần huấn luyện tập liệu 39.029 ảnh duyệt lại 50 lần liên tiếp (1.951.450 ảnh huấn luyện) thu độ khớp với tập huấn luyện 98,54% (Tỉ lệ xác huấn luyện) lấy mơ hình thử nghiệm với tập mẫu thử độ xác 92,6% Sau tiến hành huấn luyện, chương trình thử nghiệm học viên tiến hành xây dựng thêm hàm tính tốn thời gian xử lý ảnh đầu vào định Kết cho thấy thời gian trung bình kể từ đưa ảnh vào đến đạt dự đoán đầu 0.252 giây 3.4Kết luận Chương cuối luận văn trình bày trình xây dựng phần mềm thử nghiệm, trình huấn luyện đánh giá khả hoạt động mạng Kết cho thấy mạng thiết kế có kiến trúc khơng phức tạp cho kết đáp 24 ứng với độ xác tương đối cao Kết cho thấy mơ hình hoạt động tốt nhiên cần có điều chỉnh triển khai nghiên cứu thêm để nâng cao độ xác tốc độ đáp ứng mạng phục vụ cho nghiên cứu tác giả KẾT LUẬN Dưới hướng dẫn người hướng dẫn khoa học với tập trung nghiên cứu thân, sau trình tìm hiểu, nghiên cứu, xây dựng giải toán đặt luận văn học viên hoàn thiện nội dung luận văn đáp ứng yêu cầu nội dung đặt theo đề cương xây dựng Về kiến thức kết thực tế học viên tiếp thu ứng dụng kiến thức vấn đề sau: Có hiểu biết tổng quan xử lý ảnh thuật tốn xử lý ảnh nói chung mạng tích chập nói riêng Xây dựng thành cơng thiết bị nhận diện đối tượng máy tính nhúng Raspberry Pi Về định hướng nghiên cứu tiếp theo, học viên dự kiến thực công việc sau: Tiếp tục nghiên cứu vấn đề nhận diện đối tượng ngữ cảnh sử dụng kiến trúc mạng RCNN phát triển từ kiến trúc mạng CNN để thử nghiệm nhận diện biển báo giao thông camera điều kiện thực tế từ đưa định hướng nghiên cứu cho thân Cuối cùng, học viên xin chân thành cảm ơn Thầy, Cô bạn Học viên quan tâm đến vấn đề trình bày luận văn ... sử dụng điện tử cơng nghệ thơng tin để tự động hóa sản xuất Vì lý học viên xin chọn đề tài luận văn tốt nghiệp "Nghiên cứu chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh tensorflow" ... tính nhúng phổ biến 2.2.2 Cài đặt thư viện TensorFlow Raspberry Pi Để kiểm thử trước chế tạo thiết bị nhận diện đối tượng xử dụng cơng cụ máy tính nhúng thư viện TensorFlow, có nhiều lựa chọn cho... công thiết bị nhận diện đối tượng máy tính nhúng Raspberry Pi Về định hướng nghiên cứu tiếp theo, học viên dự kiến thực công việc sau: Tiếp tục nghiên cứu vấn đề nhận diện đối tượng ngữ cảnh sử dụng

Ngày đăng: 15/04/2022, 11:04