Tập dữ liệu ImageNet là tập dataset có khoảng 15 triệu hình ảnh có độ phân giải cao đã được gán nhãn (có khoảng 22000 nhãn). Cuộc thi ILSVRC sử dụng một phần nhỏ của tập ImageNet với khoảng 1.2 triệu ảnh của 1000 nhãn (trung bình mỗi nhãn có khoảng 1.2 ngàn hình ảnh) làm tập train, 50000 ảnh làm tập validation và 150000 ảnh làm tập test (tập validation và tập test đều có 1000 nhãn thuộc tập train).
VGG16
VGG16 là một Kiến trúc mạng nơ-ron liên kết (CNN) đơn giản và được sử dụng rộng rãi được sử dụng cho ImageNet, một dự án cơ sở dữ liệu trực quan lớn được sử dụng trong nghiên cứu phần mềm nhận dạng đối tượng trực quan. 'VGG' là tên viết tắt của Visual Geometry Group, là một nhóm các nhà nghiên cứu tại Đại học Oxford, những người đã phát triển kiến trúc này, và '16' ngụ ý rằng kiến trúc này có 16 lớp.
46
Hình 2.39 Cấu trúc mạng VGG16 cơ bản
Mô hình VGG16 đạt độ chính xác trong bài kiểm tra top 5 là 92,7% trong ImageNet, đây là tập dữ liệu của hơn 14 triệu hình ảnh thuộc 1000 lớp. Đây là một trong những mô hình nổi tiếng được gửi đến Thử thách nhận dạng hình ảnh quy mô lớn ImageNet (ILSVRC) vào năm 2014. Nó đã thực hiện các cải tiến so với kiến trúc AlexNet bằng cách thay thế các bộ lọc có kích thước hạt nhân lớn (11 và 5 trong lớp chập đầu tiên và thứ hai, tương ứng) với nhiều bộ lọc kích thước hạt nhân ba × ba lần lượt. VGG16 đã được đào tạo trong nhiều tuần sử dụng GPU NVIDIA Titan Black.
VGG16 được sử dụng trong nhiều kỹ thuật phân loại ảnh deep learning và phổ biến do dễ thực hiện. VGG16 được sử dụng rộng rãi trong các ứng dụng học tập do ưu điểm của nó.
VGG16 là một Kiến trúc CNN, đã được sử dụng để giành chiến thắng trong Thử thách Nhận dạng Hình ảnh Quy mô lớn ImageNet (ILSVRC) vào năm 2014. Nó vẫn là một trong những kiến trúc tầm nhìn tốt nhất cho đến nay.
ResNet
ResNet (Residual Network) được giới thiệu đến công chúng vào năm 2015 và thậm chí đã giành được vị trí thứ 1 trong cuộc thi ILSVRC 2015 với tỉ lệ lỗi top 5 chỉ 3.57%. Không những thế nó còn đứng vị trí đầu tiên trong cuộc thi ILSVRC and COCO 2015 với ImageNet Detection, ImageNet localization, Coco detection và Coco segmentation.Hiện tại thì có rất nhiều biến thể của kiến trúc ResNet với số lớp khác nhau như ResNet-18, ResNet-34, ResNet-50, ResNet-101, ResNet-
47
152,...Với tên là ResNet theo sau là một số chỉ kiến trúc ResNet với số lớp nhất định.
Nhờ khả năng biểu diễn mạnh mẽ của ResNet, hiệu suất của nhiều ứng dụng thị giác máy, không chỉ các ứng dụng phân loại hình ảnh được tăng cường. Một số ví dụ có thể kể đến là các ứng dụng phát hiện đồ vật và nhận dạng khuôn mặt.
Hình 2.40 Mô hình Resnet.
Theo định lý gần đúng phổ quát, về mặt kiến trúc, một mạng nơ ron truyền thẳng có khả năng xấp xỉ mọi hàm với dữ liệu huấn luyện được cung cấp, miễn là không vượt quá sức chứa của nó. Tuy nhiên, xấp xỉ tốt dữ liệu không phải là mục tiêu duy nhất, chúng ta cần một mô hình có khả năng tổng quát hóa dữ liệu. Đó là lý do các kiến trúc sâu trở thành xu hướng của cộng đồng nghiên cứu.
Kể từ AlexNet, các kiến trúc CNN ngày càng sâu hơn. Trong khi AlexNet chỉ có 5 lớp tích chập, mạng VGG và GoogleNet (còn gọi là Inception_v1) có đến 19 và 22 lớp tương ứng.
Tuy nhiên, tăng độ sâu mạng không chỉ đơn giản là xếp chồng các lớp lại với nhau. Mạng sâu rất khó huấn luyện vì vấn đề vanishing gradient – vì độ dốc được truyền ngược trở lại các lớp trước đó, phép nhân lặp đi lặp lại có thể làm cho độ dốc cực nhỏ. Kết quả là, hiệu suất của mạng bị bão hòa hoặc giảm hiệu quả nhanh chóng.
GoogleNet
Google NET (hoặc Inception V1) đã được đề xuất bởi nghiên cứu tại Google (với sự hợp tác của các trường đại học khác nhau) vào năm 2014 trong bài báo
48
nghiên cứu có tiêu đề là “Going Deeper with Convolutions”. Kiến trúc này đã giành chiến thắng tại ILSVRC 2014 image classification challenge. Nó đã có tỷ lệ lỗi giảm đáng kể so với những kiến trúc chiến thắng trước đây như Alexnet (ILSVRC 2012) và ZF-NET (ILSVRC 2013) và tỷ lệ lỗi ít hơn đáng kể so với VGG (2014 Runner UP). Kiến trúc này sử dụng các kỹ thuật như tích chập 1 × 1 ở giữa kiến trúc và tổng hợp trung bình toàn cầu.
Hình 2.41 Mô hình GoogLeNet
MobileNet
Deep learning đã thúc đẩy tiến bộ vượt bậc trong lĩnh vực thị giác máy tính trong những năm gần đây, với các mạng nơ-ron liên tục thúc đẩy giới hạn của công nghệ nhận dạng thị giác. Mặc dù nhiều công nghệ như nhận dạng đối tượng, mốc, biểu trưng và văn bản được cung cấp cho các thiết bị được kết nối internet thông qua API Cloud Vision, sức mạnh tính toán ngày càng tăng của các thiết bị di động có thể cho phép cung các công nghệ này đến tay của người dùng của chúng tôi, mọi lúc, mọi nơi, bất kể kết nối internet. Tuy nhiên, nhận dạng trực quan đối với các ứng dụng nhúng và thiết bị đặt ra nhiều thách thức các mô hình phải chạy nhanh với độ chính xác cao trong môi trường hạn chế về tài nguyên, sử dụng hạn chế về tính toán, công suất và không gian.
49
Hình 2.42 Ứng dụng cảu MobileNet
MobileNets, một dòng mô hình thị giác máy tính ưu tiên trên thiết bị di động cho TensorFlow, được thiết kế để tối đa hóa độ chính xác một cách hiệu quả đồng thời lưu ý đến các tài nguyên bị hạn chế cho ứng dụng trên thiết bị hoặc ứng dụng nhúng. MobileNets là các mô hình nhỏ, độ trễ thấp, công suất thấp được tham số hóa để đáp ứng các hạn chế về tài nguyên của nhiều trường hợp sử dụng khác nhau. Chúng có thể được xây dựng dựa trên để phân loại, phát hiện, nhúng và phân đoạn tương tự như cách sử dụng các mô hình quy mô lớn phổ biến khác, chẳng hạn như Inception,…
50 Bảng 2.1 So sánh giữa các mạng MobileNets Model Checkpoint Số lượng phép tính trong 1 giây (triệu) Tham số (Triệu) Top-1 Accuracy Top-5 Accuracy MobileNet_v1_1.0_224 569 4.24 70.7 89.5 MobileNet_v1_1.0_192 418 4.24 69.3 88.9 MobileNet_v1_1.0_160 291 4.24 67.2 87.5 MobileNet_v1_1.0_128 186 4.24 64.1 85.3 MobileNet_v1_0.75_224 317 2.59 68.4 88.2 MobileNet_v1_0.75_192 233 2.59 67.4 87.3 MobileNet_v1_0.75_160 162 2.59 65.2 86.1 MobileNet_v1_0.75_128 104 2.59 61.8 83.6 MobileNet_v1_0.50_224 150 1.34 64.0 85.4 MobileNet_v1_0.50_192 110 1.34 62.1 84.0 MobileNet_v1_0.50_160 77 1.34 59.9 82.5 MobileNet_v1_0.50_128 49 1.34 56.2 79.6 MobileNet_v1_0.25_224 41 0.47 50.6 75.0 MobileNet_v1_0.25_192 34 0.47 49.0 73.6 MobileNet_v1_0.25_160 21 0.47 46.0 70.7 MobileNet_v1_0.25_128 14 0.47 41.3 66.2
51
Top-1 Accuracy là độ chính xác thông thường, dự đoán của mô hình (dự đoán của mô hình có xác suất cao nhất) phải là kết quả mong muốn chính xác.
Top-5 Accuracy có nghĩa là bất kỳ kết quả nào trong số 5 kết quả có xác suất cao nhất hàng đầu của mô hình của đều khớp với câu kêt quả dự kiến.
Các trường hợp sử dụng ví dụ bao gồm phát hiện, phân loại chi tiết, thuộc tính và bản địa hóa địa lý.
MobileNets trong TensorFlow sử dụng TF-Slim, cũng như 16 điểm kiểm tra phân loại ImageNet được đào tạo trước để sử dụng trong các dự án di động ở mọi quy mô. Các mô hình có thể được chạy hiệu quả trên các thiết bị di động với TensorFlow Mobile.
Tổng kết
Khi so sánh 1.0 MobileNet-224 với GoogleNet và VGG 16 (hình bên dưới), chúng ta thấy rằng độ chính xác của cả 3 thuật toán là hầu như tương đương nhau. Nhưng 1.0 MobileNet-224 có số lượng tham số ít (75% so với GoogleNet) và số lượng phép toán nhỏ hơn rất nhiều => chạy nhanh hơn.
Bảng 2.2 So sánh mạng MobileNet và các mạng CNN phổ biến Model Độ chính xác trên tập dữ liệu ImageNet Số lượng phép tính trong 1 giây (triệu) Số lượng tham số (triệu) 1.0 MobileNet-224 70.6% 569 4.2 GoogleNet 69.8% 1550 6.8 VGG 16 71.5% 15300 130
Với mô hình 0.50 MobileNet-160, chúng ta có thể so sánh với mô hình Squeezenet và AlexNet (mô hình thắng giải nhất cuộc thi ILSVRC 2012). Một lần nữa, mô hình 0.50 MobileNet-160 cho kết quả tốt hơn, nhưng có số lượng phép tính toán ít hơn rất nhiều (hơi đáng buồn là số lượng tham số của mô hình 0.50 MobileNet-160 khá cao, số lượng tham số gấp đôi so với AlexNet và gần bằng Squeezenet) => 0.50 MobileNet-160 train nhanh hơn, predict cũng nhanh hơn so với Squeezenet và AlexNet, nhưng tốn bộ nhớ RAM hơn.
52
Bảng 2.3 So sánh mạng MobileNet nhỏ hơn và các mạng CNN phổ biến
Model Độ chính xác trên tập dữ liệu ImageNet Số lượng phép tính trong 1 giây (triệu) Số lượng tham số (triệu) 0.50 MobileNet_160 60.2% 76 1.32 Squeezenet 57.5% 1700 1.25 AlexNet 57.2% 720 60
So với mô hình Inception-v3 (mô hình thắng giải nhất cuộc thi ILSVRC 2015), MobileNet cho kết quả khá tốt, nhưng số tham số và số lượng phép tính toán nhỏ hơn rất nhiều
Bảng 2.4 So sánh MobileNet và Inception trên tập sữ liệu Stanford Dog
Model Top-1 Accuracy Số lượng phép tính trong 1 giây (triệu) Số lượng tham số (triệu) Inception V3 [18] 84% 5000 23.2 1.0 MobileNet-224 83.3% 569 3.3 0.75 MobileNet-224 81.9% 325 1.9 1.0 MobileNet-192 81.9% 418 3.3 0.75 MobileNet-192 80.5% 239 1.9
Các thí nghiệm ở dưới trên các tập dataset khác nhau chứng minh mức độ hiệu quả của MobileNet
Bảng 2.5 Nhận diện các thuộc tính khuôn mặt trên các cấu trúc mạng MobileNet khác nhau Model Độ chính xác Số lượng phép tính trong 1 giây (triệu) Số lượng tham số (triệu) 1.0 MobileNet-224 88.7% 568 3.2 0.5 MobileNet-224 88.1% 149 0.8 0.25 MobileNet-224 87.2% 45 0.2 1.0 MobileNet-224 88.1% 185 3.2 0.5 MobileNet-224 87.7% 48 0.8
53
0.25 MobileNet-224 86.4% 15 0.2
Baseline 86.9% 1600 7.5
Bảng 2.6 MobileNet so với FaceNet trong nhận diện khuôn mặt
Model Độ chính xác Số lượng phép tính trong 1 giây (triệu) Số lượng tham số (triệu) FaceNet[25] 83% 1600 7.5 1.0 MobileNet-160 79.4% 286 4.9 1.0 MobileNet-128 78.3% 185 5.5 0.75 MobileNet-160 75.2% 166 3.4 0.75 MobileNet-128 72.5% 108 3.8
MobileNet cho kết quả tốt ngang ngửa các state-of-the-art thắng giải nhất ở quá khứ, nhưng với mô hình có số lượng tham số nhỏ hơn và số phép tính toán ít hơn. Điều này đạt được là nhờ vào việc sử dụng Depthwise Separable Convolution [3].
54
Chương 3: TÍNH TOÁN, THIẾT KẾ MÁY MÁY BÁN HÀNG TỰ ĐỘNG
3.1. Tính toán thiết kế cơ khí