Back

Czy zastanawialiście się w jaki sposób timbeter mierzy kłody tak dokładnie?

Timbeter stosuje proces personalizowanego wykrywania kłód opartego na machine learning.

Algorytm służący do wykrywania kłód Timbeter jest kilkustopniowym procesem. Każdy krok stopniowo poprawia jakość wykrywania, jednocześnie poświęcając więcej czasu na każdą potencjalną detekcję kłody.

Etapy są następujące: 

  • znalezienie wstępnych kandydatów na kłody 
  • łączenie kandydatów w pojedynczą rejestrację 
  • filtrowanie fałszywych wykryć 
  • rafinacja średnicy i lokalizacji detekcji 
  • wtórny proces wykrywania kłód 

Krok 1 

Kandydaci zostają znalezieni przy użyciu techniki okien przesuwnych. Okno rozpoznaje poszczególne prostokątne subsekcje obrazu i kandydat do wykrycia jest tworzony za każdym razem, gdy okienko nakłada się na kłodę. Okno jest przenoszone i skalowane, dzięki czemu sprawdzane są wszystkie możliwe lokalizacje i rozmiary kłód. Dla przeciętnej wielkości obrazu oznacza to około 20 milonów indywidualnych weryfikacji za każdym razem. 

Krok 2 

Pojedyncza kłoda może wielokrotnie wywołać algorytm wykrywania początkowego, więc wielu kandydatów może odpowiadać tej samej kłodzie. Z tego powodu kandydaci bardzo bliscy zostają połączeni w pojedynczą rejestrację. Rozmiar i położenie są ustalane na podstawie średniej ważonej początkowych kandydatów. Waga ustalana jest według pewności co do kandydata. 

Krok 3 

Po wykryciu pierwszych kłód są one filtrowane: jeżeli wykrycie nie wydaje się kłodą zostaje usuwane. Opiera się to na kilku różnych właściwościach. Na przykład, jest większe prawdopodobieństwo, że bardzo małe wykrycia są fałszywe. Ponadto, kłody, które bardzo znacząco różnią się rozmiarem od innych wykryć prawdopodobnie są albo fałszywymi wykryciami, albo jest to kłoda, która nie jest częścią stosu. Uwzględniono wiele dodatkowych czynników, w tym pewność daną przez początkowe wykrycie i ilości w jakiej wykrycia się podrywają  

Krok 4 

Po filtrowaniu następuje etap rafinacji. Proces rafinacji poprawia dokładność znalezionych wykryć. Ponieważ detektor początkowy musi sprawdzać wiele indywidualnych miejsc, należy zastosować uproszczenie. To niestety czyni detektor nieco nieprecyzyjnym. Algorytm rafinacji jest zazwyczaj stosowany tylko do kilkuset wykrywalności, które pozostają po filtracji. Pozwalanie algorytmowi rafinacji na wykorzystanie większej mocy obliczeniowej czyni go dokładniejszym. 

Krok 5 

Następnie stosuje się algorytm wtórny do wyszukiwania kłód. Podobnie jak w przypadku procesu wykrywania wstępnego, ten algorytm wykorzystuje technikę okna przesuwnego. Niemniej jednak, istnieje znacząca różnica: podczas gdy wykrywanie początkowe opiera się na ogólnym wyglądzie kłód, detektor pomocniczy wyszukuje tylko te kłody, które są podobne do znalezionych. Pozwala to wykrywaniu wtórnemu znajdować kłody, które mają bardziej nietypowy wygląd. Dodatkowo, detektor wtórny jest stosowany tylko w obszarze obrazu, w którym wykryto już kłody w wyniku wykrycia początkowego w kroku 1. Detekcje wykryte przez detektor wtórny zostają filtrowane i wyrafinowane, podobnie jak początkowe wykrycie. 

Na krok od 1 do 5 potrzeba jedynie 30 sekund! 

Podejście Timbetera do wielu kroków opiera się na wynikach wcześniejszych algorytmów, dzięki czemu Timbeter osiągna precyzyjne rezultaty w krótkim czasie, nawet przy użyciu telefonów komórkowych i tabletów ze słabszymi kamerami. Mimo, że nawet silniejsze algorytmy mogłyby być użyte na komputerach PC (z powodu większe mocy obliczeniowej komputera), Timbeter woli dostarczać wyniki pomiarów natychmiast, nawet jeśli użytkownik jest w środku lasu,ze słabym lub w ogóle bez połączenia z internetem. 

Stosując obszerne badania i eksperymenty, zespół inżynierów firmy Timbeter ciągle poprawia jakość wykrywania, należy się więc spodziewać kolejnych udoskonaleń w przyszłości.

If you like this, feel free to share!