f) Camera và hệ thống điều chỉnh ánh sáng.
3.4.3. Mạng Convolution neuron network và ứng dung trong việc phân loại linh kiện.
kiện.
E.Mạng Convolution neuron network.
Với sự phát triển mạnh mẽ của phần cứng máy tính trong những năm gần đây, đặc biệt là những hệ thống máy tính với sự hỗ trợ của GPU, rất nhiều những mạng Deep Learning đã ra đời và được ứng dụng trong việc xử lý ảnh. Các model nổi tiếng
Tiểu Luận Pro(123docz.net)
có thể kể đến như là: VGG-16[4], VGG-19[4], Inception net[6], Mobilenet[7] … Điểm chung của những model này là đều ứng dụng Convolution neuron network.
Hình 3- 29: Sơ đồ mạng CNN
Mạng Convolution neuron network bao gồm lớp đầu vào, các lớp ẩn bên trong và lớp đầu ra. Lớp đầu vào ở đây thông thường là ảnh RGB. Các lớp ẩn bao gồm các lớp tính toán tích chập. Các lớp này thực hiện các phép nhân hoặc phép tích chập cùng với đó là các hàm kích hoạt VD: Relu[1], Sigmoid[1], Tanh[1]…Tiếp sau đó là các lớp bổ trợ như: lớp pooling, lớp fully connected và lớp normalization.
Trong một lớp mạng CNN, đầu vào là một tensor với kích thước: (số lớp đầu vào) x (chiều cao đầu vào) x (chiều rộng đầu vào) x (số kênh đầu vào). Sau khi chạy qua lớp convolution, ảnh đầu vào sẽ chiết xuất ra các feature map với kích thước: (số lớp đầu vào) x ( chiều cao feature map) x (chiều rộng feature map) x (số kênh feature map).
Hình 3- 30: Trích xuất đặc trưng qua các lớp của mạng CNN
Nhìn chung, một lớp mạng CNN tiêu biểu có các đặc trưng sau:
Tiểu Luận Pro(123docz.net)
Số lượng kênh đầu vào và kênh đầu ra. Các kênh đầu vào của một lớp phải bằng số lượng kênh đầu ra (còn gọi là độ sâu) của đầu vào của nó.
Các siêu tham số bổ sung của phép toán tích chập, chẳng hạn như: padding, stride và độ dilation.
F. Mạng Convolution neuron network Resnet-50.
ResNet (Residual Network)[5] được giới thiệu vào năm 2015. Mô hình đã 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, nhiều tác giả đã phát triển mô hình ResNet lên với 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-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.
Mạng ResNet (R) là một mạng CNN được thiết kế để làm việc với hàng trăm hoặc hàng nghìn lớp chập. Một vấn đề xảy ra khi xây dựng mạng CNN với nhiều lớp chập sẽ xảy ra hiện tượng Vanishing Gradient dẫn tới quá trình học tập không tốt. Cho nên giải pháp mà ResNet đưa ra là sử dụng kết nối "tắt" đồng nhất để xuyên qua một hay nhiều lớp. Một khối như vậy được gọi là một Residual Block.
Tiểu Luận Pro(123docz.net)
ResNet có kiến trúc tương đồng với các mạng gồm có convolution, pooling, activation và fully-connected layer. Ảnh bên trên hiển thị khối dư được sử dụng trong mạng. Xuất hiện một mũi tên cong xuất phát từ đầu và kết thúc tại cuối khối dư. Với H(x) là giá trị dự đoán, F(x) là giá trị thật (nhãn), chúng ta muốn H(x) bằng hoặc xấp xỉ F(x).
Trong đề tài thực hiện, nhóm thực hiện đã sử dụng mô hình Resnet-50 với 50 lớp khác nhau giúp tăng khả năng học những đặc trưng khó và mới, mô hình Resnet- 50 được thể hiện ở hình dưới:
Hình 3- 32:Mô hình mạng Resnet-50
F. Mạng Moblienet
Kể từ khi ra đời, MobileNetV2 là một trong những kiến trúc được ưa chuộng nhấ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 sử dụng backbone là MobileNetV2 nhưSSDLitetrong object detection và DeepLabV3trong image segmentation.
Tiểu Luận Pro(123docz.net)
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.
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, sau khi đi qua các xử lý tích chập hai chiều ta thu được kết quả F(x) thì output cuối cùng là một residual block có giá trị x+F(x).
Hình 3- 33: Khối Residual trong Mobilenet
Tuy nhiên kết nối tắt ở MobileNetV2 được điều chỉnh sao cho số kênh (hoặc chiều sâu) ở 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 để ám chỉ các kiến trúc thu hẹp kích thước theo một chiều nào đó).
Cụ thể hơn chúng ta theo dõi hình minh họa bên dưới:
Tiểu Luận Pro(123docz.net)
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 vì 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 giá cho rằng 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 dày hơn để tạo ra nhiều phép biến đổi hơn. Kết nối tắt giữa các block được thực hiện trên những bottleneck input và output chứ không thực hiện trên các layer trung gian. Do đó các layer bottleneck input và 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ẹ.
G. Mạng U2-NET
Trong hai năm qua, các mạng phức hợp sâu đã hoạt động tốt hơn trạng thái nghệ thuật trong nhiều nhiệm vụ nhận dạng trực quan. Trong khi mạng phức hợp
đã tồn tại trong một thời gian dài và thành công của họ bị hạn chế do kích thước của các tập huấn luyện có sẵn và kích thước của các mạng được xem xét. Các đột phá của Krizhevsky et al là do đào tạo có giám sát của một mạng với 8 lớp và hàng triệu tham số trên tập dữ liệu ImageNet với 1 triệu hình ảnh đào tạo. Kể từ đó, các mạng lớn hơn và sâu hơn đã được đào tạo .
Việc sử dụng điển hình của mạng phức hợp là trong các nhiệm vụ phân loại, trong đó đầu ra cho một hình ảnh là một nhãn lớp đơn. Tuy nhiên, trong nhiều tác vụ trực quan, đặc biệt là trong xử lý hình ảnh y sinh, đầu ra mong muốn phải bao gồm bản địa hóa, tức là, một nhãn lớp phải được gán cho mỗi pixel. Hơn nữa, hàng ngàn hình ảnh đào tạo thường nằm ngoài tầm với trong các nhiệm vụ y sinh. Do đó, các nhà khoa học đã tạo mạng trong thiết lập cửa sổ trượt để dự đoán nhãn lớp của mỗi pixel bằng cách cung cấp một vùng cục bộ (bản vá) xung quanh pixel đó
Tiểu Luận Pro(123docz.net)
Hình 3- 35: Kiến trúc U-net (ví dụ cho 32x32 pixel ở độ phân giải thấp nhất)
Mỗi màu xanh hộp tương ứng với một bản đồ tính năng đa kênh. Số lượng kênh được biểu thị trên đầu hộp. Kích thước x-y được cung cấp ở mép dưới bên trái của hộp. trắng các hộp đại diện cho bản đồ đối tượng đã sao chép. Các mũi tên biểu thị các hoạt động khác nhau.
Cấu trúc mạng u2-net:
Kiến trúc mạng được minh họa trong hình trên. Nó bao gồm một hợp đồng đường dẫn (bên trái) và một đường mở rộng (bên phải). Đường dẫn hợp đồng theo sau kiến trúc điển hình của một mạng phức hợp. Nó bao gồm sự lặp lại ứng dụng của hai tập hợp 3x3 (các tập hợp không được đánh dấu), mỗi phần tiếp theo là một đơn vị tuyến tính được điều chỉnh (ReLU) và hoạt động gộp tối đa 2x2 với bước 2 để lấy mẫu xuống. Ở mỗi bước lấy mẫu xuống, chúng tôi tăng gấp đôi số lượng tính năng kênh truyền hình. Mỗi bước trong con đường mở rộng bao gồm việc lấy mẫu ngược bản đồ đối tượng theo sau là tích chập 2x2 làm giảm một nửa số lượng kênh tính năng, một đoạn nối với các kênh được cắt tương ứng bản đồ tính năng từ đường dẫn hợp đồng và hai tập hợp 3x3, mỗi tập hợp theo sau là một ReLU. Việc cắt xén là cần thiết do mất các pixel đường viền trong mọi tích chập. Ở lớp cuối cùng, một phép chập 1x1 được sử dụng để ánh xạ mỗi 64-vectơ đặc trưng thành phần với số lớp mong muốn. Tổng cộng mạng lưới có 23 lớp chập. Để cho phép xếp lớp liền mạch của bản đồ phân đoạn đầu ra (xem Hình 2), nó điều quan trọng là chọn kích thước ô đầu vào sao cho tất cả các hoạt động gộp tối đa 2x2 được áp dụng cho một lớp có kích thước x- và y chẵn.
Tiểu Luận Pro(123docz.net)
Trainning:
Hình ảnh đầu vào và bản đồ phân đoạn tương ứng của chúng được sử dụng để đào tạo mạng với sự triển khai dốc nghiêng ngẫu nhiên của Caffe. Do các chập không có đệm, hình ảnh đầu ra nhỏ hơn hình ảnh đầu vào bởi chiều rộng đường viền không đổi. Để giảm thiểu chi phí và sử dụng tối đa của bộ nhớ GPU, chúng tôi ưu tiên các ô đầu vào lớn hơn kích thước lô lớn và do đó giảm hàng loạt thành một hình ảnh duy nhất. Theo đó, chúng tôi sử dụng một động lượng cao (0,99) sao cho một số lượng lớn các mẫu đào tạo đã thấy trước đây xác định cập nhật trong bước tối ưu hóa hiện tại. Hàm năng lượng được tính toán bằng soft-max theo pixel thông qua giá trị cuối cùng bản đồ đặc trưng kết hợp với hàm mất entropy chéo.
Soft-max là được định nghĩa làpk(x)=exp(ak(x))/¿
Trong đóak(x)biểu thị kích hoạt trong kênh đặc trưng k ở vị trí pixel x∈Ω với Ω⊂Z2. K là số lớp vàpk( x) là hàm cực đại gần đúng.
I.e.pk( x) ≈ 1 cho k có kích hoạt lớn nhấtak(x) vàpk( x) cho tất cả các k khác. Sau đó, entropy chéo sẽ phạt tại mỗi vị trí độ lệch của pl(x)( x) bằng công thức sau:
E=∑ ⍵(x)log(¿pl(x)( x))¿
x∈Ω
Tăng cường dữ liệu:
Tăng cường dữ liệu là điều cần thiết để dạy cho mạng sự bất biến mong muốn và đặc tính mạnh mẽ khi chỉ có một số mẫu đào tạo. Trong trường hợp của hình ảnh vết xước trên bo mạch, chúng ta chủ yếu cần sự bất biến dịch chuyển và quay cũng như độ bền đối với các biến dạng và các biến thể giá trị xám. Đặc biệt là các biến dạng đàn hồi ngẫu nhiên của các mẫu huấn luyện dường như là khái niệm chính để huấn luyện một mạng phân đoạn với rất ít hình ảnh được chú thích. Chúng tôi tạo ra suôn sẻ biến dạng sử dụng vectơ dịch chuyển ngẫu nhiên trên lưới thô 3 x 3. Các chuyển vị được lấy mẫu từ phân phối Gaussian với tiêu chuẩn 10 pixel sự lệch lạc. Sau đó, các dịch chuyển trên mỗi pixel được tính toán bằng cách sử dụng phép nội suy hai chiều. Các lớp thả ra ở cuối đường dẫn hợp đồng hoạt động ngầm hơn nữa.
Tiểu Luận Pro(123docz.net)