CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI Giới thiệu sơ lược về thị giác máy tính, tập trung ở lĩnh vực phân lớp trong nhận dạng mẫu, tìm hiểu tình hình phát triển của phân lớp trong nhận dạng mẫu trong và ngoài nước, từ đó thấy được tính cấp thiết của đề tài. 7 CHƯƠNG 2: CÁC PHƯƠNG PHÁP SỬ DỤNG PHÂN LỚP TRONG NHẬN DẠNG MẪU Giới thiệu tổng quan lý thuyết về các phương pháp, xây dựng bộ cơ sở dữ liệu để phân lớp mẫu xe được sử dụng trong đề tài. Từ đó phát triển phân lớp các thành phần của xe tải vận chuyển heo là sạch hay không sạch. CHƯƠNG 3: ỨNG DỤNG PHÂN LỚP XE TẢI Ứng dụng mạng nhớ ngắn hạn định hướng dài hạn (LSTM) để xây dựng một hệ thống phân lớp xe tải sạch hay không sạch.
CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Thiết kế chương trình với bộ dữ liệu tự xây dựng… thử nghiệm và cho ra kết quả, từ đó nhận thấy ưu và nhược điểm trong luận văn. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Tác giả sẽ tổng kết về luận văn, phân tích ưu và nhược điểm của hệ thống, thảo luận thêm về các hướng phát triển, cải tiến trong tương lai. 8 CHƯƠNG 2: CÁC PHƯƠNG PHÁP SỬ DỤNG PHÂN LỚP TRONG NHẬN DẠNG MẪU 2.1 Hệ thống phân lớp trong nhận dạng mẫu Phân lớp trong nhận dạng mẫu (pattern recognition) là một lĩnh vực được nhiều nhà nghiên cứu quan tâm. Phân lớp trong nhận dạng mẫu dùng để phân loại dữ liệu dựa trên thông tin thống kê được trích rút từ các mẫu có sẵn.
Các mẫu cần phân loại thường được biểu diễn thành các nhóm dữ liệu đo đạc hay quan sát được trong một không gian đa chiều phù hợp. Đó là không gian của các đặc trưng để dựa vào ta có thể phân lớp.1 Hệ thống phân lớp trong nhận dạng mẫu Một hệ thống phân lớp trong nhận dạng mẫu bao gồm module cảm biến (sensor) để thu thập các mẫu cần cho việc phân lớp; module tiền xử lý để loại bỏ nhiễu của hình ảnh; module trích rút đặc trưng (feature extraction) để tính toán các thông tin dưới dạng số từ các dữ liệu mẫu; và module phân lớp nhằm thực hiện công việc phân lớp dựa vào các đặc trưng đã được trích rút (hình 2. Việc phân lớp thường dựa vào sự có sẵn của một tập mẫu mà đã được gán nhãn (học có giám sát). Các ứng dụng phổ biến là nhận dạng tiếng nói tự động, phân loại văn bản thành nhiều loại khác nhau (ví dụ: những thư điện tử nào là spam/non-spam), nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ thống nhận dạng danh tính dựa vào mặt người.
Ba ví dụ cuối tạo thành lãnh vực con phân tích ảnh của nhận dạng mẫu với đầu vào là các ảnh số.2 Mỗi quan hệ giữ AI, ML và DL Hình 2.2 Mối quan hệ giữa AI, ML và DL 2.1 Trí tuệ nhân tạo (AI - Artificial Intelligence) Trong khoa học máy tính, trí tuệ nhân tạo hay AI (artificial intelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người. John McCarthy, người được biết đến với tư cách là người sáng lập trí tuệ nhân tạo đã đưa ra thuật ngữ về 'Trí tuệ nhân tạo AI' vào những năm 1955. McCarthy cùng với Alan Turing, Allen Newell, Herbert A. Simon và Marvin Minsky được biết đến như những cha đẻ của AI.
Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máy móc (hoặc máy tính) có khả năng bắt chước các chức năng "nhận thức" mà con người thường phải liên kết với tâm trí, như "học tập" và "giải quyết vấn đề". Những năm gần đây, trí tuệ nhân tạo mà cụ thể hơn là Machine Learning (Học Máy) nổi lên như một minh chứng của cuộc cách mạng công nghiệp lần thứ 4.2 Học máy (ML - Machine Learning) Như đã giới thiệu ở hình 2.2, học máy là một phần của trí tuệ nhân tạo. Nhìn tổng quát học máy là phương tiện mà con người vận dụng để máy tính có được trí tuệ. Cụ thể hơn học máy tập trung vào các mục tiêu ngắn hạn như: làm cho máy tính có những khả năng nhận thức cơ bản của con người như nghe, nhìn, hiểu được ngôn 10 ngữ tự nhiên, giải toán, lập trình… và hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ mà chúng ta phải đối mặt hàng ngày.
Dựa theo phương thức học, các thuật toán học máy thường được chia làm 4 nhóm: học có giám sát (supervised learning), học không giám sát (unsupervised learning), học bán giám sát (semi-supervised learning) và học tăng cường (reinforcement learning). Ngoài ra còn một cách khác là phân loại theo công dụng và đặc điểm của từng thuật toán như: thuật toán hồi quy, thuật toán phân lớp, thuật toán cây quyết định, thuật toán tăng cường. Mạng nơ-ron nhân tạo là một thuật toán nổi trội trong số những thuật toán nói trên, bản thân thuật toán mạng nơ-ron nhân tạo cũng đặt tiền đề phát triển cho mảng học sâu (deep learning) rất nổi tiếng gần đây. Việc học này có thể có giám sát, nửa giám sát hoặc không giám sát.
Phương pháp mạng nơ-ron nhân tạo dần phát triển và trở nên to lớn, tăng số lớp, số nơ-ron, xử lý khối lượng lớn dữ liệu, việc tăng số lớp trong mạng nơ-ron được gọi là sâu. Mạng nơ-ron nhân tạo sâu được học (hoặc được huấn luyện) gọi là học sâu sẽ dùng nhiều lớp để rút trích dần các đặc trưng từ mẫu đầu vào giúp cho việc xử lý trở nên chính xác hơn. Học sâu thường được nhắc đến cùng với Dữ liệu lớn (Big Data) và Trí tuệ nhân tạo (AI). Đã có nhiều ứng dụng trong thực tế, đang phát triển mạnh theo sự phát triển của tốc độ máy tính đặc biệt là khả năng tính toán trên GPU và sự tăng nhanh của dữ liệu cùng với các framework (TensorFlow hay Pytorch) làm việc xây dựng model trở nên dễ dàng hơn.
Học sâu được bắt nguồn từ thuật toán mạng nơ-ron nhân tạo, chính vì vậy có thời gian người ta gọi là mạng nơ-ron sâu (deep neural network). Học sâu chỉ là một ngành nhỏ của học máy, tuy nhiên học sâu mang lại rất nhiều thành tựu cực kỳ nổi bật mà thời gian này cả thế giới thường biết đến như: sự chính xác của xử lý đồ họa 11 qua thị giác máy tính, xử lý ngôn ngữ tự nhiên, nắm bắt được chuyển động và cử chỉ. Chính vì những thành tựu nổi bật như vậy mà rất nhiều thuật toán học sâu ra đời như: mạng nơ-ron tích chập (Convolutional Neural Network - CNN), mạng nơ-ron hồi quy (Recurrent Neural Networks - RNN), mạng nhớ ngắn hạn định hướng dài hạn (Long Sort Term Memory - LSTM), mạng đối nghịch (Generative Adversarial Network - GAN). Tuy nhiên trong các thuật toán nói trên thì thuật toán mạng nơ- ron hồi quy được sử dụng nhiều nhất trong lĩnh vực thị giác máy tính và cho kết quả tốt trong quá trình phân loại xe sạch hoặc không sạch.3 Thuật toán mạng nơ-ron nhân tạo (Artificial Neural Network Algorithm) Mạng nơ-ron nhân tạo là chuỗi những thuật toán được đưa ra để hỗ trợ tìm kiếm những mối quan hệ cơ bản của một tập hợp dữ liệu dựa vào việc bắt chước cách thức hoạt động từ não bộ con người.1 Mạng thần kinh con người Não người trưởng thành chứa khoảng 100 tỉ tế bào thần kinh, hay còn gọi là nơ-ron, với các nhánh, nối kết tại hơn 100 tỉ tỉ điểm.
Thuật ngữ "thần kinh" có nguồn gốc từ đơn vị chức năng cơ bản của hệ thần kinh người hay động vật là "tế bào thần kinh" hoặc các tế bào thần kinh có trong não và các bộ phận khác của cơ thể người. Cấu trúc của mạng thần kinh con người gồm (hình 2.3): - Sợi nhánh: nhận tín hiệu từ các nơ-ron khác. - Thân tế bào (soma - bao gồm cả nhân): tổng hợp tất cả các tín hiệu đến để tạo ra đầu vào. - Sợi trục (axon): truyền dẫn tín hiệu từ các tế bào thần kinh (nơ-ron) với nhau.
- Xi-náp thần kinh: điểm kết nối của một tế bào thần kinh với các tế bào thần kinh khác. Lượng tín hiệu được truyền phụ thuộc vào cường độ của các kết nối. Trong tự nhiên, một mạng nơ-ron có một mạng lưới kết nối của hàng tỉ nơ-ron với hàng nghìn tỷ kết nối giữa chúng.3 Cấu trúc tế bào thần kinh người (động vật) 2.2 Mạng nơ-ron nhân tạo Một mạng lưới nơ-ron nhân tạo điển hình được tạo thành từ lượng lớn các tế bào nơ-ron được sắp xếp thành một loạt các lớp. Trong mạng nơ-ron nhân tạo điển hình bao gồm 3 lớp khác nhau (hình 2.
Lớp vào Lớp ẩn Lớp ẩn n-1 Lớp ra n … … .4 Cấu trúc mạng nơ-ron nhân tạo Lớp đầu vào: chứa các đơn vị (nơ-ron nhân tạo) nhận đầu vào từ thế giới bên ngoài mà mạng sẽ học, nhận biết hoặc xử lý theo các cách khác nhau. Lớp đầu ra: chứa các đơn vị phản hồi thông tin về cách nó học bất kỳ nhiệm vụ nào. Lớp ẩn: các đơn vị này nằm giữa các lớp đầu vào và đầu ra. Công việc của lớp ẩn là biến đổi đầu vào thành thứ mà đơn vị đầu ra có thể sử dụng bằng cách nào đó.
Kết nối mạng thần kinh, có nghĩa là mỗi nơ-ron ẩn liên kết hoàn toàn với mọi nơ-ron ở lớp trước của nó (đầu vào) và lớp tiếp theo (đầu ra). Cơ chế hoạt động của mạng nơ-ron nhân tạo (hình 2.5): 13 Độ lệch bk 𝑥1 𝑊𝑘1 Hàm kích 𝑥2 𝑊𝑘2 hoạt Vk Các tín. ) Đầu ra yk hiệu đầu vào. Tổng trọng số 𝑥𝑚 𝑊𝑘𝑚 Các trọng số Synaptic Hình 2.5 Minh họa cơ chế hoạt động của mạng nơ-ron nhân tạo Mạng nơ-ron nhân tạo có thể được xem như đồ thị có hướng, có trọng số trong đó các nơ-ron nhân tạo là các nút và các cạnh có hướng có trọng số là các kết nối giữa đầu ra của nơ-ron và đầu vào của nơ-ron.
Mạng nơ-ron nhân tạo nhận thông tin từ thế giới bên ngoài dưới dạng mẫu và hình ảnh ở dạng vec-tơ. Các đầu vào này được ký hiệu x(n) cho n số đầu vào. Mỗi đầu vào được nhân với trọng số tương ứng của nó. Trọng số: ký hiệu (wn cho n đầu vào) là thông tin được sử dụng bởi mạng nơ- ron để giải quyết một vấn đề nào đó.
Thông thường, trọng số thể hiện độ bền của liên kết giữa các nơ-ron bên trong mạng đó. Các đầu vào có trọng số đều được tổng hợp bên trong đơn vị tính toán (nơ-ron nhân tạo).