Method Article

Ulepszona metoda anotacji obrazów w fragmentach dla rowerów elektrycznych w złożonych scenariuszach wind na podstawie lokalnych cech

DOI:

10.3791/69226

March 17th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Przedstawiono metodę anotacji obrazów na fragmenty opartą na lokalnych cechach, aby poprawić wykrywanie rowerów elektrycznych w złożonych scenariuszach wind, wykorzystując zbiór EBike-DET oraz powszechne modele detekcji obiektów.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Rosnące użycie rowerów elektrycznych (EBikes) w zamkniętych warunkach, takich jak windy mieszkalne, budzi poważne obawy dotyczące bezpieczeństwa i wprowadza znaczne wyzwania w automatycznym wykrywaniu obiektów, szczególnie z powodu częstych zasłon. Tradycyjne metody wykrywania, które opierają się głównie na holistycznych adnotacjach, często nie są w stanie dokładnie rozpoznać częściowo zasłoniętych EBików w wizualnie złożonych scenach. Aby przezwyciężyć te ograniczenia, niniejsze badanie proponuje nowatorską metodę anotacji fragmentowanej opartą na lokalnych cechach, oferując bardziej interpretowalną strategię adnotacji. Poprzez rozkład EBike na wiele kluczowych obszarów dla niezależnego oznaczania, proponowana metoda umożliwia modelom detekcyjnym zdobywanie drobnoziarnistych informacji strukturalnych, co zwiększa odporność w warunkach intensywnych okluzji. Dodatkowo opracowano dedykowany zestaw danych EBike-DET wspierający zadania wykrywania w realistycznych scenariuszach windy. Z adnotacjami metodą chunked i wzbogaconymi o symulowane warunki środowiskowe, zbiór danych poprawia zarówno wydajność modelu, jak i elastyczność. Proponowana metoda promuje rozwój wyjaśnialnej sztucznej inteligencji (XAI) poprzez zwiększenie przejrzystości i strukturalnej interpretacji detekcji obiektów, co jest szczególnie cenne w zastosowaniach krytycznych dla bezpieczeństwa. Przeprowadzane są szeroko zakrojone eksperymenty z użyciem trzech popularnych modeli (YOLOv5, YOLOv10 i SSD). Wyniki pokazują, że YOLOv5, trenowany na EBike-DET z anotacjami fragmentami, osiąga poprawę o 3,7% w precyzji, 5,3% w pamięci, 4,5% w wyniku F1 oraz 4,4% w mAP. W porównaniu z publicznymi zbiorami danych, EBike-DET wykazuje większą stabilność i odporność pod względem okluzji. To badanie nie tylko zwiększa dokładność wykrywania, ale także stanowi krok w kierunku bardziej interpretowalnych i wyjaśnialnych rozwiązań AI do wdrażania w rzeczywistych systemach monitorowania bezpieczeństwa.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Wraz z szybkim rozwojem rowerów elektrycznych (EBikes) na całym świecie, szczególnie w Chinach, gdzie łączna liczba rowerów przekroczyła 350 milionów sztuk do 2022 roku, EBike stały się dominującym środkiem transportu na krótkie dystanse. Jednak ich częste użycie w zamkniętych przestrzeniach, takich jak windy mieszkalne, niesie ze sobą poważne zagrożenia dla bezpieczeństwa, w tym nieprawidłowe wibracje, uszkodzenia sprzętu, nieprzyjemne zapachy oraz zagrożenie pożarowe. Niedawne badanie szacuje, że incydenty pożarowe związane z EBike mają prawdopodobieństwo około 1,44%1. Te ryzyka podkreślają pilną potrzebę efektywnych i precyzyjnych metod wykrywania EBike, które zwiększają bezpieczeństwo w środowiskach wind.

Pomimo postępów w dziedzinie widzenia komputerowego i uczenia głębokiego, wykrywanie EBike w windach pozostaje wyzwaniem. Publicznie dostępne zbiory danych są rzadkie i często pozbawione różnorodności modeli EBike, kolorów i warunków zasłon, co ogranicza uogólnienie modelu2. Co więcej, scenariusze windy często wiążą się ze złożonymi zasłonami, gdzie EBikes są częściowo ukryte przez pasażerów lub elementy konstrukcyjne, co dodatkowo obniża precyzję wykrywania 3,4,5. Istniejące metody holistycznej adnotacji, które traktują EBikes jako jedno ramę ograniczające, często zawodzą w takich warunkach, co pokazuje potrzebę ulepszenia strategii adnotacji i wykrywania. Jak pokazano w Tabeli 1, holistyczne adnotacje prowadzą do znacznie obniżonej wydajności, z nawet 21,5% obniżeniem średniej precyzji na progu przecięcia nad sumą (IoU) wynoszącą 0,5 (mAP@0,5) w porównaniu z adnotacją podzieloną.

Postępy w wykrywaniu opartym na uczeniu głębokim

Metody głębokiego uczenia, zwłaszcza sieci neuronowe splotowe (CNN), są szeroko stosowane w wykrywaniu obiektów. Rodzina You Only Look Once (YOLO) prezentuje silne wyniki w czasie rzeczywistym. Jednak przy wykrywaniu obiektów zasłoniętych lub nakładających się, modele YOLO mają tendencję do generowania redundantnych ramek ograniczających. Na przykład YOLOv5 usprawnia wieloskalową ekstrakcję cech poprzez głęboką konwolucję i sieci piramid cech 6,7, podczas gdy YOLOv10 eliminuje tłumienie nie-maksymalne i wykorzystuje sieci agregacji ścieżek, aby zwiększyć szybkość i wieloskalową fuzję 8,9. Pomimo tych ulepszeń, redundantne ramki ograniczające i malejąca odporność w środowiskach z dużą ilością zasłon pozostają nierozwiązanymi problemami. Jednak oba cierpią, gdy kluczowe struktury EBike są częściowo zablokowane, ponieważ holistyczne adnotacje dostarczają ograniczonych lokalnych wskazówek. Jak pokazano na rysunku 1A-C, to ograniczenie prowadzi do redundantnych ramek ograniczających i niestabilnej pewności detekcji przy umiarkowanej lub silnej okluzji. Natomiast annotacja chunked łagodzi ten problem, umożliwiając modelowi wykrywanie oddzielnych obszarów – takich jak koła czy tylny obszar – co zmniejsza redundantne ramki ograniczające pod okluzją. Rysunek 1D-F dodatkowo pokazuje, że fragmentowane adnotacje poprawiają lokalizację cech i zachowują stabilność detekcji, gdy widoczne pozostają tylko częściowe komponenty EBike.

Podobnie model10,11 Single Shot MultiBox Detector (SSD), oparty na szkieletu VGG-16, zapewnia efektywne wykrywanie na różnych skalach i dobrze radzi sobie na małych obiektach12. Jednak SSD ma też trudności, gdy ciągłość cech zostaje przerwana przez silne zasłonięcie, co prowadzi do przeoczenia detekcji lub niestabilnej regresji pudełkowej – nawet gdy wprowadzono mechanizmy uwagi13. Fragmentowana adnotacja również daje tu przewagę: model nadal może polegać na pozostałych widocznych lokalnych częściach, poprawiając stabilność detekcji w warunkach wieloskalowych i zasłoniętych.

Strategie adnotacji i lokalne uczenie cech

Większość obecnych metod detekcji stosuje holistyczne adnotacje, które upraszczają adnotacje, ale opierają się głównie na cechach globalnych14,15. Takie podejście ma trudności, gdy kluczowe obszary EBike – takie jak koła, przednia czy tylna część – są częściowo nieobecne. Niedawne badanie16 wykazało, że lokalne uczenie cech, które dzieli obiekty na wiele anotowanych części, może poprawić odporność i precyzję w trudnych sytuacjach. Zgodnie z tym, wyniki z Tabeli 2 pokazują, że annotacje w fragmentach pozostają skuteczne, gdy co najmniej 40%-60% kluczowych komponentów EBike pozostaje widocznych, szczególnie podczas adnotacji kół, przedniej i tylnej części pojazdu. Natomiast holistyczne ramki ograniczające pozostają wystarczające w sytuacjach o niskim zasłonieniu (np. <20% okluzji) lub gdy rozdzielczość obrazu wynosi ≥1280 x 720, gdzie zachowana jest pełna sylwetka. Korzyść z chunkingu maleje, gdy okluzja przekracza ≈70% lub gdy obszary na poziomie cech stają się zbyt małe, by dostarczyć dyskryminacyjnych informacji przestrzennych.

Metodologiczne uzasadnienie stosowania wykrywania narożników Harrisa

Detekcja narożników Harrisa jest wybierana do lokalnej ekstrakcji cech ze względu na deterministyczne zachowanie, efektywność obliczeniową oraz właściwości wolne od treningu, które są niezbędne do niezawodnego adnotowania w środowiskach wind. W przeciwieństwie do detektorów nauczonych punktów kluczowych, takich jak SuperPoint i LoFTR, unika dodatkowego treningu i zmniejsza przesunięcie domeny przy ograniczonych anotowanych danych i silnej okluzji. W porównaniu z operatorami opartymi na krawędziach, takimi jak Canny i Sobel, narożniki Harrisa kładą nacisk na geometrycznie istotne połączenia zamiast na szumujące krawędzie tła, co umożliwia stabilną lokalizację struktur EBike, w tym przecięć kół i ram. Ponadto detekcja narożników Harrisa zapewnia interpretowalne hiperparametry. Empiryczna stała k kontroluje czułość i stabilność narożników. Jak pokazano w sekcji 2.6.2.4 i Rysunku 2, korekta k wspiera kontrolowaną równowagę między odpornością a nadmiernym wykrywaniem, co dobrze odpowiada proponowanej strategii anotacji fragmentów opartej na regułach.

Augmentacja danych dla odporności

Augmentacja danych okazała się skuteczna w zwiększaniu różnorodności i elastyczności modeli detekcji. Typowe techniki to transformacje geometryczne (np. rotacja, skalowanie, przycinanie) oraz korekty kolorów (np. skalowanie szarości, modyfikacje luminancji), które symulują rzeczywiste warunki i zmiany oświetlenia 17,18,19. Dzięki wdrożeniu tych strategii modele detekcji stają się bardziej odporne na zmienność i lepiej przystosowane do wdrożenia w rzeczywistym świecie.

Aby rozwiązać powyższe ograniczenia, niniejsze badanie proponuje ulepszoną metodę anotacji w fragmentach opartą na lokalnych cechach. Metoda ta zwiększa uczenie się cech i odporność poprzez podział EBikes na wiele niezależnych adnotowanych części, co umożliwia skuteczniejsze wykrywanie w złożonych warunkach okluzji. Dodatkowo stworzono dedykowany zestaw danych Electric Bike Detection (EBike-DET) dostosowany do środowisk wind, wzbogacony o różnorodne uzupełnienia danych, aby poprawić elastyczność modelu. Na koniec metoda jest weryfikowana na YOLOv5, YOLOv10 i SSD, wykazując stałe wzrosty wydajności od +5,69% do +39,81% mAP, jak podsumowano w Tabeli 3. Wkład można podsumować następująco: ulepszona metoda anotacji w fragmentach, która wzmacnia uczenie cech w warunkach zasłony, budowa specjalistycznego zbioru danych EBike-DET dla scenariuszy windy, z uwzględnieniem wielu technik augmentacji oraz eksperymentalna walidacja na głównych modelach detekcji, wykazująca większą precyzję i odporność w porównaniu z holistyczną adnotacją.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Zbiór danych EBike-DET używany w tym badaniu składa się z obrazów zebranych przez autorów za pomocą fotografii na miejscu w środowiskach wind, parkingów i ulic, a także publicznie dostępnych obrazów EBike uzyskanych z platform internetowych. Cała zbieracza obrazów na miejscu była prowadzona w środowiskach nieprywatnych wyłącznie w celu technicznych badań związanych z bezpieczeństwem nad wykrywaniem EBike. Zdjęcia nie są celowo skierowane do osób, a przypadkowo uchwycone osoby są nieidentyfikowalne ze względu na odległość, zasłonę, widok z tyłu lub odpowiednie przetwarzanie usuwające cechy twarzy i inne osobiste identyfikatory. Obrazy z internetu były pozyskiwane wyłącznie z platform umożliwiających ponowne wykorzystanie do badań naukowych lub z zasobów udostępnionych na otwartych licencjach. Wszystkie zdjęcia są wykorzystywane wyłącznie do celów badawczych i edukacyjnych niekomercyjnych. Ponieważ nie zebrano żadnych identyfikowalnych danych osobowych i nie doszło do bezpośredniego kontaktu z ludźmi, badanie to nie wymagało zatwierdzenia przez instytucjonalną komisję etyczną zgodnie z wytycznymi instytucjonalnymi autora.

1. Budowa zbioru danych

  1. Rozdzielczość obrazu, przestrzeń kolorów i formaty plików
    1. Ustaw natywną rozdzielczość obrazów na 1280 x 720 pikseli, aby uchwycić wysokiej jakości szczegóły EBikes w różnych scenach.
    2. Po standaryzacji zmień rozmiar obrazów do 640 x 480 pikseli, aby zrównoważyć efektywność obliczeniową i zachowanie cech.
    3. Ustaw przestrzeń kolorów na RGB, aby zachować pełne informacje kolorystyczne i zapewnić dokładne rozpoznawanie cech w różnych warunkach oświetleniowych.
    4. Zapisz zdjęcia w formacie JPEG, aby zoptymalizować przechowywanie bez znaczącego pogorszenia jakości obrazu.
  2. Definiowanie i dzielenie zbiorów danych treningowych, walidacyjnych i testowych
    1. Podziel zbiór danych na zestawy treningowe, walidacyjne i testowe z proporcją 7:2:1, zapewniając odpowiedni podział do trenowania modelu, strojenia hiperparametrów i oceny wydajności.
    2. Ustaw losowe ziarno na 42, aby zapewnić powtarzalność danych podzielonych na różne eksperymenty.
    3. Stosuj próbkowanie stratyfikowane, aby utrzymać spójny rozkład modeli EBike i poziomów zasłon w każdym podziale zbioru danych, zapewniając brak nierównowagi klasowej między zbiorami.
    4. Upewnij się, że nie ma wycieków między zestawami treningowymi, walidacyjnymi a testowymi, nie pojawiając się żaden obraz EBike w więcej niż jednym zestawie.
  3. Budowa zbioru danych publicznego
    1. Wybierz publicznie dostępny zbiór danych wykrywania EBike z otwartoźródłowej platformy 20,21,22,23, która zawiera 210 obrazów EBikes zarówno w scenach panoramicznych, jak i częściowo zasłoniętych.
    2. Należy zidentyfikować ograniczenia publicznego zbioru danych, w tym pojedynczy kąt kamery, niską rozdzielczość oraz proste sceny tła, które mogą ograniczać zdolność modelu do uogólniania, szczególnie w złożonych scenariuszach zasłony.
  4. Konstrukcja zbioru danych EBike-DET
    1. Skonstruować zbiór danych EBike-DET, aby zwiększyć pokrycie scen i różnorodność próbek, składający się z 1 680 wysokiej jakości zdjęć z platform internetowych oraz fotografii na miejscu.
    2. Zadbaj o różnorodne środowiska, takie jak windy, parkingi i ulice, rejestrując różne warunki, w jakich mogą się znajdować EBikes.
    3. Włącz różnorodne kąty kamery (widoki z przodu, z boku i z góry), aby uchwycić pełen zakres wyglądów EBike, zapewniając solidne trenowanie modeli detekcji.
    4. Wzbogać zbiór danych, uwzględniając wiele marek i modeli EBike, z różnicami kolorów, rozmiarów i akcesoriów, aby zwiększyć różnorodność próbek.
    5. Upewnij się, że uwzględniono scenariusze zasłon, w których EBiki są częściowo zasłonięte przez pieszych i pojazdy, symulując rzeczywiste warunki w ciasnych przestrzeniach, takich jak windy.
    6. Potwierdź, że zbiór danych EBike-DET zawiera różnorodne i złożone próbki, co czyni go wiarygodnym zbiorem danych do wykrywania celów w złożonych warunkach okluzji.
  5. Zasady włączania i wykluczania zdjęć internetowych i na stronie
    1. Zdjęcia internetowe: Uwzględnij tylko te publicznie dostępne, wykonane w różnorodnych środowiskach, o wysokiej rozdzielczości i zróżnicowanych warunkach oświetlenia. Wyklucz obrazy o niskiej rozdzielczości lub proste tła.
    2. Zdjęcia na miejscu: Uwzględnij zdjęcia wykonane w rzeczywistym środowisku, szczególnie w miejscach takich jak windy, parkingi czy ulice. Upewnij się, że obrazy reprezentują realistyczne scenariusze EBike z różnicami w okluzji, złożoności tła i warunkach pogodowych. Wyklucz obrazy z nadmiernym szumem, zniekształceniami lub nierealistycznymi ustawieniami.
    3. Upewnij się, że zarówno obrazy internetowe, jak i na miejscu stosują te same standardy rozdzielczości i przestrzeni kolorów, aby zachować spójność w całym zbiorze danych.
  6. Konstrukcja augmentacji danych
    1. Stosuj podstawowe operacje augmentacji, takie jak skalowanie szarości i rotacja, aby zwiększyć różnorodność próbek oraz symulować różne warunki oświetleniowe i orientacje kamery.
    2. Podziel cel EBike na kilka niezależnych regionów lokalnych, w tym obszar kół, przedni i tylny, aby poprawić naukę lokalnych cech.
    3. Anotyfikuj każdy region niezależnie, aby poprawić dokładność wykrywania w warunkach okluzji i zapewnić solidną wydajność modelu w różnych częściach EBike.
    4. Sprawdź, czy wszystkie obrazy rozszerzone i fragmentowane adnotacje zachowują strukturalną spójność z funkcjami EBike, aby uniknąć niezgodności lub nieprawidłowości danych treningowych.

2. Adnotacje fragmentowane na fragmenty lokalnych cech

UWAGA: Aby zwiększyć precyzję wykrywania EBikes w złożonych scenariuszach zasłon, proponuje się metodę anotacji w fragmentach opartą na ulepszonych cechach lokalnych. Metoda ta segmentuje region EBike poprzez wyodrębnianie jego lokalnych punktów cech i określa, czy obszar powinien być oznaczony na podstawie stopnia zasłonienia w odpowiednim obszarze cech. Szczegółowy proces eksperymentalny przedstawiono na Rysunku 3.

  1. Korzystając z wcześniej skonstruowanych zbiorów danych treningowych, walidacyjnych i testowych.
  2. Ręczne adnotowanie: Użyj narzędzia LabelImg w środowisku Python do ręcznego adnotowania. Wszystkie obrazy oznaczać wyłącznie jako EBikes, zapewniając minimalne zakłócenia ze strony próbek negatywowych24,25.
  3. Przetwarzanie i augmentacja danych
    1. Zastosuj metodę zaproponowaną przez Yongjianga i in.22 do usuwania i standaryzacji obrazów, aby zapewnić jednolity rozmiar w całym zbiorze danych.
    2. Wykonuj operacje powiększania danych (np. rotacja, regulacja jasności, skalowanie szarości), aby zwiększyć różnorodność próbek. Upewnij się, że wszystkie obrazy rozszerzone zachowują jakość obrazu i zwiększają odporność modelu na różne tła.
  4. Uprawy na obszarze EBike
    1. Aby zapewnić powtarzalność lokalizacji ROI, zastosuj parametry wnioskowania z Tabeli 4 dla YOLOv10 (używając pliku wagowego yolov10x.pt pretrenowanego). Współrzędne wyjściowych pudełek ograniczających są następujące:
      ROI = [x1, y1, x2, y2] (1)
      Równanie (1) definiuje współrzędne ROI26 w ramce ograniczającej [x1, y1, x2, y2] , gdzie: x1, y1 = Współrzędne w lewym górnym rogu EBike ROI; x2,y 2 =Współrzędne w prawym dolnym rogu EBike ROI. Współrzędne te pochodzą z surowego wyniku YOLOv10, który przewiduje ramki ograniczające w formacie [cx,c y, w, h] dla każdego wykrytego obiektu. Wzory konwersji to:
      figure-protocol-1    (2)
      figure-protocol-2    (3)
      figure-protocol-3    (4)
      figure-protocol-4    (5)
      Gdzie cx, cy to znormalizowane poziome/pionowe współrzędne środka przewidywanego ramki ograniczającej (skalowane do rozmiaru obrazu wejściowego 640 x 480). w, h to znormalizowana szerokość/wysokość przewidywanego ramki ograniczającej (skalowana do rozmiaru obrazu wejściowego).
    2. Filtruj wyjście YOLOv10 według progu ufności (0,5), aby zachować tylko detekcje związane z EBike (ID klasy odpowiadające rowerowi elektrycznemu), a następnie przetwarzaj za pomocą NMS (IoU=0,45), aby usunąć redundantne pudełka. Przekonwertuj pozostałe ramki ograniczające na [x1, y1, x2, y2] dla przycinania zwrotu z inwestycji (ROI).
    3. Obsługa wielu wykryć
      UWAGA: W scenariuszach elevator (głównym celem zbioru danych EBike-DET) EBikes są zazwyczaj pojedyncze instancje (ze względu na ograniczenia przestrzenne). W przypadkach z wieloma detekcjami EBike (np. zatłoczone windy z dwoma EBike) obowiązują następujące zasady.
      1. Priorytet najwyższej ufności: Wybierz ramkę ograniczającą o maksymalnym wskaźniku ufności (pewność wyjściowa YOLOv10 odzwierciedla pewność modelu, że obiekt jest EBike).
      2. Sprawdzenie poprawności przestrzennej: Jeśli wiele detekcji ma wskaźniki ufności >0,7, zweryfikować nakładanie się przestrzenne z granicami konstrukcji wind (np. unikaj ramek wykraczających poza ściany windy). Zachowaj detekcję, której punkt środkowy cx, cy znajduje się najbliżej centrum obrazu (windy są zazwyczaj monitorowane przez kamery przednie, z celami wyśrodkowanymi).
      3. Obsługa przypadków brzegowych: Jeśli żadne ważne wykrywanie nie spełnia progu ufności (np. silna okluzja), należy oznaczyć obraz do ręcznej korekty ROI (stanowiącej <3% zbioru danych EBike-DET).
  5. Konwersja i normalizacja w skali szarości
    1. Wykonaj konwersję do skali szarości na przyciętym obrazie RGB z ROI. Stosuj metodę średniej ważonej do konwersji, zgodnie z wzorem:
      Igra = 0,299 × R + 0,587 × G + 0,114 × B (6)
      gdzie R, G i B reprezentują wartości pikseli odpowiednio w czerwonym, zielonym i niebieskim kanale. Ta metoda jest zgodna z ludzkim postrzeganiem jasności w różnych kolorach.
    2. Normalizuj wartości pikseli obrazu w skali szarości do zakresu [0, 1], skalując liniowo od [0, 255]. Ta normalizacja poprawia stabilność obliczeń numerycznych i zapewnia, że kolejne obliczenia gradientu oraz progi działają konsekwentnie w różnych warunkach oświetleniowych.
  6. Wykrywanie zarożników Harrisa
    1. Zastosuj wykrywanie narożników Harrisa do skali szarości i normalizuj region EBike, aby wyodrębnić lokalne punkty cech.
      UWAGA: Podstawowa zasada wykrywania narożników Harrisa polega na obliczaniu macierzy autokorelacji w celu dokładnego zlokalizowania narożników na obrazie, jak pokazano wizualnie na Rysunku 4B. Te wykryte narożniki są zazwyczaj powiązane z kluczowymi komponentami EBike, takimi jak koła, przednia i tylna powierzchnia, które często wykazują wyraźne cechy zarożników.
    2. Oblicz gradient obrazu, aby zidentyfikować obszary o istotnych zmianach intensywności, jak opisano poniżej.
      1. Wygładzanie obrazu: Zastosuj filtrowanie Gaussa do obrazu w skali szarości, aby zminimalizować szumy, uzyskując wygładzony obraz w następujący sposób:
        Is = Gσ*I (7)
        gdzie * oznacza operację splotu, a Gσ to dwuwymiarowe jądro Gaussa o odchyleniu standardowym σ, które kontroluje poziom wygładzania. Typowa wartość dla wynosi 1,0.
      2. Oblicz gradient obrazu: Użyj operatora gradientu (takiego jak operator Sobela) do obliczenia poziomych (x) i pionowych (y) gradientów wygładzonego obrazu:
        Ix = Kx * Is ,I y = K y * Iy (8)
        gdzie Ix iI y to odwzorowania gradientu odpowiednio w kierunku x i y, a Gx i Gy to jądra splotu operatora Sobela:
        figure-protocol-5, figure-protocol-6 (9)
      3. Skonstruuj macierz autokorelacji M na podstawie wcześniej obliczonych gradientów, używając lokalnego okna W o wymiarach 3 x 3, wyśrodkowanego przy każdym pikselu (x,y):
        figure-protocol-7   (10)
        We wzorze W odnosi się do lokalnego okna w pozycji (x,y), a operacja ∑W oznacza sumę wszystkich elementów obrazu w tym oknie; A = ∑W Ix2 oznacza sumę kwadratowych gradientów w oknie W w kierunku x, odzwierciedlając intensywność zmian w kierunku x; B=∑W Iy2 oznacza sumę kwadratów gradientów w oknie W w kierunku y, odzwierciedlając intensywność zmian w kierunku y; C = ∑W IxIy oznacza sumę iloczynu gradientów w kierunkach x i y w obrębie okna W, opisując korelację zmian między tymi dwoma kierunkami.
      4. Oblicz sumę kwadratowych gradientów w obu kierunkach x i y, aby odzwierciedlić intensywność zmian wzdłuż każdego kierunku. Składnik krzyżowy między gradientami Ix Iy oddaje korelację między kierunkami x i y.
      5. Funkcja odpowiedzi narożnika: Oblicz funkcję odpowiedzi narożnika R na podstawie determinantu i śladu macierzy autokorelacji, aby wykryć punkty narożne na obrazie. Oblicz wartość odpowiedzi dla każdego piksela i wybierz punkty o wyższych wartościach odpowiedzi jako końcowe narożniki, jak pokazano na Rysunku 2. Funkcja odpowiedzi narożnika jest dana przez:
        det(M) = A ⋅ B - C2 (11)
        trace(M) = A + B (12)
        R = det(M) - k ⋅ (trace(M))2 (13)
        gdzie det(M) jest wyznacznikiem M, odzwierciedlającym ogólną zmianę lokalnego obszaru cech, a trace(M) to ślad macierzy, odzwierciedlający całkowitą intensywność gradientu w tym obszarze. Stała empiryczna k jest zazwyczaj ustalana między 0,04 a 0,06.
        UWAGA: Na podstawie eksperymentów stwierdzono, że wybór k znacząco wpływa na wyniki:
        Gdy k=0,04, wartości odpowiedzi są zbyt wysokie, co prowadzi do nadmiaru błędnie wykrytych punktów narożnych.
        Gdy k=0,05, wartości odpowiedzi są bardziej zrównoważone, dokładnie wykrywając prawdziwe narożniki.
        Gdy k=0,06, wartości odpowiedzi są zbyt niskie, co utrudnia niezawodne wykrywanie punktów narożnych.
    3. Wykonaj gruboziarnisty podział lokalnych obszarów EBike, korzystając z wyników wykrywania punktów narożnych Harrisa. Podziel EBike na obszary oparte na strukturze geometrycznej i rozkładzie punktów narożnych, jak pokazano na Rysunku 4C, aby poprawić odporność modelu i jego skuteczność detekcyjną w złożonych scenariuszach zasłon.
    4. Powierzchnia koła: Rozważ obszar jako ważny, jeśli zawiera co najmniej 15 punktów narożników rozmieszczonych symetrycznie wzdłuż kształtu koła, z wynikiem symetrii nie mniejszym niż 0,85. Wynik symetrii jest przedstawiony w równaniu 11. Stosunek szerokości do wysokości obszaru koła powinien wynosić około 1:1, co zapewnia dokładne odzwierciedlenie geometrycznych cech koła.
    5. Obszar frontu: Uwzględnij region, jeśli zawiera co najmniej 10 punktów narożnych z wynikiem symetrii nie mniejszym niż 0,80, a stosunek szerokości do wysokości mieści się w przedziale 1,2:1 do 1,5:1, zapewniając, że obszar frontu odpowiada oczekiwanym cechom konstrukcyjnym.
    6. Obszar tylny: Uwzględnij obszar, jeśli zawiera co najmniej 12 punktów narożników, z wynikiem symetrii nie mniejszym niż 0,75, a stosunek szerokości do wysokości w zakresie od 1,5:1 do 2:1, zapewniając, że tylna część odpowiada oczekiwanym właściwościom geometrycznym.
  7. Reprezentacja krytycznych obszarów EBike z ramkami ograniczającymi
    1. Aby przekształcić punkty narożne w prostokątne ramki ograniczające, użyj algorytmu klastrowania DBSCAN. Ta metoda grupuje pobliskie punkty narożne w klastry, zapewniając, że punkty narożne tworzące region są grupowane razem. Ustaw maksymalną odległość między punktami w klastrze na 30 pikseli.
    2. Dla każdego skupiska punktów narożnych określ minimalne i maksymalne współrzędne x i y. Te współrzędne reprezentują krawędzie ramki ograniczającej.
    3. Dodaj margines 10 pikseli wokół ramki ograniczającej, aby upewnić się, że wszystkie istotne funkcje są uwzględnione. Ten margines kompensuje potencjalne niewyrównanie lub niedokładności pikseli w wykrywaniu punktów narożnych.
    4. Zaokrąglaj współrzędne ramek ograniczających do najbliższej liczby całkowitej, aby zapewnić prawidłowe wyrównanie pikseli do przetwarzania obrazu.
    5. Reprezentuj końcowe współrzędne ramek ograniczających dla i-tego składnika (np. koło, przednia powierzchnia, tylna powierzchnia), jak opisano poniżej.
      1. Połącz zdefiniowane obszary (obszar kół, przedni i tylny) i reprezentuj wszystkie krytyczne obszary EBike za pomocą prostokątnych ramek ograniczających.
      2. Zdefiniuj współrzędne ramek ograniczających dla składowej i (np. koło, przednia powierzchnia, tylna powierzchnia) jako:
        figure-protocol-8  (14)     
        gdzie Bi oznacza ramkę ograniczającą i-tego składowego, a figure-protocol-9 oraz są figure-protocol-10 współrzędnymi odpowiednio lewego górnego i prawego dolnego rogu.
  8. Radzenie sobie z częściową okluzją
    1. Oceniaj wynik symetrii narożników dla każdego regionu. Zaakceptuj obszar, jeśli wynik symetrii jest większy lub równy 0,7.
    2. Do obsługi okluzji mierz widoczność punktów narożnych. Zaakceptuj region, jeśli co najmniej 50% narożników jest widocznych. Jeśli widocznych jest 30%-50% narożników, oznacz region do dalszej weryfikacji. Jeśli widocznych jest mniej niż 30% narożników, odrzuć ten obszar z powodu niewystarczającej widoczności do dokładnego wykrywania.
  9. Ocena dokładności lokalnych obszarów cech
    1. Oceń dokładność każdego lokalnego obszaru cech za pomocą trzech ilościowych metryk operacyjnych: metryki symetrii S, metryki ciągłości konturu C oraz metryki struktury połączenia L. Stosuj te metryki równomiernie do obszaru koła, przedniego i tylnego obszaru.
    2. Akceptuj region tylko wtedy, gdy wszystkie metryki spełniają z góry określone progi. Jeśli jeden wskaźnik nie spełni dopuszczalnego zakresu, powiększ zwrot z inwestycji i ponownie przeanalizuj. Jeśli dwa lub więcej wskaźników nie zadziała, oznacz region jako niewiarygodny.
  10. Analiza dokładności obszaru kół
    1. Punkt kontrolny z przodu
      1. Oblicz metrykę symetrii:
        figure-protocol-11   (15)
        gdzie nL i nR oznaczają liczniki narożne po lewej i prawej stronie.
      2. Zaakceptuj region, jeśli S ≥ 0,85. Jak pokazano na rysunku 5A, koło ma kształt kołowy o symetrii, a narożniki Harrisa wzdłuż obwodu tworzą symetryczny wzór. Zatem oznacz cały obszar kół.
      3. Jeśli 0,70 ≤ S<0,85, powiększ ROl o 10-20 pikseli i powtórz ocenę, aby umożliwić ponowne wejście większej liczby rzeczywistych cech do obszaru obliczeniowego, a następnie ponownie wylicz. Jak pokazano na Rysunku 5D, dochodzi do częściowego zasłonienia koła, dlatego zakres przycinania powinien zostać rozszerzony, aby uchwycić więcej funkcji roweru elektrycznego do oceny.
      4. Jeśli S<0.70, oznacz region jako niewiarygodny. Jak pokazano na rysunku 5G, kształt koła jest zaburzony; wykluczyć ten obszar z adnotacji.
    2. Boczny punkt kontrolny operacyjny
      1. Mierz ciągłość konturu za pomocą:
        figure-protocol-12 (16)
      2. Zaakceptuj, gdy C ≥ 0,75. Jak pokazano na Rysunku 5B, stosunek rzeczywistej ciągłej długości łuku do oczekiwanej długości łuku spełnia wymagania, kontur w pełni dopasowuje się do krawędzi i nie ma widocznego pękania.
      3. Jeśli 0,55 ≤ C < 0,75, dopracuj ekstrakcję konturową i sprawdź ponownie. Jak pokazano na rysunku 5E, stosunek prądu między ciągłą długością łuku a oczekiwaną długością łuku mieści się w zakresie krytycznym; konieczne jest dostosowanie progu algorytmu ekstrakcji, aby kontur był bardziej kompletny.
      4. Jeśli C < 0,55, odrzuć ten obszar z powodu niewystarczającej ciągłości geometrycznej. Jak pokazano na Rysunku 5H, wymagania analizy nie mogą zostać spełnione.
    3. Widok z góry punkt kontrolny operacyjny
      1. Oceń spójność strukturalną, używając:
        figure-protocol-13 (17)    
      2. Zaakceptuj, gdy L ≥ 0,70. Jak pokazano na rysunku 5C, odchylenie między obserwowaną odległością a oczekiwaną odległość jest skutecznie przesunięte, łączność konstrukcyjna spełnia wymagania, a względne połączenie położenia między pojazdem a środowiskiem windy jest kompletne.
      3. Jeśli L < 0,70, zwiększ ROI i ponownie oceń. Jak pokazano na Rysunku 5F, obecne odchylenie między obserwowaną odległością a odległością oczekiwaną jest stosunkowo duże; konieczne jest rozszerzenie zakresu analizy i uwzględnienie większej liczby otaczających struktur, aby poprawić dokładność oceny łączności.
      4. Jeśli łączność pozostaje niestabilna, należy zaklasyfikować region jako niewiarygodny. Jak pokazano na rysunku 5I, nie można go używać jako efektywnego obszaru analizy.
  11. Analiza dokładności elementów przednich obszarów
    1. Do oceny dokładności cech przedniej części EBike należy stosować jednolity system oparty na regułach określony w Sekcji 2.10, w tym ocenę symetrii w widoku frontowym z użyciem metryki S zgodnie z Równaniem 15, ocenę ciągłości konturu w widoku bocznym z użyciem metryki C zgodnie z Równaniem 16 oraz walidację łączności strukturalnej w widoku z góry za pomocą metryki L zgodnie z Równaniem 17.
    2. Ze względu na zmienność geometryczną i częste częściowe zasłonięcie w przedniej części obszaru, progi są umiarkowanie rozluźnione w porównaniu do obszaru koła. Region frontowy akceptuje się, gdy S ≥ 0,80, C ≥ 0,70, a L ≥ 0,65. Jak pokazano na rysunku 6A-C, obszary spełniające te kryteria wykazują zrównoważony rozkład cech lewo-prawy, spójne kontury oraz stabilną spójność strukturalną.
    3. Jeśli jakaś miara mieści się w zakresie pośrednim określonym w Sekcji 2.10, rozszerzy obszar zainteresowania i ponownie oceń tak, aby uwzględnić dodatkowe cechy kontekstowe, jak pokazano na Rysunku 6D-F. Regiony, które nie spełniają minimalnych kryteriów po ponownej ocenie, klasyfikowane są jako niewiarygodne, co ilustruje Rysunek 6G-I.
  12. Analiza dokładności obiektów na tylnym obszarze
    1. Do analizy dokładności obiektów obszaru tylnego należy stosować się do protokołu oceny określonego w Sekcji 2.10, wykorzystując metryki S zgodnie z Równaniem 15, C zgodnie z Równaniem 16 oraz L zgodnie z Równaniem 17 odpowiednio w widokach z przodu, z boku i z góry.
    2. Tylna część jest bardziej podatna na zatkanie spowodowane przez pasażerów, przedmioty noszone lub konstrukcje windy. Dlatego stosuj bardziej rygorystyczne warunki odrzucenia, aby uniknąć niewiarygodnych adnotacji. Obszar tylny akceptuje się, gdy S ≥ 0,75, C ≥ 0,70, a L ≥ 0,65. Reprezentatywne akceptowane przypadki o wystarczającej symetrii, ciągłości konturu i łączności przedstawiono na rysunku 7A-C.
    3. Dla regionów o wartościach metryki granicznej wykonaj rozszerzenie i ponowną ocenę ROI, jak pokazano na rysunku 7D-F. Jeśli relacje geometryczne pozostają niejednoznaczne lub metryki nie spełniają kryteriów akceptacji, oznacz region jako niewiarygodny, jak pokazano na rysunku 7G-I.
  13. Analiza dokładności obiektów tylnego obszaru
    1. Do analizy dokładności obiektów tylnych należy stosować protokół oceny opisany w Sekcji 2.10, stosując te same metryki S jak w równaniu 15, C jak w równaniu 16 oraz L jak w równaniu 17 w odpowiednich punktach widzenia.
    2. W porównaniu z przednią częścią, tylna część jest bardziej podatna na zatykanie spowodowane przez pasażerów, przenoszone przedmioty oraz konstrukcje wewnątrz windy. Dlatego stosuj nieco surowsze kryteria odrzucenia, aby zapobiec niewiarygodnym adnotacjom. Obszar tylny akceptuje się, gdy S ≥ 0,75, C ≥ 0,70, a L ≥ 0,65. Jak pokazano na rysunku 7A-C, akceptowane obszary zachowują wystarczającą symetrię, spójność konturów oraz spójność strukturalną.
    3. Dla regionów z wartościami granicznymi metryki rozwinąć i ponownie oszacować ROI zgodnie z Sekcją 2.10, jak pokazano na Rysunku 7D-F. Jeśli zgodność geometryczna pozostaje niewystarczająca po ponownej ocenie, oznacz region jako niewiarygodny, jak pokazano na rysunku 7G-I.
  14. Implementacja pipeline'u
    1. Struktura plików i folderów: Implementacja opiera się na modułowej strukturze katalogów, oddzielającej wykrywanie, lokalną ekstrakcję cech oraz ocenę adnotacji. Zobacz reprezentatywną organizację teczek pokazaną poniżej. Wszystkie wyniki pośrednie przechowywać w dedykowanych podfolderach, aby umożliwić niezależną inspekcję każdego etapu przetwarzania.
      project_root/

      ├── dane/
      │ ├── obrazy/
      │ │ ├── pociąg/
      │ │ ├── val/
      │ │ └── test/
      │ └── adnotacje/

      ├── wykrycie/
      │ ├── detect_ebike.py
      │ └── yolov10_config.yaml

      ├── ROI/
      │ ├── crop_roi.py
      │ └── cropped_images/

      ├── Harris/
      │ ├── harris_corner.py
      │ └── corner_visualization/

      ├── chunk_annotation/
      │ ├── region_partition.py
      │ ├── validity_judgment.py
      │ └── final_annotations/

      └── configs/
      └── thresholds.yaml
    2. Potok wykonawczy i przykładowe linie poleceń
      1. Detekcja EBike i lokalizacja ROI: Lokalizacja regionów EBike za pomocą wstępnie wytrenowanego modelu detekcji obiektów. Zapisz wyniki detekcji jako współrzędne ramek ograniczających.
        Wykrywanie Pythona/detect_ebike.py \
        --dane wejściowe/obrazy/test/ \
        --zwrot z inwestycji wyjściowej/detections.json
      2. Przycinanie zwrotu z inwestycji: Użyj wykrytych ramek ograniczających do przycinania regionów EBike z oryginalnych obrazów.
        Python ROI/crop_roi.py \
        --wykrycia ROI/detections.json \
        --obrazy dane/obrazy/test/ \
        --output ROI/cropped_images/
        Zapisz każdy przycięty obraz w formacie nazewnictwa: imageID_roi_xmin_ymin_xmax_ymax.jpg
      3. Ekstrakcja narożników Harrisa: Zastosowanie wykrywania narożników Harrisa do każdego przyciętego zwrotu z inwestycji po konwersji na skalę szarości. Zachowaj mapy reakcji na rogi i wizualne nakładki do inspekcji.
        Python Harris/harris_corner.py \
        --input ROI/cropped_images/ \
        --wyjście Harris/corner_visualization/ \
        --config configs/thresholds.yaml
      4. Gruboziarniste podziały i adnotacja fragmentów: Podziel lokalne obszary cech na koła, przednią i tylną część na podstawie przestrzennego rozkładu punktów narożnych. Stosuj ocenę ważności na podstawie kryteriów geometrycznych i opartych na cechach.
        Python chunk_annotation/region_partition.py \
        --Corners Harris/corner_visualization/ \
        --wyjście chunk_annotation/final_annotations/
    3. Oczekiwane wyjścia pośrednie i punkty kontrolne wizualne: Zapisz wyjścia pośrednie generowane przez każdy etap przetwarzania, które służą jako punkty kontrolne wizualne. Te pośrednie wyjścia umożliwiają krok po kroku weryfikację lokalizacji ROI, jakości ekstrakcji narożników, podziału regionów oraz ostatecznych decyzji adnotacji.
      1. Wyjście krojowania zwrotu z inwestycji: Zapisz przycięte obrazy EBike w roi/cropped_images/. Każdy obraz zawiera pojedynczy obszar EBike wyodrębniony z oryginalnej klatki.
      2. Wizualizacja narożników Harrisa: Zapisz nakładki narożników w Harris/corner_visualization/. Dla prawidłowych obszarów kół można zaobserwować gęsty zbiór punktów narożnych wzdłuż okrągłej struktury krawędzi. Na tym etapie można zidentyfikować regiony z niewystarczającą liczbą odpowiedzi narożnych.
      3. Wyniki podziału regionów: Wizualizuj niezależne podzielone obszary (koło, przedni obszar, tylny obszar). Zachowuj tylko obszary spełniające wcześniej określone kryteria ważności (np. wystarczającą gęstość narożników i spójność geometryczną).
      4. Końcowy wynik adnotacji: Przechowuj akceptowane regiony w chunk_annotation/final_annotations/ jako ustrukturyzowane pliki adnotacji. Wyklucz regiony, które nie uzyskały oceny ważności i nie propaguj ich na kolejne etapy.
        UWAGA: Wszystkie progi używane do wykrywania narożników i oceny ważności regionu są scentralizowane w plikach konfiguracyjnych. Potok działa na wejściach pojedynczych ramek bez zależności czasowej, co pozwala na niezależne odtwarzanie wyników dla każdego obrazu. Przy identycznych obrazach wejściowych, plikach konfiguracyjnych i kolejności wykonania, wygenerowane wyjścia pośrednie i końcowe adnotacje pozostają deterministyczne.
  15. Etapy finalizacji i publikacja zbioru danych
    UWAGA: Aby zapewnić, że protokół zakończy się jasnym i powtarzalnym punktem końcowym, definiowany jest etap finalizacji konsolidujący zapis adnotacji, walidację jakości, pakowanie zbiorów danych oraz dokumentację wersji.
    1. Zapisywanie końcowych adnotacji: Po ocenie ważności regionu zapisz wszystkie zaakceptowane adnotacje w chunk_annotation/final_annotations/ w formacie tekstowym YOLO, z jednym plikiem adnotacji odpowiadającym każdemu obrazowi. Zachowuj tylko regiony spełniające zdefiniowane kryteria geometryczne i cechowe w ostatecznym zbiorze adnotacji oraz wyklucz odrzucone lub niewiarygodne obszary z dalszego użycia.
    2. Walidacja jakości adnotacji: Walidacja jakości końcowej adnotacji, stosując te same kryteria ważności używane podczas oceny regionów, w tym symetrię, ciągłość konturu oraz metryki łączności strukturalnej. Usuwa się adnotacje, które nie spełniają tych kryteriów podczas tego etapu weryfikacji, zapewniając spójność między generowaniem adnotacji a kontrolą jakości.
    3. Pakowanie zbiorów danych: Po walidacji organizuj obrazy i adnotacje w stałe podziały treningowe, walidacyjne i testowe zgodnie z zdefiniowaną partycją zbioru danych. Struktura katalogów i listy plików są na tym etapie zawieszone, a zestaw danych przygotowywany jest do treningu i oceny bez dalszych modyfikacji.
    4. Dokumentacja wersji i seed: Pliki konfiguracyjne, w tym parametry detekcji narożników i progi ważności regionów, są przechowywane razem z zapakowanym zbiorem danych. Używaj losowych seedów do dzielenia danych, naprawiania algorytmu i nagrywania. Dodatkowo dokumentuj wersje wag modeli, plików konfiguracyjnych i narzędzi do adnotacji. Przy identycznych danych wejściowych, plikach konfiguracyjnych i zarejestrowanych seedach ostateczne adnotacje i podziały zbiorów pozostają deterministyczne.

3. Augmentacja danych

UWAGA: Poprzednie badanie wykazało, że treningowe zbiory danych o braku wystarczającego wstępnego przetwarzania i augmentacji danych często skutkują pogorszeniem wydajności modelu22. Aby sprostać tym wyzwaniom, zastosowano następującą procedurę.

  1. Oświetlenie
    1. Symuluj zmiany oświetlenia wewnątrz wind, aby radzić sobie z częstymi zmianami oświetlenia, regulując współczynnik jasności w zakresie 0,6–1,4, z prawdopodobieństwem 0,8.
    2. Stosuj regulacje natężenia światła, aby przejść z jasnych do ciemnych środowisk, symulując rozmycie wywołane ruchem EBike. Dla tej operacji używaj prawdopodobieństwa 0,7.
    3. Generuj rozszerzone próbki poprzez regulację warunków oświetlenia, zapewniając stabilną widoczność przy różnych poziomach oświetlenia.
    4. Stosuj te operacje oświetlenia offline i przechowuj je do późniejszego przetwarzania. Ustaw losowe ziarno na 42, aby zapewnić powtarzalność procesu augmentacji.
  2. Okluzja
    1. Twórz scenariusze syntetycznego zakrycia, aby odzwierciedlać zatłoczone warunki windy. Stosuj maski okluzyjne (np. sylwetki ludzkie, bloki obiektów) z prawdopodobieństwem 0,6.
    2. Zastosuj mozaikowe okluzje, aby naśladować częściową blokadę EBikes podczas wchodzenia i wychodzenia z windy. Stosuj procenty zasłony 30%, 50% lub 70% i upewnij się, że okluzja jest nałożona losowo w dowolnym kwadrancie (górny, dolny, lewy, prawy) obrazu.
    3. Włączanie próbek zasłoniętych, aby zwiększyć odporność i stabilność wykrywania przy częściowej widoczności, zapewniając, że przynajmniej jeden kluczowy element (np. koło, przednia i tylna powierzchnia) pozostaje widoczny.
    4. Wykonaj rozszerzenie zasłon offline i zweryfikowaj próbki, aby zapewnić zachowanie kluczowych funkcji EBike. Ustaw losowe ziarno na 42 dla powtarzalności.
  3. Punkty widzenia
    1. Dostosowuj kąty widzenia w określonym zakresie ±15°, aby symulować różnorodne kąty kamery w różnych środowiskach windy. Operacja ta powinna być zastosowana z prawdopodobieństwem 0,7.
    2. Stosuj transformacje perspektywiczne o współczynnikach zniekształceń od 0,0 do 0,2, aby odwzorować różne ustawienia kamery (np. podniesione, boczne i skośne punkty widzenia).
    3. Skaluj i przesuwaj obszar EBike o 0,8–1,2 razy, aby zasymulować zmiany odległości kamery od celu. Stosuj tę transformację z prawdopodobieństwem 0,8.
    4. Potwierdź, że wszystkie transformacje punktu widzenia zachowują geometryczną integralność EBike i że żadne kluczowe cechy nie są zniekształcone.
    5. Wykonuj transformacje punktów widzenia offline i przechowuj rozszerzone obrazy. Ustaw losowe ziarno na 42 dla powtarzalności.
  4. Ulepszenie
    1. Zastosuj skalowanie szarości do 30% obrazów z prawdopodobieństwem 0,3, aby wprowadzić zmiany zależne od luminancji i zwiększyć odporność modelu w warunkach słabego oświetlenia.
    2. Użyj korekcji histogramu na 20% próbek, aby zwiększyć kontrast i widoczność kluczowych cech EBike w trudnych warunkach oświetleniowych.
    3. Łącz sekwencjonalnie strategie oświetlenia, zasłony i augmentacji punktu widzenia, aby generować próbki o wysokiej różnorodności. Dla tego wieloetapowego procesu używaj prawdopodobieństw 0,9.
    4. Przejrzyj rozszerzone próbki, aby upewnić się, że zachowują integralność strukturalną EBike, zanim włączysz je do ostatecznego zbioru danych.
    5. Wykonuj operacje ulepszania offline i przechowuj obrazy do kolejnego użycia treningowego. Ustaw losowe ziarno na 42, aby zapewnić powtarzalność całego procesu augmentacji.

4. Środowisko eksperymentalne

  1. Konfiguruj środowisko eksperymentalne, aby zapewnić efektywność obliczeniową i stabilność podczas trenowania i testowania modelu.
  2. Użyj nowoczesnego procesora wielordzeniowego, dedykowanej karty graficznej do przyspieszenia głębokiego uczenia, wystarczającej ilości pamięci oraz stabilnego systemu pamięci masowej do obsługi dużych procesów EBike.
  3. Dopasuj środowisko programowe do konfiguracji sprzętowej, instalując kompatybilne wersje frameworka deep-learning, sterowników GPU oraz bibliotek akceleracji, aby zoptymalizować szybkość treningu i wydajność wnioskowania.
  4. Szczegółowe specyfikacje sprzętowe, środowisko programowe, zależności od modeli oraz ustawienia sprzętu obrazującego w celu zapewnienia powtarzalności należy do Tabeli 5, 6, 7 i 8 .
  5. Narzut obliczeniowy i analiza czasu wykonywania
    1. Przeanalizuj narzut obliczeniowy związany ze strategią anotacji w kawałkach pod względem złożoności adnotacji i efektywności w czasie wykonywania. W porównaniu z holistyczną adnotacją, fragmenty adnotacji reprezentują EBike wykorzystujące obszary na poziomie części, w tym obszar kół, przedni i tylny. Anotuj te obszary tylko wtedy, gdy są widoczne i spełniają wcześniej zdefiniowane kryteria ważności geometrycznej i opartej na cechach, zamiast być egzekwowane dla każdej instancji.
      UWAGA: Z perspektywy adnotacji wzrost liczby etykiet pozostaje ograniczony i strukturalnie ograniczony. Instancja EBike dostarcza maksymalnie trzy adnotacje na poziomie części, podczas gdy mniej regionów jest anotowanych w przypadkach częściowej okluzji (np. gdy widoczny jest tylko przedni obszar). W rezultacie liczba etykiet na obraz zmienia się w zależności od widoczności sceny i warunków zasłonięcia, a średnia liczba etykiet rośnie umiarkowanie, jak podsumowano w Tabeli 9. Ten projekt równoważy lokalną reprezentację cech z złożonością adnotacji. Z perspektywy wnioskowania, anotacje kawałkowe nie wprowadzają proporcjonalnego wzrostu kosztów postprocessingu. Chociaż wykrywanie na poziomie części może generować dodatkowe kandydackie ramki ograniczające, detekcje są agregowane na poziomie obiektu EBike do ostatecznej oceny, a filtrowanie oparte na zaufaniu jest stosowane przed procesem postprocessingu. Ta warunkowa, oparta na widoczności strategia adnotacji ogranicza niepotrzebnych kandydatów do wykrywania. W modelach takich jak YOLOv10, które zmniejszają uzależnienie od tradycyjnego tłumienia bez maksymalnego poziomu, dodatkowe obciążenie wprowadzone przez chunking pozostaje w praktyce ograniczone.
    2. Ocena wydajności w czasie działania przy typowej rozdzielczości nadzoru windy 640 x 480 pikseli, używając karty graficznej NVIDIA RTX 3090. Jak pokazano w Tabeli 9, adnotacje w kawałkach zachowują zdolność wnioskowania w czasie rzeczywistym, z jedynie niewielkim spadkiem liczby klatek na sekundę w porównaniu z holistycznym adnotacją. Wyniki te wskazują, że strategia fragmentowanej adnotacji nadal nadaje się do monitorowania EBike w czasie rzeczywistym w środowiskach wind.

5. Metryki oceny

UWAGA: Chociaż podczas treningu i wnioskowania stosuje się przypisy w fragmentach, ocena przeprowadza się na poziomie obiektów roweru elektrycznego. Wykrycia na poziomie części są agregowane w jedną decyzję dotyczącą rowerów elektrycznych zgodnie z zasadami zdefiniowanymi w sekcji 2.4,3.

  1. Zastosowanie standardowych metryk ewaluacji powszechnie stosowanych w badaniach nad wykrywaniem celów27 do kompleksowej oceny wydajności algorytmów w scenariuszach wykrywania zasłon EBike.
  2. Precyzja wykrywania (P)
    1. Do obliczenia precyzji wykrywania należy użyć równania (8), które mierzy odsetek poprawnie zidentyfikowanych EBików wśród wszystkich przewidywanych próbek pozytywnych.
      figure-protocol-14  (18)
      gdzie TP oznacza prawdziwe pozytywne wyniki, a FP fałszywie pozytywne.
    2. Ustaw próg IoU na 0,5, aby sprawdzić, czy przewidywane ramki ograniczające odpowiadają podstawowym ramkom prawdy.
    3. Wykorzystaj precyzję do oceny zdolności modelu do redukcji niepotrzebnych alarmów spowodowanych błędną identyfikacją obiektów niebędących EBike.
    4. Polecenie(y) do wygenerowania tego wskaźnika: Użyj odpowiedniego skryptu ewaluacyjnego (np. evaluate_precision.py). Zapis daje precision_results.txt do dalszej analizy.
  3. Wskaźnik przywołań (R)
    1. Użyj równania (9), aby określić, jak skutecznie model identyfikuje EBikes w środowiskach wind, szczególnie gdy zasłona wpływa na widoczność.
      figure-protocol-15 (19)
      gdzie FN oznacza fałszywie negatywne wyniki.
    2. Ustaw próg IoU na 0,5, aby ocenić dokładność wykryć. Użyj przypomnienia do oceny zdolności modelu do minimalizowania przeoczonych wykryć, zapewniając, że EBike pozostają dokładnie zidentyfikowane nawet przy częściowej blokadzie.
    3. Użyj poleceń, aby wygenerować tę metrykę: uruchom evaluate_recall.py. Zapis daje recall_results.txt.
      UWAGA: Niezauważone wykrycia są kluczowe w zatłoczonych windach i muszą być ograniczone dla bezpieczeństwa. Nieudane wykrycia stanowią zagrożenie dla bezpieczeństwa w zatłoczonych windach i muszą być ograniczone.
  4. F1-score
    1. Oblicz wynik F1 za pomocą równania (10), aby uzyskać zrównoważoną reprezentację precyzji i wydajności przypominania modelu w zakresie pamięci.
      figure-protocol-16 (20)
    2. Wykorzystaj wynik F1, aby uzyskać kompleksową ocenę, zwłaszcza w sytuacjach, gdy precyzja i przypominanie wykazują kompromisy przy różnych poziomach zasłon.
    3. Użyj poleceń, aby wygenerować tę metrykę: Uruchom evaluate_f1.py, aby obliczyć wynik F1. Zapis daje f1_score_results.txt.
  5. Średnia średnia precyzja (mAP)
    1. Użyj równania (11), aby zmierzyć ogólną zdolność wykrywania modelu przy różnych wyglądach EBike, warunkach zasłony i zmianach oświetlenia.
      figure-protocol-17 (21)   
      Gdzie APc oznacza średnią precyzję kategorii c , a C to liczbę kategorii.
    2. Ustaw próg IoU na 0,5, aby ocenić wydajność modelu w różnych kategoriach.
    3. Użyj mAP@0.5, aby określić, jak dobrze model adaptuje się do różnych warunków wizualnych w warunkach windy, zapewniając kompleksową ocenę wydajności wykrywania.
    4. Użyj następujących poleceń, aby wygenerować tę metrykę: wykonaj evaluate_map.py z określonymi parametrami. Zapis daje map_results.txt.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Porównanie adnotacji całościowej i adnotacji fragmentowych na publicznym zbiorze danych

Ocena przeprowadzona została na publicznym zbiorze danych obejmującym 210 obrazów EBike zebranych z otwartych scen nadzoru i monitorowania ruchu, z różnymi warunkami oświetlenia, kolorami EBike i różnym stopniem oczenia. Każdy obraz został adnotowany zarówno metodą całościową (pojedyncze pole wyborcze), jak i proponowaną metodą fragmentową (podzielenie EBike na koła, przednią część i tylne ...

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Kluczowe kroki

Kluczowym krokiem w tym protokole jest metoda anotacji w kawałkach oparta na lokalnych cechach, gdzie EBiki są podzielone na obszary kołowe, przednie i tylne. Ten podział zapewnia, że modele detekcyjne mogą uczyć się drobnoziarnistych reprezentacji, co okazało się kluczowe w środowiskach elewacji o dużej liczbie zasłon. Na przykład YOLOv5 trenowany z fragmentami adnotacji na zbiorze EBike-DET poprawił swój mAP@0,5 z 0,925 do 0,966, podkreślając konieczność dokł...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autorzy nie mają konfliktu interesów.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Prace te zostały wsparte przez Fundusz Planowania Badań Humanistycznych i Społecznych na 2025 rok Ministerstwa Edukacji Chin (Grant nr 25YJAZH002), Projekt Zwiększenia Potencjału Badawczego Kluczowej Dyscypliny Prowincji Guangdong 2024 (Grant nr 2024ZDJS086), Program Szkolenia Innowacyjnych i Przedsiębiorczości Prowincji Guangdong w 2024 roku (Grant nr S202413714017) oraz Program Współpracy Zatrudnienia z Edukacją Ministerstwa Edukacji: "Innowacje i praktyka mechanizmu kształcenia talentów dla studentów kierunku Computer Applications zorientowanych w technologii sztucznej inteligencji" (Grant nr 2025072869464).

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
h5py (SSD)Grupa HDF2.10.0
matplotlib (SSD)Społeczność Matplotlib3.1.2
matplotlib (YOLOv10)Społeczność Matplotlib3.9.0
matplotlib (YOLOv5)Społeczność Matplotlib3.8.4
matplotlib (YOLOv5+SAHI)Społeczność Matplotlib3.8.4
matplotlib (YOLOv8-Seg)Społeczność Matplotlib3.9.0
numpy (SSD)Społeczność NumPy1.17.0
numpy (YOLOv10)Społeczność NumPy1.26.3
numpy (YOLOv5)Społeczność NumPy1.26.4
numpy (YOLOv5+SAHI)Społeczność NumPy1.26.4
numpy (YOLOv8-Seg)Społeczność NumPy1.26.3
onnx (YOLOv10)ONNX1.14.0
onnx (YOLOv5)ONNX1.14.0
onnx (YOLOv5+SAHI)ONNX1.14.0
onnxruntime (YOLOv10)Microsoft1.15.1
onnxruntime (YOLOv5)Microsoft1.15.1
onnxruntime (YOLOv5+SAHI)Microsoft1.15.1
opencv-python (SSD)OpenCV4.1.2.30
opencv-python (YOLOv10)OpenCV4.9.0.80
opencv-python (YOLOv5)OpenCV4.9.0.80
opencv-python (YOLOv5+SAHI)OpenCV4.9.0.80
opencv-python (YOLOv8-Seg)OpenCV4.9.0.80
Pandas (YOLOv10)Społeczność Pandas2.2.2
Pandas (YOLOv5)Społeczność Pandas2.2.2
Pandas (YOLOv5+SAHI)Społeczność Pandas2.2.2
Pandas (YOLOv8-Seg)Społeczność Pandas2.2.2
Poduszka (SSD)Designerzy poduszek8.2.0
Poduszka (YOLOv10)Designerzy poduszek10.2.0
Poduszka (YOLOv5)Designerzy poduszek8.5.0
Poduszka (YOLOv5+SAHI)Designerzy poduszek8.5.0
Poduszka (YOLOv8-Seg)Designerzy poduszek10.2.0
psutil (YOLOv10)Programiści Psutil5.9.8
psutil (YOLOv5)Programiści Psutil5.9.8
psutil (YOLOv5+SAHI)Programiści Psutil5.9.8
pycocotools (YOLOv10)Konsorcjum COCO2.0.7
pycocotools (YOLOv5)Konsorcjum COCO2.0.7
pycocotools (YOLOv5+SAHI)Konsorcjum COCO2.0.7
pycocotools (YOLOv8-Seg)Konsorcjum COCO2.0.7
py-cpuinfo (YOLOv10)Programiści Py-CPUInfo9.0.0
py-cpuinfo (YOLOv5)Programiści Py-CPUInfo9.0.0
py-cpuinfo (YOLOv5+SAHI)Programiści Py-CPUInfo9.0.0
PyYAML (YOLOv10)PyYAML6.0.1
PyYAML (YOLOv5)PyYAML6.0.1
PyYAML (YOLOv5+SAHI)PyYAML6.0.1
PyYAML (YOLOv8-Seg)PyYAML6.0.1
żądania (SSD)Żądania Pythona2.27.1
prośby (YOLOv10)Żądania Pythona2.32.3
żądania (YOLOv5)Żądania Pythona2.31.0
requests (YOLOv5+SAHI)Żądania Pythona2.31.0
SAHIDeweloperzy SAHI0.3.4+
scipy (SSD)Społeczność SciPy1.2.1
scipy (YOLOv10)Społeczność SciPy1.13.0
scipy (YOLOv5)Społeczność SciPy1.13.0
scipy (YOLOv5+SAHI)Społeczność SciPy1.13.0
scipy (YOLOv8-Seg)Społeczność SciPy1.13.0
seaborn (YOLOv10)Deweloperzy Seaborn0.13.2
seaborn (YOLOv5)Deweloperzy Seaborn0.13.2
seaborn (YOLOv5+SAHI)Deweloperzy Seaborn0.13.2
seaborn (YOLOv8-Seg)Deweloperzy Seaborn0.13.2
kształtny (YOLOv5+SAHI)Shapely Developers2.0.4
SSDCaffe/Original SSD AuthorsPython 3.6.13+; PyTorch 1.2.0+; CUDA 10.0; CUDNN 7.4.1
tensorboard (SSD)Google2.10.1
tensorboard (YOLOv5)Google2.16.2
tensorboard (YOLOv5+SAHI)Google2.16.2
torchvision (SSD)PyTorch0.4.0
torchvision (YOLOv10)PyTorch0.15.2
torchvision (YOLOv5)PyTorch0.17.2
torchvision (YOLOv5+SAHI)PyTorch0.17.2
torchvision (YOLOv8-Seg)PyTorch0.16.1+
tqdm (SSD)Deweloperzy TQDM4.60.0
tqdm (YOLOv10)Deweloperzy TQDM4.66.4
tqdm (YOLOv5)Deweloperzy TQDM4.66.2
tqdm (YOLOv5+SAHI)Deweloperzy TQDM4.66.2
ultralityczne (YOLOv8-Seg)Ultralityki8.2.99+
YOLOv10Drużyna YOLOv10Python 3.8.0+; PyTorch 2.0.1+cu118; CUDA 11.8; CUDNN 8.7
YOLOv5UltralitykiPython 3.8.0+; PyTorch 2.2.2+; CUDA 11.2; CUDNN 8.1.2
YOLOv5 + SAHIUltralytics + deweloperzy SAHIPython 3.8.0+; PyTorch 2.2.2+; CUDA 11.2; CUDNN 8.1.2
YOLOv8-SegUltralitykiPython 3.8.0+; PyTorch 2.0.1+cu118; CUDA 11.8; CUDNN 8.6.0+

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Li, Y., Han, L., Ning, X., Xu, Y. Fire risk of electric bicycle based on fuzzy Bayesian network. J Phys Conf Ser. 1578 (1), 012153-012160 (2020).
  2. Cao, F., Sheng, G., Feng, Y. Detection dataset of electric bicycles for lift control. Alexandria Eng J. 105 (1), 736-742 (2024).
  3. Zhang, J., Mohd Yunos, Z., Haron, H. Interactivity recognition graph neural network model for improving human-object interaction detection. Electronics. 12 (2), 470-482 (2023).
  4. Yang, D., Su, C., Wu, H., Xu, X., Zhao, X. Shelter identification for shelter-transporting AGV based on improved YOLOv5. IEEE Access. 10 (1), 119132-119139 (2022).
  5. Wang, X., et al. LDS-YOLO: A lightweight small object detection method for dead trees. Comp Electron Agri. 198 (1), 107035-107044 (2022).
  6. Xu, R., Zhu, D., Chen, M. A novel underwater object detection enhanced algorithm based on YOLOv5-MH. IET Image Process. 18 (10), 3415-3429 (2024).
  7. Shang, J., Wang, J., Liu, S., Wang, C., Zheng, B. Small target detection algorithm for UAV aerial photography based on improved YOLOv5s. Electronics. 12 (11), 2434-2446 (2023).
  8. Wang, C. Y., Liao, H. Y. M. YOLOv1 to YOLOv10: The fastest and most accurate real-time object detection systems. APSIPA Trans Signal Inf Process. 13 (1), 1-18 (2024).
  9. Sapkota, R., et al. YOLO11 to its genesis: A decadal and comprehensive review of the YOLO series. Artif Intell Rev. 58 (2), 145-182 (2025).
  10. Huang, Z., Yin, Z., Ma, Y., Fan, C., Chai, A. Mobile phone component object detection based on improved SSD. Procedia Comp Sci. 183 (1), 107-114 (2021).
  11. Li, Y., Yang, F., Li, Y., Tan, C., Liu, Z. Circuit breaker identification based on SSD. J Phys Conf Ser. 2418 (1), 012080-012088 (2023).
  12. Deng, X., Li, S. Improved SSD object detection based on attention mechanism and feature fusion. J Phys Conf Ser. 2450 (1), 012088-012096 (2023).
  13. Huo, B., Li, C., Zhang, J., Xue, Y., Lin, Z. SAFF-SSD: Self-attention combined feature fusion SSD for small object detection. Remote Sens. 15 (12), 3027-3041 (2023).
  14. Murphy, K., Torralba, A., Eaton, D., Freeman, W. Object detection and localization using local and global features. Lect Notes Comp Sci. 4170 (1), 382-400 (2006).
  15. Mamat, N., Othman, M. F., Abdulghafor, R., Alwan, A. A., Gulzar, Y. Enhancing image annotation technique for fruit classification using deep learning. Sustainability. 15 (2), 901-915 (2023).
  16. Zhang, T., Jia, K., Xu, C., Ma, Y., Ahuja, N. Partial occlusion handling via robust part matching. Proc IEEE CVPR. 2014 (1), 1258-1265 (2014).
  17. Howard, A. G. Improvements on deep convolutional neural network based image classification. Tech Rep. 1 (1), 1-12 (2013).
  18. Zhang, H. Mixup: Beyond empirical risk minimization. arXiv. , (2017).
  19. Krizhevsky, A., Sutskever, I., Hinton, G. E. ImageNet classification with deep convolutional neural networks. Commun ACM. 60 (6), 84-90 (2017).
  20. Qin, J., Xu, N. Social distancing monitoring based on SSD. Procedia Comp Sci. 183 (1), 768-775 (2021).
  21. Zhong, P., Liu, Y., Zheng, H., Zhao, J. Detection of urban flood inundation using traffic images. Water Resour Manag. 38 (2), 287-301 (2024).
  22. Aamir, S. M., Ma, H., Khan, M. A. A., Aaqib, M. Real-time object detection in occluded environments with background clutter. Multimed Tools Appl. 83 (4), 11245-11261 (2024).
  23. Jia, K., Niu, Q., Wang, L., Niu, Y., Ma, W. Multi-object detection and size calculation for blended tobacco shreds. Sensors. 23 (18), 8380-8395 (2023).
  24. Sun, S., et al. Multi-YOLOv8 for infrared moving small object detection. Neurocomputing. 588 (1), 127685-127696 (2024).
  25. Sadik, M. N., Hossain, T., Sayeed, F. Real-time detection and analysis of vehicles and pedestrians using deep learning. Int J Comp Vis Robot. 14 (3), 215-229 (2024).
  26. Zhang, C., Jiao, P. YOLO series target detection algorithms for underwater environments. Ocean Eng. 279 (1), 114353-114366 (2023).
  27. Luo, B., Xiong, J., Xu, L., Pei, Z. Superpixel segmentation based on global similarity and contour region transform. IEICE Transac Info Sys. E103D (3), 716-719 (2020).
  28. Hosain, M. T., Jim, J. R., Mridha, M. F., Kabir, M. M. Explainable AI approaches in deep learning: Advancements, applications and challenges. Comp Electr Eng. 117 (1), 109246-109268 (2024).
  29. Khurshid, S., Basharat, S., Afzal, S. The magic of artificial intelligence-2. Artif Intell Hum Health Dis. 1 (1), 29-46 (2025).
  30. Pan, W., Chen, J., Lv, B., Peng, L. Improved YOLOv9s-UI for underwater object detection. Appl Sci. 14 (14), 7162-7175 (2024).
  31. Zhang, J., Yunos, Z. M., Haron, H. Parallel multi-head graph attention network for human-object interaction detection. IEEE Access. 11 (1), 131708-131725 (2023).
  32. Li, L., Gao, S., Wu, F., An, X. MBAN: Multi-branch attention network for small object detection. PeerJ Comp Sci. 10 (1), e1965-e1980 (2024).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Chunked Image AnnotationLocal Feature DetectionElectric Bike DetectionElevator Object DetectionOcclusion RobustnessEBike DET DatasetExplainable AIStructural AnnotationYOLOv5 DetectionSafety Monitoring
Video Coming Soon

Related Articles