$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Badanie to nie obejmowało uczestników ludzkich ani zwierząt. Dlatego nie wymagano etycznego zatwierdzenia ani świadomej zgody. Proponowany kompleksowy system klasyfikacji tkanin tkanych (Rysunek 1) składa się z czterech kolejnych etapów: pozyskiwania obrazów, wstępnego przetwarzania i augmentacji, treningu modelu oraz ewaluacji. Wyjście każdego etapu służy jako wejście do kolejnego.
Etap 1: Akwizycja obrazu: Zdjęcia tkaniny pozyskano z zestawu danych i uchwycono aparatem cyfrowym przy kontrolowanym oświetleniu. Zdjęcia wykonywano przy rozdzielczości 300 dpi przy użyciu stałej ogniskowej 50 mm.
Etap 2: Wstępne przetwarzanie i augmentacja: Obrazy były zmieniane rozmiarem i przygotowywane do treningu. Aby usprawnić uogólnienie, zastosowano geometryczne i fotometryczne augmentacje przy użyciu ram głębokiego uczenia, obejmujące poziome i pionowe flipy (p = 0,1), translację afiniczną (±0,1), skalowanie (0,8–1,2) oraz rotację (±45°). Fotometryczne korekty obejmowały zmiany jasności, kontrastu i nasycenia (±40%) oraz odcienia (±10%).
Przed trenowaniem zastosowano odzumianie dźwięków oparte na UNet. Model UNet został zaimplementowany w bibliotece oprogramowania Deep learning (Keras Deep learning) i trenowany przez 30 epok za pomocą optymalizatora Adama (tempo uczenia = 0,001, wielkość partii = 16).
Etap 3: Trening modelu: GAN był używany do generowania syntetycznych obrazów tkaniny tkanej w celu wzmocnienia cech. Dyskryminator składał się z pięciu warstw splotowych z aktywacją LeakyReLU, natomiast generator zawierał cztery warstwy splotowe i cztery warstwy dekonwolucyjne. GAN był trenowany dla 100 epok z wykorzystaniem binarnej utraty entropii krzyżowej (współczynnik uczenia = 0,0002, β₁ = 0,5). Klasyfikator CNN (szkielet ResNet-50) był następnie wspólnie trenowany w iteracyjnym frameworku GAN–CNN o wielkości partii 32, dropoutzie 0,2, tempie uczenia 0,001 oraz optymalizatorze Adama.
Etap 4: Ocena modelu: Wydajność modelu oceniano na podstawie dokładności, precyzji, przypomnienia, wyniku F1 oraz zrównoważonej dokładności.
1. Opis zbioru danych
Łącznie uzyskano 3 540 obrazów tkanin tkanych z 880 próbek tkanin z publicznie dostępnego zbioru danych w warunkach kontrolowanego oświetlenia12. Z tego 2 832 obrazy wykorzystano do testów, a pozostałe 708 obrazów zostało rozszerzonych do 11 328 próbek treningowych. Zbiór danych jest anonimizowany i dlatego nie wymaga etycznego zatwierdzenia. Reprezentatywne próbki pokazano na Rysunku 2.
Zbiór danych obejmuje trzy klasy tkania: gładką, satynową i skośną. Tkaniny produkowano z przędzy o teksturze poliestrowej (110 dtex; liniowe gęstości włókna 1,14 i 3,05 dtex) oraz przędzy o teksturze mikrofilamentu poliestrowego (110 dtex; 0,33, 0,57 i 0,76 dtex) jako wątku, a także 83 przędzy poliestrowe dtex (1,14 dtex) jako osnowa. Skonstruowano trzy typy splotów — 1/1 Gładka, 3/2 Twill i 4/1 Satyn.
Dane użyte w tym badaniu pochodzą z publicznie dostępnego zbioru danych, który obejmuje surowe i wstępnie przetworzone obrazy, metadane augmentacyjne oraz próbki generowane przez GAN12. Zastosowano dodatkową augmentację i syntezę opartą na GAN, aby jeszcze bardziej zwiększyć różnorodność treningową. zbioru danych. Ostateczny zbiór danych zawierał 11 328 obrazów treningowych i 2832 testowe; 80% danych treningowych wykorzystano do trenowania modelu, a 20% do walidacji. Parametry strukturalne przedstawiały się następująco: gęstość liniowa przędzy (Ne: 6–40), liczba przędzy (25–58 końców/cm) oraz gęstość powierzchni tkaniny (125–485 gsm). Trening i testy przeprowadzono na jednostce graficznej z wykorzystaniem ramy i oprogramowania do głębokiego uczenia.
2. Proponowane efektywne preprzetwarzanie z augmentacją
Aby rozwiązać ograniczone dane treningowe i poprawić uogólnienie, zastosowano augmentację danych. Augmentacja rozszerza zbiór danych bez zmiany architektury modelu, redukuje nadmierne dopasowanie i zwiększa odporność. Stosowano dwa typy augmentacji:
Augmentacja geometryczna:
Transformacje obejmowały przewroty poziome i pionowe (p = 0,1), transformację afiniczną (translacja = 0,1, skala = 0,8–1,2) oraz rotację o stałym kącie (45°). Operacje te symulują zmiany orientacji osnow–wątek oraz warunków obrazowania (Rysunek 3).
Fotometryczne wzmocnienie:
Aby zwiększyć odporność na oświetlenie i zmienność czujników, jasność, kontrast i nasycenie zostały dostosowane o ±40%, a barwa o ±10%. Te modyfikacje zachowują strukturę geometryczną przy jednoczesnym zróżnicowaniu charakterystyki oświetlenia (Rysunek 4).
3. Usuwanie szumików za pomocą UNet
UNet to architektura splotowa enkoder–dekoder splątana używana do usuwania szumów strukturyzowanych tekstur tkanin. Ponieważ wzory tkanin są wrażliwe na szumy czujników i oświetlenia, przed klasyfikacją wykonuje się zašumienie, aby zachować szczegóły strukturalne; sieć wykorzystuje funkcję aktywacji sigmoidalnej w warstwie wyjściowej oraz architekturę denoizacji opartą na UNet (rysunek 5). Obrazy odmurowane służyły jako udoskonalone dane wejściowe do potoku GAN–CNN do generowania i klasyfikacji syntetycznych. Matematyczne sformułowanie procesu odpowietrzania UNet oraz strategii optymalizacji GAN (równania 1–10) przedstawiono w Pliku Uzupełniającym 1. Interakcje między modułami UNet, GAN i CNN w ramach end-to-end ram zostały zilustrowane na Rysunku 6.
4. Proponowane generowanie modeli end-to-end i szkolenie z wykorzystaniem GAN-CNN
Do rozpoznawania wzorców tkanin tkanych zastosowano hybrydowy framework GAN–CNN. Jak pokazano na Rysunku 6, generatywna sieć przeciwstawna (GAN), składająca się z generatora (G) i dyskryminatora (D), została użyta do syntezy realistycznych obrazów tkanin tkanych w różnych warunkach oświetlenia, hałasu i tekstury, aby zwiększyć różnorodność zbiorów danych, podczas gdy CNN nauczyło się cech dyskryminujących zarówno z rzeczywistych, jak i generowanych próbek, aby poprawić dokładność klasyfikacji.
5. Klasyfikacja oparta na CNN
Po syntezie obrazów opartej na GAN, zarówno rzeczywiste, jak i generowane obrazy tkanin tkanych zostały użyte do trenowania CNN do ekstrakcji i klasyfikacji cech tekstur. Wstępnie wytrenowaną architekturę ResNet-50 zastosowano do klasyfikacji trzech typów splotów. Oryginalna w pełni połączona warstwa została usunięta, podczas gdy wczesne warstwy splotowe zachowano jako szkielet splotowy. Na tym szkieletze dodano globalną warstwę pulowania średniej, dwie warstwy normalizacji wsadowej, dwie w pełni połączone warstwy (neurony 512 i 256), aktywacje ReLU oraz dropout. Warstwa Softmax wykonała ostateczną klasyfikację trzech klas. Zmodyfikowana architektura została pokazana na Rysunku 7.
Model był trenowany za pomocą optymalizatora Adama z kategoryczną stratą entropii krzyżowej przez 50 epok (wielkość partii = 32, wskaźnik uczenia = 0,001, dropout = 0,2). Strojenie hiperparametrów odbywa się za pomocą wyszukiwania siatkowego (szybkość uczenia: 0,001–0,0001; wielkość partii: 16–64; dropout: 0,1–0,3). Zastosowano wczesne zatrzymanie na podstawie straty walidacyjnej, aby zapobiec nadmiernemu dopasowaniu, a konwergencja osiągana była w około 2,3 godziny na trening.
Zastosowano skoordynowaną strategię treningu end-to-end, aby zapewnić spójność na etapach szumowania, syntezy danych i klasyfikacji. UNet został najpierw pretrenowany dla 30 epok przy użyciu par obrazów szumiących i czystych (Adam, szybkość uczenia = 0,001, wielkość partii = 16, straty MSE). Moduł GAN, składający się z generatora z czterema warstwami splotowymi i czterema warstwami dekonwolucyjnymi oraz dyskryminatora z pięcioma warstwami splotowymi wykorzystującymi aktywacje LeakyReLU, był trenowany przeciwnie przez 100 epok (utrata entropii binarnej, β₁ = 0,5, tempo uczenia = 0,0002). Następnie GAN i CNN były wspólnie trenowane w iteracyjnej pętli przez 50 epoch (wielkość partii = 32), a wygenerowane próbki służyły do aktualizacji klasyfikatora. Optymalizacja CNN wykorzystywała optymalizator Adama (wskaźnik uczenia = 0,001, dropout = 0,2), co promowało stabilną zbieżność i poprawiło uogólnienie między typami splotów.