Wpis z mikrobloga

Chcę zaprojektować sieć wielowarstwową (MLP) do nauki rozpoznawania obrazów. Co do projektowania sieci ograniczam się do biblioteki ML z opencv. Tworzę obiekt klasy, który chcę rozpoznać i z obrazów ciągu testowego czytam deskryptory np obraz RBG, progowanie, histogram.

Czy na wejściu (input) do sieci mam wrzucić obrazy i histogram czy te dane trzeba jakoś przetworzyć (tutaj nie wiem jak)?

#machinelearning #programowanie #deeplearning #siecineuronowe
  • 2
@mojemirabelki: W przetwarzaniu obrazów raczej nie jest wymagane przetwarzanie danych przed wysłaniem do sieci. Wysyłasz jedynie odpowiednio zeskalowany obraz, żeby jego wymiar zgadzał się z wejściem sieci.

Dodatkowy prosty preprocessing to standaryzacja, czyli odjęcie od danych wejściowych średniej wartości wyliczonej z bazy danych a następnie podzielenie ich przez odchylenie standardowe. Robi się to per kanał, czyli osobno wyliczasz i działasz na R, G,B , czy w przypadku opencv właściwie BGR.
Nie
@mojemirabelki Mam nadzieję że się nie obrazisz jeśli założę że brakuje Ci wiedzy w temacie Machine Learningu. Przed ruszeniem dalej polecałbym zapoznać się przynajmniej orientacyjnie bardziej z jakimiś artykułami na ten temat.
Możesz zacząć tutaj https://medium.com/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721 co prawada opisuje sieci konwolucyjne, ale bardzo dobrze jest zwizualizowane jak to wszystko działa. Innych źródeł jest na prawdę tona.