WOJSKOWA AKADEMIA TECHNICZNA BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH WARSZAWA NR 11/2013 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH KOLEGIUM REDAKCYJNE prof. dr hab. inż. Andrzej Ameljańczyk dr hab. inż. Ryszard Antkiewicz prof. dr hab. inż. Marian Chudy (redaktor naczelny) dr Lucjan Kowalski (redaktor statystyczny) dr hab. inż. Andrzej Najgebauer dr hab. inż. Tadeusz Nowicki dr hab. inż. Bolesław Szafrański dr hab. inż. Zbigniew Tarapata (redaktor tematyczny) prof. dr hab. inż. Andrzej Walczak (redaktor tematyczny) dr hab. inż. Kazimierz Worwa ADRES REDAKCJI Redakcja Biuletynu Instytutu Systemów Informatycznych Wydział Cybernetyki Wojskowej Akademii Technicznej 00-908 Warszawa, ul. S. Kaliskiego 2 e-mail: biuletynisi@wat.edu.pl tel.: (22)683-95-04, fax: (22)683-78-58 http://biuletynisi.wcy.wat.edu.pl Biuletyn ISI jest czasopismem indeksowanym w bazach: http://baztech.icm.edu.pl/ http://indexcopernicus.com/ Opracowanie stylistyczne w j. polskim: Jolanta Karaś Redakcja techniczna i projekt graficzny okładki: Barbara Fedyna Wydawca: Instytut Systemów Informatycznych Wydziału Cybernetyki WAT ISSN 1508-4183 Wersją pierwotną (referencyjną) czasopisma jest wydanie papierowe. Druk: Remigraf Sp. z o.o., ul. Dźwigowa 61, 01-376 Warszawa SPIS TREŚCI 1. R. Kasprzyk, M. Cieślewicz, K. Krajewski, M. Perka, A. Stachurski SAVE – State of the Art and Visionary Energetics …………………………………… 2. 1 R. Kasprzyk, M. Zabielski, P. Kowalski, G. Oksiuta, K. Rzempołucha GUARDIAN – Emergency Response System with Incremental Information Delivery Model ..………………..………………………………………………….… 3. 7 J. Koszela, T. Drozdowski, M. Niedziela, H. Ostap, R. Wantoch-Rekowski Zaawansowane metody przygotowania danych terenowych do symulatora szczebla taktycznego VBS2 …………………………………….…………………… 4. 15 T. Rzeźniczak Applying the Concept of Figural Goodness for Automatic Design to Dataset Visualization …………………………………….……………….……………….…. 5. 23 J. Szymonik Sztuczne sieci neuronowe o radialnych funkcjach bazowych do śledzenia obiektów w obrazach wideo …………………………………………………………………… 33 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 1−6 (2013) SAVE − State of the Art and Visionary Energetics R. KASPRZYK, M. CIEŚLEWICZ, K. KRAJEWSKI, M. PERKA, A. STACHURSKI rkasprzyk@wat.edu.pl Institute of Computer and Information Systems Faculty of Cybernetics, Military University of Technology Kaliskiego Str. 2, 00-908 Warsaw The paper focuses on the attempt to improve the process of modeling the electrical grid infrastructure, designed within project SAVE (State of the Art and Visionary Energetics). The system, which is a response to a still increasing demand for electricity, will enable optimizing and planning the development of the existing energy transmission grid on the basis of the Smart Grid concept. Such an approach may support the process of setting up new companies interested in building renewable power plants and will encourage potential ”prosumers” to share their surplus of energy. SAVE may also show how to wisely use the energy and how expensive energy wasting can be. Keywords: energetics, grid, network system, optimization. 1. Introduction Every day we use many appliances powered by electricity. These are everywhere, designed to support our daily duties and to provide various forms of entertainment. Besides, most of the produced electricity is consumed by modern sectors of industry. This proves that our civilization, high standard of living and economic development is heavily dependent on energy. According to recent surveys, the demand for electricity is still increasing. It is expected that energy consumption only in the EU will grow up by 15% in the next ten years. Even though the waste of electricity during its transmission is inevitable, for many countries around the world this becomes a huge national problem. It is estimated that Poland wastes about 12% of the produced electricity (about a half more than average in EU) [4], which, apart from a significant economic loss, seriously affects our natural environment. To avoid it we should pay attention to the technical conditions of the electrical grid infrastructure. Experts have also estimated, that between 71% and 90% of the existing energy transmission lines should be replaced in Poland [4], otherwise we will suffer a sharp increase in energy prices. Another key issue, associated with the use of energy, is the emission of greenhouse gases into the atmosphere. The reason is that energy production in many countries is dependent on fossil fuels [1]. Global trends, however, seek to overcome this conventional approach because it has bad influence on the environment and leads to climate changes. To achieve this, we must replace traditional energy production with CO2 − free sources or optimize the existing electricity infrastructure. At the same time, increased popularity and lower costs of building renewable power generators begin to encourage individuals to produce their own energy. However, it is very expensive to store the energy and the way of its generating from natural resources is strongly dependent on climate conditions (wind, sunlight etc.). As a result, it may be difficult to precisely estimate the amount of produced energy. The main goal of the paper is to propose a solution showing a possible way of managing and developing optimal infrastructure of the electrical grid, called SAVE. 2. The SAVE project The main idea of SAVE (State of the Art and Visionary Energetics) is to design an efficient power distribution infrastructure enabling to simulate its real features. It seems to be an innovative approach because at the moment there is no system working in a Smart Grid technology dedicated for commercial use [3]. SAVE boosts a great chance to promote the idea of ”the prosumer” [2]. In order to conduct the project, we solved a series of optimization problems attached to electrical grids. These included minimization of transmission losses for the existing grid infrastructure as well as increasing the security of the whole power system. Relying on latest scientific researches, 1 R. Kasprrzyk, M. Cieśllewicz, K. Kraajewski, M. Perka, A. Stachhowski, SAVE E… SAVE perfforms the analysis a of the complexx exploring networks topology, its keyy characteristics. Moreovver, withinn a Smart Grid everyy consumer of o energy can c becomee a produceer through thee spread of reenewable energy sourcess. In this case SAVE may answer a quuestion of the location off new powerr generatorss and energyy distribution to make thhe grid mosst secure andd efficient. As A a result, SAVE maay affect the environmennt by reduccing energyy losses andd hence reduccing the am mount of CO2 from fossiil fuels combbustion. In the t long terrm this mayy lower enerrgy prices and also increase the reliability of the grid. The syystem’s perfoormance cann be regardedd as effectivve because, with relaatively smalll expenses, itt may bring rational r beneefits resultingg from the reduction r o energy looss and the of optimal exppansion of the existing grrid. 3. SAVE E’s architeecture and d used techn nologies The SAVE system is a web applicaation workingg in an n-tierr architecturee which proovides a highh level of sccalability annd extensibility for the system. It is dividedd into folllowing tierrs (Figure 1): Fig. 1. Architeecture overview w 2 • nteract Client tier – to enable thhe user to in with software (via a web bbrowser) nerate • Prresentation tier – desiigned to gen a user-friendly u y GUI • Lo ogic tier – responnsible for data prrocessing; coontains implementation of o the algorithms • In ntegration tier – taskedd to separatee data prrocessing froom data storaage • Resources R tieer – to collect and store data. d Th he SAVE system coonsists of three independent modulles listed below: • Optimization O n module (using APII and QuickGraph algorithms a foor deep analy ysis of neetwork system ms) • Communicatiion modulee for ”prosumers” (u using the exissting social nnetworking API) A • Ed ducational module. m QuickGraph is i a portablee library, su uitable for .N Net, Silverllight and Windows Phone P environ nments. It provides commonly used directeed and undireected graph ddata structurees and a varieety of netwoork algorithm ms such as depth first search, s breaath first seaarch, A* search, shortesst path etc. Within W the SA AVE system m, the QuickG Graph library y is mainly used to evvaluate the most cruciall characteristtics, for exaample the sh hortest path or o maximum m flow [5]. It has also been extend ded by algorrithms that enable centrality measurres calculatioon. In n order to create our prooject we have also used Prefuse, P that is a set of software too ols for creatin ng rich intteractive daata visualizzation. Prefusee supports an extensiive collectio on of featurees for data modelling, visualization n and interacction. It provvides optimizzed data structures for tab bles, graphs, and trees,, visual enccoding techniq ques, supporrt for animattion and dattabase connecctivity [6]. Prefuse P is oriiginally writtten in Java, therefore t it was necessaary to rewritte the source code for thee .NET platfoorm. In n the SAVE system, Preffuse is responsible for visu ualization off the created network top pology or onee that was read r from thhe GraphML ML file formatt. In additionn, the edgess of the grap ph are describ bed, showinng key charracteristics of o the grid (capacity, costt of lines or eenergy loss during d its tran nsmission). Th here is a buuilt-in comm munication ch hannel betweeen Prefusee and Q QuickGraph for transfeerring data. All in all, Quickg kgraph perform ms all of the operations, while algoriithmic and callculated resuults are illustrrated by Preffuse. BIU ULETYN INSTYTUTU SY YSTEMÓW IN NFORMATYCZNYCH 11 1−6 (2013) Figurre 2 presentts a packet--based struccture of tiers and layers which w showss what technnologies were used to perform the creeated functioonalities of thee SAVE systtem. Fig. 2. Paacket-based sttructure of layyers 4. Graphical G l user interrface The intuitive i inteerface allowss the user too model the sttructure of any a electricall grid. With the use of thhe editor, thhe system ennables entering the graphh nodes: eneergy producers (power plants), transfformers andd end-users,, combiningg them with the edges. In additioon, users caan add param meters to eacch edge deterrmining the amount of poower production, capacityy, the cost off energy transm mission, eneergy loss, maximum m looad and energgy consumptiion (Figure 3). 3 Fig. 3. GUI overview 3 R. Kasprrzyk, M. Cieśllewicz, K. Kraajewski, M. Perka, A. Stachhowski, SAVE E… We havve also conssidered terraiin conditionss, while buildiing the grid infrastructure i e. In order too tackle it, wee used backgground mapss provided byy Bing (shownn in Figure 4). 4 After building a dedicated network n it is i possible to simulate itts real featuures, evaluate the maximuum flow, the minimum cost c flow, the minimum cost c fixed floow in the prroposed gridd. This is exttremely useful when uppgrading the existing grid g or com mparing neew buildingg solutions. Fig. 4. 4 SAVE Systtem with back kground map 5. Scenaarios When the grid managger plans too modify itts infrastructure, it has to be decided what w to do too achieve a siignificant im mprovement at a a minimum m cost. Figuree 5 presents a use-case diiagram of the system SAV VE. Fig. 5. SAV VE use cases 4 AVE is a well-develop w ped tool ussed to SA build a model of the t grid topoology. Our system allows to perform m a deep analysis of o the examin ned grid, supported s bby graph theory t algorith hms, showinng exactly its vulnerab bilities and bad behaviorrs. SAVE may answeer the on of how to expand thhe grid, indiccating questio the pottential locatiion of new ppower station ns and storagee batteries where w the transmission losses would be at their loowest. Apart from thhat, building renewable power p generaators for perssonal use reqquires a variety of resourcces such as a the apprropriate loccation, money y and knowlledge. Withoout any of those, we aree doomed to failure. To prevent it, SAVE S offers a communnication plattform that helps nd a co-invvestor whoo might prrovide to fin the miissing resourrces. With thhis platform m, it is possiblle to easily share or ssell the produced surpluss of energy. Th hese days, in fact, an ordinary person p cannott even imaginne how stronng the compeetition among g manufactuurers can bee, while bu uilding energy y-efficient and a eco-frieendly appliaances. There is a rich vaariety of eleectrical equip pment BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 1−6 (2013) to choose, at different prices, so we included a graphic energy calculator, which shows how long it will take to receive money spent on buying new appliances and then make it profitable, by saving the energy. 6. Development opportunities Due to a total lack of systems working in the Smart Grid technology SAVE is an innovative solution. It is designed for a wide range of clients including companies from the energy industry, green organizations and individuals. The target customer group is dependent on the dedicated functional module. The SAVE system is able to reduce financial losses associated with electricity transmission waste and plan the optimum expansion of the existing grid infrastructure. This approach may support the process of setting up new companies interested in building renewable power plants and will encourage ”prosumers” to share their surplus of energy. Capital resources for further development of the project will be provided by academic grants and partly by a company responsible for distributing energy. Clients will be supplied with software in two separate ways. Currently, it is possible to implement the system directly on their PCs, however, in the near future SAVE will be spread within a Windows Azure cloud. At present, the SAVE project is in the final stage of prototype development (Technology Readiness Level 6). In the near future we plan to enter cooperation with a company responsible for distributing energy. We count on a fruitful cooperation in a win-win environment: the company receives free-of-charge a prototype of our system, while SAVE developers get valuable feedback on important changes and new functional modules needed. Currently, the SAVE optimization module performs simulation on the segment of the grid topology, however, it will be dedicated for a larger area. This will result in a significant increase in the need for computing power. Therefore, we plan to use cloud computing models (Windows Azure) for further calculations. It is also planned to extend the educational module with a strategy game, showing overall benefits derived from wise use of energy. This will also prove an overwhelming advantage of renewable energy resources over conventional ones for the environment in the future. 7. Summary As we can see, a still increasing demand for electricity determines not only the production growth, but also enforces the search for new and more effective solutions enabling to save it. Currently a large amount of energy is wasted during its transmission from the power plant to the end user. Of course, it is not possible to completely eliminate the problem, however, system that was described in the article is an attempt to make energy system more economical and efficient. It was developed on the basis of the SMART GRID concept and the theory of graphs and networks. With the use of optimization complex algorithms the system allows to assess energy transmission losses and additionally, proposes a sensible and planned energy production process, including the prosumer market share. This solution will certainly help to reduce energy costs and the energy from the alternative sources would become more environmentally friendly. Moreover, a well-planned modernization of the existing energy infrastructure, and the construction of smart grids will definitely improve the energy security of the country. It is also worth noting that the system, which provides a layered architecture, is flexible and its functionalities can be easily updated and customized for the needs of the particular customer. 8. Bibliography [1] EREC, ”Renewable Energy Technology Roadmap up to 2020”, http://www.erec.org/ fileadmin/erec_docs/Documents/Publication s/EREC-Technoloy_Roadmap_def1.pdf. [2] KIGEiT, ”Prosumer w ’Smart Grid’, czyli energetyka obywatelska oparta na źródłach energii odnawialnej, wysokoefektywnej kogeneracji, racjonalizacji zużycia, redukcji strat przemysłowych”, www.kigeit.org.pl. [3] IEC, ”Smart Grid Standarization Roadmap”, http://www.iec.ch/smartgrid/ downloads/sg3_roadmap.pdf. [4] http://www.rp.pl/artykul/649811.html. [5] http://quickgraph.codeplex.com/. [6] http://prefuse.org. 5 R. Kasprzyk, M. Cieślewicz, K. Krajewski, M. Perka, A. Stachowski, SAVE… SAVE – Energetyka przyszłości R. KASPRZYK, M. CIEŚLEWICZ, K. KRAJEWSKI, M. PERKA, A. STACHURSKI Artykuł ma na celu zademonstrowanie możliwości wykorzystania systemu SAVE w procesie optymalizacji istniejących sieci energetycznych, a także modelowania nowych. System ten jest odpowiedzią na wciąż rosnące zapotrzebowanie na energię elektryczną i brak nowoczesnych technologii w przemyśle energetycznym. System realizuje postawione mu zadania w oparciu o wkraczającą na światowy rynek koncepcję Smart Grid. Takie podejście pozwoli wesprzeć proces tworzenia nowych przedsiębiorstw, zainteresowanych budową elektrowni odnawialnych, i będzie zachęcać potencjalnych „prosumentów”, by przekazywali swoje nadwyżki energii. System SAVE może pokazać również, jak odpowiedzialnie korzystać z energii i jak kosztowne mogą być jej straty. Słowa kluczowe: energetyka, sieć elektryczna, systemy sieciowe, optymalizacja. 6 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 7−13 (2013) GUARDIAN – Emergency Response System with Incremental Information Delivery Model R. KASPRZYK, M. ZABIELSKI, P. KOWALSKI, G. OKSIUTA, K. RZEMPOŁUCH rkasprzyk@wat.edu.pl Institute of Computer and Information Systems Faculty of Cybernetics, Military University of Technology Kaliskiego Str. 2, 00-908 Warsaw The main goal of this article is to show concepts of developing Emergency Response Systems (ERS), which withstands to the modern way of thinking about threat notification. It is also showed an idea of an incremental information delivery model – the new way of thinking about emergency actions management. The last issue considered are guidelines to develop Emergency Response Systems. Keywords: emergency response system, Safety-Oriented Society, incremental information delivery model. 1. Introduction In the modern world, people have to face many dangerous situations: from robberies, rapes and fires to car accidents or murders. Most of the crimes included in the police statistics could be detected on the spot, if the emergency services could react early enough. The response time is one of the main factors in any rescue operation in order to maximize the chance of saving a human’s life. There exist a number of solutions to presented issue ([3], [11], [12], [15]). The most promising are IT Emergency Response Systems (ERS) and IT Rapid Emergency Response Systems (RERS), which seem to have the shortest response time. The domain of ERS systems is still dynamically developed and many new solutions appear ([23], [24]). However, they are still imperfect, mainly because of their approach to reporting threats and delivering information about accident during rescue procedures [7]. The goal of this paper is the presentation of GUARDIAN – Emergency Response System developed at the Warsaw Military University of Technology. The article also describes an incremental information delivery model and the idea of Safety-Oriented Society. The last section presents guidelines which technologies are the best to implement the new model of information delivering and its utilization during rescue procedures. The article does not describe in detail the organization of rescue action management. More information about this problem can be obtained in [14] and [16]. The remainder of this paper is organized as follows. Section 2 introduces the GUARDIAN project and shortly describes its essential features. In Section 3, the GUARDIAN’s architecture is discussed. Section 4 shows the basic execution path of considered Emergency Response System. In Section 5, the Incremental information delivery model is showed, which is used in GUARDIAN project. Section 6 compares GUARDIAN with the other IT ERS solutions. Section 7 describes realization capabilities of IT Emergency Response Systems. In Section 8, we discuss problems and development opportunities of GUARDIAN. Section 9 shows short summary of our conclusions resulting from work on GUARDIAN system. 2. The GUARDIAN project GUARDIAN is a new type of Emergency Response System, which is it considered as a RERS system [25]. It has been developed for rapid response to the occurrence of any kinds of threats. Using a mobile technology, including GPS and smartphones, GUARDIAN allows to instantly call for help in just a few seconds. With use of GUARDIAN installed on the phone it is possible to quickly notify the nearby emergency services with just one click about the danger. Therefore, it provides an effective solution, where protecting the health and life of a human is important. 7 R. Kasprzykk, M. Zabielskki, P. Kowalskki, G. Oksiuta,, K. Rzempołuuch, GUARDIIAN… Researrch shows that t the cuurrently usedd informationn systems devveloped to report r threadds are highly ineffective [6]. [ For exam mple, callingg the emergenncy number in Poland, itt is necessaryy to spend upp to six minnutes to repoort a threat too the operatorr. This is unddoubtedly too long takingg into accounnt that, for exxample, hum man brain cann withstand without oxyygen for appproximatelyy four minuttes. Describbed problem m is mainlyy caused by complexityy of reporrting threatts procedure. Despite thhe fact, thaat mentionedd process is constantly c im mproving, it still s needs tooo much of huuman interaaction. This leads to the conclusion that the bottleneck of rescue procedures is the humaan reaction both on one and the other o side of the coommunicationn channel. With W that in mind, our team m implementeed GUARD DIAN – a system thaat provides thhree essentiaal features in managingg rescue proceedures: • the auttomation of the process of notifyingg about the t threat – only one cliick is neededd to startt a rescue acttion • the suppport of the communicaation betweenn emergency the services and the headquuarters • the prrovision of up to date informationn about the t rescue acction status. 3. GUAR RDIAN's architectu ure GUARDIAN N’s archittecture is shown onn Figure 1. Thhe system haas a three main m parts: the Reporter Client, the Em mergency Client and the Central Servver. Th he Reporter Client is a ppart of the system deploy yed on a Smaartphone, whhich means that it is a mobile m appliccation. Usingg a GPS Module M and a specially deesigned widget, it allow ws the user to o send a notiffication with basic inform mation such as the positioon, basic perrsonal inform mation (entereed during the instaallation off the GUAR RDIAN mobile application on the phone) p and essential inform mation abouut the inciden nt e.g. its typ pe. The appplication prrovides a set s of additio onal forms which w can be filled in aftter the primarry notificatiion about the threat. This approaach enables emergency e seervices to staart the rescue action withh a minimum m of inform mation which is necessaryy to launch it. All addiitional inform mation can bee delivered during the rescue r action avoiding thhe situation, in which waiting w for a whole infoormation aboout accidentt will delay the t rescue opperation. Another com mponent of the GUARD DIAN system m is the Cenntral Server. Its main taask is receiviing notificatiions and asssigning the closest c emergeency units to t them. Too achieve this the applicaation on thhe Central Server usees the Googlee Maps APII and a speccialized grap ph and networrk algorithm to find the shortest or fastest f path. The T data aboout all the reescue action ns that have taaken place so far are stoored in the Central C Databaase. In this way the Central Dattabase provides data for post-incident analysis (wh hich is called AAR – the After Action Review prrocess [22]) in order to developp better rescue r proced dures for anyy kind of futture incidentts and threats. he third part p of thee system is i an Th Emergency Client. Using a m mobile appliccation on the Smartphonee, it allows emergency un nits to receivee notificatioons about tthe accidentt that occurs near them m and provvide services to commu unicate withh every unit that has been assigneed to threat and a the headqquarters. Eaach part off GUARDIA AN can be wired through h a Wi-Fi or GPRS connection using XML-R RPC protoccol [8], w which allow ws to commu unicate with other parts oof the system m even if onee of the communicaation chann nel is unavailable. It meeets one of thhe most imp portant requireements of thhe ERS systtem i.e. a seeveral commu unication chaannels. 4. Basic B execu ution path To ex xplain the way GUAR RDIAN op perates during rescue procedures, an activity diaagram on Figu ure 2 is preseented. Fig. 1. The architecture of o the GUARD DIAN system 8 BIU ULETYN INST TYTUTU SYSTEMÓW IN NFORMATYC CZNYCH 11 77−13 (2013) well w as thhe basic exxecution paath of thee GUARDIAN G N system. 5. 5 Increm mental info formation delivery modell Fig. 2. Activity diiagram for bassic execution path p of the GUARDIAN G system I the first step is sent ann alarm by clicking In c on the t widget installed on the Appplicant smarttphone. Afteer that, the engagementt of the persoon calling for f help is finished, which w is consiistent with the idea thhat human activity shoulld be minimiized. N Next, the Central Server receives r a nottification about the danger and reads data from it. The basicc message contains inforrmation aboutt the applicaant's positioon, his/her personal p inform mation and the t type of the t threat. Baased on this, GUARDIA AN searchess for the nearest emerggency units and sends ann alert to dessignated rescuue services ussing XML-R RPC protocoll. M Meanwhile t applicantt has an oppoortunity the to sennd additionaal data aboutt the incidentt, but it is com mpletely opttional. This kind k of inforrmation delivery model will w be descriibed in detaiil in the next section. s D During that time, the Emergency Client retrieeves notificattion sent by the Central Server, whichh contains informationn needed to t start a resscue action: the place of o accident and a the type of the threaat. Moreoveer, emergenccy units are notified n abouut changes inn situation thhat take placee during thee rescue acttion in endaangered area. This featuure helps to t respond to the dynam mically channging situatioon during thee rescue actionn. Additionnally, the Emergency Client allow ws emergencyy services too inform the Central Serveer about the state s of the rescue r actionn. When a unnit notifies about the end e of the rescue operaation, the whhole proceduure is terminnated as During D anallysis of the execution path of thee GUARDIAN G N system w we can seee that afterr notifying n thee Central Seerver about the t incident,, the t activity of the appplicant can be b finished.. However, H duuring a resccue action th he applicantt has h an opportunity o to send additionall about the iincident. This model off information i for th information i delivery, he projectt GUARDIAN G N purposes, is called incrementall delivery moddel. information i The ideea of mentiooned model, included inn GUARDIAN G N system, iss showed on Figure 3.. The T informaation about an incident is deliveredd incrementall i ly. Firstly onnly basic dataa is sent andd they t includee: personal innformation of o applicant,, his h GPS cooordinates, w which allow ws to detectt endangered e p place and typpe of emergency servicee to t summon. Even thouggh the inform mation from m the t primary message is quite modesst, it is goodd enough e to sttart a rescue action. Usin ng them, it iss possible p to send appropriiate emergen ncy unit withh required r equuipment into right place. Then, if thee situation s givves an opporrtunity, an ap pplicant cann send s additionnal data, which contains for instancee a photo from m the endanggered place, filled f speciall forms f or deliver d moree informatio on using ann automatic a tellephone servvice. Fig. 3. Diagrram of incremental informa ation delivery model on thhe example off the GUARDIIAN system 9 R. Kasprzyk, M. Zabielski, P. Kowalski, G. Oksiuta, K. Rzempołuch, GUARDIAN… To sum up, the incremental information delivery model assumes that: 1) there is one type of notification, which is obligatory to start a rescue action; 2) other steps of information delivery are optional and they are used to extend the knowledge about the situation at the endangered place all the time during the rescue action. The presented idea is an approach, which is adequate to the dynamics of situation at the endangered area. This lead to conclusion, that the idea of the incremental information delivery model should be implemented in every ERS currently developed, which allows applications to improve the time of reaction to the reported threats. 6. Comparison with other systems GUARDIAN with his incremental information delivery model is not the only way to respond to the dynamically nature of rescue actions. For example, some of modern rapid response ERS systems use other types of handling the dynamic nature of threats, which is reflected in computer simulation or predictive models. One of solution from that domain is framework, developed by J. Sanjay and Ch. McLean [4]. It allows modeling and simulation for emergency response, which is especially useful in rescue action process developing. Using provided models of reaction for appropriately threat, it gives us opportunity to predict human behavior during danger situation. However, it does not implement any mechanisms to inform about the threats, but only to analyze rescue action. Another solution, which is connected with RERS systems is FireFly [2]. Using danger prediction model, including fire zone model [5], and evacuation path finder, it informs about the threat and simultaneously determines the best evacuation path. This approach fits well in complex buildings and areas seems to be a complete technology for saving human life. Unfortunately, for best work it requires a set of sensors situated in analyzed place, which is expensive and limits mobility of system. Apart from those system mentioned earlier, there are more other solutions. Some models used to monitoring threats like radiation or contamination are presented in ([13], [17]). Simulation models of diseases spreading can be found in ([19], [21]). Predictive models has been applied in another system developed at Military University of Technology named CARE 10 and FireFly, mentioned earlier. More information about this solution can be found in ([2], [18], [20]). 7. Realization capabilities The idea of the incremental information delivery model and modern technology, like wireless connection and GPS, make possible to create very effective RERS systems. Based on the experience gained during the development of the GUARDIAN it can be said, that some of the technologies are the best matches to develop effective emergency response systems. These technologies include dedicated electronic devices, Web Services and mobile platforms. One of the solutions, which should be considered, is implementing Emergency Response System using dedicated electronic devices. The architecture of this approach is similar to the one used on the mobile platform except that mobile devices are replaced by specially designed electronic devices. This approach gives us promising possibilities. In this case, we can use a wireless connection or a GPS module, but also any kind of sensors that can monitor the environment (including a person’s health) and automatically notify emergency services about any threats. Thanks to that, it is possible to receive profit from both the mobile platform and web services with additional features, provided with more electronic elements. But there are also some disadvantages of this solution. Using dedicated electronic devices, the targeted market is narrower (due to cost of the solution). This results in a smaller group that can be saved using the system. Web Services is another valuable technology to develop the modern emergency response system. Using Web Services we can provide a notification service, deployed on a server that can be obtained from every device which is connected to the Internet. This solution seems to be quite attractive because there is no need to use any dedicated devices. However, there are also disadvantages that significantly reduce the effectiveness of the Web Services. First of all, we have restricted precision to determine the accurate position of the endangered person, because described approach do not include a GPS module. Detecting the position through Wi-Fi or Internet Service Provider data is not adequate enough in many real situation due to large approximation of these technologies. In this way it is worth to use mobile platforms with a GPS module, which are installed in most modern mobile devices. BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 7−13 (2013) In our opinion, the best way to develop an Emergency Response System that suits current needs is the mobile platform, with use of GPS system and programs, like widget, developed on mobile operating system. That is the reason for creating GUARDIAN in the presented way, using Android and Windows Phone operating system and mobile devices equipped with GPS module. This approach assumes that users have a mobile device such as a smartphone or tablet with the mobile application, which allows user to send notifications to the Central Server. Mobile platforms provide some crucial services during a rescue action, for instance a wireless connection and a GPS module ([9], [10]). Fortunately, the current situation on the mobile device market suggests that the amount of mobile device users will grow year by year. In conjunction with high precision in detecting endangered place, the mobile platform is one of the most adapted technology intended to develop rapid response ERS systems. These considerations show a classic problem of balancing costs and capabilities. The presented approaches are different taking into account usability, features and costliness. Moreover, the field of the RERS systems is still young and dynamically developed, so looking for one best solution is unfounded. 8. Problems and development opportunities Despite the fact, that GUARDIAN implements most of features connected with modern RERS systems, there are still some problems that are not completely solved, for example: When an applicant informs the Central Server about the danger the basic message can give us fast information about the place of the danger only in the case when the applicant is in the endangered place. To solve this, we have provided a special form to fill, but this results in violating the incremental information delivery model. So the main problem is to provide a solution which is consistent with the model; If an applicant sends a notification and his mobile devices is stolen, the thief can cancel the alarm. The solution is to create an authorization and authentication mechanism, but this results in additional delay in the process of threat notification. Although the functionality of the GUARDIAN system seems to be sufficient, there are some ways to extend its capabilities, which includes for example: 1) Patient card − After installing the Reporter Client, the application will be asking for basic information about user's health. The answer to the questions will be optional, but they will allow to provide the best medical help in case of a danger; 2) Crime maps − Using data gained during rescue operations, the GUARDIAN system will be able to create crime maps, which will show the most dangerous areas, sorted by the type of a threat. This feature will be useful especially for the police and other emergency services; 3) Visualization of rescue operations − Another idea is to provide a management panel in the system with basic statistics and information about ongoing rescue operations. This could help decision makers in the headquarters to choose the best solution. We are convinced that this way of data visualization is very important, especially when we are talking about a system which is crucial for a human life; 4) Analytical tools to explore and mining data from the Central Database, particularly in the context of danger notification procedure optimization. The data gained by the GUARDIAN system will allow to do some research into the effectiveness of rescue actions and used procedures. It will also be helpful to do postaccident analysis, which could even be evidence in some sort of cases. Using data mining methods, we could be able to search for some patterns in incidents and thanks to that we could develop a method, for instance, to predict the execution of rescue operation. This kind of knowledge is invaluable when human life is paramount. 9. Summary Because domain of Emergency Response System is relatively new branch of IT systems, we suppose that many of innovative approaches will appear soon. One of the solutions, presented in this paper, is the GUARDIAN system, which fulfils the principles of creating modern ERS systems defined in the article. Additionally, we have identified some rules to create that kind of systems and technologies useful to satisfy all the presented requirements. In one of the sections were presented some of best practices, suggested to implement for every innovative Emergency Response System. 11 R. Kasprzyk, M. Zabielski, P. Kowalski, G. Oksiuta, K. Rzempołuch, GUARDIAN… To provide the best system for rapid response to threats, we have to replace operators in headquarters and standard methods with new solutions. The GUARDIAN system gives an opportunity to create an innovative ERS system and allows to take the first steps in implementing the guidelines described earlier. 10. Bibliography [1] http://www.statystyka.policja.pl/portal/st/91 8/Wybrane_statystyki.html − Selected police statistics, 2011. [2] M. Kapałka, J. Przychodzeń, M. Zabielski, „Koncepcja systemu wspomagającego ewakuację z wykorzystaniem modeli prognozowania zagrożenia”, Kwartalnik Polskiego Towarzystwa Symulacji Komputerowej, Vol. 3 (2011). [3] http://ec.europa.eu/echo/policies/disaster_re sponse/mechanism_en.htm − The Community mechanism of civil protection, European Commission. [4] J. Sanjay, and Ch. McLean. ”Simulation for emergency response: a framework for modeling and simulation for emergency response”, Proceedings of the 35th Conference on Winter Simulation: Driving Innovation. Winter Simulation Conference, 2003. [5] A. Karp, Sz. Łukasik, „Symulacja pożaru budynku”, engineering work, promoter dr inż. Jarosław Wąs, Akademia Górniczo-Hutnicza w Krakowie, 2011. [6] http://www.straz.gov.pl/data/binaries/pdf/sp r_opis.pdf − „Założenia do organizacji i funkcjonowania systemu powiadamiania ratunkowego na obszarze województwa”, National Headquarters of the State Fire Service of Poland. [7] K. Ficoń, „Jakościowy model identyfikacyjny systemu reagowania kryzysowego”, Zeszyty naukowe Akademii Marynarki Wojennej, XLVIII, Nr 4 (2007). [8] http://www.xmlrpc.com – XML-RPC standard webpage, UserLand Software. [9] E. Burnette, ”Hello, Android. Programowanie na platformę Google dla urządzeń mobilnych”, IIIrd edition, Helion, 2011. [10] http://wazniak.mimuw.edu.pl/index.php? title=Systemy_mobilne − Materials connected with mobile systems by Mikołaj Sobczak. [11] http://isok.imgw.pl/home − Informatyczny System Osłony Kraju, Ministry of Regional Development. 12 [12] http://rcb.gov.pl/?page_id=12 − The Daily Reports System, Krajowe Centrum Zarządzania Kryzysowego. [13] R. Kalinowski, Monitorowanie zagrożeń, UPH Publishing, Siedlce, 2003. [14] M. Żuber, Katastrofy naturalne i cywilizacyjne: zagrożenia i reagowanie kryzysowe, Wyższa Szkoła Oficerska Wojsk Lądowych im. gen. Tadeusza Kościuszki, Wrocław, 2006. [15] http://www.projektproteus.pl/index.php − „Zintegrowany mobilny system wspomagający działania antyterrorystyczne i antykryzysowe” − Proteus Project, Industrial Research Institute for Automation and Measurements. [16] E. Kołodziński, „Zagrożenia bezpieczeństwa i organizacja przeciwdziałania ich skutkom”, Infokart S.A., 2005. [17] Z. Mierczyk, „Zaawansowane technologie monitorowania zagrożeń bezpieczeństwa”, VI Międzynarodowa Konferencja Naukowa Zarządzanie Kryzysowe, Olsztyn, 2008. [18] R. Kasprzyk, B. Lipiński, K. Wilkos, C. Bartosiak, ”CARE − Creative Application to Remedy Epidemics”, Biuletyn Instytutu Systemów Informatycznych, Nr 3, 45−52, (2009). [19] R. Kasprzyk, A. Najgebauer, D. Pierzchała, ”Modelling and Simulation of Infection Disease in Social Networks”, Computational Collective Intelligence, LNAI 6922, 388−398 (2011). [20] R. Kasprzyk, C. Bartosiak, K. Szkółka, P. Giętkowski, ”CARE2 – Creative Application to Remedy Epidemics”, in: Technologie podwójnego zastosowania, 65−75, WAT, Warszawa, 2012. [21] R. Kasprzyk, ”Diffusion in Networks”, Journal of Telecommunications and Information Technology, Nr 2, 99−106, (2012). [22] http://www.au.af.mil/au/awc/awcgate/army/ tc_25-20/tc25-20.pdf − ”A Leader’s Guide to After-Action Reviews” (TC25-20), US Army. [23] X. Li and P. Fu, ”A spatial diffusion model for police emergency response system”, International Conference on Remote Sensing, Environment and Transportation Engineering (RSETE), 2011. [24] A. Fruhling, „STATPack™ An Emergency Response System for Microbiology Laboratory Diagnostics and Consultation”, Advances in Management Information Systems, Vol. 16, 123−149 (2010). BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 7−13 (2013) [25] R. Chen, R. Sharman, H. R. Rao, S. J. Upadhyaya, ”Coordination in emergency response management”, Communications of the ACM, Vol. 51, 66−73 (2008). GUARDIAN − system reagowania na zagrożenia z przyrostowym modelem dostarczania informacji R. KASPRZYK, M. ZABIELSKI, P. KOWALSKI, G. OKSIUTA, K. RZEMPOŁUCH Głównym celem artykułu jest przedstawienie współczesnych koncepcji dotyczących systemów reagowania na zagrożenia oraz idei społeczeństwa zorientowanego na bezpieczeństwo. Zaprezentowany został również pomysł przyrostowego modelu dostarczania informacji – podejścia, które w sposób istotny zmienia sposób myślenia o kwestii zarządzania akcją ratunkową. Ponadto omówiono możliwości rozwoju współczesnych systemów reagowania na zagrożenia na przykładzie systemu GUARDIAN wytworzonego i rozwijanego w Wojskowej Akademii Technicznej. Słowa kluczowe: społeczeństwo zorientowane na bezpieczeństwo, system reagowania na zagrożenia, przyrostowy model dostarczania informacji. 13 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 15–22 (2013) Zaawansowane metody przygotowania danych terenowych do symulatora szczebla taktycznego VBS2 J. KOSZELA, T. DROZDOWSKI, M. NIEDZIELA, H. OSTAP, R. WANTOCH-REKOWSKI jkoszela@wat.edu.pl Wojskowa Akademia Techniczna, Wydział Cybernetyki, ul. Gen. Sylwestra Kaliskiego 2, 00-908 Warszawa Artykuł zawiera opis procesu wytwarzania danych terenowych dla szczebla taktycznego VBS2. Zaprezentowano model terenu wykorzystywany w tym symulatorze oraz formaty danych terenowych, na podstawie których generowany może być wskazany teren. Następnie przedstawiono technologie i środowiska wykorzystane do generacji terenu ze wskazaniem najważniejszych właściwości. Zarówno w przypadku formatów danych (SHP, GDB, VPF, TDED), jak i narzędzi szczególną uwagę zwrócono na aspekt dostępności do specyfikacji dostępnych formatów danych. Artykuł kończy opis procesu generacji danych terenowych dla wybranego obszaru rzeczywistego na potrzeby VBS2. Słowa kluczowe: VBS2, symulacja, dane terenowe. 1. Wprowadzenie Jednym z aspektów przygotowania ćwiczeń wspomaganych komputerowo, także z wykorzystaniem symulatora VBS2, jest przygotowanie odpowiednich danych terenowych. Aspekt ten jest szczególnie ważny w przypadku symulatora VBS2, który znajduje zastosowanie na bardzo niskim szczeblu z wymaganiem na dużą dokładność zobrazowania obiektów (rysunek 1). Rys. 1. Przykład zobrazowania w symulatorze VBS2 2. Podstawowe właściwości symulatora VBS2 Symulator VBS2 umożliwia symulację działań pojedynczego żołnierza i pojazdu. VBS2 należy do klasy symulatorów wirtualnych z krokowym upływem czasu. Pozwala także na symulację większych grup: plutonów, kompanii. Ograniczenia w zakresie maksymalnego szczebla symulowanych wojsk wynikają jedynie z ilości dostępnych zasobów dla symulatora, w szczególności pamięci operacyjnej. Symulacja wyglądem przypomina grę typu FPS (ang. Firstperson shooter), jednakże we wnętrzu tkwi zaawan-sowany silnik symulacyjny. Na wyniki symulacji mają między innymi wpływ takie aspekty jak pogoda, rodzaj użytej broni i amunicji, zmęczenie, wyszkolenie, morale, rozpoznanie. Symulator VBS2 umożliwia równoległy udział w symulacji wielu graczy, zarówno współdziałających ze sobą, jak i działających po przeciwnych stronach konfliktu. W trakcie trwania symulacji administrator może na bieżąco modyfikować scenariusz, dostosowując go do potrzeb szkoleniowych. Rozbudowane moduły edytora misji oraz analizy posymulacyjnej dopełniają funkcjonalność niezbędną do użycia VBS2 w szkoleniu. Dodatkowo VBS2 umożliwia rozbudowę swojej funkcjonalności poprzez dostępne API i bardzo elastyczny język skryptowy. 3. Podstawowe elementy modelu terenu symulatora VBS2 Symulator VBS2 generuje trójwymiarowe zobrazowanie symulacji, co wymaga od formatu zapisu terenu w nim wykorzystywanego niezwykłej szczegółowości, co docelowo ma zapewnić pozytywne wrażenia użytkowników symulatora. Teren w symulatorze VBS2 przechowywany jest w skompresowanych 15 J. Koszela, T. Drozdowski, M. Niedziela, H. Ostap, R. Wantoch-Rekowski, Zaawansowane metody… plikach (.pbo). Zawartość pliku (.pbo) stanowią: plik z ukształtowaniem terenu (.wrp), tekstury (.png), pliki z opisem materiałów (.rvmat), modele 3D obiektów występujących na mapie (.p3d), skrypty i pliki konfiguracyjne (.lbt), (.cpp). Model terenu w VBS2 ma strukturę warstwową. Największą objętościowo i najważniejszą warstwą jest warstwa ukształtowania terenu, zawierająca siatkę punktów wysokościowych. Punkty siatki rozmieszczone są równomiernie, a odległość pomiędzy nimi określa dokładność odwzorowania terenu i determinuje wielkość zajętej pamięci w komputerze. Mapa VBS2 o rozmiarach 10 km x 10 km, z dokładnością 10 m, zajmuje około 50 MB pamięci. Rys. 2. Fragment terenu w VBS2 z zaznaczonym podziałem na komórki Na rysunku 2 widać punkty tworzące siatkę punktów wysokościowych, rozmieszczonych co 10 m. Na teren nałożona jest tekstura na podstawie zdjęcia satelitarnego, które przy takiej dokładności mapy ma dokładność 1 texel/1 m. Na siatce punktów wysokościowych zbudowane są komórki terenu, które pełnią kluczową rolę w symulatorze, gdyż są wykorzystywane do wyznaczania dróg dla przemieszczających się obiektów. Służą również w procesie wyznaczania kolizji pomiędzy obiektami. Komórki te mogą mieć także przypisane dodatkowe atrybuty, jak np. muzyka tła. Kolejną warstwą jest tekstura nałożona na cały teren. Wykorzystuje się ją głównie w sytuacji, kiedy obserwator znajduje się w dużej odległości, np. obserwator jest na pokładzie samolotu. Następna warstwa związana jest z pokryciem terenu. Określa ona, na jakich obszarach znajdują się jakie rodzaje podłoża. Ma to znaczenie przy przemieszczaniu się pododdziałów i przy wyświetlaniu terenu, gdyż rodzaj podłoża determinuje użycie konkretnej tekstury. Kolejną warstwą jest warstwa dróg, która podobnie jak pokrycie terenu tworzona jest na podstawie maski, najczęściej tworzonej na bazie zdjęć satelitarnych. Warstwa dróg przed 16 wyświetleniem na ekranie podlega jeszcze dodatkowej obróbce, zakręty są zaokrąglane, tworzone są skrzyżowania itp. Ostatnią warstwę tworzą obiekty terenowe, dla których oprócz położenia i orientacji w przestrzeni potrzebne są modele 3D. Symulator sam ostatecznie dokonuje umiejscowienia obiektu w terenie, dzięki czemu np. drzewa nie wiszą w powietrzu albo nie rosną pod ziemią (rysunek 3). Obiekty takie jak budynki mogą posiadać modele wnętrz. Dodatkowo możliwe jest definiowanie interakcji z elementami obiektów, co pozwala np. otwierać drzwi czy okna. Aktualnie VBS2 jest zdolny do obsługi terenu o wielkości 150 km x 150 km. Docelowo wielkość terenu ma przestać być ograniczona, ze względu na wprowadzany mechanizm stronicowania (multi-map). Aktualnie głównym ograniczeniem dla wielkości terenu są zasoby komputera, na którym ma być prowadzona symulacja, oraz 32-bitowa architektura symulatora. W planie jest również wydanie wersji VBS2 w 64-bitowej architekturze. Bardzo ważnym aspektem wpływającym na wielkość terenu, jaką zdolny jest obsłużyć symulator, jest sposób umieszczenia obiektów w terenie. Umieszczenie ich na stałe w terenie zmniejszy znacznie maksymalną wielkość terenu, ponieważ symulator na starcie ładuje cały teren do pamięci, dlatego też obiekty i drogi umieszcza się w plikach skryptowych, które ładowane są dynamicznie przez symulator w razie konieczności, dzięki czemu oszczędzamy zasoby komputera. Rys. 3. Fragment widoku 3D terenu w VBS2 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 15–22 (2013) 4. Opis podstawowych formatów danych terenowych w kontekście ich wykorzystania w VBS2 SHP Format zapisu danych wektorowych, który został wprowadzony do użytkowania przez firmę ESRI na początku lat 90. ubiegłego wieku. Pierwotnie format zamknięty, dziś jego specyfikacja jest dostępna publicznie. Umożliwia przechowywanie kształtów, to jest: punktów, zbiorów punktów, linii, łamanych, zbiorów łamanych, wieloboków umiejscowionych w przestrzeni, wraz z opisującymi je atrybutami. Jeden „shapefile” może przechowywać kształty tylko jednego rodzaju, podobnie wszystkie kształty w „shapefile” opisują te same atrybuty, dlatego też jeden „shapefile” przechowuje zazwyczaj dane o podobnych obiektach, np. o jeziorach, natomiast dane o sieci drogowej będą umieszczone w kolejnym „shapefile”. Pracując z wieloma „shapefile”, najczęściej każdy z nich traktuje się jako osobną warstwę na mapie (rysunek 4). Na każdy „shapefile” składają się co najmniej trzy pliki. Plik (.shp) przechowujący dane o kształtach, plik (.shx) zawierający indeks przestrzenny, którego wykorzystanie znacznie przyśpiesza proces wyszukiwania kształtów w (.shp), oraz plik (.dbf) zawierający dane o atrybutach kształtów, będący de facto bazą danych w formacie dBase IV. Format ten jest powszechnie wykorzystywany do przechowywania informacji w systemach GIS, dzięki czemu istnieje cała gama narzędzi open source i komercyjnych używających tego formatu. Dostępne są również API w wielu językach programowania (C++, C#, Java, Python) umożliwiające przygotowanie aplikacji wykorzystujących ten format. VPF VPF to format zapisu danych wektorowych powszechnie stosowany w wojskowych i publicznych systemach GIS. Został on szczegółowo opisany w dokumencie MIL-STD-2407 wydanym przez Ministerstwo Obrony USA w 1996 roku, który jest udostępniony publicznie. Podobnie jak format SHP, VPF służy do przechowywania danych o kształtach, choć tu mówi się raczej o obiektach i klasach, umiejscowionych w przestrzeni, z tą jednak różnicą, że cała mapa zawiera się w jednym „pliku” VPF, co z kolei wymagałoby wielu „plików” SHP. Sam model terenu zastosowany w formacie VPF przypomina geodatabazę; każdy obiekt powiązany może być z kształtem, a pomiędzy obiektami mogą występować relacje. Informacje geolokacyjne mogą w ramach plików VPF być dzielone na macierze, co ma zwiększyć szybkość dostępu do danych i szybkość wyszukiwania obiektów. Bezpośrednio z tych cech formatu wynika jego skomplikowana struktura. Dane na temat obiektów z podobnych klas przechowywane są w tych samych folderach, np. dane na temat hydrologii, na które będą składały się dane jezior, rzek, oczek wodnych itp. VPF jest formatem dużo mniej popularnym niż SHP i dużo mniej narzędzi potrafi poprawnie obsługiwać ten format (rysunek 5). Dostępne są API (Java) pozwalające wykorzystać ten format we własnych aplikacjach. Rys. 5. Przykładowe dane hydrologiczne (rzeki i bagna) zapisane w formacie VPF, prezentowane w narzędziu ArcMap GDB Rys. 4. Przykładowy „plik” SHP zawierający dane na temat strumieni i rzek zobrazowany w programie ArcCatalog GDB to format bazy danych geograficznych wykorzystywany przez oprogramowanie firmy ESRI. Łączy on w sobie możliwości przechowywania informacji geoprzestrzennych oraz typowo bazodanowych. Format ten został wykorzystany w trakcie przygotowania danych do VBS2, aby ułatwić pracę z wieloma plikami 17 J. Koszela, T. Drozdowski, M. Niedziela, H. Ostap, R. Wantoch-Rekowski, Zaawansowane metody… SHP, VPF i DTED. Przy wykorzystaniu API od firmy ESRI pozwoliło toujednolicić i uprościć proponowane rozwiązanie, które korzystało jedynie z zasobów geobazy danych. Jedna geobaza danych jest katalogiem, w którym umieszczone są wszystkie jej zasoby. Format zapisu danych w GDB jest własnością firmy ESRI i nie jest udostępniony publicznie, stąd decydując się na ten format, należy korzystać z oprogramowania tej firmy bądź z API przez nią udostępnianych (C++, Java, C#, Python). Odpowiednie API można pozyskać ze strony producenta. DTED DTED to siatkowy format zapisu danych wysokościowych powszechnie stosowany w wojskowych systemach GIS. Format ten został szczegółowo opisany w dokumencie MIL-PRF-89020B wydanym przez Departament Obrony USA, który finalną postać uzyskał w 2000 roku. Podobnie jak w przypadku poprzednich formatów opracowanych przez Departament Obrony USA jego specyfikacja jest dostępna publicznie. Dane wysokościowe zapisane w tym formacie przechowywane są w postaci tablic danych wysokościowych, a podane są w metrach nad poziomem morza. Tabela 1. Gęstość punktów wysokościowych dla różnych poziomów DTED Poziom DTED Odległość pomiędzy sąsiednimi punktami wysokościowymi 0 1 2 3 4 5 ~1 km ~100 m ~30 m ~10 m ~3 m ~1 m W zależności od szerokości geograficznej odległość pomiędzy punktami wyrażona w stopniach zmienia się, i tak np. dla DTED2 w okolicach równika wynosi ona jedną sekundę kątową, a w pobliżu bieguna 6 sekund kątowych. W zależności od poziomu struktura plików zapisu danych wysokościowych w formacie DTED różni się, jednak same dane wysokościowe zapisywane są w postaci tabel. Jedna tabela z danymi ma szerokość i wysokość jednego stopnia kątowego. Taka komórka zapisana jest w jednym pliku i może zawierać dane 3601 punktów wysokościowych, dla DTED2, a dla DTED1 1201 punktów. Dane wysokościowe punktów brzegowych każdej z komórek powtarzane są w sąsiednich komórkach. W jednej tabeli dane wysokościowe zapisane są wierszami, a wiersze ułożone są zgodnie z szerokością geograficzną im odpowiadającą, w kolejności od najmniejszej do największej. Dokładność danych wysokościowych dla poziomu DTED2 odpowiada szczegółowości konturów na mapie w skali 1:50000 (rysunek 6), natomiast DTED1 odpowiada szczegółowością mapa w skali 1:250000. 5. Generowanie terenu z wykorzystaniem różnych zasobów informacyjnych Rys. 6. Przykładowe zobrazowanie danych wysokościowych zapisanych w formacie DTED, poziom 2 Format DTED przewiduje trzy poziomy szczegółowości: 0, 1, 2. Choć w ostatnim czasie zostały zaproponowane trzy kolejne, to nie doczekały się one standaryzacji. Tabela 1 przedstawia odległość pomiędzy punktami wysokościowymi oferowaną przez poszczególne poziomy. 18 Ze względu na bardzo dużą popularność symulatora VBS2 w zastosowaniach wojskowych na całym świecie dostępne są dla niego narzędzia i środowiska służące do wspomagania wytwarzania danych terenowych, takie jak TerraTools firmy TerraSim. Są to jednak rozwiązania komercyjne i zawierają pewne ograniczenia. Producent VBS2 udostępnia wraz z symulatorem zestaw narzędzi pomocnych przy generacji map, które z dodatkowym wspomaganiem w postaci własnego oprogramowania umożliwiają budowanie zaawansowanych map. Rysunek 7 przedstawia BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 15–22 (2013) proponowany sposób przygotowania danych terenowych dla symulatora VBS2 z wykorzystaniem różnych źródeł danych mapowych oraz własnych i dostarczanych przez producenta narzędzi [7]. Rys. 7. Schemat procesu generacji danych terenowych dla symulatora VBS2 W przypadku generacji terenu dla VBS2 na niektórych etapach istnieje potrzeba ręcznej weryfikacji. Wynika to z faktu, że teren musi być dość szczegółowo odwzorowany, a dane geograficzne często pozbawione są wielu istotnych z punktu widzenia VBS2 elementów, np. takich jak: orientacja budynków, rozkład wnętrz budynków, tekstury obiektów itp. Na wstępie użytkownik musi zdefiniować obszar, dla jakiego generowany będzie teren. Korzystając z aplikacji wytworzonej na WAT, użytkownik na mapie zaznacza interesujący go teren, podaje również rozmiar mapy i jej poziom szczegółowości (rysunek 8). Rys. 9. Diagram klas opisujący pełną strukturę pliku w formacie POSEW60 [1] Następnie na podstawie warstwy wysokościowej bazującej na danych w formacie DTED aplikacja tworzy mapę wysokościową i zapisuje ją bezpośrednio do pliku z terenem. Na tym etapie może zajść konieczność wykonania przez aplikację interpolacji danych wysokościowych, zwłaszcza w sytuacji kiedy dane wysokościowe będą miały zbyt małą rozdzielczość w stosunku do tej wybranej przez użytkownika. W tym momencie można zastosować interpolację bilinearną lub najbliższego sąsiada. Rys. 10. Sposób zapisu wartości punktów wysokościowych w tablicy pliku mapy formatu 8WVR [1] Rys. 8. Przykładowe umiejscowienie terenu do generacji mapy dla VBS2 Aplikacja dokonuje wszystkich niezbędnych obliczeń oraz tworzy plik projektu terenu w formacie POSEW60 (rysunek 9) wraz z niezbędnymi plikami konfiguracyjnymi, który w efekcie końcowym jest przekształcany do formatu 8WVR używanego przez silnik gry VBS2 – Virtual Reality (rysunek 10). W kolejnym kroku na podstawie wybranej warstwy z danymi mapowymi, np. w formacie CADRG, generowana jest tekstura terenu, ustalenie rozmiaru odbywa się automatycznie. Tekstura w pierwszej kolejności zapisywana jest do pliku (.png), a później ładowana przez użytkownika do pliku projektu terenu za pomocą aplikacji VBS2 Visitor3. Następnie, wykorzystując dane zapisane rastrowe w formatach CADRG, MrSID, GeoTiff oraz dane wektorowe w formatach SHP i VPF, tworzony jest przez użytkownika plik maski 19 J. Koszela, T. Drozdowski, M. Niedziela, H. Ostap, R. Wantoch-Rekowski, Zaawansowane metody… terenu (rysunek 11). Można w tym celu wykorzystać program Global Mapper, który standardowo dołączany jest do VBS2. Wraz z plikiem maski tworzony jest plik legendy oraz uzupełniane są wpisy w plikach konfiguracyjnych dotyczące terenu i jego właściwości mających wpływ na symulację, np. trudność pokonywania, zapiaszczenie, tekstura, jaka ma zostać użyta. Użytkownik musi przed przystąpieniem do tego etapu przygotować zestaw danych terenowych, które znajdą odniesienie w tworzonym pliku maski. są pojedyncze obiekty, które losowo zapełniają wskazany obszar. Ważnym elementem na tym etapie jest również biblioteka modeli obiektów, gdyż każdemu dodawanemu obiektowi musi zostać przyporządkowany model 3D. Biblioteka obiektów musi zostać przygotowana przez użytkownika, który powinien na tym etapie uwzględnić charakter terenu, np. występowanie określonych gatunków drzew czy też typową dla rejonu zabudowę (rysunek 12). W tym momencie niezbędna jest ingerencja użytkownika w zawartość bazy danych w celu poprawienia danych zawartych w bazie. Krok ten jest konieczny ze względu na losowanie w poprzednim kroku pewnych parametrów obiektów, co często może prowadzić do niewłaściwych rezultatów, np. budynki tworzące osiedle będą zorientowane każdy w inną stronę. Dokonanie niezbędnych modyfikacji ułatwia generowany podgląd terenu. Rys. 11. Przykładowy plik maski terenu z zaznaczonymi rodzajami terenu i podziałem mapy na segmenty [2] Po utworzeniu pliku maski tworzona jest baza danych o obiektach terenowych. Zawartość bazy danych zostaje wygenerowana na podstawie danych w formatach SHP i VPF. Sama baza danych została tak zaprojektowana, aby nie było konieczności wykonywania kolejnych konwersji i jej schemat odpowiada formatowi plików (.lbt), za pomocą których obiekty będą dołączane do danych terenowych dla symulatora. Użycie tych plików skutkuje możliwością dodania do terenu dużo większej liczby obiektów, w stosunku do dodania ich bezpośrednio do danych terenowych, dzięki temu, że dane w nich zawarte będą mogły być przez VBS2 ładowane dynamicznie, kiedy będą potrzebne. Ze względu na różny zakres danych informacyjnych przechowywanych w formatach SHP, VPF i (.lbt) niezbędne jest na tym etapie uzupełnienie zawartości bazy danych. Dane geoprzestrzenne nie zawierają standardowo takich informacji jak orientacja obiektów w przestrzeni czy też ich wielkość, natomiast takie dane wymagane są przez symulator do poprawnego renderowania obiektów. W opisywanym rozwiązaniu brakujące dane generowane były losowo w oparciu o cechy charakterystyczne dla wybranego obszaru. Należy również dodać, że na tym etapie dla danych obszarowych, np. dla lasów, generowane 20 Rys. 12. Podgląd terenu w trakcie edycji zawartości bazy danych o obiektach terenowych [1] Kolejny krok jest opcjonalny. Istnieje możliwość uzupełnienia obiektów pozyskanych z plików SHP i VPF. Można w tym celu posłużyć się szeregiem programów. Jednym z nich jest program opracowany na WAT umożliwiający generowanie losowych terenów zabudowanych (rysunek 13). Rys. 13. Przykład dodania do terenu dla VBS2 obszaru zabudowanego przy wykorzystaniu generatora opracowanego w WAT [3] BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 15–22 (2013) Po wykonaniu poprawek i uzupełnieniu zawartości bazy danych na jej podstawie generowane są pliki (.lbt). Na tym etapie użytkownik, korzystając z programu Visitor3 (lub nowszego Visitor4), scala wszystkie elementy wytworzone w trakcie realizacji procesu. Ma w tym miejscu również możliwość dokonania niezbędnych korekt. Ostatnim krokiem jest spakowanie dołączonym do VBS2 narzędziem plików terenowych i zapisanie ich w formacie (.pbo). 6. Wnioski W opracowaniu przedstawiono sposób przygotowania danych terenowych na potrzeby wysokorozdzielczej symulacji działań taktycznych realizowanych w środowisku symulatora wirtualnego VBS2. Na potrzeby tego rodzaju symulacji wymagane jest bardzo szczegółowe odwzorowanie terenu działań na podstawie map cyfrowych standardu GIS (m.in.: VPF, DTED, SHP, CADRG, MrSID, GeoTiff). Efektywność procesu przekształcania danych terenowych zapisanych w formatach standardu GIS w dużej mierze zależy od jakości, szczegółowości i poprawności tych danych. Dokładność odwzorowania dla symulacji wysokorozdzielczej jest bardzo istotna dla realizacji symulacji na poziomie taktycznym, a w szczególności dla działań asymetrycznych i w terenie zabudowanym. Przedstawione w opracowaniu rozwiązanie zostało praktycznie wykonane i zastosowane do symulacji wielorozdzielczej działań konfliktowych i kryzysowych. [5] R. Antkiewicz, W. Kulas, A. Najgebauer, D. Pierzchała, J. Rulka, Z. Tarapata, R. Wantoch-Rekowski, ”Some aspects of designing and using deterministic and stochastic simulators for military trainings and CAX'es”, Proceedings of the Military Communications and Information Systems Conference MCC’2008, September 2008, Cracow, Poland. [6] R. Antkiewicz, W. Kulas, A. Najgebauer, D. Pierzchała, J. Rulka, Z. Tarapata, R. Wantoch-Rekowski, M. Chmielewski, R. Kasprzyk, J. Koszela, „Symulacyjny model działań bojowych szczebla operacyjnego i taktycznego”, w: Badania operacyjne i systemowe a zagadnienia społeczeństwa informacyjnego, bezpieczeństwa i walki, str. 253–266, IBS PAN, Warszawa, 2008. [7] J. Koszela, M. Mańko, M. Niedziela, H. Ostap, T. Tarnawski, ”Preparation of terrain data for the needs of multi-resolution battle space simulation system”, in: Concepts and Implementations for Innovative Military Communications and Information Technologies, Warszawa, 2010. 7. Bibliografia [1] M. Niedziela, praca dyplomowa pt. Mechanizm generacji danych o ukształtowaniu terenu na potrzeby symulacji działań militarnych wysokiej rozdzielczości, Warszawa, WAT, 2011. [2] http://community.bistudio.com [3] T. Szczepański, praca dyplomowa pt. Projekt generatora elementów infrastruktury urbanistycznej w środowisku VBS2, Warszawa, WAT, 2011. [4] R. Antkiewicz, W. Kulas, A. Najgebauer, D. Pierzchała, J. Rulka, Z. Tarapata, R. Wantoch-Rekowski, ”Modelling and simulation of C2 processes based on cases in the operational simulation system for CAX”, 1st Military Communication and Information System Conference MCC’2006, Gdynia, 2006. 21 J. Koszela, T. Drozdowski, M. Niedziela, H. Ostap, R. Wantoch-Rekowski, Zaawansowane metody… Advanced methods of terrain data preparation for VBS2 simulator J. KOSZELA, T. DROZDOWSKI, M. NIEDZIELA, H. OSTAP, R. WANTOCH-REKOWSKI The paper contains a description of the terrain data preparation for the virtual simulator VBS2. A model of terrain use in the simulator was presented. The technology and the software used to generate terrain data with the most important properties was presented. The specification of the main data formats was presented (SHP, GDB, VPF, TDED). The article concludes with a description of the process of generation of terrain data for the selected area. Keywords: VBS2, simulation, terrain data. 22 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 23−31 (2013) Applying the Concept of Figural Goodness for Automatic Design of Dataset Visualization T. RZEŹNICZAK tomek.rzezniczak@gmail.com Institute of Computer and Information Systems Faculty of Cybernetics, Military University of Technology Kaliskiego Str. 2, 00-908 Warsaw, Poland Many approaches to automatic design of graphical presentation are focused on creating graphical presentation for a given data type, often without considering actual instances of data. This is due to the fact that they aim to be general purpose solutions. In this study a method which draws attention to characteristics of the actual data to be presented is adopted. Knowing characteristics of data that will be shown to the observer in advance, allows much more customized approach and better performance of constructed visualization. Visualisation performance in this case is understood as an ability to identify and recognize presented objects quickly and easily. Construction of the method relies heavily on research in the area of data visualization and perceptual psychology – with special emphasis on figural goodness. Keywords: data visualization, graphical languages, structural information theory, figural goodness. 1. Introduction Data visualization is nowadays a common way to represent and analyze information. There are many well-known benefits of data visualization, among others: human natural ability to quickly process visual patterns, large amount of information represented in a single image, understanding of complex data is assisted. All of these results in great interest in the subject, so there is nothing surprising in many works being carried out on automatic design of graphical presentations [20, 23]. Their most common goal is to build a framework which creates a presentation method for a given data type. In their assumptions the data type is unrestricted. That means these are general purpose solutions that can present any kind of information. This gives great flexibility, but on the other hand surely there must be better solutions in some cases. In this paper the space of data types for which a presentation is constructed is narrowed, this results in the ability to use more informed design. The data considered here is a set of objects, each with limited set of attributes (more precise definition will be provided later). Other narrowing assumption is that a presentation is constructed for well-defined purpose. The goal in this case is to identify and recognize presented object among others in the set. This is a very common human task, especially for diagnostic processes, where a number of characteristics describing an actual state of some entity exist. These characteristics enable to recognize a cause of the entity's condition. A real-world example is medical diagnosis: referring to the process of identifying a possible disease based on symptoms [1, 2]. Here, the visualized objects correspond to the condition being diagnosed and the presentation goal is to support this process. In the next section an attempt to outline the problem of constructing visual presentation to achieve the above goal will be undertaken. But in the beginning, in order to set some theoretical background, areas of: graphical languages, Gestalt psychology and Structural Information Theory, will be introduced [9, 11, 20, 21, 23, 27] . 2. Graphical languages A graphical language can be considered as a description of how a graphic corresponds to represented information. According to pioneers in the area of automatic design of graphical presentations, graphical languages are similar to other formal languages through defining precise semantic and syntactic of constructed sentences [20]. Therefore, presentations can be seen as sentences in a graphical language. In context of an input data set, the main characteristics of a graphical language are its: expressiveness and effectiveness. 23 T. Rzeźniczzak, Applyingg the Concept of Figural Go oodness for Auutomatic Desiign… The exxpressiveness criteria caan be clearlyy specified for each graphicall languagee. A graphicaal language satisfies exxpressivenesss criteria wheen it is possiible to generrate sentencees that expresss all the factss representedd by the inpuut data. The issue here is that thhe generatedd sentences may m introducce additionall facts whichh are not correct. c Theerefore, a language is i expressive when w it reprresents all thhe input factts and these faacts only. The effectivenesss criteria is more complicatedd to evaluaate, since it can base on many different faactors, like accuracy of o interpretatioon, its speedd, presentatioon simplicityy or any othher characteeristic relateed to humann perception. For examplee, Mackinalyy in his workk on automatting presentation designn focuses onn accuracy of interpretattion [20]. He H based hiis study on thhe fact that a person haas to perform m perceptual task when interpreting a graphicaal presentationn. The taskk strongly depends onn a graphicall technique used to construct c the presentationn. Determininng a positionn of graphicaal object, its length, collor, size, etc., e may be an example of suchh task. Siince humann perception is i equipped for f some taskks better thann the other, Mackinaly measured effectivenesss comparing perceptual task requiredd by differennt graphical languages. For thiis purposee, Mackinaly prepared a ranking (Table 1) of o perceptual tasks’ efficiiency depennding on the type of graaphical codinng. Mackinllay’s rankingg includes quuantitative, nominal n and ordinal data types [7, 200, 25]. Tab. 1. Mackinlay’s M rannking of perceeptual tasks efficiency − from the most to the least efficient [20] Quantitativve Position Length Angle Ordinaal Positionn Intensitty/Value Colour (saturattion) Slope Colour (hue) Area (Size)) Texturee Volume Connecction Intensity/Vaalue Containnment Colour (saturation)) Colour (huee) Texture Connectionn Containmennt Shape Noominal Poosition Coolour (hue) Teexture Lengthh Coonnection Coontainment Inttensity/Value Coolour (saaturation) Shhape Angle Slope Area (S Size) Volumee Shape Leength Anngle Sloope Arrea (Size) Voolume Lookinng for optim mal languagee to represennt given set of o data, it is necessaryy to identify fy 24 a spaace of posssible grapphical langu uages. Mackin naly limitedd the space to a set of welldefined d primitive languages l likke: line charrt, bar chart, tree, verticaal/horizontal axis, color,, size, shape, etc. The prim mitive languages are classsified by theiir encoding techniques, t ffor instance: single positio on languagge (vertical//horizontal axis) encodees informatioon by its poosition, retinal list langua ages (color, size, shappe, etc.) encode inform mation using six retinal pproperties deefined by Bertin [4, 5]. Since the uusage of a single primitiive languagee may be nott enough for many possiblle presentaations’ neeeds, Mack kinaly introdu uced compoosition algebbra. The allgebra consistts of primitivve languagess and compo osition operato ors which allow prodducing altern native languaages based onn primitive ones. Fig. 1. Modell of graphical presentation undderstanding [223] osition Despite the fact that, the compo algebraa extends capabilities of Mackin naly’s solutio on, it is still limited l becauuse of small set of primitiive techniquues. First-priinciple frameework constru ucted by Micchael Shiff, rrepresents an nother approaach to the toppic of autom mating presen ntation design [23]. Deepp decomposiition of grap phical languaages design space and lleveraging human h visual perception process ffor selectio on of optimaal presentattion methodd is the main charactteristic of first-principple. Schiff used perception model similar to thhose presentted by Pinker’s theory of o graph unnderstanding g and Lohse’’s model off extracting information from graphs [17, 18, 22]. First-princciple bases on o the assump ption that two steps: perception n and interprretation, takee place indeppendently. Firstly, F human n perceptionn decodes ggiven presen ntation and su ubsequently interpretatiion of percceived BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 23−31 (2013) information occurs. The presentation can be seen as a graphical description composed of graphical objects which are identified by perception and based on it a perceptual description is built. The perceptual description is then interpreted and transformed to a cognitive level. Cognitive description is a mental representation of information incorporated in a graphical presentation. The basic model of perceptual processing and information extraction is shown in Figure 1. Coming back to the size of design space, in Schiff’s approach, graphical description is more fine-grained than Mackinaly’s set of primitive languages. Graphical objects that make up the graphical description are instances of graphical primitives. Possible primitives can be: lines, arrows, circles, rectangles. Each primitive has its fixed set of parameters, like: color, size, position, which altogether give large design space. To cope with this and handle construction of graphical language, Schiff defines two types of principles: logical principles and psychological principles [23]. Logical principles are a kind of filters which determine if a language is able to represent input data. Psychological principles perform further selection based on how suitable the language is, considering people accuracy and speed in correct understanding of encoding convention (encoding convention is elaborated in next sections). This is necessary since first-principle may have to deal with previously unknown graphical languages, contrary to Mackinaly’s approach [20]. Psychological principles are subsequently divided into interpretive principles and perceptual principles. Interpretive principles are most difficult to specify objectively, because they describe characteristics that make a presentation easy to understand without any confusion. On the other hand, the perceptual principles determine how effective a graphical language is for a given data, where effectiveness is measured by speed and accuracy of perceptual distinction made by observer of a graphical presentation. Comparing to interpretive principles, this area is far more explored by researches and has better theoretical foundations. Summarizing, a set of principles is used for the purpose of filtering and selecting of an optimal graphical language for input data type. The finally selected language in terms of first-principle approach is composed of: • a set of graphical primitives that will be used in the presentation • • a specification of correspondence between domains of each data tuple and some properties of the graphical primitives a specification of relationship between graphical primitives required to encode data relation, when multiple primitives encode single data relation. 3. Selecting encoding convention Now, let's focus on how to build a graphical language and eventually transform information into its graphical representation. As mentioned earlier, a graphical presentation can be described at several levels. The method of transition from one level to another is called encoding convention [23] – starting from the cognitive description, through the perceptual description down to the graphical description. Some examples of entities used at different levels are presented in Tab. 2. It is evident that encoding convention must specify a systematic method of mapping between subsequent description levels for a certain type of data set. Selected method should allow constructing a graphical presentation for any data set instance of given type. Automating the selection process is a critical area for the domain of automatic presentation design. In this article the area will be narrowed, so the encoding convention is partially predefined in a manual process, at the same time the focus is aimed at particular data type and detailed characteristics of the selected encoding convention. Tab. 2. Examples of entities for different levels of description [23] Level Entitites/Components and examples Cognitive objects/tuples/relations (e.g. <attrib1, attrib2, ...>) domains (set of possible attributes) Perceptual Perceptual objects (e.g. circle, rectangle) Properties (e.g. size, postion) Graphical Graphic objects (e.g. circle, point) Parameters (e.g. x, y, radius) The task of creating graphical representation is naturally divided into two subtasks which rely on the introduced description levels. The first one is to transform from the given data set (which is actually a cognitive description) to perceptual model. The main issue here is to choose data representation which allows an observer to note 25 T. Rzeźniczzak, Applyingg the Concept of Figural Go oodness for Auutomatic Desiign… all semanttically relevvant attributtes in suchh a way, thatt information can be exxtracted. The second subtask is to consider c how w the chosenn perceptual description d should be insstantiated intoo graphical objects with their layout andd properties, so as to enssure that thee recipient is i able to extrract certain perceptual p properties andd perceptual relations effectively.. Describedd subtasks were w called by Shiff respectivelyy: representatiion and layout. Beforee explainingg a proposeed encodingg convention, it is necessaary to introduuce data type which will be exploreed and the goal of the graphical prresentation. The data typpe is definedd as a set off objects; eaach object has h a set of o attributes where w all attrributes belonng to a single domain. Thhe domain type t is nom minal and the number of attributes foor particular object is noot explicitly deefined but deepends on thhe instance of o the data set. s Followiing this deefinition, the instance off informationn to be preseented can be modelled as a a set of objects O and a a set of o possible domain attribuutes A, wheree each objecct x∈ O is defined as x⊆ A. The maiin purpose of o the presenttation is to enable the observer too identify inndividual object o x and extracct informationn about its characteristiics. In otheer words, enncoding coonvention must m allow w a graphicall representaation and differentiation d n of each objeect from the set O. It musst be noted,, that selectted encodingg convention is being prrepared for one specific data type (aand even forr a particulaar instance of o data) – noot for any data d type, therefore t the representatiion stage cann be construccted once andd it can be done d manuaally, taking into accounnt human percceptual capabbilities. The layout task is i treated diffferently annd engagess automatedd processes for fo solving thhe problem, what will be elaborated further f in thee article. On thhe basis of earlier deffinitions, the proposed enncoding convvention can be describedd as follows: • cognitiive level description – a set of objectts O, a set s of possibble domain attributes A, A each obbject x∈ O iss defined as x⊆ x A • percepttual level description d – perceptuaal objectss are: points and a lines • mappinng between cognitive annd perceptuaal level – each attribuute of the coggnitive objecct x is reppresented by a single poinnt on a planee, all poiints that beelong to one object are conneccted by linees, so the whole w objecct createss a closed pollygon • graphiccal level description – a point on gridd of n equal cells, where w n is a number of o differennt attributes in the set A. Each celll 26 ot can reepresents a diifferent attribbute and a do bee placed onlyy inside a celll • mapping m betw ween percepttual and grap phical lev vel – each point p of the pperceptual leevel is reepresented byy a single dot on the grid d, each lin ne is repressented by ssingle line drawn d beetween dots. Examp ple presentaation usingg this enccoding conven ntion can bee found in F Figure 2. Having H above definition, the t key probblem to solvee here is layo out – how to place points and lines on o the grid in n such a mannner that coggnitive objeccts are effectiv vely extracteed, identifiedd and remem mbered by an observer. o Fig g. 2. Example presentation p – generated wiith proposedd encoding connvention he layout taask will bee elaborated later Th in this article. Now w I will focuus on the raational behind d this encodding convenntion. There is at least a couple of reasons r which originate from the datta type characteristics. Fiirst of all, objects aare describeed by nomina al attributes, which means that theey are only named n values. There is no defined order and no o arithmetic operations are possiblee [25]. The on nly thing thaat can be doone over no ominal values is comparinng them wiith other no ominal values.. This impliees that standdard techniqu ues of visualization such as line chartts, bar charts, etc. are harrd to apply. Seecondly, loooking at Maackinlay’s raanking of percceptual tasks efficiency (T Table 1), it can c be noticed d that determ mining a possition of grap phical object is most effficient for aall the data types includiing nominall. It is clearr, that the use u of space is the most m signifficant aspecct of visualization. Space is treated iin a particulaar way in relaation to otheer image attrributes – it is the basis, on which other o elemennts are distriibuted BIUL LETYN INST TYTUTU SYS STEMÓW INF FORMATYC CZNYCH 11 223−31 (2013) [6]. The T empty sppace of an im mage is a coontainer with a metric struucture that can c be descriibed by axis. For the nom minal data typpe axis are covered c by reegions divideed into subreegions. Conssidering the above a argum ments, leverraging the use of arbitrrary locationn in space to exhibit attribbutes of an obbject, as it is proposed in i this study, seems to be well justifieed. T There is onee more argum ment that cannnot be negleected. Such encoding convention allows introdduction of shhape percepttion. From all a other propeerties of a graphical object, shhape is probaably the mosst important.. This is duee to the fact that it is thhe most infformative prroperty, whichh allows to receive a greater num mber of facts about the object o than anything elsse [21]. As thhe purpose of o presentatioon specified earlier, is to identify deppicted objectt, taking advvantage of obj bject's figure is strongly leegitimate. Innfluence of shhape on visuaal perceptionn of figures will be elaboorated furtherr in the next section. define d any objective o meeasure. A sim mple methodd would w be to analyze a sstructure of a figure, forr example e the number of ssides increases perceivedd complexity. c But even ffor the samee number off sides, s figuree’s complexiity can diffeer (Figure 3)) [21]. It appeaars that the nnumber of co omponents iss not n an adeqquate measuure and the complexityy must m dependd on the w way the com mponents aree assembled a together. Whhich comes back to thee main m assumpption of Gesstalt psycholo ogy – globall relation r of thhe perceivedd componentss is the mostt important. i 4. F From figu ural goodn ness to S Structural l Informattion Theorry A speecial sensitivvity of humaan vision to ’good’ structtures was first fi noticed by the authhors of Gestaalt psycholoogy. They cllaimed that people tend to organizee visual eleements into groups [27]. Only global relation, between ellements formiing an imagee, determinees the key asspect of perceeption. That is why whenn looking at a set of dots outlining a rectangle, we w see a figgure not just a set of doots. Max Wertheimer W a and his co-woorkers form mulated prinnciples expplaining perceeptual organiization calledd gestalt law ws [27]. Anothher achieveement of their t work is the conceept of figuraal goodness [14, [ 21]. It is i based on thhe observatioon that som me sets of ellements seem m to be sim mpler and beetter organizzed, so calledd good figgures, whereeas other sets s of elemeents are com mplex and poorly p organnized – bad figures. f The figural goodness characcteristic of an a object can be well w describbed as a coomposition of regularitty and sim mplicity. For some shapes such as a cirrcle, any channge can only degenerate itts goodness [21]. T interest in good figuures is motivvated by The the efficiency e off processing.. There is a strong correlation betweeen performaance of som me tasks and human h opinioon on the gooodness of thee figure [8]. Garner foound evideence that people remem mber, descrribe, matchh and learnn good figurees much bettter than bad ones. o N Now let’s foocus on the method of how to determ mine the goodness of a figure. Unfortunately, gestalt g psycchologists did d not Fig. 3. A) Example on hhow the number of sides inccreases perceivved complexity; B) Exampple on how reegularity affects figural goodness, even e for the saame number of o sides [21] There are a at least tw wo approach hes that takee into i accountt the whole structure off a figure inn complexityy. First was formulatedd determining d by b Wendelll Garner [[8]. His Ro otation andd Reflection R Subset thheory deffines eightt transformatio t ons applicaable to a figure: f fourr rotations r (0,, 90, 180, 2270 – degreees) and fourr reflections r (horizontal, vertical, leeft-diagonal,, al – axes). Inn this approaach goodnesss right-diagon r is i inverselyy proportionnal to the number off different d figuures generatted by the ap pplication off all a transforrmations too the origiinal figure.. For F instancee, applying the transforrmations onn a square givves in all eeight version ns the samee square. s At thhe same timee, applying it i to random m trapezoid t prooduces eightt different vaariants of thee figure. f This simple experriment is con nsistent withh the t gestalt assumptionss, because a square iss an a objectiveely simpler figure then n trapezoid.. The T only problem with transsformationall approach a is that not all cases can be explained.. For F variouss figures thhe number of differentt transformatio t ons may be equal, but they t are nott equally e ’goood’ [21]. Other theories t whiich deal weell with thee previous p issuue also existt. They are derived d from m another a maajor gestaltt principle formulatedd 277 T. Rzeźniczzak, Applyingg the Concept of Figural Go oodness for Auutomatic Desiign… by Koffka – Law of Pragnanz P [115]. The law w indicates that t human perceptionn is led byy simplicity. Therefore, a preferred interpretation i n of a shape is i reflected inn the simplesst descriptionn of that shappe. The exam mple in Figuure 4 helps too understand this dependdency. The Pragnanz P law w does not speecify how too determine the t simplicityy of the shappe. First steeps towardss finding the method were w made thanks too Shannon’s Informationn Theory [24]]. Fig. 4. Praggnanz law visualization, onne pattern can have many m interpretaations, but thee simplest is preferreed. In this casee interpretatioon B is more probable than t A [13] Attneavve and McA Alister noticed that humann visual systtems encode shapes optimally o byy leveraging regularities such as: symmetry s o or repetition [33, 14]. Manyy perceptionss are possiblee, but the onee actually peerceived hass the shortesst encoding, because b eacch regularityy means lesss bits of inforrmation needded for the coode. This waas a first objecctive measurre of simpliccity. But how w the code shoould look likke was not sppecified, untiil Leeuwenberrg introduceed Structurall Informationn Theory (S SIT) [16]. Formalizatiion of SIT T encoding model m startedd from 1D and a then waas generalized to 2D pattterns. Accorrding to SIT T, the process is composedd of three stepps [12, 13]: 1. 2D vissual pattern is representted by a 1D D sequennce of symbols (e.g. chaaracters), the only restriction r i that the 2D patternn is is unnambiguouslly reproduucible from m the seqquence of sym mbols. 2. The seequence of symbols is encoded byy means of encodinng rules, whhich describe regularrities am mong sym mbols andd subseqquences of syymbols. 3. The seelection of simplest coode is made using complexity c m metric calledd Informationn Load, which musst be in linne with the discusssed earlier Laaw of Praegnnanz. 28 Tab. 3. Codding rules exam mples [13] Rules Symbool sequ. Coode Iteratio on aaa...aaa m**(a) Symmetry abcdcbba S[((a)(b)(c),(d)] Alternaation abacadd bacadaa <(aa)>/<(b)(c)(d))> <(bb)(c)(d)>/<(a))> The en ncoding rules are stronglly connected d with visual regularitiess. SIT deveeloped a set s of regularrities, whichh then was nnarrowed to three major so called transparrent hologrraphic regularrities. Thee holograpphic regulaarities basicallly cover all the other reggularities (brroader rationaal is beyondd the scopee of this arrticle), namely y: iteration, symmetry, alternation. Rules represeenting them m are resppectively: I--form, S-form m, A-form, reeferred togetther as ISA--forms (Table 3). pplying the rules to thee original sy ymbol Ap sequen nce and alll the subbsequences gives combin natorial expllosion of thee possible miinimal end co odes. To seaarch this sppace and evaluate possiblle coding, one o needs m mentioned earlier, e information load metric. m Sincee SIT comp plexity metric is a separatee issue, for tthe purpose of o this article number of o symbols that remaain in the en ncoded sequeence can bee a good en nough approx ximation. For examplee, below is i an approx ximated infoormation looad of follo owing codes: • ab babab ↔ 3*((a)(b)) : innf. load = 2 • ab bcdcba ↔ S[(a)(b)(c),((d)] : inf. load = 4 • ab bacad ↔ <(a)>/<(b)(c) < )(d)> : inf. lo oad =3 Summaarizing, SIT passes from theory to prractice and gives g the ability a to calculate figural fi goodneess. Hence,, comparinng efficienccy of different figures is also feasiblee. 5. SIIT and Laayout Task k SIT do oes not provide a speccific way ho ow to transfo orm 2D patteern/figure intto 1D sequen nce of symbols. The natuural assumptiion is that itt must be a reversible process. p Thhe most com mmon converrsion methood is baseed on follo owing a figurre contour annd coding itt as a sequen nce of sides leength and anngles betweeen them – co ontour code. Example E forr a trapezoidd is presented on Figure 5, representting it as a coode, using co ontour coding g, could takke a form oof aebeadcd d (inf. load = 8). After appplying ISA-form, its sh horten version n, taking intto account ssymmetries of o the trapezo oid is: S[(a)(ee),(b)]S[(d),((c)](inf. load d = 5). BIUL LETYN INST TYTUTU SYS STEMÓW INF FORMATYC CZNYCH 11 223−31 (2013) polygons p arre based oon spatially contiguouss condition, c proposed by Tuijl and Leeuwenberg L g [13, 26]. Thhe computational com mplexity off a naive algorrithm solvingg this task is O(k!). Figg. 5. The figuree of trapezoidd with labelledd sides annd angels. 1D D sequence couuld be: aebeaddcd, annd applying IS SA-forms: S[(aa)(e),(b)]S[(d)),(c)] U Using the discussionn on grraphical languuages and figural fi goodnness, let’s move m to descrribe the layoout task. Reecalling the task in the figural fi goodnness nomencclature, it cooncerns findinng a methodd of how to arrange the grid of attribbutes A in such s a way that all vissualized objeccts O form good g figuress. So that it allows and identifying effecttive extrracting, remem mbering them m. N Now, let’s consider hoow to find optimal o grid arrangementt. Using meethods presented in previous sectionss, it is possibble to calcullate the inform mation load of a given object for a single grid arrangemennt. An aggrregated com mplexity measure for the given grid can c be obtaiined by calcuulating and adding a inform mation loads ds of all objeccts from O.. The aggreegated inforrmation load is then a selection crriteria of thhe grid arranngements. Thhe lower looad the bettter grid (the grid optimaality is inveersely propoortional to thhe load). Grid G selectedd this way ’holds a proomise’ of each object visualisationn being a goood figure. this articcle rather A Although has an inntroduction nature and detailed alggorithm is nott a subject heere, I will tryy to show thee list of probllems which must be solved s in order to compplete the laayout task. Looking for f the optim mal grid, com mputational complexity c b become very crucial pooint, there are three major probllems: blem I – figu ure constructting Prob As it was mentioned m earlier durinng the discuussion on encoding conventionn, the visuaalized objectss are represeented by poiints and conneecting them m lines in such a waay that altogether they foorm a closed polygon. In theory, any point p can be connected too any line. As A it can be obbserved, the number n of possible p connnections configuration deppends on thee number off object attribbutes and it iss of order k!. Not all of thhem are valid configuratioons since inntersecting liines are not allowed. Seelection critteria amongg valid Problem P II – minimal ccode When W a figgure is connstructed it is easy too produce p the contour code. The nex xt step is too find f the minimal code for this co ontour code.. Basic B approoach to this problem may lookk as a follows: 1. Searchinng for ISA-fform which can c describee some syymbol subseqquences; 2. 2 Replacing the founnded subseq quence withh related ISA-forms; I 3. 3 Continuuing searchhing in th he resultingg sequencce. The T search space for minimal code c growss exponentially e y with the nuumber of sym mbols in thee initial i code. The exponential scale of this taskk has h two sourrces [10, 12, 13]. In a co ode of lengthh N, N the numbber of differeent length su ubsequencess is i N*(N+1)//2, which ggives polyno omial searchh space, s but all possiible combiinations off subsequence s es which m make O(2N) are in ourr actual a intereest. The seecond problem here iss finding f IS SA-forms covering for eachh subsequence s e, which iis a super-exponentiall problem p O(22NlogN). Problem P IIII – grid selecction Problem P I and a Problem II are only consideringg single s figuree and single grid, but th he main taskk is i to checkk all possiblle grids. It is easy too calculate c thaat for n attrributes in th he set A, n! valid v grid arrrangements exist (assum ming a fixedd number n of rows and ccolumns in the grid – a square gridd). Manipulaating the ratio of rows too columns c givees completelly new arrang gements andd obviously o inncreases the number of all possiblee combination c ns. For simpliicity reasonss only squaree grids g will be consideered, even though thee problem p has complexity of O(n!). Consideering potentiial solutions to the abovee problems, p P Problem I caan be repressented usingg graph g theoryy. Assuming that points are vertexess in i a complette graph, a seearch for a vaalid polygonn may m be appproximatedd by findin ng minimall Hamiltonian H n cycle in suuch a graph [13]. [ This iss a well-know wn problem ffor which maany heuristicc algorithms a thhat can be appplied exist. Regardiing Problem m II, P. van n der Helm m proposed p traansparallel pprocessing approach a forr minimal m SIT T code searcch that uses hyperstringg concept c andd achieves accceptable co omplexity off O(N O 3+logN) [110]. 299 T. Rzeźniczak, Applying the Concept of Figural Goodness for Automatic Design… The biggest issue in solving layout task comes from Problem III – grid selection. It is evident from the above discussion, that using naive approaches and checking all potential grids for a large set of attributes A is not possible in finite time (e.g. 100 attributes gives around 10157 different grids). This problem does has not had yet good solution and will be a major topic of further research. 6. Conclusions This article aims to outline the problem of data visualization, where a method of visualization is built for a specific data, not only for a data type but also for an instance of data. This allows to use their characteristics and build otherwise inaccessible solutions. At this stage the use of the data instance is not fully leveraged. It is implicitly covered in the whole presented method, which expresses in the fact that the data set is known from the beginning, but still it is not used directly in a specific algorithm. For example any particular characteristic of an object o from O is never considered. This leaves room which can be explored in grid selection algorithm. Since the naive solution to this problem is unacceptable, the work must be focused on other methods. Heuristic methods seem to be a good candidate to make use of the data characteristics. For example dividing the grid selection problem into smaller subproblems is one of a potentially possible approach. The division may be set based on occurrence frequency of particular attributes in visualized objects, taking into account similar groups of attributes shared by different objects or any other pattern appearing in data. Knowing such patterns allows to extract them and for instance to prepare fixed solution (fixed good figure) for the subset of attributes and objects. Then, it can be used as a constant element of the grid, which reduces the number of possible grid arrangements. This and other heuristics will be the subject of further research. 7. Bibliography [1] A. Ameljańczyk, Multiple Optimization, Warszawa, 1986. [2] A. Ameljańczyk, ”Properties of the Algorithm for Determining an Initial Medical Diagnosis Based on a Two-Criteria Similarity Model”, Biuletyn Instytutu Systemów Informatycznych, Nr 8, 9–16, (2011). 30 [3] F. Attneave, ”Some informational aspects of visual perception”, Psychological Review, 61, 183–193 (1954). [4] J. Bertin, Graphics and Graphic Information-Processing, Walter de Gruyter, Berlin, 1981. [5] J. Bertin, Semiology of Graphics: Diagrams, Networks, Maps, The University of Wisconsin Press, Wisconsin, 1983. [6] S. Card, J. Mackinlay, B. Shneiderman, Readings in information visualization: using vision to think, Morgan Kaufmann Publishers, San Francisco, 1999. [7] W. Cleveland, R. McGill, ”Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods”, Journal of the American Statistical Association, 79, (1984). [8] W. Garner, The processing of information and structure, MD: Lawrence Erlbaum Associates, 1974. [9] E. Goldmeier, ”Similarity in Visually Perceived Forms”, International Universities Press, Inc., 1972. [10] P. van der Helm, ”Transparallel processing by hyperstrings”, Proceedings of the National Academy of Sciences USA, 101 (30), 10862–10867, 2004. [11] P. van der Helm, E. Leeuwenberg, ”Accessibility: A Criterion for Regularity and Hierarchy in Visual Pattern Codes”, Journal of Mathematical Psychology, 35, 151–213 (1991). [12] P. van der Helm, E. Leeuwenberg, ”Avoiding Explosive Search in Automatic Selection of Simplest Pattern Codes”, Pattern Recognition, Vol. 19, No. 2, 181–191 (1986). [13] P. van der Helm, E. Leeuwenberg, ”Goodness of Visual Regularities: A Nontransformational Approach”, Psychological Review, Vol. 103, No. 3, 429–456 (1996). [14] J. Hochberg, E. McAlister, ”A quantitative approach to figural goodness”, Journal of Experimental Psychology, 46, 361–364 (1953). [15] K. Koffka, Principles of Gestalt psychology, New York: Harcourt, Brace, 1935. [16] E. Leeuwenberg, ”A perceptual coding language for visual and auditory patterns”, American Journal of Psychology, 84(3), 307–349 (1971). [17] G. Lohse, A cognitive model for the perception and understanding of graphs, BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 23−31 (2013) The University of Michigan dissertation, 1991. [18] G. Lohse, ”A cognitive model for the perception and understanding of graphs”, Human-Computer Interaction, 8(4), 353–388 (1993). [19] A. MacEachren, How Maps Work, The Guilford Press, New York, 1995. [20] J. Mackinlay, ”Automating the Design of Graphical Presentations of Relational Information”, ACM Transactions on Graphics , Vol. 5, Issue 2 (1986). [21] S. Palmer, Vision Science: Photons to Phenomenology, MIT Press, 1999. [22] S. Pinker, ”A theory of graph comprehension”, Artificial intelligence and the future of testing, Lawrence Erlbaum Associates, 1990. [23] M. Schiff, Designing graphic presentations from first principles, Doctoral Dissertation, University of California, Berkeley, 1998. [24] C. Shannon, W. Weaver, The mathematical theory of communication, Urbana: University of Illinois Press, 1949. [25] S. Stevens, ”On the Theory of Scales of Measurement”. Science, 103 (2684), 677–680 (1946). [26] H. van Tuijl, E. Leeuwenberg, ”Perceptual interpretation of complex line patterns”. Journal of Experimental Psychology: Human Perception and Performance, 6, 197–221 (1980). [27] M. Wertheimer, ”Gestalt theory”, A sourcebook of Gestalt psychology, 1–11, New York: The Humanities Press, 1924/1950. Zastosowanie koncepcji „figural goodness” do automatycznego projektowania wizualizacji zbioru danych T. RZEŹNICZAK Wiele rozwiązań z zakresu automatyzacji konstruowania prezentacji graficznych koncentruje się na konstruowaniu prezentacji graficznych dla wybranego typu danych, najczęściej bez uwzględniania konkretnej instancji danych w procesie przygotowania metody prezentacji. Wynika to z faktu, że podejścia te starają się być rozwiązaniami uniwersalnymi. W pracy zaproponowana jest metoda, która zwraca uwagę na cechy danych, które faktycznie będą przedstawiane. Znając charakterystykę danych, do zaprezentowania możliwe jest znacznie lepsze dostosowanie podejścia i poprawa wydajności zbudowanej wizualizacji. Wydajność wizualizacji w tym przypadku jest rozumiana jako zdolność obserwatora do odnajdywania i rozpoznawania prezentowanych obiektów w szybki i łatwy sposób. Budowa metody opiera się głównie na badaniach w obszarze wizualizacji danych i psychologii percepcji – ze szczególnym naciskiem na figural goodness. Słowa kluczowe: wizualizacja danych, języki graficzne, structural information theory, figural goodness. 31 BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 33−39 (2013) Sztuczne sieci neuronowe o radialnych funkcjach bazowych do śledzenia obiektów w obrazach wideo J. SZYMONIK szymonik.jacek@gmail.com Instytut Systemów Informatycznych, Wydział Cybernetyki Wojskowa Akademia Techniczna ul. Gen. S. Kaliskiego 2, 00-908 Warszawa W pracy przedstawiono opis sztucznej sieci neuronowej do lokalizacji i śledzenia obiektu w obrazach wideo z wykorzystaniem środowiska MATLAB oraz wyniki badań odporności algorytmu na mogące wystąpić zakłócenia. W artykule zaprezentowana została architektura sztucznej sieci neuronowej o radialnych funkcjach bazowych. Pokazany został zarówno algorytm śledzenia celu z wykorzystaniem powyższej architektury sieci, jak i metoda modelowania oraz lokalizacji celu. W podsumowaniu przedstawione zostały wyniki przeprowadzonych symulacji algorytmów śledzących opartych na sztucznych sieciach neuronowych. Słowa kluczowe: śledzenie obiektów, sztuczne sieci neuronowe, radialne funkcje bazowe. 1. Wprowadzenie Maszyny widzące i analizujące swoje otoczenie już istnieją, a ich ciągły rozwój jest przyspieszany poprzez postęp zarówno w dziedzinie mikroelektroniki, jak i w algorytmach analizy sygnału wideo. Proces estymacji pozycji interesującego nas obiektu w czasie, w sekwencji obrazów nazywamy śledzeniem obiektów. Jedną z fundamentalnych cech urządzeń przeznaczonych do obserwowania, rozumienia oraz reagowania na otaczające środowisko jest ich zdolność do detekcji oraz wcześniej wspomnianego śledzenia interesujących nas obiektów. Główne problemy, które należy wziąć pod uwagę podczas projektowania trakera, są związane z podobieństwem wyglądu celu i innych obiektów otoczenia. Pozostałe przeszkody stojące na drodze efektywnego procesu śledzenia związane są ze zmianami wyglądu samego celu powodowanymi m.in.: • zmianami pozycji • światłem z otoczenia • przesłonięciem celu (częściowym lub całościowym) • szumem wprowadzanym przez urządzenia pomiarowe, sensory [5]. Wśród wielu podejść naukowych do problemu śledzenia, detekcji i rozpoznawania obiektów, ważną rolę odgrywają wielokryterialne algorytmy rozpoznawania wzorców [2], [3] bazujące na teorii podobieństwa [4], dynamiczne sieci Bayesa [7] oraz algorytmy oparte na sztucznych sieciach neuronowych [6]. Niniejszy artykuł jest poświęcony właśnie metodzie śledzenia adaptacyjnego online wykorzystującego sieci neuronowe o radialnych funkcjach bazowych [12]. 2. Wybór architektury sztucznej sieci neuronowej W przypadku algorytmów bazujących na sztucznych sieciach neuronowych, metodologia iteracyjnego szukania jest szeroko stosowana w celu aktualizacji parametrów sieci. Z tego powodu proces uczenia sieci jest bardzo intensywny obliczeniowo i często trenowanie sieci może zająć od kilku do kilkunastu godzin [1]. Kolejnym problemem przy korzystaniu z sieci neuronowych z propagacją wsteczną jest możliwość jej przetrenowania, co doprowadzi do utraty przez nią możliwości do generalizowania, czyli dostosowywania się sieci do nowych sytuacji. Co więcej algorytmy bazujące na uczeniu są zwykle projektowane do śledzenia wybranych obiektów, co wymaga każdorazowo długotrwałego procesu uczenia sieci offline. Ze względu na powyższe czynniki w kolejnym punkcie zaprezentowana zostanie uniwersalna metoda śledzenia obiektów opierająca się na sieciach neuronowych o radialnych funkcjach bazowych i wykorzystująca uczenie sieci online. Algorytm ten uwzględniać będzie również adaptację mogącego się zmieniać modelu obiektu wraz z każdym nowym obrazem sekwencji wideo. 33 J. Szymonik, Sztuczne sieci neuronowe o radialnych funkcjach bazowych… 3. Radialne funkcje bazowe 4. Opis algorytmu śledzenia Specjalną odmianę sztucznych sieci neuronowych stanowią te o radialnej funkcji bazowej (ang. radial basis function neural networks – sieci neuronowe typu RBF), w której neuron ukryty realizuje funkcję zmieniającą się radialnie wokół wybranego centrum . Reprezentuje on hipersferę dokonującą podziału kołowego wokół punktu centralnego – rysunek 1 [10]. Wiarygodne śledzenie obiektu może zostać osiągnięte, jeżeli możliwa jest separacja obszaru zawierającego obiekt od otaczającego tła w każdej chwili. Pierwszym krokiem będzie utworzenie funkcji gęstości prawdopodobieństwa (histogramów) dla obiektu ( ) oraz tła ( ). Do określenia, które z pikseli należą do obiektu, a które nie, wykorzystany został logarytm wskaźnika wiarygodności: , , , (4.1) gdzie: Rys. 1. Podział przestrzeni danych przez sieć radialną; Źródło: [10] Niech i oznaczają dwa punkty leżące w przestrzeni . Punkt uważany jest za ustalony i nazywany punktem centrum. Punkt uważany jest za zmienny. Radialną funkcją bazową nazywa się funkcję postaci: , , (3.1) , gdzie: , jest odległością między punktami i . Centrum w powyższej definicji gra rolę parametru funkcji. Funkcje radialne nazywane bywają czasami jądrami (ang. kernels). Przy określaniu odległości między punktami i używa się najczęściej odległości euklidesowej [5]. , || || / . (3.2) Najczęściej stosowaną funkcją bazową jest radialna funkcja Gaussa określana wzorem: , , exp || || , (3.3) gdzie: jest wektorem wartości wejściowych, to wektor określający centra funkcji bazowych. Wartość parametru kontroluje własności gładkości funkcji interpolującej [6]. 34 i są prawdopodobieństwami przynależności -tego piksela odpowiednio do obiektu lub tła; jest małą niezerową wartością służącą do uniknięcia numerycznej niestabilności. Nieliniowy logarytm wiarygodności mapuje dystrybucję obiekt/tło jako wartości pozytywne dla barw związanych z pierwszym planem oraz jako wartości ujemne dla pikseli o barwach związanych z tłem [12]. Binaryzacja obrazu określona jest następującym wzorem: 1 0 ż ż , (4.2) gdzie: jest wartością progową decydującą o przynależności pikseli. Kolejnym krokiem podczas tworzenia modelu obiektu zainteresowania jest wybór odpowiedniej przestrzeni cech. W tym celu dla każdego piksela określić można wartości reprezentujące informacje o jego barwie, bazując na różnych systemach określania barw (RGB, YCbCr, HSV). Wartością charakteryzującą piksel była również liczba określająca przynależność piksela do tła bądź obiektu (odpowiednio była to wartość −1 oraz +1). Algorytm klasyfikacji oparty został na dwóch sieciach typu RBF: • zadaniem pierwszej jest maksymalizacja poprawnej klasyfikacji pikseli należących do obiektu • zadaniem drugiej jest maksymalizacja poprawnej klasyfikacji pikseli nienależących do obiektu (należących do tła). Uproszczony schemat sztucznej sieci neuronowej zaprezentowany jest na rysunku 2. BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 33−39 (2013) pomiędzy neuronami wyjściowymi oraz neuronami warstwy ukrytej wyznaczane są , to wartości wag ( ) analitycznie. Jeżeli obliczane są z wykorzystniem metody najmniejszych kwadratów jako [8]: , Rys. 2. Uproszczona architektura sieci neuronowej typu RBF. Źródło: [12] Problem klasyfikacji dwuklasowej może zostać przedstawiony w sposób następujący: 1,2, … , ( – liczba pikseli) para , , jest przedstawia parę próbka–etykieta, gdzie n-wymiarowym wektorem w przestrzeni cech a jest etykietą jednej z dwóch klas. Zadaniem procesu klasyfikacji jest przypisanie etykiety dla nowego wektora w przestrzeni cech, z odpowiednią dokładnością. Przy założeniu, że neurony ukryte realizują funkcję Gaussa o parametrach (wektor wartości średnich w przestrzeni cech) oraz (wariancja), wyjście z sieci można określić następującym wzorem: (4.6) jest pseudogdzie: odwrotną macierzą Moore’a-Penrose’a; . przyjmujemy Projektowanie klasyfikatora opartego na sieciach typu RBF składa się z dwóch faz. Postępowanie w pierwszej fazie, tzw. fazie rozwoju klasyfikatora, można zawrzeć w następujących krokach: 1. Przypisanie poszczególnym neuronom sieci typu RBF losowych wartości parametrów oraz . 2. Obliczenie macierzy wyjściowej warstwy . ukrytej 3. Estymacja wartości macierzy . 4. Obliczenie dokładności klasyfikacji (w procentach) pikseli należących do obiektu oraz tła według wzorów: 100 (4.7) ł 100 (4.8) ∑ exp , (4.3) − wartości wag pomiędzy warstwą gdzie ukrytą a neuronami wyjściowymi, – wektor wartości wejściowych z uwzględnieniem wag wejściowych. Postać macierzowa (4.3): , (4.4) 5. Zapisanie wartości parametrów neuronów warstwy ukrytej, dla których i osiągnęły maksymalne wartości. W przypadku fazy drugiej – fazy adaptacji , online, dla każdej kolejnej pary wykonywane są następujące czynności [12]: 1. Obliczony zostaje wektor wartości wyjściowych warstwy ukrytej: , gdzie: , , , , … … , , 2. , , , , , … , Obliczone zostaje wyjście: , , (4.9) , (4.5) − funkcja Gaussa, i-ty wiersz odpowiada i-temu ukrytemu neuronowi w odniesieniu , ,…. . do wartości wejściowych W praktycznych zastosowaniach liczba neuronów ukrytych jest znacznie mniejsza od ilości danych wejściowych. Wartości parametrów funkcji Gaussa wybierane są losowo, natomiast wagi połączeń , 3. Następuje adaptacja wag wyjściowych α, korzystając z algorytmu najmniejszych kwadratów (ang. RecursiveLeastSquares). , (4.10) . (4.11) 35 J. Szymonik, Sztuczne sieci neuronowe o radialnych funkcjach bazowych… Ze względu na to, iż szybkość działania algorytmu jest bardzo istotna, należy wybrać tylko nieliczne piksele z każdej kolejnej ramki w celu przeprowadzenia adaptacji wag (jedną z proponowanych metod jest wybranie pikseli tworzących spiralę Archimedesa). 5. Model obiektu i jego lokalizacja Klasyfikatory oparte na sztucznych sieciach neuronowych są w stanie aproksymować prawdopodobieństwo a posteriori z dowolną dokładnością [11]. Etykiety dwóch klas oznaczone są jako +1 lub −1. Prawdopodobieństwo a posteriori piksela , otrzymanego z wykorzystaniem klasyfikatora obiektu: , , | ̂ . (5.1) W podobny sposób obliczane jest , prawdopodobieństwo a posteriori piksela otrzymanego z wykorzystaniem klasyfikatora pikseli nienależących do obiektu. ̂ , , | . (5.2) Model celu opracowywany jest przy użyciu tylko tych pikseli, które zostały sklasyfikowane poprawnie jako piksele należące do obiektu przez oba klasyfikatory (np. w klasyfikatorze obiektu piksele, które posiadają prawdopodobieństwo a posteriori większe niż 0.5, są zadeklarowane jako należące do klasy obiektu). W ten sposób otrzymujemy model celu w postaci: ̂ | min ̂ , 1.0 ̂ . (5.3) Lokalizacja celu w poszczególnych ramkach sekwencji wideo jest osiągana poprzez iteracyjne poszukiwanie mody prawdopodobieństwa a posteriori estymowanego przez sieć neuronową typu RBF. Położenie środka kandydata na cel w obecnej ramce jest początkowo takie samo jak to estymowane dla obiektu w poprzedniej ramce. Rozważmy k-tą iterację lokalizacji obiektu. Niech będzie środkiem kandydata na cel, − zbiorem pikseli kandydata na obiekt, 1, … , , ze środkiem w punkcie . W takim wypadku prawdopodobieństwo a posteriori i-tego piksela ̂ | otrzymywane jest jako: 36 ̂ | min | , 1.0 ̂ | ). (5.4) ̂ Prawdopodobieństwo kandydata na cel podczas k-tej iteracji ( ̂ ) otrzymywane jest poprzez . testowanie cech otrzymanych z lokalizacji Nowa lokalizacja środka obiektu jest estymowana jako środek ciężkości prawdopodobieństw a posteriori ̂ ważonych modelem celu ( ̂ ), co przedstawia równanie (5.5): ∑ ∑ | | | | . (5.5) Operacja iteracji zostaje zakończona w momencie, gdy zmiana w lokalizacji środka ciężkości dla dwóch kolejnych iteracji spadnie poniżej określonej wartości [12]. 6. Graficzny interfejs użytkownika W celu przeprowadzania symulacji przygotowany został autorski graficzny interfejs użytkownika (wykorzystujący środowisko programistyczne Matlab®) przedstawiony na rysunku 3. Poniżej opisane zostały poszczególne elementy okna oraz ich funkcje: 1. Przycisk Wybierz Film służy do wskazania ścieżki pliku wideo, z którego użytkownik będzie korzystał podczas testowania trakera. 2. Przycisk Odtwórz Film daje możliwość podglądu wybranego pliku. 3. Przycisk Przygotuj Dane wykonuje operacje oddzielenia wybranego obiektu od tła oraz przygotowuje odpowiednią macierz cech w celu zapisania obiektu w przestrzeni cech. 4. Przycisk Trenowanie Sieci służy do wytrenowania sztucznej sieci typu RBF. 5. Okienko wyświetlające czas, jaki był potrzebny do wytrenowania sieci z wykorzystaniem uprzednio przygotowanych danych w sekundach. 6. Okienko wyświetlające poprawność klasyfikacji pikseli jako należących do celu (%). 7. Okienko wyświetlające poprawność klasyfikacji pikseli jako należących do tła (%). 8. Przycisk Rozpocznij Śledzenie uruchamia proces śledzenia wybranego przez użytkownika obiektu. 9. Okno wyświetlające efekt działania trakera. BIUL LETYN INST TYTUTU SYS STEMÓW INF FORMATYC CZNYCH 11 333−39 (2013) 1 a) 2 b) Rys. 4. Przykłady obbiektów do śleedzenia: a) głłowa robota człekokształtneego; b) myśliwiec Su-30. Ź Źródło: opracoowanie własnee 9 3 4 5 6 8 7 Rys. 3. Grafficzny interfejss użytkownikaa. Źródłoo: opracowaniie własne 7. Podsumow P wanie Podczzas symuulacji dziaałania alggorytmu porów wnaniu podleegały dwie jeego konfigurracje: ¾ z adaptacją online o ¾ bez b adaptacji online. W obu allgorytmach liczba neuuronów warsttwy ukryteej sieci jest taka sama i wyynosi 16. Wartość taa została wybrana w ekspeerymentalniee – powyżżej 16 neuuronów w waarstwie ukryttej nie zaobseerwowano poprawy działaania algorytm mu. Symulaccje przeprow wadzone zostaały pod kąątem sprawdzenia odpporności algorrytmu na zakkłócenia i prroblemy om mówione we wprowadzeniu w u. S Symulacje d działania alggorytmu proogramu przepprowadzone zostały na dwóch d sekweencjach wideoo zaczerpnięętych z portallu youtube.coom: • r robot.avi, n którym śledzony będzie na r robot człekkokształtny bądź jego część ( (rysunek 4a) na którym • s samolot.avi, m śledzony będzie m myśliwiec Suu-30 (rysuneek 4b). Na p podstawie sekwencji obrazów w przygotowan p ne zostały nowe, mająące na celuu dokładniejsz d ze zbadaniee właściwośści algoryt-mów: m • oryginaalny – w dobrrej jakości • zaszumiiony – dodaany został szzum Gaussaa o średniiej 0 oraz waariancji 0.025 5 • zaszumiiony i rozm mazany – poszczególne p e klatki zaszumionej sekwencji wideo w zostałyy poddanee operacji rrozmazania (ang. blur)) z wykkorzystaniem m dolnoprzzepustowegoo filtru Gaussa G o rrozmiarze 10 x 10 orazz standarddowym odchhyleniu równ nym 10. Podczass badania dzziałania obu algorytmów w na n tak przyygotowanychh sekwencjach obrazów w nie n było różżnicy w przeprowadzany ym procesiee detekcji d oraaz śledzeniia obiektów w − żadnaa z metod niee miała prooblemów z poprawnym m wykonaniem w m tych operaccji. Różnicaa w dziiałaniu poj ojawiła sięę w momenciie przesłonięęcia celu. Aby A zbadaćć zachowania z trakera w pprzypadku częściowego c o przesłonięcia p a śledzonegoo obiektu, do d sekwencjii obrazów o przzedstawiającyych ruch rob bota dodanyy został z obieekt, który będzie wprowadzałł zakłócenie. z O Obiekt ten too prostokąt o wymiarachh 220 2 x 10 maający na celuu przesłonięccie ok. 30% % badanego b obbiektu. W tyym przypadk ku algorytm m bez b adapttacji wykkazał się niewielkąą poprawności p ią działannia. Mimo o dobrychh parametrów p wytrenowannia sieci: • poprawnność klasyfiikacji pikselii należącychh do obiekktu na poziomie 92% • poprawnność klasyfiikacji pikselii należącychh do tła na poziomie 993%, traker t gubił cel c po jego pprzejściu przez przesłonęę (rysunek ( 5)). Algorytm m śledzący z adaptacjąą online o po prrzejściu celuu przez przessłonę śledziłł go g dalej poprrawnie (rysuunek 6). Dopieroo w przzypadku powiększenia p a dwukrotnie d s szerokości pprostokąta−prrzesłony (doo rozmiaru r 2220 x 20) alggorytm z ad daptacją niee podążał p zaa obiektem po przejjściu przezz 377 J. Szym monik, Sztucznne sieci neuronnowe o radiallnych funkcjacch bazowych… … przeszkodę.. Przesłona zajmowała ponad 50% % powierzchnni śledzonegoo obiektu. nia obiekttów w przypadku wyśledzen stąpien nia szumu Gaussa G lub rozmycia obrazu o z wyk korzystaniem m filtru dollnoprzepusto owego Gaussaa, prostszy z algorytmów w nie był wstanie w poradzzić sobie z czzęściowym przesłonięciem m. Istotne jest spostrzeżennie, że algorytm oparty na sieciaach neuronnowych nie jest wrażliw wy na zmiaany pozycji (rotacji) ob biektu śledzon nego, jego oświetlenia (cco pociąga zaa sobą zmianęę barwy obieektu). Co o więcej, zapprezentowanna sieć neuron nowa, z racjii niewielkicch wymagańń obliczenio owych i brak ku potrzebyy długiego jej trenow wania, może być stosoowana w ssystemach czasu rzeczyw wistego. W połączeniu z odpowieednimi algoryttmami rozpooznawania w wzorców, badana b metodaa adaptacyjjna śledzennia może zostać z zaimpllementowanaa np. w systeemie detekcji oraz śledzen nia zagrożeńń (ang. Videoo Threat Deteection System ms). 8. Biibliografiaa Rys. 5. Rezzultat działaniia algorytmu bez b adaptacji w przzypadku wystąąpienia częściiowego przesłonnięcia celu. Źródło: opraccowanie własnne Rys. 6. Reezultat działannia algorytmu z adaptacją w przypaadku częściow wego przesłonnięcia celu. Źródło: opraccowanie własnne Powyżższe rozwaażania wsskazują na wyższość trakera oppartego na sztucznychh sieciach neeuronowych typu RBF z adaptacją online nadd algorytmeem niewykoorzystującym m procesu adaptacji. a Pomimo poprawnegoo 38 [1] J. Ahmed, M.N N. Jafri, J. A Ahmad, M.I. Khan, K ”D Design and Im mplementatiion of a neural Network for Real-Time R Obbject Trackin ng”, World W Academ my of Sciencee, Engineerin ng an nd Technologgy, 6/2005. [2] A. Ameljańczyyk, Optymallizacja wielo-p sterowania krryterialna w problemach Ossolineum i zarządzania, z m, Wrocław, 1984. [3] A. Ameljańczyyk, „Matemaatyczne aspeekty modelowania m pajęczynoweego obiektów w”, Biiuletyn Instyttutu Systemóów Informatycznych, Nr N 4, str. 9–16 (2009). [4] A. Ameljańczyyk, ”Multicrriteria similarrity models m in meddical diagnosstics support algorithms”, Bio-algorithm B ms and MedSyystems, Vol. 21, No. 1 (2013). [5] A. Bartkowiakk, Sieci Neurronowe. Nota atki Ro ozszerzone ANN08, A Uniw wersytet Wrocławski, W g grudzień 20008. [6] C.M. Bishop, Neural Netw works for Patttern Reecognition, Oxford O University Press, Oxford, 2005. [7] Z.. Ghahramanni, Learning B Bayesian Networks, Ne Deppartment of C Computer Sccience, University of Torronto, Canad da, October 1997.. [8] G.B. Huang, Q.Y. Q Zhu, C.K. Siew, ”E Extreme learnning machinne: Theory an nd ap pplications”, Neurocompuuting 70 (200 06). [9] E.. Maggio, A.. Cavallaro, V Video Trackiing Th heory and Prractice, Wileey, 2011. [10] S.. Osowski, Siieci Neuronoowe w Ujęciu u Allgorytmicznyym, Wydawnnictwa Nauko owoTeechniczne, Warszawa W 1997. BIULETYN INSTYTUTU SYSTEMÓW INFORMATYCZNYCH 11 33−39 (2013) [11] R. Rojas, A short proof of the posterior probability property of classifier neural networks, Institut für Informatik, Freie Universität, Berlin 1996. [12] R. Venkatesh Babu, S. Suresh, A. Makur, ”Online adaptive radial basis function networks for robust object tracking”, Comput. Vis. Image Understand., 2009. Artificial neural networks with radial basis functions for video object tracking J. SZYMONIK The main problem considered in this article was the artificial neural network design for target localization and target tracking in video sequence, with the use of Matlab environment. What is more, the algorithm resistance to noise and disturbances that may occur was studied. The article presents the architecture of artificial neural network with radial basis functions. The algorithm for tracking as well as the method for target modeling and localization with the use of the above network architecture is shown. In the summary there are results of conducted simulations in Matlab of video trackers based on artificial neural networks. Keywords: object tracking, artificial neural networks, radial basis functions. 39