GRY-Online.pl --> Archiwum Forum

Pomoc w wyborze konfiguracji dla stacji obliczeniowej na potrzeby widzen...

30.11.2008
21:59
smile
[1]

maciejmaciejmaciej [ Junior ]

Pomoc w wyborze konfiguracji dla stacji obliczeniowej na potrzeby widzen...

Witam, na wstępie może opiszę pokrótce w czym tkwi problem.

Niebawem zaczynam projekt z widzenia maszynowego którego celem jest stworzenie wizyjnego systemu do zbierania informacji o pewnym obiekcie. System będzie się składał z komputera do którego zostaną podłączone 3 do 5 kamer wysokiej rozdzielczości 4-5 milionów punktów (dla ciekawskich np. kamera piA2400-17gm firmy Basler

Kamery będą podłączone poprzez interfejs Gigabit Ethernet (GigE Vision). System będzie zbierał obraz s częstotliwością 10 klatek na sekundę i następnie co około 3 sekundy jedną wybraną klatkę z każdej kamery będzie poddawał wnikliwej analizie celem znalezienia w obrazie pewnych cech obiektu i dalej określenia ich wymiarów geometrycznych.

Tak więc oprogramowanie będzie musiało realizować szereg czasochłonnych algorytmów przetwarzania obrazu. Celem przyspieszenia obliczeń cześć algorytmów będzie zrównoleglona w kilku wątkach jak również będzie kilka wątków zarządzających kamerami i całym systemem.

Pytanie jaką platformę wybrać do implementacji projektu?
Docelowo chciałem wykorzystać jakąś platformę serwerową z jednym lub dwoma 4 rdzeniowym procesorem Intel Xeon (lub nadchodzącymi Core i7 w wersji serwerowej) i systemem operacyjnym Windows Server 2008.

Mógłbym prosić o jakieś rady i sugestie co do konkretnej konfiguracji maszyny i wyboru systemu operacyjnego od osób mających jakieś doświadczenie w temacie stacji roboczych.

30.11.2008
22:04
[2]

Katane [ Rainwalker ]

Panie, na tym forum to ludzie co najwyzej nowego GeForce moga polecic.

30.11.2008
22:08
[3]

Kazuya_3 [ Beginner Otaku ]

Tak jak pisze Katane...

...to jest za skomplikowane dla przeciętnego GOL'owego internauty;) wątpię, abyś znalazł tu odpowiedź, ale cuda się zdarzają:) pzdr

30.11.2008
23:14
[4]

legrooch [ MPO Squad Member ]

Podaj szczegóły przedziału cenowego. Ważne tu będą poza procesorem dyski. No i ich pojemność, a w przypadku Seagate ceny są spore :)

Dajesz cenę i coś namierzymy :)

30.11.2008
23:15
smile
[5]

alexej [ Piwny Mędrzec ]

legrooch -> prze ceneo czy komputronika?

01.12.2008
06:21
[6]

maciejmaciejmaciej [ Junior ]

cena <= 15 tyś zł

01.12.2008
07:18
smile
[7]

Widzący [ Legend ]

Ciekawe zadanie, przy tak małym budżecie raczej rozwiązania oparte o nVidiowe CUDA. Rozeznaj czy CUDA zapewnia wsparcie dla tej klasy problemów (analiza wideo chyba tak) i wtedy mniejsze znaczenie ma CPU, ważne będą karty grafiki i podsystem dyskowy.
Zresztą powinieneś zacząć od analizy złożoności obliczeniowej i kalkulacji zapotrzebowania na moc obliczeniową oraz na zasoby dyskowe i szerokość pasma. Rozwiązanie sprzętowe to tylko pochodna od tych wymagań.

01.12.2008
08:45
[8]

legrooch [ MPO Squad Member ]

alexej ==> Masz w czymś problem? Chyba, że uważasz rozwiązania serwerowe są darmowe i oznaczają granicznych kosztów.

maciejmaciejmaciej ==> Jeżeli chcesz coś gotowego, to zostaje Ci Actina. Kosztem budgetowym przy rozsądnej wydajności. Składanie sprzętu wyrówna się cenowo, a do tego nie będziesz mieć wsparcia 24/7.

Nie wiem, jak tu z kartami sytuacja by wyglądała, ale:


Na życzenie możesz obudowę wrzucić do Racka - tu nie ma problemu.

01.12.2008
09:22
smile
[9]

Widzący [ Legend ]

Jeszcze raz podkreślam-> analiza zadania pod kątem złożoności obliczeniowej, inaczej pójdziesz w maliny.
Maszynkę do strzyżenia trawy poskładasz bez problemu w prawie każdym sklepiku z tym że nawet nie wiesz jakiej potrzebujesz. Szczegółowa "wnikliwa" analiza dwóch 5 megapikselowych klatek na sekundę i akwizycja pięćdziesięciu 5 megapikselowych klatek na sekundę to nie jest zadanie trywialne. Ile stopni szarości, jak chcesz taki strumień pobierać, czy chcesz go rejestrować w całości czy w części czy może bez rejestracji. Z jaką dokładnością chcesz go obrabiać itd. itp. i jeszcze tysiąc innych.
Rozumiem że te 15k złociszy to tylko na jednostkę centralną, bo inaczej to w sam raz na jedną kamerę z interfejsem.

Edit: literufki

01.12.2008
13:07
[10]

maciejmaciejmaciej [ Junior ]

Otóż tak:

Tak 15tys to oczywiście cena samej stacji (bo cena pojedynczej kamery to >=3tys euro)

(Wszystkie kamery w systemie używają wzoru bayera więc kamera 5MP dla 10fps będzie generował strumień 50MBps )
W systemie będą 2 kamery 5MP które będą zbierać obraz z częstotliwością 10 przy czym każda z klatek będzie analizowana pobieżnie w celu detekcji obecności i położenia obiektu, a docelowo tylko po jednej z klatek co 3s z obu kamer będzie wnikliwie analizowane; Pozostałe 2 – 4 kamery będą znacznie niższej rozdzielczości <=2Mp

Całość będzie puszczona po giga eternecie w konfiguracji:
1.każda kamera będzie miała osobna kartę sieciową
2.zostanie zastosowany frame graber eternetowy firmy matrox

Sterowniki do dedykowanych kart sieciowych są mocno zoptymalizowane co daje obciążalność procesora na poziomie <=5% dla jednej kamery dla przepływności z 50MBps dla procesora taktowanego 3GHz.
Z drugiej strony zastosowanie 4 portowego frame grabera (np. Matrox Solis GigE) całkowicie odciąża CPU.

Jeśli chodzi o wykorzystanie GPU to z tego co mi wiadomo to zastosowanie GPU jest opłacalne jedynie wtedy gdy mamy kilka sekwencyjnych obliczeniowo kosztowych zadań, z uwagi na duży kosz czasowy transmisji danych z/do pamięci GPU. Natomiast w rozważanym zastosowaniu może to się okazać nie opłacalne gdyż zastosowanie typowych filtrów maskowych do przetwarzania obrazu będzie poprzeplatane gęsto kondycyjną logiką analiza adaptacyjną mocno zależna od wyników poprzednich sekcji. A nie wiem jak wygląda sprawa z implementacją nieregularnych algorytmów na GPU.


1.konwersja z bayera do rgb;
2.usuwanie zniekształceń obiektywu
3.Wstępna analiza obrazu (np. rozciąganie histogramu, analiza kontrastu, analiza jasności normalizacja jasności itp.)
4.konwersja do innych przestrzeni barw (np. HSV) YcrYCb celem operacji na szczególnych kolorach
5.adaptacyjne progowanie obrazu na kilku składowych roznuch przestrzeni barw,
6.Wyszukiwanie kontórów na obrazie binarnym
7.Analiza tekstury wstępnie znalezionych obiektów
8.itp. ...


Tak z grubsza będzie wyglądał wstępny etap analizy którego celem będzie zlokalizowanie obiektu który będzie zajmował około 30% obszaru dwóch zdjęć 5MP, dalsza analiza będzie dotyczyła tylko tego obszaru ale to już inna bajka tam już GPU na nic się nie przyda.

Tak więc czy jest sens sięgać po GPU?

01.12.2008
13:36
[11]

Widzący [ Legend ]

Zerknij na to:

te implementacje wyglądają całkiem ciekawie a mogą być zblizone do Twojego zadania. Może podobny problem ktoś już wymęczył, przy Twoim osprzęcie może będzie dobrze połączyć GPU i CPU, GPU w zasadzie tylko ze względu na bardzo tanią moc obliczeniową. Jeżeli masz wielowątkowe zadanie to Core i7 będzie dobrym pomysłem gdyż ma zaimplementowane HT więc na każdy rdzeń fizyczny będziesz miał dwa wątki.

Sądząc po zaawansowaniu zadania chyba faktycznie liczyłeś na cud że na tym forum ktoś będzie mógł Ci sensownie pomóc, to jest w porównaiu z "jaka kartę kupywać" zupełny kosmos.
A tak na marginesie kamerka którą wskazałeś jest monochromatyczna, model z indeksem gc to kolor.

01.12.2008
17:43
[12]

maciejmaciejmaciej [ Junior ]

Dzieki:)

Pomimo wszystko nie wykluczam użycia GPU cena dobrej 16 potokowej karty graficznej to ok 1000zł i zawsze to można dorzucić do systemy, bardziej mnie zastanawia wybór systemu operacyjnego win xp podobno nie najlepiej sobie dla 4 i wiecej rdzeni nie wiem jak win 2003 serwer vista to odpada a moze windows 2008 serwer no i jeszcze został XP embedded. Wersje serwerowe podobno znacznie sprawniej i wydajniej zarzadzaja wątkami?

01.12.2008
18:08
[13]

legrooch [ MPO Squad Member ]

Wiesz co masz robić, ale z systemami to nie przegnaj :)
Kup 2008 Standard i Ci wystarczy. Żaden system desktopowy. Albo 2003, albo 2008. Polecam ten drugi ze względu na dużo lepszą mechanikę działania :)

Napisałeś jedną, ciekawą rzecz - Vista odpada. A czemu, skoro brałeś pod uwagę XP?

01.12.2008
21:09
[14]

maciejmaciejmaciej [ Junior ]

Może z Viste odrzuciłem trochę pochopnie, za jej zasoborzernosc, a obecnie to bez znaczenia bo raczej wybiore wersje server 2008 dzieki za dyskusje

01.12.2008
21:27
[15]

legrooch [ MPO Squad Member ]

Napisałem to z jednego powodu - 2008 to jądro Visty :)
Ludzie się czasem dziwnie tłumią, stąd to pytanie. :)

01.12.2008
21:34
smile
[16]

Widzący [ Legend ]

Jeżeli Windows to tak jak pisze legrooch, w wersji 2008, jedyny z Windowsów na liście TOP 500 (w wersji HCP), ma mniejsze zapotrzebowanie na ram niż Vista.

01.12.2008
21:43
[17]

maciejmaciejmaciej [ Junior ]

jadro Visty ale jaby nie patrzeć zdziebko dopracowane i zoptymalizowane pod pracę wielowątkową

01.12.2008
23:25
[18]

legrooch [ MPO Squad Member ]

maciejmaciejmaciej ==> Właśnie, że nie :)
Ubrane w role systemowe i tyle. Jedyna różnica poza tym to wersja Core.

01.12.2008
23:28
[19]

Cartman___ [ Konsul ]

BieSZ RADEONA 4700 !!! :D one one !111!!

01.12.2008
23:44
smile
[20]

Widzący [ Legend ]

Cartman___-> ?? Co chciałeś powiedzieć? Powtórz w języku zrozumiałym dla takich prostaczków jak my, bo u nas rozumienie slangu mastahakierów jest dość słabe.

02.12.2008
05:31
[21]

Lutz [ Senator ]

Jak dla mnie 5 zrodel obrazu hi-res (oczywiscie pytanie, czy material bedzie mono czy color) spokojnie da popalic temu systemowi na tyle, ze do analizy obrazu potrzebny bylby dodatkowy modul/komputer.

Teraz pytanie, po co 10 klatek na sekunde, skoro co 3 sekundy nastepuje analiza pojedynczej klatki, czy material ma byc zgrywany do macierzy dyskowej ?

02.12.2008
06:47
[22]

Kabraxxis [ Konsul ]

"Teraz pytanie, po co 10 klatek na sekunde, skoro co 3 sekundy nastepuje analiza pojedynczej klatki"

Tez wlasnie nie czaje ale ja glupi troche jestem. :P Jesli ma byc analizowana jedna klatka co 3 sekundy to na moja logike dalbym 5 aparatow foto i zeby co 3 sek robily fotki. :-)

Dane wyjsciowe bylyby takie same no ale jak mowie - nie znam sie.

02.12.2008
07:35
[23]

maciejmaciejmaciej [ Junior ]

aby uscislic archiwizacji bedzie podlegac conajwyzej po 1 klatce z kazdej kamery na 2s.

Teraz te 10fps chodzi o to ze w ekstremalnym przypadku co 2s bedzie pojawial sie nowy obiekt. Obiekt jest spory w stosunku do rozmiaru kadru wiec uchwycenie odpowiedniego jego połozenia jest wazne. Te 10fps dalem moze na wyrost prawdopodobnie 5fps starczy. Dodatkowo połozenie obiektu jest istotne gdyz ten docelowy kadr bedzie chwytany z wyzwolonym fleszem z mocnej lampy (flesz i kamery beda zsynchronizowane i wyzwolone sprzetowo) aby uzyskac zamrozenie ruchu (czas naswietlania <= 10ms)

© 2000-2026 GRY-OnLine S.A.