Kun puolustusohjelmistotiimit puhuvat datafuusion arkkitehtuurista, ne viittaavat lähes poikkeuksetta JDL-malliin — käyttivätpä ne nimeä tai eivät. JDL-malli (Joint Directors of Laboratories), joka kehitettiin alun perin vuonna 1985 ja jota muokattiin merkittävästi 1990-luvulla ja jälleen vuonna 2004, tarjoaa kanonisen tavan jakaa datafuusio prosessointitasojen hierarkiaksi. Sen ymmärtäminen, mitä kukin taso todella edellyttää ohjelmistollisesti, on välttämätöntä käytännössä toimivien fuusiojärjestelmien suunnittelussa.
Tässä artikkelissa käydään läpi jokainen taso konkreettisin toteutusyksityiskohdin — ei pelkästään tieteellisessä kirjallisuudessa esiintyvin teoreettisin määritelmin, vaan niiden tiettyjen ohjelmistokomponenttien, algoritmien ja tietorakenteiden kautta, jotka toteuttavat kunkin tason operatiivisissa puolustusjärjestelmissä.
JDL-mallin alkuperä ja rakenne
Joint Directors of Laboratories Data Fusion Subpanel julkaisi alkuperäisen mallin vuonna 1985 viitekehyksenä fuusio-ongelman pohtimiseen puolustustiedustelun järjestelmissä. Alkuperäinen malli määritteli neljä tasoa (0–3). Blaschin, Bossen ja Lambertin vuoden 2004 versio laajensi sen kuuteen tasoon (0–5) lisäämällä tason 0 (alikohteiden arviointi) ja tason 5 (käyttäjän tarkennus), jotta koko prosessointiketju raakasignaaleista toiminnalliseen tiedusteluun saataisiin paremmin katettua.
Malli ei ole ohjelmistoarkkitehtuurin määrittely — se on käsitteellinen taksonomia. Eri toteutukset sijoittavat tasojen rajat eri kohtiin eivätkä välttämättä toteuta kaikkia tasoja. Se, mitä malli tarjoaa, on yhteinen sanasto sen käsittelyyn, missä kohtaa prosessointiketjua tietty komponentti toimii ja mitkä ovat sen syötteet ja tulosteet.
Taso 0: alikohteiden datan arviointi
Taso 0 käsittelee raa'an sensoridatan esikäsittelyä ennen kuin mitään kohdetason prosessointia aloitetaan. Syötteet ovat raakoja fyysisiä mittauksia — tutkakaikuja, akustisia näytteitä, infrapunailmaisinmatriiseja, digitoituja RF-spektrejä. Tulosteet ovat jäsenneltyjä havaintoja, jotka kuvaavat ilmaisuja: pikseliryväs IR-kuvassa, pulssi tutkakaiussa, energiapiikki taajuuskaistassa.
Ohjelmistollisesti taso 0 koostuu signaalinkäsittely- ja piirteenirrotusrutiineista. Tutkalle tähän kuuluvat pulssin kompressointi, Doppler-käsittely (etäisyysnopeuden irrottamiseksi), CFAR-ilmaisun (constant false alarm rate) kynnystäminen sekä ilmaisuparametrien irrotus: etäisyys, suuntakulma, korkeuskulma, Doppler-nopeus ja RCS-arvio. Kuville siihen kuuluu kohteiden tunnistuksen inferenssi (tyypillisesti syväoppimismalli), joka tuottaa rajauslaatikoita luokkaleimoin ja luottamuspistein. RF-signaaleille siihen kuuluu kanavointi, energian ilmaisu ja modulaatioparametrien irrotus.
Tason 0 keskeinen tuloste on epävarmuuden kvantifiointi. Jokaisen ilmaisun on kannettava mukanaan ei vain mittausta vaan myös mittausepävarmuus: 1-sigman epävarmuus etäisyydessä, 1-sigman epävarmuus suuntakulmassa. Nämä epävarmuudet etenevät tason 1 fuusioalgoritmien läpi ja ovat välttämättömiä radan laadun oikealle arvioinnille. Tason 0 prosessori, joka tuottaa ilmaisuja ilman niihin liittyviä epävarmuuksia, tuottaa tason 1 järjestelmän, jonka ratalaatuarviot ovat merkityksettömiä.
Taso 0 on laskennallisesti raskain taso. Yhdelle laajakaistatutkalle CFAR-ilmaisu voi käsitellä satoja tuhansia etäisyys-suuntakulma-soluja keilanviipymää kohden. Reaaliaikaiselle videovirralle kohteiden tunnistuksen inferenssi suoritetaan jokaiselle ruudulle nopeudella 30 fps. Tämä taso suoritetaan tyypillisesti erillisellä DSP-laitteistolla tai GPU-kiihdytetyillä prosessointisolmuilla, ei yleiskäyttöisillä palvelin-CPU:illa.
Taso 1: kohteiden tarkennus
Taso 1 on ratafuusion taso — matemaattisesti vaativin ja tieteellisessä kirjallisuudessa perusteellisimmin tutkittu. Sen syöte on tason 0 (ja useiden sensorien) ilmaisuvirta. Sen tuloste on joukko ratoja: tilaestimaatteja, jotka edustavat fyysisiä kohteita, kukin sijainnilla, nopeudella, suunnalla ja niihin liittyvällä kovarianssimatriisilla.
Tason 1 ydinongelmalla on kaksi osaa: datan assosiointi ja tilaestimointi.
Datan assosiointi on ongelma sen päättämisestä, mikä ilmaisu mistäkin sensorista vastaa mitäkin olemassa olevaa rataa — vai edustaako se uutta kohdetta. Naiivi lähestymistapa (kunkin ilmaisun liittäminen lähimpään olemassa olevaan rataan) epäonnistuu häiriöiden, sensorikohinan ja risteävien ratojen vallitessa. Vakioalgoritmeja ovat:
Lähin naapuri (NN): yksinkertainen mutta epäonnistuu voimakkaiden häiriöiden tai ratojen tiiviin erottelun vallitessa. Riittävä harvoihin, vähäkohinaisiin ympäristöihin.
Joint Probabilistic Data Association (JPDA): laskee assosiointitodennäköisyydet kaikkien ilmaisujen ja ratojen yli yhtäaikaisesti käsitellen häiriöitä ja monitulkintaisuutta pehmeiden assosiointien avulla. Parempi kuin NN kohtalaisten häiriöiden vallitessa. Laskennallisesti kallis ratamäärän kasvaessa.
Multiple Hypothesis Tracking (MHT): ylläpitää useita hypoteeseja siitä, mitkä ilmaisut vastaavat mitäkin ratoja, karsien matalatodennäköisyyksisiä hypoteeseja ajan myötä. Paras suorituskyky monimutkaisissa skenaarioissa; korkein laskennallinen kustannus. Käytetään ilmapuolustus- ja lennonjohtojärjestelmissä.
Tilaestimointi on ongelma radan tilaestimaatin päivittämisestä, kun uusi assosioitu ilmaisu saadaan. Vakioalgoritmi on Kalman-suodatin ja sen epälineaariset laajennukset. Kalman-suodatin tarjoaa optimaalisen lineaarisen pienimmän keskineliövirheen estimaatin Gaussin kohinan vallitessa. Epälineaariselle kohteen liikkeelle (esim. koordinoidut käännökset) käytetään laajennettua Kalman-suodatinta (EKF) tai unscented Kalman -suodatinta (UKF). Suodatin hallitsee myös radan aloittamista (uuden radan luominen, kun ilmaisuryväs viittaa uuteen kohteeseen) ja radan päättämistä (radan pudottaminen, kun se ei ole saanut päivityksiä määriteltävissä olevan jakson aikana).
Monisensorinen tason 1 fuusio yhdistää riippumattomien sensorien radat — tutkarata ja EO/IR-rata, jotka todennäköisesti edustavat samaa kohdetta, assosioidaan ja yhdistetään yhdeksi fuusioiduksi radaksi, jonka tilaestimaatin laatu on parempi kuin kumpikaan sensori yksinään pystyisi tarjoamaan.
Taso 2: tilannekuvan tarkennus
Taso 2 asettaa yksittäiset radat operatiiviseen kontekstiin. Sen syöte on tason 1 ratakuva — joukko seurattuja kohteita kinemaattisin tilaestimaatein. Sen tuloste on tilannekuva: radat liitetyin identiteetein, luokitelluin aikein ja ymmärretyin suhtein.
Taso 2 sisältää useita aliprosesseja:
Alustan tunnistus: radan kinemaattisten parametrien ja siihen liittyvien sensorisignatuurien korrelointi tunnettujen alustojen tietokantaan. Rata, jonka nopeusprofiili, liikehdintäominaisuudet ja siihen liittyvä tutkaemissio vastaavat BMP-3-profiilia, saa BMP-3-identiteettiliitoksen. Tämä edellyttää alustaparametritietokantaa (PPD) ja liitosalgoritmia, joka käsittelee osittaisia vastaavuuksia ja ristiriitaista näyttöä.
Suhdeanalyysi: ratojen välisten taktisten suhteiden tunnistaminen. Kaksi rataa, jotka säilyttävät johdonmukaisen välistyksen ja suunnan ajan myötä, ovat todennäköisesti osa samaa ryhmitystä. Joukko ratoja, jotka lähestyvät pistettä samaan aikaan ja samalla nopeudella, viittaa tarkoitukselliseen taktiseen liikkeeseen.
Elämänkaavioanalyysi: tunnettujen entiteettien perustasokäyttäytymisestä poikkeamien havaitseminen. Ajoneuvo, joka normaalisti pysäköi koordinaatteihin X joka yö mutta puuttuu tänä yönä, on poikkeama, jolla on mahdollista tiedusteluarvoa. Tämä edellyttää ajallista perustasomallinnusta, joka on laskennallisesti kallista mutta välttämätöntä priorisoidun maalitiedustelun kannalta.
Taso 2 edellyttää pääsyä kontekstitietokantoihin, jotka eivät ole osa sensorinkäsittelyketjua: taisteluvoiman tietokantoihin (order of battle), kalustoparametrikirjastoihin, maaston analyysituotteisiin, historiallisiin käyttäytymistietoihin. Ohjelmistoarkkitehtuurin on tarjottava tehokas kyselypääsy näihin tietopankkeihin reaaliaikaisesta käsittelyketjusta ilman, että aiheutuu kohtuutonta viivettä.
Taso 3: vaikutuksen / uhkan tarkennus
Taso 3 projisoi nykyisen tilanteen ajassa eteenpäin uhkien arvioimiseksi. Sen syöte on tason 2 tilannekuva. Sen tuloste on uhka-arviot: ennusteet vihollisen tulevista toimista ja niiden mahdollisesta vaikutuksesta omiin operaatioihin.
Ohjelmistollisesti taso 3 sisältää toimintatavan ennustusalgoritmeja. Kun panssaroitujen ajoneuvojen ryhmitys on tunnetussa sijainnissa ja liikkuu tunnetulla nopeudella kohti omia linjoja, mikä on todennäköisyys, että se murtaa puolustuslinjan lohkossa A vai B seuraavan 30 minuutin aikana? Tämä edellyttää reittianalyysiä (todennäköisten etenemissuuntien laskemista maaston läpi), kyvykkyysanalyysiä (mitä tämä ryhmitys voi tehdä kokoonpanonsa perusteella) ja aikomusten mallintamista.
Taso 3 on algoritmisesti heikoimmin määritelty taso. Kaupalliset toteutukset käyttävät usein sääntöpohjaisia asiantuntijajärjestelmiä, Bayes-verkkoja tai viime aikoina koneoppimismalleja, jotka on koulutettu historiallisella kohtaamisdatalla. Tuloste edellyttää huolellista esittämistä — keinotekoisen korkean luottamuksen uhka-arviot voivat ankkuroida analyytikon ajattelua ja saada hänet vähättelemään ristiriitaista näyttöä.
Tasot 4 ja 5: prosessin ja käyttäjän tarkennus
Taso 4 (prosessin tarkennus) on metataso, joka valvoo itse fuusioprosessia ja mukauttaa tiedonkeruuta fuusiolaadun parantamiseksi. Jos tason 1 ratalaatu heikkenee, koska tutkasensori toimii pienemmällä kantamalla, tason 4 tulisi pyytää UAV-sensorin uudelleensijoittamista kompensoinniksi. Ohjelmistossa tämä toteutetaan sensorienhallintamoduulina, joka vastaanottaa fuusiolaadun mittareita ja tuottaa sensorien tehtävänantopyyntöjä.
Taso 5 (käyttäjän tarkennus), joka lisättiin mallin vuoden 2004 versiossa, tunnistaa, että ihmisanalyytikot ovat vuorovaikutuksessa fuusiojärjestelmän kanssa ja että heidän kyselynsä ja huomionsa voivat parantaa tai heikentää fuusiolaatua. Käyttäjä, joka keskittää huomionsa tietylle taistelutilan alueelle, antaa epäsuorasti tietoa siitä, mitkä radat ja tapahtumat ovat tärkeitä — tietoa, jonka tulisi syöttyä takaisin tason 4 sensorienhallinnan prioriteetteihin.
Keskeinen oivallus: Käytännössä useimmat operatiiviset puolustusfuusiojärjestelmät toteuttavat tasot 0–2 täysin, tason 3 osittain ja tasot 4–5 vain tutkimus- tai huipputason ohjelmissa. Järjestelmän suunnittelu koko JDL-mallin mukaiseksi on järkevä arkkitehtuuritavoite, mutta toimitustiimien tulisi rajata selkeästi, mitkä tasot kuuluvat kunkin ohjelmaerän laajuuteen.
JDL-mallin suurin arvo ei ole suunnitelmapiirroksena vaan viestintävälineenä. Kun fuusiojärjestelmä tuottaa huonon tilannekuvan, malli auttaa diagnosoimaan, missä vika piilee: onko kyseessä tason 0 kalibrointiongelma, joka tuottaa vinoja ilmaisuja? Tason 1 datan assosiointiongelma, joka tuottaa haamuratoja? Tason 2 liitosvirhe, joka leimaa omat ajoneuvot vihollisiksi? Kullakin tasolla on erilliset vikatilansa, ja malli tarjoaa yhteisen sanaston niiden käsittelyyn.