Spelling suggestions: "subject:"forminformation engineering"" "subject:"informationation engineering""
31 |
A WebGL-based virtual world client on a web browserDahl, T. (Toni) 11 December 2013 (has links)
The popularity of 3D virtual worlds has increased a lot in recent years and they are becoming essential enablers for providing interactive collaboration methods for people. Virtual worlds are also making their way in the real world with the help of augmented reality technologies. Currently, many service providers are trying to make it easier for users to access their virtual worlds. However, accessing a virtual world typically requires installing a separate client application that needs a different configuration for each device platform and operating system. Installing a client is a nuisance for end-users and developing and supporting client configurations is costly for service providers hindering the adoption of 3D virtual worlds.
3D Web technologies and standards have been evolving rapidly allowing software developers to create 3D virtual worlds that can be viewed with a web browser. However, many of these technologies require the end-user to install specific plug-in software into their web browser before the technology can be utilised. Using the new WebGL technology, an interactive 3D environment can be used on a cross-platform supported web browser without installing any plug-ins. In this thesis, a system architecture and a prototype implementation of a WebGL-based virtual world client are presented to provide a plug-in free, readily extensible and open source web client for 3D virtual worlds.
The performance of the web client was measured in terms of CPU load, memory consumption, frame rate and 3D scene processing time on a desktop PC and on a high-end tablet device. The performance evaluation results show that the web client has good future prospects on desktop PCs, but more work needs to be done to achieve good performance on tablet devices.
A publication, "A Virtual World Web Client Utilizing an Entity-Component Model", based on this thesis was written and it was accepted in the NGMAST 2013 conference. Additionally, the effect of network quality on the performance and the user experience of the web client will be researched in the near future. This thesis has successfully contributed to research in the field of 3D Web and the implementation of the web client has served as a proof of concept affecting the technological choices of related third party projects. The implemented web client can be used on various platforms with web browsers that support WebGL and WebSocket technologies, thus making it available for many users. Also, the web client can be extended easily due the modular architecture and the utilisation of the Entity-Component model on the management of the 3D scene hierarchy. / 3D-virtuaalimaailmojen suosio on kasvanut paljon viime vuosina ja niistä on tulossa tärkeitä työkaluja ihmisten väliselle interaktiiviselle yhteistyölle. Virtuaalimaailmat ovat yhtymässä myös reaalimaailmaan lisätyn todellisuuden teknologioiden avulla. Monet palveluntarjoajat yrittävät nykyään helpottaa käyttäjien pääsyä virtuaalimaailmoihin. Virtuaalimaailmoihin päästäkseen käyttäjä joutuu yleensä asentamaan erillisen asiakasohjelman, joka joudutaan erikseen räätälöimään jokaiselle laitealustalle ja käyttöjärjestelmälle sopivaksi. Asiakasohjelman asentaminen on hankalaa käyttäjille ja asiakasohjelmien eri käyttöjärjestelmäkohtaisten versioiden ylläpito on kallista palveluntarjoajille. Tämä vaikeuttaa 3D-virtuaalimaailmojen omaksumista.
3D Web -teknologiat ja standardit ovat kehittyneet nopeasti ja helpottavat kehittäjiä luomaan 3D-virtuaalimaailmoja joita voidaan katsella verkkoselaimella. Käyttäjän täytyy kuitenkin asentaa erillinen lisäohjelma verkkoselaimeen ennen kuin teknologiaa voi käyttää. Käyttämällä uutta WebGL-teknologiaa, interaktiivista 3D-maailmaa voidaan käyttää monella alustalla toimivalla verkkoselaimella joutumatta asentamaan erillisiä lisäohjelmia. Tässä työssä esitellään järjestelmäarkkitehtuuri ja prototyyppi WebGL-pohjaisesta asiakasohjelmasta 3D-virtuaalimaailmoille, joka on helposti laajennettava, ei tarvitse ylimääräisiä lisäohjelmia ja on lähdekoodiltaan avoin.
Web-asiakasohjelman suorituskykyä arvioitiin mittaamalla ohjelman aiheuttama CPU-kuorma, muistinkulutus, kuvataajuus ja 3D-näkymän prosessointiin kuluva aika pöytätietokoneella ja tehokkaalla taulutietokoneella. Mittaustulokset osoittavat, että web-asiakasohjelmalla on hyvät tulevaisuudennäkymät pöytätietokoneilla, mutta lisää kehitystyötä on tehtävä hyvän suorituskyvyn saavuttamiseksi taulutietokoneilla.
Tämän työn pohjalta tehty julkaisu, "A Virtual World Web Client Utilizing An Entity-Component Model", on hyväksytty NGMAST 2013 -konferenssiin. Lisäksi, verkon laadun vaikutusta web-asiakasohjelman suorituskykyyn ja käyttökokemukseen tullaan tutkimaan lähitulevaisuudessa. Tämä työ on onnistuneesti kontribuoinut 3D Web:iin liittyvään tutkimukseen ja on vaikuttanut teknologioiden valintoihin työhön liittyvien kolmannen osapuolen projektien piirissä. Toteutettua asiakasohjelmaa voidaan käyttää monilla alustoilla verkkoselaimilla, jotka tukevat WebGL- ja WebSocket-teknologioita, mikä tekee ohjelmasta helposti saavutettavan useille käyttäjille. Toteutus on myös helposti laajennettavissa sen modulaarisen rakenteen ja 3D-näkymän hierarkian hallintaan käytetyn entiteetti-komponentti -mallin takia.
|
32 |
Indoor location estimation using an NFC-based crowdsourcing approach for bootstrappingChaudhry, M. (Muhammad) 03 June 2013 (has links)
Indoor location estimation, the process of reckoning the location of a device in an indoor environment, remains a technical challenge due to the poor performance of GPS in such settings. While a substantial amount of work has been done in this context, particularly employing the Wi-Fi fingerprinting technique, the very approach has certain shortcomings. A major limitation is the need of time-and-labor-intensive fingerprint acquisition process. What is more, the costly fingerprint soon gets outdated because of the dynamic environment. The alternative, triangulation-based systems are not only complex to build because of the increased multipath signal propagation indoors, but also require prior knowledge of the location of Wi-Fi access points which is not always possible, or requires dedicated beacons which is not cost-effective. Here we present an indoor location estimation approach that employs an already deployed Wi-Fi network, without requiring any prior knowledge of the position of the access points, or the need for manually collecting the fingerprints, and with dynamic environmental adaptability. This is achieved by crowdsourcing the fingerprinting process using localized QR-Codes and NFC tags as reference points for bootstrapping this process. We have developed the complete system including the location estimation algorithm and a mobile mapping application to demonstrate that our approach can achieve 10-meter accuracy for 64% of the location estimations, and 98% accuracy in estimating the floor, using a reference tag density of 1 tag per 400 square meters. / Sisätilapaikannus, menetelmä laitteen paikantamiseksi sisätiloissa, on edelleen tekninen haaste GPS-paikannuksen sisätilan toimivuuden rajoitteiden vuoksi. Vaikka työtä on tehty paljon asian puitteissa, erityisesti käyttämällä Wi-Fi sormenjälkitekniikkaa, on lähestymistavassa tiettyjä puutteita. Merkittävin rajoitus on aika- ja työvaltainen sormenjälkien eli referenssipisteiden hankintaprosessi. Lisäksi nämä referenssipisteet vanhenevat nopeasti muuttuvassa ympäristössä. Vaihtoehtoinen kolmiomittauspohjainen järjestelmä ei ole pelkästään monimutkainen rakentaa monitiesignaalien lisääntyneen määrän vuoksi, mutta myös siksi, että se vaatii Wi-Fi-tukiasemien paikkojen tietämystä, joka ei ole aina mahdollista, tai erityisiä majakoita, jotka eivät ole kustannustehokkaita. Tässä työssä esitellään sisätilapaikannusmenetelmä, joka käyttää olemassa olevaa Wi-Fi-verkkoa ilman aiempaa tietoa tukiasemien paikasta, ja jossa ei ole tarvetta kerätä referenssipisteitä käsin, ja joka pystyy sopeutumaan muuttumaan ympäristön mukana. Tämä saavutetaan yhteisöllisellä referenssipisteiden keruulla, jossa käytetään tietyissä tunnetuissa paikoissa olevia QR-koodeja ja NFC-tunnisteita vertailukohtana. Tässä työssä kehitettiin paikannusalgoritmin lisäksi sitä käyttävä ohjelmisto. Testitulokset osoittavat, että tällä lähestymistavalla voidaan saavuttaa 10 metrin tarkkuus 64 % paikannusarvioista sekä 98 % kerrostarkkuus käytettäessä yhtä tunnistetta 400 neliömetriä kohti.
|
33 |
Integration of agile RF front end to FPGA development boardRauhanummi, M. (Mikko) 01 November 2013 (has links)
Developing wireless communication standards and applications grows need for a flexible wireless testbed. Software defined radio platforms have programmable hardware and software, so they are easy to use for the rapid development of wireless communication algorithms. The software defined radios could be considered as the state-of-the-art wireless transceivers that can be used to run next-generation wireless applications.
The scope of this thesis is to study the use of the Xilinx ML605 development platform and the Nutaq Radio420S radio card integration as the software defined radio platform. This work tries to combine the processing power of the ML605 Virtex-6 FPGA to the agile and the broadband RF front end of Nutaq Radio420S. This combined platform formed by these two can be used as a modern software defined radio solution for developing and testing the wireless communication algorithms in practice.
This thesis represents an idea of the software defined radio, starting from the early adaptations to the today’s modern software defined radio platforms. The use of Xilinx ML605 and Nutaq Radio420S integration was studied in both aspects, a real-time and an offline data processing. As the offline solution, WARPLab made by Rice University, was ported to the new platform. The WARPLab concept is to pre- and post-process the real-time wirelessly transmitted data using Matlab. The implemented real-time applications that were an automatic gain control (AGC) and a spectrum sensing method called localization algorithm based on double-thresholding (LAD) with an adjacent cluster combining (ACC). The AGC was implemented for the future physical layer application development and the LAD ACC spectrum sensing method was implemented by thinking of the future cognitive radio solution that takes advantage of the opportunistic spectrum usage.
During the implementation phase, the Xilinx tool set was used to create and modify the digital logic of the physical layer. The control software was written in C and the end-user’s client was made by using scripting language of the Matlab. The final design was verified with the real-life measurements. Each part of the implemented system were tested individually, to be sure that the system worked as expected. The future development and the possible improvements of platform and the implemented system were discussed based on the real-life measurements. / Tietoliikennestandardien ja sovellusten kehitystyö on kasvattanut tarpeen helppokäyttöiselle langattomalle testialustalle. Ohjelmistoradioissa on uudelleenohjelmoitava ohjelmisto ja laitteisto, joten ne soveltuvat hyvin langattomien tietoliikenne algoritmien kehitystyöhön. Ohjelmistoradiot ovat kehittyneimpiä langattoman tietoliikenteen lähetin-vastaanotin ratkaisuja, joita voidaan käyttää tulevaisuuden standardien ja sovellusten kehitys ja testaustyössä.
Tässä työssä tutkitaan Xilinxin ML605 kehitysalustan ja Nutaqin Radio420S radiokortin käyttöä ohjelmistoradiona. Työn tarkoitus on yhdistää ML605:n Virtex-6 FPGA-piirin laskentatehokkuus Nutaqin Radio420S radiokortin laajakaistaiseen ja joustavaan RF-etupäähän. Tämä mahdollistaa alustan käytön nykyaikaisena ja modernina ohjelmistoradioratkaisuna, jonka avulla voidaan helposti kehittää ja testata langattomia tietoliikenne algoritmeja käytännössä.
Tässä työssä esitellään ohjelmistoradion idea ja alustojen kehitys ensimmäisistä ohjelmistoradio ratkaisuista uusimpiin nykyaikaisiin ohjelmistoradio alustoihin. Xilinxin ML605:n ja Nutaqin Radio420S radiokortin käyttöä ohjelmistoradiona tutkitaan sekä reaaliaikaisen että jälkeenpäin tehdyn tiedonkäsittelyn kannalta. Jälkeenpäin tehdyn tiedonkäsittelyn tapauksessa Ricen Yliopiston kehittämä WARPLab kehitysympäristö sovitettiin ML605:n ja Radio420S:n muodostamalle alustalle. WARPLabia käytettiin muuntamaan uusi alusta ohjelmistoradioksi, joka käsittelee langattomasti siirretyn tiedon jälkikäteen Matlabia avuksi käyttäen. Reaaliaikaiset fyysisen kerroksen sovellukset jotka sovitettiin alustalle, olivat automatisoitu vahvistuksen säätö Nutaqin radiokortille, sekä kahta kynnystä käyttävä spektrinhavaitsemismenetelmä (localization algorithm based on double-thresholding, LAD) vierekkäisten ryhmien yhdistelmä (adjacent cluster combining, ACC) laajennuksella. Automaattinen vahvituksen säätö totetutettiin ajatellen tulevaa fyysisen kerroksen kehitystyötä alustalla ja LAD ACC spektrinhavaitsemismenetelmä toteutettiin taas ajatellen mahdollista oppurtunista spektrin käyttöä tukevaa ohjelmistoradio toteutusta.
Työn toteutuksen aikana fyysisen kerroksen digitaalilogiikan suunnitteluun, muokkaukseen ja toteutukseen käytettiin Xilinxin tarjoamia työkaluja. Kontrolliohjelmisto kirjoitettiin käyttäen C-kieltä ja loppukäyttäjän rajapinta toteutettiin Matlabin komentosarjakielellä. Toteutuksen toimivuus varmistettiin lopulta tosielämän mittauksilla. Jokaisen toteutuksen osan toimivuus varmistettiin erikseen, omilla mittauksillaan, jotta voitiin olla varma että kukin toteutettu sovellus toimii oikein. Saatujen mittaustulosten pohjalta käytiin läpi alustan mahdollista jatkokehitystä ja esiteltiin parannusehdotuksia.
|
34 |
Pääosin ohjaamaton sanaston poiminta rakenteettomasta tekstistäMustonen, A. (Ari) 10 April 2014 (has links)
Sanaston kattavuudella on suuri merkitys monille luonnollista kieltä käsitteleville algoritmeille. Sanaston puute vaikeuttaa tällaisten algoritmien soveltamista esimerkiksi vähemmistökieliin liittyviin ongelmiin. Sanastojen tuottaminen ja laajentaminen perinteisin menetelmin on työlästä ja kallista, joten on tarve kehittää automaattisia, yleiskäyttöisiä ja kieliriippumattomia sanaston kerääjiä.
Automaattisia sanaston kerääjiä on olemassa muutamia, mutta niiden yleiskäyttöisyyttä, laatua ja soveltamista useille kielille voidaan vielä parantaa. Kehittyneeseen sanaston keräämiseen voidaan soveltaa uusimpia ohjaamattomia sanojen erottelun, morfologian induktion, ja sanaluokan induktion menetelmiä. Monet kiinnostavimmista menetelmistä hyödyntävät Bayesin menetelmää.
Tässä diplomityössä toteutettiin pääosin ohjaamaton, useaa kieltä tukeva sanaston kerääjä. Se otti syötteenä merkitsemättömän korpuksen ja tuotti listan sanoja ja niiden sanaluokkia. Järjestelmän kaikki tärkeimmät osat pohjautuivat ei-parametriseen Bayesin menetelmään: sanojen erottelu ja morfologian induktio toteutettiin hierarkkisella Pitman-Yor-prosesseilla ja sanaluokan induktio Pitman-Yor-prosessin mikstuurimallilla.
Toteutus saavutti 16%:n tarkkuuden suomenkielisten sanojen perusmuotojen poiminnassa, kun sanaluokkatietoa ei huomioitu. Sanojen perusmuotojen ja sanaluokkien yhdistelmien poiminnassa tarkkuus oli 3%:a. Toiminnan arvioitiin olevan samaa tasoa englannilla ja japanilla.
Ratkaisun eri aliosien suorituskyvyt olivat heikkoja vastaavien osien uusimpiin toteutuksiin verrattuna. Etenkin morfologian ja sanaluokan induktion suorituskykyä voitaisiin kehittää huomattavasti. Parempia tuloksia voitaisiin saavuttaa myös sulauttamalla järjestelmän aliosia tiiviimmin yhteen. / The coverage of the lexicon has great implications on the performance of a number of natural language processing algorithms. Insufficient vocabulary complicates the application of these algorithms on problems that involve, for example, minority languages. Producing and extending lexicons with traditional means is both slow and expensive so there is a need to develop automatic, generic purpose, language independent lexicon acquisition systems.
Automatic lexicon acquisition systems exist in small numbers, but there is room to improve their flexibility, quality and applicability to multiple languages. Advanced lexicon acquisition systems can be developed by applying the state-of-the-art methods from word segmentation, morphology induction, and part-of-speech induction to the problem. Many of the most interesting methods are based on the Bayesian approach.
In this Master’s thesis, a mostly-unsupervised, multilingual lexicon acquisition system was developed. It accepted as an input an unannotated corpus and generated a list of words and their part-of-speech tags. All the important parts of the system relied on non-parametric Bayesian methods: word segmentation and morphology induction used nested Pitman-Yor processes and part-of-speech induction used a Pitman-Yor process mixture model.
The implementation achieved 16% precision in the acquisition task of base forms of Finnish words without part-of-speech tags. With finnish base form and part-of-speech tag combinations, the precision was 3%. The results were estimated to be of the same quality in English and Japanese.
The individual parts of the system had poor performance compared to the state-of-the-art. Especially morfology and part-of-speech induction could be improved significantly. Better results could also be improved by integrating the parts of the system more deeply with each other.
|
35 |
Improving software quality with software error predictionTaipale, T. (Taneli) 12 December 2015 (has links)
Today’s agile software development can be a complicated process, especially when dealing with a large-scale project with demands for tight communication. The tools used in software development, while aiding the process itself, can also offer meaningful statistics. With the aid of machine learning, these statistics can be used for predicting the behavior patterns of the development process.
The starting point of this thesis is a software project developed to be a part of a large telecommunications network. On the one hand, this type of project demands expensive testing equipment, which, in turn, translates to costly testing time. On the other hand, unit testing and code reviewing are practices that improve the quality of software, but require large amounts of time from software experts. Because errors are the unavoidable evil of the software process, the efficiency of the above-mentioned quality assurance tools is very important for a successful software project.
The target of this thesis is to improve the efficiency of testing and other quality tools by using a machine learner. The machine learner is taught to predict errors using historical information about software errors made earlier in the project. The error predictions are used for prioritizing the test cases that are most probably going to find an error.
The result of the thesis is a predictor that is capable of estimating which of the file changes are most likely to cause an error. The prediction information is used for creating reports such as a ranking of the most probably error-causing commits. Furthermore, a line-wise map of probability of an error for the whole project is created. Lastly, the information is used for creating a graph that combines organizational information with error data. The original goal of prioritizing test cases based on the error predictions was not achieved because of limited coverage data. This thesis brought important improvements in project practices into focus, and gave new perspectives into the software development process. / Nykyaikainen ketterä ohjelmistokehitys on monimutkainen prosessi. Tämä väittämä pätee varsinkin isoihin projekteihin. Ohjelmistokehityksessä käytettävät työkalut helpottavat jo itsessään kehitystyötä, mutta ne myös säilövät tärkeää tilastotietoa. Tätä tilastotietoa voidaan käyttää koneoppimisjärjestelmän opettamiseen. Tällä tavoin koneoppimisjärjestelmä oppii tunnistamaan ohjelmistokehitystyölle ominaisia käyttäytymismalleja.
Tämän opinnäytetyön lähtökohta on ohjelmistoprojekti, jonka on määrä toimia osana laajaa telekommunikaatioverkkoa. Tällainen ohjelmistoprojekti vaatii kalliin testauslaitteiston, mikä johtaa suoraan kalliiseen testausaikaan. Toisaalta yksikkötestaus ja koodikatselmointi ovat työmenetelmiä, jotka parantavat ohjelmiston laatua, mutta vaativat paljon ohjelmistoammattilaisten resursseja. Koska ohjelmointivirheet ovat ohjelmistoprojektin edetessä väistämättömiä, on näiden työkalujen tehokkuus tunnistaa ohjelmointivirheitä erityisen tärkeää onnistuneen projektin kannalta.
Tässä opinnäytetyössä testaamisen ja muiden laadunvarmennustyökalujen tehokkuutta pyritään parantamaan käyttämällä hyväksi koneoppimisjärjestelmää. Koneoppimisjärjestelmä opetetaan tunnistamaan ohjelmointivirheet käyttäen historiatietoa projektissa aiemmin tehdyistä ohjelmointivirheistä. Koneoppimisjärjestelmän ennusteilla kohdennetaan testausta painottamalla virheen todennäköisimmin löytäviä testitapauksia.
Työn lopputuloksena on koneoppimisjärjestelmä, joka pystyy ennustamaan ohjelmointivirheen todennäköisimmin sisältäviä tiedostomuutoksia. Tämän tiedon pohjalta on luotu raportteja kuten listaus todennäköisimmin virheen sisältävistä tiedostomuutoksista, koko ohjelmistoprojektin kattava kartta virheen rivikohtaisista todennäköisyyksistä sekä graafi, joka yhdistää ohjelmointivirhetiedot organisaatiotietoon. Alkuperäisenä tavoitteena ollutta testaamisen painottamista ei kuitenkaan saatu aikaiseksi vajaan testikattavuustiedon takia. Tämä opinnäytetyö toi esiin tärkeitä parannuskohteita projektin työtavoissa ja uusia näkökulmia ohjelmistokehitysprosessiin.
|
36 |
Ultrasound analysis of the flow-mediated dilation of human arteriesKarvonen, T. (Tuukka) 05 May 2014 (has links)
The topic of this work was to realize a software-based approach for semiautomatic analysis of flow-mediated dilation (FMD) from ultrasound B-mode image sequences. The work is a continuation of a previous software project, in which B-mode ultrasound image and blood flow / ECG signal extraction, as well as the capability for manual analysis, was made possible. On this base, functionality for the semiautomatic assessment of FMD was built.
The result was a software that could be used for the aforementioned analysis. To validate this, functional testing was done. In addition, measurements of FMD were carried out using the software. These measurements were compared against those made by hand, as well as those received from another, commercially available software. / Tämän työn tavoitteena oli toteuttaa veren virtauksen säätelemän verisuonen laajenemisen (FMD) analysoimiseen tarkoitettu sovellustyökalu. Sovelluksen tuli ottaa syötteenä duplex-ultraääni-mittausdataa, ja antaa puoliautomaattisen analysoinnin jälkeen tuloksena FMD-prosentti. Työ tehtiin lisäkomponenttina aiemmin valmistetulle sovellukselle, joka mahdollisti edellämainitun manuaalisen analyysin.
Tuloksena saatiin sovellus, joka pystyi yllämainittuun analyysiin. Sovelluksen toiminnallisuus todennettiin erinäisin funktionaalisin testein, sekä tekemällä sillä mittauksia, joita verrattiin sekä käsintehtyihin, että kaupallisen sovelluksen tuottamiin mittauksiin.
|
37 |
Fuzz testing coverage measurement based on error log analysisHaanpää, T. (Tuomas) 09 May 2016 (has links)
Fuzz testing is a black box testing method in which a SUT is subjected to anomalous inputs in order to uncover faults such as crashes or other incorrect behaviour. A defining attribute of any black box testing is the assumption that the inner workings and the source code of the SUT are unknown. This lack of information adds an element of difficulty to the task of estimating test coverage.
During testing a SUT typically produces a log of error conditions and other events which were triggered by the testing process. This log data is available even when the source code is not. The purpose of this study was to research whether a meaningful metric of test coverage could be extracted from the log data. The goal was to discover a metric similar to code coverage, but applicable to black box testing.
A hypothesis was presented that a large variety of observed events translated to great code coverage as well. To extract this metric, a rudimentary pattern recognition algorithm was devised in order to automatically classify the events encountered during a test run.
Measurements were performed on three open source SUTs representing three widely used communication protocols. Log analysis results were compared to code coverage measurements in order to study any possible correlation between them.
The results were positive, as the study showed clear correlation between the code coverage metric and the log analysis results for two of the three case studies. Further study is required to establish whether the studied log analysis method is generally applicable. / Fuzz-testaus on mustalaatikkotestausmenetelmä, jossa testikohteesta pyritään löytämään vikoja altistamalla se virheelliselle syötteelle. Mahdolliset ohjelmistoviat ilmenevät kaatumisina tai muuna virheellisenä toimintana. Mustalaatikkotestaukselle ominaista on se, että kohteen sisäistä toimintaa ja lähdekoodia ei tunneta, mikä tekee testauskattavuuden arvioinnista ongelmallista.
Testauksen aikana kohde tavallisesti tuottaa lokitiedoston, joka sisältää kohteessa havaitut virhetilat. Tämä lokiaineisto on käytettävissä myös silloin, kun lähdekoodia ei tunneta. Tämän tutkielman tarkoituksena on selvittää, onko mahdollista kehittää mittaustekniikka testikattavuuden arviointiin lokiaineiston perusteella. Tämä mittaustekniikka muistuttaisi koodikattavuusmittausta, mutta sitä voisi soveltaa myös mustalaatikkotestauksen yhteydessä.
Tutkielmassa esitetty hypoteesi oli se, että mikäli lokissa havaitaan suuri määrä erilaisia virhetiloja, myös koodikattavuus olisi korkea. Mittausten suorittamiseksi kehitettiin alkeellinen hahmontunnistusalgoritmi, joka luokitteli testauksen aikana kerätyn lokiaineiston.
Mittaukset toistettiin kolmella testikohteella, joiden lähdekoodi oli avointa, ja jotka edustivat yleisesti käytettyjä tietoliikenneprotokollia. Lokianalyysituloksia verrattiin koodikattavuusmittaustuloksiin, jotta mahdollinen korrelaatio tulosten välillä havaittaisiin.
Tutkimuksen tulokset olivat positiiviset, sillä kahdessa esimerkkitapauksessa kolmesta havaittiin selkeää korrelaatiota koodikattavuusmittausten ja lokianalyysitulosten välillä. Menetelmän yleinen sovellettavuus vaatii kuitenkin lisätutkimusta.
|
38 |
GPU accelerated face detectionMäkelä, J. (Jussi) 20 March 2013 (has links)
Graphics processing units have massive parallel processing capabilities, and there is a growing interest in utilizing them for generic computing. One area of interest is computationally heavy computer vision algorithms, such as face detection and recognition. Face detection is used in a variety of applications, for example the autofocus on cameras, face and emotion recognition, and access control. In this thesis, the face detection algorithm was accelerated with GPU using OpenCL. The goal was to gain performance benefit while keeping the implementations functionally equivalent. The OpenCL version was based on optimized reference implementation. The possibilities and challenges in accelerating different parts of the algorithm were studied. The reference and the accelerated implementations are depicted in detail, and performance is compared. The performance was evaluated by runtimes with three sets of four different sized images, and three additional images presenting special cases. The tests were run with two differently set-up computers.
From the results, it can be seen that face detection is well suited for GPU acceleration; that is the algorithm is well parallelizable and can utilize efficient texture processing hardware. There are delays related in initializing the OpenCL platform which mitigate the benefit to some degree. The accelerated implementation was found to deliver equal or lower performance when there was little computation; that is the image was small or easily analyzed. With bigger and more complex images, the accelerated implementation delivered good performance compared to reference implementation.
In future work, there should be some method of mitigating delays introduced by the OpenCL initialization. This work will have interest in the future when OpenCL acceleration becomes available on mobile phones. / Grafiikkaprosessorit kykenevät massiiviseen rinnakkaislaskentaan ja niiden käyttö yleiseen laskentaan on kasvava kiinnostuksen aihe. Eräs alue missä kiihdytyksen käytöstä on kiinnostuttu on laskennallisesti raskaat konenäköalgoritmit kuten kasvojen ilmaisu ja tunnistus. Kasvojen ilmaisua käytetään useissa sovelluksissa, kuten kameroiden automaattitarkennuksessa, kasvojen ja tunteiden tunnistuksessa sekä kulun valvonnassa. Tässä työssä kasvojen ilmaisualgoritmia kiihdytettiin grafiikkasuorittimella käyttäen OpenCL-rajapintaa. Työn tavoite oli parantunut suorituskyky kuitenkin niin että implementaatiot pysyivät toiminnallisesti samanlaisina. OpenCL-versio perustui optimoituun verrokki-implementaatioon. Algoritmin eri vaiheiden kiihdytyksen mahdollisuuksia ja haasteita on tutkittu. Kiihdytetty- ja verrokki-implementaatio kuvaillaan ja niiden välistä suorituskykyeroa vertaillaan. Suorituskykyä arvioitiin ajoaikojen perusteella. Testeissä käytettiin kolmea kuvasarjaa joissa jokaisessa oli neljä eri kokoista kuvaa sekä kolmea lisäkuvaa jotka kuvastivat erikoistapauksia. Testit ajettiin kahdella erilailla varustellulla tietokoneella.
Tuloksista voidaan nähdä että kasvojen ilmaisu soveltuu hyvin GPU kiihdytykseen, sillä algoritmin pystyy rinnakkaistamaan ja siinä pystyy käyttämään tehokasta tekstuurinkäsittelylaitteistoa. OpenCL-ympäristön alustaminen aiheuttaa viivettä joka vähentää jonkin verran suorituskykyetua. Testeissä todettiin kiihdytetyn implementaation antavan saman suuruisen tai jopa pienemmän suorituskyvyn kuin verrokki-implementaatio sellaisissa tapauksissa, joissa laskentaa oli vähän johtuen joko pienestä tai helposti käsiteltävästä kuvasta. Toisaalta kiihdytetyn implementaation suorituskyky oli hyvä verrattuna verrokki-implementaatioon kun käytettiin suuria ja monimutkaisia kuvia.
Tulevaisuudessa OpenCL-ympäristön alustamisen aiheuttamat viivettä tulisi saada vähennettyä. Tämä työ on kiinnostava myös tulevaisuudessa kun OpenCL-kiihdytys tulee mahdolliseksi matkapuhelimissa.
|
39 |
Aaltojohteiden spektrin laskenta FEM-ohjelmistoillaLehtonen, S. (Simo) 13 February 2017 (has links)
On pystytty matemaattisesti todistamaan, että aaltojohteessa etenevän aaltoliikkeen tietyt taajuudet katoavat riippuen aaltojohteen hienorakenteesta. Tällöin sanotaan, että aaltojohteen taajuusspektrissä esiintyy aukkoja. Spektri on mahdollista määrittää ratkaisemalla vastaava ominaisarvo-ongelma elementtimenetelmällä. Näin saadaan laskettua spektrin muodostavat ominaisarvokäyrät, jotka ovat samalla aaltojohteen dispersiorelaatioita.
Tässä työssä näytetään, kuinka ominaisarvokäyrät käytännössä lasketaan. Lisäksi tutkitaan ominaisarvokäyrien ja niiden muodostamien kaistanleveyksien ja spektriaukkojen käyttäytymistä implementoimalla periodisen aaltojohteen hienorakenteeseen häiriötekijöitä. Työssä käsitellään sekä kaksi- että kolmiulotteista tapausta.
Aaltojohteen periodisuussolun geometria ja sen hila muodostetaan Gmsh:lla. Hila viedään FreeFem++:aan, joka laskee vastaavat ominaisarvot. FreeFem++:n ajon aikana muodostetaan MATLAB-skripti, joka visualisoi saadut lopputulokset. Kukin ohjelma esitellään ja niille kirjoitetaan kooditiedostot.
Laskennallisissa esimerkeissä tutkitaan ominaisarvokäyrien käyttäytymistä häiriötekijöitä varioimalla. Häiriöttömän periodisuussolun tapauksessa spektri on jatkuva ja se koostuu ominaisarvokäyrien muodostamista risteävistä kaarista. Kun periodisuussolu altistetaan häiriötekijälle, ominaisarvokäyrissä tapahtuu muutos. Riippuen häiriötekijän tyypistä ja muodosta, ominaisarvokäyrät voivat mennä päällekkäin tai loitota toisistaan. Kun ominaisarvokäyrät loittonevat toisistaan tarpeeksi, niiden väliin syntyy kaista- eli spektriaukko. Ominaisarvokäyrien käyttäytyminen on vahvasti sidoksissa häiriötyyppiin. Häiriötyypin muodon vaihtelulla sen sijaan on yleensä hyvin yhdenmukainen vaikutus ominaisarvokäyriin, joka voi olla magnitudiltaan hyvin pientä, hyvin suurta tai jotain siltä väliltä.
Tulokset ovat linjassa aaltojohteiden spektreihin liittyvän teorian kanssa. Koska tietyt taajuudet eivät pääse etenemään aaltojohteessa, toimii se eräänlaisena kaistanestosuodattimena. Tuloksia voi käyttää hyödyksi esimerkiksi aaltojohteen hienorakenteen optimoinnissa. / It has been mathematically proven that some frequencies of the wave motion propagating in a waveguide disappear depending on the fine structure of the waveguide. In that case it is said that there are gaps in the frequency spectrum of the waveguide. It is possible to determine the spectrum by solving the associated eigenvalue problem using the finite element method. In this way the eigenvalue curves, which determine the spectrum and also are the dispersion relations of the waveguide can be calculated.
In this thesis a way to calculate the eigenvalue curves is represented. The behavior of eigenvalue curves and related bandwidths and spectrum gaps are also researched by implementing a perturbation into the fine structure of the periodic waveguide. Both two- and three-dimensional cases are studied.
The geometry of the waveguide’s periodicity cell and its mesh is generated by using Gmsh. The mesh is imported into FreeFem++, in which the eigenvalues are calculated. During the run of FreeFem++ a MATLAB script, which visualizes the results is formed. Each program is introduced and code files are written for them.
In computational examples the behavior of the eigenvalue curves is researched by varying perturbations. In the case of a perturbation-free periodicity cell the spectrum is continuous and it consists of crossing curves formed by the eigenvalue curves. When a perturbation exists it has an effect on the eigenvalue curves which may start to overlap or recede from one another depending on a type and a form of the perturbation. When two eigenvalue curves are receded enough from one another, a band gap arises in between them. The behavior of the eigenvalue curves is strongly related to the type of the perturbation. A change in a form of the perturbation usually has very uniform effect on the eigenvalue curves while its magnitude may either be small, great, or something in between.
The results are in line with the theory related to the spectrum of waveguides. Because certain frequencies cannot propagate in a waveguide, it is a band-stop filter in a sense. The results can be used for example to optimize the fine structure of the waveguide.
|
40 |
Digitaalisten hologrammien esikäsittelyMolkoselkä, E. (Eero) 06 September 2018 (has links)
Holografia on kolmiulotteisia kuvia eli hologrammeja käsittelevä tiede. Vastaavasti digitaalisella holografialla tarkoitetaan holografisten menetelmien suorittamista digitaalisten laitteiden avulla. Tämä sisältää hologrammien tallentamisen, synteesin ja rekonstruktion digitaalisten sensorien ja tietokoneiden avulla.
Tieteenalana holografia on jo erittäin varttunut ja sillä on nykyään sovelluksia useilla eri aloilla. Eräitä tavallisimpia ovat digitaaliseen holografiaan perustuvat mikroskoopit. Uudempia ja kenties tulevaisuudessa yleistyviä sovelluksia ovat ilmakehän hiukkasia kuvaavat holografiset laitteet. Oulun yliopistossa kehitetty ICEMET-järjestelmä on esimerkki tällaisista meteorologisista sovelluksista. ICEMET:n on suunniteltu käytettäväksi todellisen maailman käyttöolosuhteissa, kuten esimerkiksi tuulivoimaloiden päällä. Vaihtelevien ja usein ankarien käyttöolosuhteidensa vuoksi ICEMET-sensorin ottamissa hologrammikuvissa on paljon taustakohinaa ja häiriötekijöitä. Tämän vuoksi hologrammeja on esikäsiteltävä ennen näiden rekonstruktioprosessia.
Tutkielmaa varten kehitettiin ICEMET-järjestelmän osana toimiva digitaalisia hologrammeja esikäsittelevä tietokoneohjelma, Holofast. Ohjelma käsittelee kuvia näytönohjaimen avulla OpenCL-kirjastoa käyttäen. Näytönohjainta hyödyntämällä saavutettiin huomattavia parannuksia suoritusajoissa. Holofast suorittaa hologrammikuville taustanvähennyksen mediaanilla jakamalla ja pyrkii karsimaan tyhjät pisaradataa sisältämättömät kuvat ennen rekonstruktioprosessia.
Tyhjän kuvan tunnistukseen kehitettiin dynaamista datan keruuta käyttävä järjestelmä, jossa kuvista kerättiin referenssipinoon asetettavia pistearvoja. Arvot laskettiin tutkimuksessa kehitetyillä tunnistusmenetelmillä. Menetelmät ovat minimi- ja maksimivärisävyjen erotus, varianssi, keskihajonnan ja värisävyjen erotuksen tulo, värisävyjen määrä, Shannonin entropia ja gradienttikuvan keskiarvo. Oikeilla parametreilla käytettynä voidaan tyhjistä kuvista noin puolet karsia. Mikäli pieniä määriä pisaradataa ollaan valmiita menettämään, voidaan jopa 90 % tyhjistä kuvista tunnistaa. / Holography is a science that deals with three-dimensional images, holograms. Digital holography means performing holographic methods using digital devices. This includes saving, synthesizing and reconstruction of holograms using digital sensors and computers.
Holography is very mature science and it has many applications across all scientific fields. Digital holographic microscopes are one of the more common examples. Holographic devices that take pictures of airborne particles are a much newer application and might become more widespread in the future. ICEMET system, developed in University of Oulu, is a one example of these meteorological applications. ICEMET is designed to be used in real-world conditions such as on top of wind turbines. Because of the varying and often rough operating environment, the digital holograms of ICEMET-sensor contain high amount of interference. This is why the holograms must be preprocessed before reconstruction process.
A digital hologram preprocessing software called Holofast was developed for ICEMET. The software processes images with graphics card using OpenCL library. This significantly increased performance. Holofast performs background subtraction using division with median to hologram images and tries to prune blank images before reconstruction process.
A dynamic blank image detection system that collects data from images and pushes score values to stack was developed. Scores were calculated using developed detection methods. The methods are maximum difference of color values, variance, standard deviation multiplied by color value difference, number of colors, Shannon entropy and the mean of gradient. With the right parameters almost half of the blank images could be pruned. The prune percentage can be raised up to 90 % with sacrifice of some droplet images.
|
Page generated in 0.1606 seconds