25
  • kvp
    #1
    Ez egy hardveresen implementalt digitalis neuralis halozat, amin ha jol latom optical flow algoritmus fut. Hasonlo megoldas volt jo harminc valahany eve Leon Chua es Roska Tamas altal kifejlesztett CNNA processzor, bar az analog es programozhato volt, tovabba tartalmazott egy beepitett CCD szenzort is. Tehat az optical flow nem volt fixen bedrotozva, hanem a feltoltheto programok kozzul csak az egyik volt. (meg en irtam meg ra diplomamunkakent jopar eve) 10 eve csinaltak a SZTAKI-ban egy fpga alapu implementaciot is. Ha jol latom a yale-es csapat ezt masolta le. Az optical flow algoritmus biztosan jo, mert a darpa robotauto verseny osszes celig eljutott resztvevoje ezt hasznalta. A Chua fele analog chipes valtozat jelenleg akkora, hogy mar beultetheto akar egy emberi szembe is.

    ps: Igen, o fedezte fel a memrisztorokat is...
  • Chronos2111
    #2
    Linuxot futtatnak, mi mást :P

    Üdvözlendő, tetszik a dolog. Úgy látszik lesz egy újabb kiegészítő procink a Physix,a GPU és a többi mellé.
  • readswift
    #3
    Nem kell kiegészítő proci, fogd az x86-ot és vidd a picsába

    kvp, köszi a kiegészítést, a cikkíró bácsi nevében is.
  • La Koma
    #4
    Nem rossz csak bináris alapokon a fény sebessége se lenne elég hogy az emberi szem-kisagy-hyppotalamus idegpályák teljesítményét reprodukálják.

    Van egyszer is egy szem aminek 4-7 megapixel a felbontóképessége
    (függ az egyedtől, a kortól, nemtől, hangulat és kedélyállapottól stb..stb..)
    , van aztán egy átlag 25 fps amit ugye alapul vettek a mozifilmek másodpercenkénti filmkockához, ennyit lát ugyanis egy józan ember (részegen, datura stramonium hatása alatt, vagy fáradtan ez az érték lecsökken)
    Van aztán egy truecolor színskála amivel megállapították hogy az átlagember 16 millió színt tud megkülönböztetni, binárisban kifejezve 2^24

    Ezek azok az adatok amiket majdnem fixen, számokká konvertálva is ismerünk, akkor most számolgassunk egy kicsit , milyen teljesítményű gépre volna itt szükség:

    vegyük alapul a 4 és 7 közti értéket, 5,5 megapixeles felbontóképességet a három RGB színnel. Ez kb. 2300x2300 pixel R*G*B komponensenként durván 2^8 * 2^8 * 2^8 (= 2^(8*3)) 5.500.000 * 3 = 16.500.000 (byte) * 8 = 132.000.000 bit * 25 (fps) =

    3,3 milliárd bitpersec (= 400 megabyte / szekundum)

    tehát van egyszer egy 3,3 milliárd bit per szekundum , hozzávetőleges értékünk amely a szemből az ingerületátvivő idegsejtek segítségével a hyppotalamusig eljut, ahol is jön csak a dolog igazán oroszlánrésze...
    Itt ugyanis egy ismeretlen nagyságú , méretű adatbázisból kell előrerántania és összevetnie a hyppotalamusnak a 400 megabyte / másodperces sebességgel megkapott információt. Nem beszéltünk még a sztereotíp látásmódból adódó 3 dimenziós mintavételezés feldolgozásáról, ami miatt tulajdonképpen 3 dimenzióban vagyunk képesek értelmezni a megfigyelt tárgyakat, és 4 dimenzióban vagyunk képesek értelmezi, a történő eseményeket.
    Valamint nem beszéltünk arról sem hogy milyen irdatlan méretű adatbázisra épül az emberi agy, ahhoz, hogy gyak. bármilyen tárgyat az ismert több millió féle tárgylehetőségből, azok variációs lehetőségeiról stb.. stb.. félrészegen is 2-3 másodperc alatt fel tudjunk ismerni a megpillantás utáni pillanatban.
  • andersh
    #5
    ez lehet h így van de a legtöbb dologhoz elég lehet egy 8 bites grayscale 15fps-el.
  • La Koma
    #6
    hát, ha ez ilyen egyszerű akkor tied a projekt ! építs robot-embert !
  • readswift
    #7
    Megkérdeztem egy orvostanost a dolgoddal kapscolatban, eléggé diffisnek látja az elgondolásod, ui. "az emberben a szem a látókéreggel-ami kb a nyakszirtlebeny egésze van közvetlen kapcsban,meg mennek kisebb pályák az agytörzsbe kevés átkapcsolással, amivel direkt visszakapcsolás van a szemmozgató izmok, meg a pupillaszűkítő izmok felé"
  • Mat666
    #8
    Jól beszélsz.
  • csimmasz
    #9
    Szerintem,bár laikus vagyok de a látásunk csak a fokuszban részletes a perifériák felé erőssen lecsökken a felbontás!
    Ha esetleg ez bele van kalkulálva akkor bocs!
  • readswift
    #10
    'oszt milyen felbontás édesöcsém?
  • moikboy
    #11

    Van aztán egy truecolor színskála amivel megállapították hogy az átlagember 16 millió színt tud megkülönböztetni, binárisban kifejezve 2^24


    Baromság, az ember nem tud 16millió színt megkülönböztetni... A TrueColor színábrázolással tudunk éppen 2^24 színt kifejezni, mert így mindegyik színkomponensre (r-g-b) egy-egy bytenyi adat jut... Az emberi szem egyébként legjobb esetben is max. 10millió színt tud megkülönböztetni.

    Aztán, ahogy már előttem említették, a perifériális látás felbontása erősen korlátozott...

    Az pedig, hogy minden látott tárgyat egyenként meg kéne keresni valami adatbázisban, a lehető legrosszabb algoritmus a problémára... A tárgyakat az alkotóelemeik alapján kellene besorolni különböző kategóriákba pl. ha az algoritmus felismeri egy kapaszkodó képét, akkor az objektumra rákerül a "megfogható"-cimke és így tovább, akár rekurzívan továbbontva az egyes alegységeket.

    Ha belegondolsz, akkor te sem dolgozol fel azonnal minden információt a látott dolgokról: vegyük azt a példát, mikor ránézel egy faliórára, hogy megtudd mennyi az idő - ha ezután megkérdezné tőled valaki, hogy voltak-e az órán számok, arab számok voltak-e vagy rómaiak, volt-e másodpercmutató stb. bajosan tudnál felelni a kérdéseire; ez azért van mert az agy is csak a releváns információt próbálja kihámozni a látott képből.

  • lapaleves
    #12
    "mert az agy is csak a releváns információt próbálja kihámozni a látott képből."

    ez az, amit úgy hívnak feldolgozás. a te logikádat követve fele esetben "fél 3", fele esetben meg "quartz" vagy "koszos az üveg" vagy ilyesmi lenne az eredmény.

    fel kell ismernie, hogy az egy óra, hogy aztán a két pálcikát értelmezze.
  • moikboy
    #13
    Tévedés! Az ember azért néz oda, mert tudja, hogy egy óra van a falon! Ha csak úgy, minden előzetes ismeret nélkül pásztázol pl. egy utcafrontot, akkor csak sokadszorra veszel észre egy utcai órát... Onnantól pedig, hogy eleve "óra"-jellegű képi információt vársz, az agyad jórészt csak a mutatókat dolgozza fel a képből.
  • EagleeyE
    #14
    A látás az egyik legszelektívebb folyamat amit az ember ismer. Ha minden egyes fényingerre végigböngészné az agyad a saját adatbázisát, még az ágyból sem kelnél ki reggel.

    Emellett mivel egy rendkívül sok szálon futó, néhol ismeretlen átkapcsolásokkal, folyamatokkal teli, borzalmasan bonyolult rendszerről van szó, teljesen értelmetlen, hibás és parasztvakítás-szagú mindenféle számszerűsítés és informatikai fogalmakra és mértékegységekre való lebontás. Egyelőre

    http://www.youtube.com/watch?v=Ahg6qcgoay4
  • Hegi90
    #15
    1024x768.
  • kvp
    #16
    Biologiai szempontbol a latas tobb lepcsokbol all. Az elso a kepminoseg javitasa es a zajszures, melyet meg a retina vegez. Azan a latoidegek keresztezesenel tortenik az optical flow alapu feldolgozas, ami a ket szembol erkezo kepek diszparitasa alapjan eloallitja a melysegi terkepet (terlatas), tovabba az egy-egy szembol erkezo idobeli kepsorok alapjan az elmozdulasi terkepet (periferialis latas). Ezutan jutnak el a latokozpontba az eredeti kepek es a ket terkep. Ebbol az agy mar elo tud allitani egy felosztasi terkepet (szegmentalas), tehat tavolsag, mozgasi irany, sebesseg, szin es konturok alapjan nagyjabol szetvalogatja a targyakat. Ezutan az eppen a latomezo kozepen levo tagy felismerese tortenik egy asszociativ tablabol (lasd: karakterfelismeres scannelt szovegbol). Tobb targy felismerese szekvencialisan tortenik, ahogy a szemmozgato izmok vegigpasztaznak a latoteren. Innen indul a tudatos latas, amit jelenleg nem ismerunk. A fenti lepesek mindegyike megvalosithato parhuzamos formaban, mivel az agyban is ez tortenik. Mivel minden pixelhez van egy-egy dedikalt neuron csoport, ezert 24 kep/masodperchez csak 24 keppont/masodperces feldolgozo sebesseg kell, amihez meg az 1 megahertz is boven sok, az agy ennel lassabb.
  • Kara kán
    #17
    Alapvetően mintákat látunk, és utána konkretizáljuk az infókat.
    A mintafelismerés pedig már számítógépesített, pl. az arcfelismerő szoftverek remekül teljesítenek már ma is. De az OCR is lassan utoléri az emberi képességeket.

    Hol itt a probléma?
  • csimmasz
    #18
    Neked barátom hullik a vetőmag a zsebedből,mi?
  • Villanypásztor
    #19
    "10 eve csinaltak a SZTAKI-ban egy fpga alapu implementaciot is. Ha jol latom a yale-es csapat ezt masolta le. "

    Nem akarok nagyon negatív lenni és távol álljon tőlem hogy leszóljam a sztakisok eredményét, de attól, hogy fpga-n fut és optical flow még nem biztos hogy másolat. Az alap optical flow nem egy annyira elképesztően bonyolult dolog és fpga-hoz is értenek páran, szóval nem egy fpga-s implementáció készült már. A varázslat még csak azután jön.

    Egyébként meg a lentebbi számítás a másodpercenkénti sokmilliárd bitről leginkább ott hibázik, hogy a látókéreg ezt az adatmennyiséget nem küldi el direktben az agy többi részének, hanem csak egy már előfeldolgozott változatot. (legfőképpen éldetektálás és optical flow) Ez az előfeldolgozás pedig jól párhuzamosítható képelemenként.
  • HADOPILUZER
    #20
    az átlag 5,5 millárd pixelre jutó , általad 1 Mhz / pixel eredményt , az agyban akkor is össze kell kötnie egy központi vezérlőegységnek ahhoz, hogy a kapott képet ne pixelenként , hanem egybe értelmezze, ha pedig az 1 Mhz-et beszorzod 5,5 milliárddal akkor már szép kis eredményt fogsz kapni ( 5,5 petahertz ) és ez még mindig csak az átvitt nyers kép az agyban , hol beszéltünk még a tudatos látásról, amely a trilliárdnyi lehetőségből csak a releváns szekvenciákat válogatja ki , MÁSODPERCENKÉNT 24-szer !
  • HADOPILUZER
    #21
    valaki felvetette hogy a perifériás látómezőben kisebb a felbontás, ez így is van, csakhogy az átlagosan 4-7 megapixeles felbontás a fokális látómezőre érvényes.
  • kvp
    #22
    "az átlag 5,5 millárd pixelre jutó , általad 1 Mhz / pixel eredményt , az agyban akkor is össze kell kötnie egy központi vezérlőegységnek ahhoz, hogy a kapott képet ne pixelenként , hanem egybe értelmezze"

    Nem jut el az agy tudati reszehez ennyi adat. A kepekbol eloszor egy melysegi es mozgasterkep keletkezik. Aztan az osszes adat alapjan szegmentalt lista, ez az agy altal felismert targyak vagy targycsoportok listaja, ami mar viszonylag rovid. Ezen targyak kozzul tobbnyire a latomezo kozepen levon fut le az asszociativ felismeres, ami gyakorlatilag egy parhuzamositott statisztikai mintaillesztes. A kimenete mar csak par fogalom.

    Peldaul: bejovo kepek (bitmap) - melysegi es mozgas terkepek (vektor map) - szegmentalt lista (area list) - megfigyelt targy adatai a tudati reteg fele (property list): a falon van, mutatos ora, feher hatter, fekete betuk, haromnegyed 8-at mutat... Ez jo esetben is csak par byte-nyi adat, ennyi megy tovabb az agy tobbi resze fele. (ezekhez a fogalmakhoz kotodo neuronok tuzelnek a mintailleszto adatbazisban) Egy ujsag eseten az elso rapillantasnal peldaul: asztalon van, feher hatter, fekete betuk, ujsag formaju szoveg. Ebbol ket kimeneti fogalom is azonos, tehat nem igenyel kulon kimenetet, mivel tobb bejovo inger eseten is tuzel. Az agy tudati resze ezen mintak alapjan rakja ossze azt, hogy mit latunk. Aztan ha az ember kivancsi ra, akkor alaposabban is megnezi a kerdeses targyat, ami ekkor tobb darabra szegmentalodik, es egyesevel is felismerodnek a reszek, pl. az oranal a gyartoja, a szamok tipusa, ujsagnal pedig megkezdodik a szoveg felismerese, tehat az olvasas.

    Meglepo, hogy mennyire keves adat jut el a tudati retegig a latott informaciobol. Csak azert hisszuk, hogy minden azonnal eljut, mert barmire fokuszalunk a latorendszer pont azt fogja alaposabban feldolgozni. Igy egy teljes helyszin vegignezheto, a nelkul, hogy egy 'kepkocka' alatt kellett volna mindent feldolgozni. Csak par autista kepes egy villanasnyi kep alapjan kesobb mindenre emlekezni, de ez a normal embereknel informacio tulterhelest okozna. (az autizmus egyik oka pont ennek az informacioszuronek a hianya)
  • feri79
    #23
    Az a 400MB/s talán elsőre soknak tűnik, de ha azt mondom, hogy a FullHD kép HDMI-n történő átviteléhez 5Gbit/s (~640MB/s) kell akkor már nem is olyan sok. Főleg, hogy egy nagyobb teljesítményű kártya akár egy időben 6 ilyen képet is képes előállítani (ATI Eyefinity) és még csak nem is 24fps-on. Ezek ráadásul csak a nyers adatok. Bár a látás nagyon gyors folyamat ez csak azért lehet, mert rengeteg dolgot az agy kikövetkeztet/feltételez/leegyszerűsít. Lásd érzéki csalódások
  • HADOPILUZER
    #24
    Értem, hogy mit akarsz mondani, mester.

    Végülis akkor kétirányú a látási folyamat... egyrészt kívülről indul el az információ közvetítése befelé a látóközpont-hyppotalamus pályán , másfelől viszont belülről a "Kernel szintről" érkeznek az utasítások az integrált szűrő algoritmusokkal, hogy mit akarunk egyáltalán látni. Valahol középtájt pedig találkozik a két egység és egyeztet. Hogyan lehetne ezt lefordítani a számítéstechnika nyelvére , digitalizálni ezt a folyamatot ?

    Az integrált szűrő algoritmusok menet közben is programozhatóak kell lennie, hiszen eldönthetjük, hogy mit akarunk látni, mit keresünk , mely tárgyakat szeretnénk éppen felismerni, vagy egyszerűen csak bambulhatunk is , ilyenkor az értelmező kernel stand by-ba megy :)

    Végülis az elmondásod alapján valóban nem olyan lehetetlen a tárgyfelismerő robotot elkészíteni, viszont a programját eleve önmódosító kernelre kell írni, hiszen az első gerincesek óta képesek az élőlények a tanulásra, ami az embernél a kernel önfordítását , a tanulást jelenti , az halaktól az emberig, pedig a RAM kibővítését. A halak 330 millió évvel ezelőtt a Silur földtörténeti korban kezdték el a tanulás kifejlesztését, az emlékezőképesség, a RAM alakult ki először mintegy 30 millió éves evolúció alatt, az egyre kiszáradó tavacskák között a halak , az árapályok váltakozása miatt évről évre vissza kellett hogy találjanak az ivóhelyükre , ehhez viszont szükségszerűen ki kellett fejlődie a RAM-nak, amivel a rovarok és skorpiók máig nem rendelkeznek, ezek az élőlények inkább tekinthetőek robotnak, mint tudatos lénynek, szinte csak a vezérlőprogramjuk van (ami persze nem egyszerű) .A halaktól a kétéltűkig az hagymájának az első számú legbelső részéről beszélhetünk a limbikus rendszerről. A hüllőagy a következő hagymaréteg amely ránőtt az idők folyamán ez már lehetővé tette bizonyosfokú magasabbszintű , az operációs rendszeren futó alfolyamatok , szubrutinok önmódosulását, tehát a tanulás kezdetleges formáját. Az emlősöknél ez egyre jobban fejlődött, majd a főemlősöknél jött létre a neokortex, az agykéreg legkülső része, amely már lehetővé teszi akár az operációs rendszer teljes önátírását is. Ezt nevezzük tanulásnak. Kezvde az beszédmotortól a világ látásmódján át , az önértékelésünkig mindent mi magunk döntünk el, kivéve a BIOS szintű kernelfolyamatokat, úgymint a belek és gyomor mozgatóizmainak működése. Az önmódosító kernel viszont veszélyes is, mert ha egy hibás új alfatesztvezió kerül vezérlőstátuszba akár az öngyilkosságra való hajlam is előtörhet.
  • Alfa Of NS
    #25
    Ne gondolkozz ennyire algoritmusokban, különben nem fogod látni a működés lényegét. Valódi szoftveres (és egyben memória) megoldás meg csak az emlősöktől van jelen. A hardveres alap már a hüllőknél megjelenik, de csak primitív módon.