18 All-Time Classic Open Source Computer Vision Projects dla początkujących

przegląd

  • open source computer vision projects are a great segway to landing a role in the deep learning industry
  • rozpocznij pracę nad tymi 18 popularnymi i klasycznymi projektami open source computer vision

wprowadzenie

Aplikacje wizyjne są obecnie wszechobecne. Szczerze mówiąc, nie pamiętam, kiedy ostatni raz przeszedłem przez cały dzień, nie napotykając ani nie wchodząc w interakcję z co najmniej jednym przypadkiem widzenia komputerowego (hello facial recognition on my phone!).

ale chodzi o to, że ludzie, którzy chcą nauczyć się widzenia komputerowego, Zwykle tkwią w koncepcjach teoretycznych. I to jest najgorsza droga jaką możesz obrać! Aby naprawdę nauczyć się i opanować wizję komputerową, musimy połączyć teorię z doświadczeniem praktycznym.

i tu pojawiają się projekty komputerowe typu open source. Nie musisz wydawać ani grosza, aby ćwiczyć swoje umiejętności widzenia komputera-możesz to zrobić siedząc tam, gdzie teraz jesteś!

projekty komputerowe open-source vision

więc w tym artykule połączyłem i stworzyłem listę projektów komputerowych Open-Source Vision opartych na różnych zastosowaniach wizji komputerowej. Jest wiele do omówienia i jest to dość obszerna lista, więc zagłębimy się!

jeśli jesteś zupełnie nowy w wizji komputerowej i głębokim uczeniu się i wolisz uczyć się w formie wideo, sprawdź to:

  • widzenie komputerowe z wykorzystaniem głębokiego uczenia 2.0

18 projektów Open Source Computer Vision dzieli się na następujące kategorie:

  • Klasyfikacja obrazu
  • Rozpoznawanie twarzy
  • transfer stylu neuronowego za pomocą Gan
  • wykrywanie tekstu sceny
  • wykrywanie obiektów za pomocą DETR
  • segmentacja semantyczna
  • wykrywanie pasa drogowego w pojazdach autonomicznych
  • podpisywanie obrazów
  • projekty szacowania pozy ludzkiej
  • rozpoznawanie emocji za pomocą mimiki twarzy

Open-Source projekty wizji komputerowej do klasyfikacji obrazów

Klasyfikacja obrazów jest podstawowym zadaniem w wizji komputerowej. W tym przypadku celem jest sklasyfikowanie obrazu poprzez przypisanie mu konkretnej etykiety. Łatwo nam ludziom zrozumieć i sklasyfikować obrazy, które widzimy. Ale sprawa jest zupełnie inna dla maszyny. Jest to uciążliwe zadanie dla maszyny, aby odróżnić samochód od słonia.

oto dwa z najbardziej znanych projektów open-source do klasyfikacji obrazów:

  1. Cifar 10

    zbiór danych CIFAR-10 jest zbiorem obrazów, które są powszechnie używane do szkolenia algorytmów uczenia maszynowego i widzenia komputerowego. Jest to jeden z najpopularniejszych zestawów danych do badań nad uczeniem maszynowym. Zawiera 60 000, 32×32 kolorowe obrazy w 10 różnych klasach. Klasy reprezentują samoloty, samochody, Ptaki, Koty, jelenie, psy, żaby, konie, statki i ciężarówki.

  2. ImageNet

    zestaw danych ImageNet jest dużą bazą danych wizualnych do użytku w komputerowych badaniach wzroku. Ponad 14 milionów obrazów zostało ręcznie adnotowanych przez projekt, aby wskazać, jakie obiekty są wyświetlane, a w co najmniej milionie obrazów przewidziano również obwiedniowe pola. ImageNet zawiera ponad 20 000 kategorii!

jako początkujący możesz zacząć od sieci neuronowej od zera za pomocą Keras lub PyTorch. Aby uzyskać lepsze wyniki i zwiększyć poziom nauki, doradzę korzystanie z transferu uczenia przez wcześniej przeszkolone modele, takie jak VGG-16, Restnet – 50, Googlenet itp.

 open-source computer vision projects -

polecam przejrzenie poniższego artykułu, aby dowiedzieć się więcej o klasyfikacji obrazów:

  • najlepsze wstępnie wyszkolone modele 4 do klasyfikacji obrazów z kodem Pythona

sugeruję również przejrzenie poniższych dokumentów w celu lepszego zrozumienia klasyfikacji obrazów:

  • Klasyfikacja ImageNet z głębokimi Konwolucyjnymi sieciami neuronowymi
  • sięganie głębiej z Konwolucjami
  • głębokie uczenie szczątkowe do rozpoznawania obrazów

otwarte projekty wizji komputerowej do rozpoznawania twarzy

rozpoznawanie twarzy jest jednym z głównych zastosowań wizji komputerowej. Służy do ochrony, nadzoru lub odblokowywania urządzeń. Jest to zadanie identyfikacji twarzy na obrazie lub filmie w stosunku do istniejącej bazy danych. Możemy użyć metod głębokiego uczenia, aby poznać cechy twarzy i je rozpoznać.

jest to wieloetapowy proces, składający się z następujących etapów:

  1. Wykrywanie twarzy: jest to pierwszy krok i polega na zlokalizowaniu jednej lub więcej twarzy obecnych w obrazie wejściowym lub wideo.
  2. wyrównanie twarzy: wyrównanie normalizuje powierzchnie wejściowe, aby były geometrycznie zgodne z bazą danych.
  3. wyodrębnianie funkcji: później wyodrębniane są funkcje, które można wykorzystać w zadaniu rozpoznawania.
  4. rozpoznawanie funkcji: wykonaj dopasowanie funkcji wejściowych do bazy danych.

następujące zbiory danych open-source zapewnią dobrą ekspozycję na rozpoznawanie twarzy-

  1. MegaFace

    MegaFace to wielkoskalowy zestaw danych szkoleniowych dotyczących publicznego rozpoznawania twarzy, który służy jako jeden z najważniejszych punktów odniesienia dla komercyjnych problemów z rozpoznawaniem twarzy. Zawiera 4,753,320 twarzy 672,057 tożsamości

  2. Tagged faces in the Wild home

    Tagged Faces in the Wild (LFW) to baza zdjęć twarzy przeznaczona do badania problemu nieskrępowanego rozpoznawania twarzy. Ma 13,233 zdjęć 5,749 osób, które zostały wykryte i zebrane z sieci. Ponadto 1680 osób na zdjęciu ma dwa lub więcej wyraźnych zdjęć w zbiorze danych.

ponadto, aby przejść projekt do zaawansowanego etapu, możesz użyć wstępnie przeszkolonych modeli, takich jak Facenet.

Facenet to model głębokiego uczenia, który zapewnia ujednolicone osadzanie w celu rozpoznawania twarzy, weryfikacji i klastrowania zadań. Sieć odwzorowuje każdy obraz twarzy w przestrzeni euklidesowej w taki sposób, że odległość między podobnymi obrazami jest mniejsza.

open-source computer vision projects - facenet

Source

możesz łatwo użyć wstępnie przeszkolonych modeli Facenet dostępnych w Keras i PyTorch, aby stworzyć własny system rozpoznawania twarzy.

dostępnych jest kilka najnowocześniejszych modeli rozpoznawania twarzy, z którymi możesz eksperymentować. Deepface to sieć oparta na CNN opracowana przez badaczy Facebooka. Był to kamień milowy w wykorzystaniu głębokiego uczenia w zadaniu rozpoznawania twarzy.

aby lepiej zrozumieć rozwój technologii rozpoznawania twarzy w ciągu ostatnich 30 lat, zachęcam do przeczytania interesującej pracy zatytułowanej:

  • Głębokie Rozpoznawanie twarzy: badanie

Open-Source Computer Vision Projects for Neural Style Transfer Using Gans

Neural style transfer to technologia wizyjna, która odtwarza zawartość jednego obrazu w stylu drugiego obrazu. Jest to aplikacja generatywnej sieci kontradyktoryjnej (Gan). Tutaj bierzemy dwa obrazy-obraz treści i obraz odniesienia stylu i mieszamy je ze sobą w taki sposób, aby obraz wyjściowy wyglądał jak obraz treści namalowany w stylu obrazu odniesienia.

jest to realizowane przez optymalizację statystyk zawartości obrazu wyjściowego dopasowania do obrazu treści i statystyk stylu do obrazu odniesienia stylu.

Open-Source Computer Vision Projects - Neural Style Transfer Using Gan

Source

Oto lista niesamowitych zestawów danych do Ćwiczenia:

  1. Coco dataset

    “COCO jest wielkoskalowym zestawem danych do wykrywania, segmentacji i podpisów obiektów. Obrazy w zbiorze danych to przedmioty codziennego użytku uchwycone z codziennych scen. Ponadto zapewnia wielobiektowe etykietowanie, adnotacje dotyczące masek segmentacyjnych, podpisywanie obrazów i wykrywanie punktów kluczowych w sumie 81 kategorii, co czyni go bardzo wszechstronnym i wielofunkcyjnym zestawem danych.

  2. ImageNet

    1. wspominaliśmy już o tym powyżej-ImageNet jest niesamowicie elastyczny!

jeśli zastanawiasz się, jak zaimplementować model transferu stylów, oto samouczek TensorFlow, który może Ci pomóc. Sugeruję również przeczytanie następujących artykułów, Jeśli chcesz zagłębić się w technologię:

  • wyuczona Reprezentacja stylu artystycznego
  • niesparowane tłumaczenie obrazu na obraz za pomocą spójnych cykli sieci Kontradyktoryjnych
  • Transfer stylu obrazu za pomocą Konwolucyjnych sieci neuronowych

projekty komputerowe open-Source do wykrywania tekstu sceny

wykrywanie tekstu w dowolnej scenie jest kolejnym bardzo interesującym problemem. Tekst sceny to tekst, który pojawia się na obrazach przechwyconych przez kamerę w środowisku zewnętrznym. Na przykład tablice rejestracyjne samochodów na drogach, billboardy na poboczu itp.

tekst na obrazach sceny różni się kształtem, czcionką, kolorem i położeniem. Komplikacja w rozpoznawaniu tekstu sceny dodatkowo zwiększa się przez niejednorodne oświetlenie i ostrość.

projekty komputerowe Open-Source - wykrywanie tekstu sceny

poniższe popularne zbiory danych pomogą Ci wzbogacić swoje umiejętności w analizie wykrywania tekstu sceny:

  1. SVHN

    zbiór danych Street View House Numbers (SVHN) jest jednym z najpopularniejszych zbiorów danych open source. Został on użyty w sieciach neuronowych stworzonych przez Google do odczytywania numerów domów i dopasowywania ich do ich geolokalizacji. Jest to świetny zestaw danych porównawczych do zabawy, nauki i szkolenia modeli, które dokładnie identyfikują numery ulic. Ten zbiór danych zawiera ponad 600 000 rzeczywistych obrazów numerów domów pobranych z Google Street View.

  2. zestaw danych SceneText

    zestaw danych scene text składa się z 3000 obrazów rejestrowanych w różnych środowiskach, w tym na zewnątrz i wewnątrz sceny w różnych warunkach oświetleniowych. Zdjęcia były rejestrowane za pomocą aparatu cyfrowego o wysokiej rozdzielczości lub aparatu w telefonie komórkowym o niskiej rozdzielczości. Co więcej, wszystkie obrazy zostały zmienione na 640×480.

ponadto wykrywanie tekstu sceny to dwuetapowy proces polegający na wykrywaniu tekstu w obrazie i rozpoznawaniu tekstu. Do wykrywania tekstu znalazłem najnowocześniejszą metodę głębokiego uczenia EAST (Efficient Accurate Scene Text Detector). Może znaleźć poziome i obrócone pudełka obwiedniowe. Można go używać w połączeniu z dowolną metodą rozpoznawania tekstu.

oto kilka innych ciekawych prac na temat wykrywania tekstu sceny:

  • wykrywanie tekstu w naturalnym obrazie za pomocą Connectionist text Proposal Network
  • COCO-Text: zbiór danych i Benchmark do wykrywania i rozpoznawania tekstu w naturalnych obrazach

Open-Source Computer Vision Projects do wykrywania obiektów za pomocą DETR

wykrywanie obiektów jest zadaniem przewidywania każdego interesującego obiektu obecnego na obrazie za pomocą obwiedni wraz z odpowiednimi etykietami na nich.

kilka miesięcy temu Facebook udostępnił swoją strukturę wykrywania obiektów-DEtection TRansformer (DETR). DETR jest skutecznym i innowacyjnym rozwiązaniem problemów z wykrywaniem obiektów. Usprawnia on proces szkolenia, postrzegając wykrywanie obiektów jako bezpośredni problem z prognozowaniem zestawów. Ponadto przyjmuje architekturę koder-dekoder opartą na trans-formerach.

Open - Source Computer Vision Projects-Detection Object Detection With DETR

aby dowiedzieć się więcej o DERT, tutaj jest Papier i Colab notebook.

Zdywersyfikuj swoje portfolio, pracując na następujących otwartych zbiorach danych do wykrywania obiektów:

  1. Otwórz obrazy

    Otwórz obraz to zbiór danych zawierający ~9 mln obrazów opatrzonych etykietami na poziomie obrazu, obwiedniami obiektów, maskami segmentacji obiektów, relacjami wizualnymi i zlokalizowanymi narracjami. Zestaw danych jest podzielony na zestaw treningowy (9 011 219 obrazów), zestaw walidacyjny (41 620 obrazów) i zestaw testowy (125 436 obrazów).

  2. MS-Coco

    MS-Coco jest wielkoskalowym zbiorem danych powszechnie stosowanym do wykrywania obiektów. Składa się z 330 000 obrazów z 80 kategoriami obiektów z 5 podpisami na obraz i 250 000 osób z kluczowymi punktami.

możesz przeczytać następujące zasoby, aby dowiedzieć się więcej o wykrywaniu obiektów:

  • krok po kroku Wprowadzenie do podstawowych algorytmów detekcji obiektów
  • praktyczny przewodnik po detekcji obiektów z wykorzystaniem popularnego frameworka YOLO
  • Facebook AI uruchamia DEtection TRansformer (DETR) – podejście do detekcji obiektów oparte na transformatorze!

Open-Source Computer Vision Projects for Semantic Segmentation

kiedy mówimy o pełnym zrozumieniu sceny w technologii widzenia komputerowego, segmentacja semantyczna wchodzi w obraz. Jest to zadanie klasyfikowania wszystkich pikseli w obrazie do odpowiednich klas obiektów.

Open-Source Computer Vision Projects-Semantic Segmentation

Poniżej znajduje się lista zbiorów danych open-source do Ćwiczenia tego tematu:

  1. CamVid

    ta baza danych jest jednym z pierwszych semantycznie podzielonych zbiorów danych, które zostaną wydane. Jest to często używane w badaniach segmentacji semantycznej (w czasie rzeczywistym). Zestaw danych zawiera:

    • 367 pary treningowe
    • 101 par testowych
    • 233 pary testowe
  2. Cityscapes

    ten zbiór danych jest przetworzoną podpróbką oryginalnych cityscapes. Zestaw danych zawiera nieruchome obrazy z oryginalnych filmów, a etykiety segmentacji semantycznej są wyświetlane na obrazach obok oryginalnego obrazu. Jest to jeden z najlepszych zestawów danych do zadań segmentacji semantycznej. Posiada 2975 plików obrazów szkoleniowych i 500 walidacji plików graficznych każdy z 256×512 pikseli

aby przeczytać dalej o segmentacji semantycznej, polecam następujący artykuł:

  • segmentacja semantyczna: Wprowadzenie do techniki głębokiego uczenia za kamerą Google Pixel!

oto kilka dokumentów dostępnych z kodem do segmentacji semantycznej:

  • Encoder-dekoder z rozdzielanym Splotem do semantycznej segmentacji obrazu
  • DeepLab: Semantyczna segmentacja obrazu za pomocą głębokich siatek splotu, splotu wewnętrznego i w pełni połączonych CRF

projekty komputerowej wizji Open-Source do wykrywania pasa drogowego w pojazdach autonomicznych

autonomiczny samochód jest pojazdem zdolnym do wykrywania swojego środowiska i działania bez udziału człowieka. Tworzą i utrzymują mapę otoczenia na podstawie różnych czujników, które pasują do różnych części pojazdu.

te pojazdy mają czujniki radarowe, które monitorują pozycję pobliskich pojazdów. Podczas gdy kamery wideo wykrywają światła drogowe, odczytują znaki drogowe, śledzą inne pojazdy i czujniki Lidar (wykrywanie światła i zasięg) odbijają impulsy światła od otoczenia samochodu, aby zmierzyć odległości, wykryć krawędzie dróg i zidentyfikować oznaczenia pasa ruchu

wykrywanie pasa ruchu jest ważną częścią tych pojazdów. W transporcie drogowym pas ruchu jest częścią jezdni, która jest przeznaczona do użytku przez jedną linię pojazdów w celu kontrolowania i kierowania kierowcami oraz ograniczania konfliktów drogowych.

jest to ekscytujący projekt, który można dodać do CV analityka danych. Oto niektóre zbiory danych dostępne do eksperymentowania z-

  1. TUsimple

    ten zbiór danych był częścią problemu wykrywania pasa ruchu Tusimple. Zawiera 3626 klipów wideo o czasie trwania 1 sek. Każdy z tych klipów wideo zawiera 20 klatek z opatrzoną adnotacją ostatnią klatką. Składa się z zestawów danych treningowych i testowych z 3626 klipami wideo, 3626 ramkami z adnotacjami w zestawie danych treningowych i 2782 klipami wideo do testowania.

jeśli szukasz tutoriala do rozwijania projektu, zapoznaj się z poniższym artykułem-

  • praktyczny samouczek na temat wykrywania pasa ruchu w czasie rzeczywistym za pomocą OpenCV(Self-Driving Car Project!)

Open-Source Computer Vision Projects for Image Captioning

czy kiedykolwiek marzyłeś o technologii, która mogłaby podpisywać Twoje obrazy w mediach społecznościowych, ponieważ ani ty, ani twoi przyjaciele nie jesteście w stanie wymyślić fajnego podpisu? Deep Learning do podpisywania obrazów przychodzi na ratunek.

podpisywanie obrazów to proces generowania opisu tekstowego dla obrazu. Jest to połączone zadanie widzenia komputerowego i przetwarzania języka naturalnego (NLP).

metody widzenia komputerowego pomagają w zrozumieniu i wyodrębnieniu funkcji z obrazów wejściowych. Ponadto NLP konwertuje obraz na opis tekstowy we właściwej kolejności słów.


Poniżej przedstawiono kilka przydatnych zestawów danych, aby zabrudzić sobie ręce za pomocą podpisów obrazkowych:

  1. Coco Caption

    COCO to wielkoskalowy zestaw danych do wykrywania obiektów, segmentacji i podpisów. Składa się z 330 000 obrazów (>200 000) z 1,5 milionem wystąpień obiektów i 80 kategoriami obiektów z 5 podpisami na obraz.

  2. Flicker 8K dataset

    jest to korpus podpisów obrazu składający się z 158 915 napisów z tłumu opisujących 31 783 obrazy. Jest to rozszerzenie zbioru danych Flickr 8k. Nowe obrazy i podpisy skupiają się na ludziach wykonujących codzienne czynności i wydarzenia.

Jeśli szukasz realizacji projektu, proponuję spojrzeć na poniższy artykuł:

  • automatyczne podpisywanie obrazów przy użyciu głębokiego uczenia (CNN i LSTM) w PyTorch

proponuję również przejrzeć ten wybitny artykuł na temat podpisywania obrazów.

Open-Source Computer Vision Projects for Human Pose Estimation

Human Pose Estimation jest ciekawym zastosowaniem wizji komputerowej. Pewnie słyszałeś o Posenet, który jest modelem open-source do szacowania pozy człowieka. W skrócie, pose estimation jest techniką widzenia komputerowego do wnioskowania pozy osoby lub obiektu obecnego w obrazie / wideo.

zanim omówimy pracę szacowania pozy, najpierw zrozumiemy “Ludzki Szkielet pozy”. Jest to zbiór współrzędnych określających pozę osoby. Para współrzędnych to kończyna. Ponadto, pozowanie estymacji jest wykonywana przez identyfikowanie, lokalizowanie, i śledzenie kluczowych punktów ludzi stanowią szkielet w obrazie lub filmie.

źródło

oto kilka zestawów danych, jeśli chcesz opracować model szacowania pozy:

  1. MPII

    MPII Human Pose dataset to najnowocześniejszy punkt odniesienia do oceny szacowania pozy ludzkiej. Zestaw danych zawiera około 25k obrazów zawierających ponad 40K osób z przypisanymi stawami ciała. Ogólnie zbiór danych obejmuje 410 działań ludzkich, a każdy obraz ma etykietę aktywności.

  2. HUMANEVA

zestaw danych HumanEva-I zawiera 7 skalibrowanych sekwencji wideo zsynchronizowanych z pozami ciała 3D. Baza danych zawiera 4 osoby wykonujące 6 wspólnych czynności (np. chodzenie, jogging, gestykulacja itp.), które są podzielone na zestawy szkoleniowe, walidacyjne i testowe.

znalazłem DeepPose przez Google jako bardzo interesujący artykuł badawczy wykorzystujący modele uczenia głębokiego do szacowania pozy. Ponadto możesz odwiedzić wiele artykułów naukowych dostępnych na temat szacowania pozy, aby lepiej je zrozumieć.

projekty komputerowej wizji Open-Source do rozpoznawania emocji za pomocą mimiki twarzy

mimika twarzy odgrywa istotną rolę w procesie komunikacji niewerbalnej, a także w identyfikacji osoby. Są one bardzo ważne w rozpoznawaniu emocji danej osoby. W związku z tym informacje o mimice twarzy są często wykorzystywane w automatycznych systemach rozpoznawania emocji.

rozpoznawanie emocji jest trudnym zadaniem, ponieważ emocje mogą się różnić w zależności od środowiska, wyglądu, Kultury i reakcji twarzy, co prowadzi do niejednoznacznych danych.

system rozpoznawania ekspresji twarzy jest wieloetapowym procesem składającym się z przetwarzania obrazu twarzy, ekstrakcji funkcji i klasyfikacji.

źródło

Poniżej znajduje się zbiór danych, na których można ćwiczyć:

  1. Real-world Affective Faces Database

Real-world Affective Faces Database (RAF-DB) to wielkoskalowa baza danych mimiki twarzy z około 30 tysiącami bardzo zróżnicowanych obrazów twarzy. Składa się z 29672 obrazów świata rzeczywistego i 7-wymiarowego wektora rozkładu ekspresji dla każdego obrazu,

możesz przeczytać te zasoby, aby jeszcze bardziej zwiększyć swoje zrozumienie-

  • Ramka attention networks do rozpoznawania mimiki w filmach
  • Region Attention Networks do pozowania i okluzji solidne Rozpoznawanie mimiki

Uwagi końcowe

aby zawrzeć, w tym artykule omówiliśmy 10 ciekawych projektów wizji komputerowej, które możesz wdrożyć jako początkujący. Lista ta nie jest wyczerpująca. Więc jeśli czujesz, że coś przegapiliśmy, możesz dodać w komentarzach poniżej!

również tutaj wymieniam kilka przydatnych zasobów CV, które pomogą Ci poznać świat głębokiego uczenia się i wizji komputerowej:

  • Oto Twoja ścieżka edukacyjna do Master Computer Vision w 2020
  • Computer Vision using Deep Learning 2.0 Course
  • certyfikowany Program: Computer Vision dla początkujących
  • pierwsze kroki z sieciami neuronowymi (za darmo)
  • Convolutional Neural Networks (CNN) od podstaw (za darmo)

istnieje duża różnica w naukach o danych, których uczymy się na kursach i w praktyce własnej, a w tej, którą pracujemy w branży. Polecam, aby przejść przez te krystalicznie czyste bezpłatne kursy, aby zrozumieć wszystko na temat analityki, uczenia maszynowego i sztucznej inteligencji:

  1. Wprowadzenie do AI/ML darmowy kurs / aplikacja mobilna
  2. Wprowadzenie do AI/ML dla liderów biznesu aplikacja mobilna
  3. Wprowadzenie do analityki biznesowej darmowy kurs | aplikacja mobilna

mam nadzieję, że dyskusja okaże się przydatna. Teraz twoja kolej, aby rozpocząć realizację wizji komputerowej na własną rękę.

możesz również przeczytać ten artykuł w naszej aplikacji mobilnej pobierz go w Google Play

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.