AI-For-Beginners/translations/pl/lessons/4-ComputerVision/12-Segmentation/README.md

5.9 KiB

Segmentacja

Wcześniej poznaliśmy Wykrywanie Obiektów, które pozwala nam lokalizować obiekty na obrazie poprzez przewidywanie ich ramki ograniczającej (bounding box). Jednak w niektórych zadaniach potrzebujemy nie tylko ramek ograniczających, ale także bardziej precyzyjnej lokalizacji obiektów. To zadanie nazywa się segmentacją.

Quiz przed wykładem

Segmentację można postrzegać jako klasyfikację pikseli, gdzie dla każdego piksela obrazu musimy przewidzieć jego klasę (tło jest jedną z klas). Istnieją dwa główne algorytmy segmentacji:

  • Segmentacja semantyczna określa jedynie klasę piksela i nie rozróżnia różnych obiektów tej samej klasy.
  • Segmentacja instancji dzieli klasy na różne instancje.

W przypadku segmentacji instancji te owce są różnymi obiektami, ale w segmentacji semantycznej wszystkie owce są reprezentowane jako jedna klasa.

Obraz z tego wpisu na blogu

Istnieją różne architektury sieci neuronowych do segmentacji, ale wszystkie mają podobną strukturę. W pewnym sensie przypomina to autoenkoder, o którym wcześniej się uczyliśmy, ale zamiast dekonstruować oryginalny obraz, naszym celem jest dekonstruowanie maski. W związku z tym sieć segmentacyjna składa się z następujących części:

  • Enkoder wyodrębnia cechy z obrazu wejściowego.
  • Dekoder przekształca te cechy w obraz maski, o tym samym rozmiarze i liczbie kanałów odpowiadającej liczbie klas.

Obraz z tej publikacji

Warto szczególnie wspomnieć o funkcji straty używanej w segmentacji. W przypadku klasycznych autoenkoderów musimy mierzyć podobieństwo między dwoma obrazami i możemy do tego użyć średniego błędu kwadratowego (MSE). W segmentacji każdy piksel w docelowym obrazie maski reprezentuje numer klasy (zakodowany w formacie one-hot wzdłuż trzeciego wymiaru), więc musimy używać funkcji straty specyficznych dla klasyfikacji - straty krzyżowej entropii, uśrednionej dla wszystkich pikseli. Jeśli maska jest binarna, stosuje się stratę binarnej krzyżowej entropii (BCE).

Kodowanie one-hot to sposób kodowania etykiety klasy w wektor o długości równej liczbie klas. Zobacz ten artykuł, aby dowiedzieć się więcej o tej technice.

Segmentacja w obrazowaniu medycznym

W tej lekcji zobaczymy segmentację w praktyce, trenując sieć do rozpoznawania znamion (znanych również jako pieprzyki) na obrazach medycznych. Będziemy korzystać z bazy danych PH2 obrazów dermoskopowych jako źródła obrazów. Ten zbiór danych zawiera 200 obrazów trzech klas: typowe znamię, atypowe znamię i czerniak. Wszystkie obrazy zawierają również odpowiadającą im maskę, która obrysowuje znamię.

Ta technika jest szczególnie odpowiednia dla tego typu obrazowania medycznego, ale jakie inne zastosowania w rzeczywistym świecie możesz sobie wyobrazić?

navi

Obraz z bazy danych PH2

Wytrenujemy model do segmentacji dowolnego znamienia z jego tła.

✍️ Ćwiczenia: Segmentacja semantyczna

Otwórz poniższe notatniki, aby dowiedzieć się więcej o różnych architekturach segmentacji semantycznej, poćwiczyć pracę z nimi i zobaczyć je w działaniu.

Quiz po wykładzie

Podsumowanie

Segmentacja to bardzo potężna technika klasyfikacji obrazów, która wykracza poza ramki ograniczające, umożliwiając klasyfikację na poziomie pikseli. Jest to technika stosowana w obrazowaniu medycznym i wielu innych zastosowaniach.

🚀 Wyzwanie

Segmentacja ciała to tylko jedno z powszechnych zadań, jakie możemy wykonywać z obrazami ludzi. Inne ważne zadania obejmują wykrywanie szkieletu i wykrywanie pozycji. Wypróbuj bibliotekę OpenPose, aby zobaczyć, jak można wykorzystać wykrywanie pozycji.

Przegląd i samodzielna nauka

Ten artykuł na Wikipedii oferuje dobry przegląd różnych zastosowań tej techniki. Dowiedz się więcej na własną rękę o poddziedzinach segmentacji instancji i segmentacji panoptycznej w tej dziedzinie badań.

Zadanie

W tym laboratorium spróbuj segmentacji ciała ludzkiego przy użyciu Segmentation Full Body MADS Dataset z Kaggle.

Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż staramy się zapewnić dokładność, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.