mysql Zodiaq jestem honorowym dawcš krwi i jestem z tego dumny!!12.19l
e-mail: zodiaq@aster.pl  gg : 316452 JID: zodiaq@aster.pl
Ubuntu



moje projekty


Monitoreq
FAQ 
Ściągnij 
Zmiany 
Plany 
Błędy 
Wygląd 
Hall of Fame 
Postęp 
beta
koniec menu monitoreq

miniDB
FAQ 
Ściągnij 
Zmiany 
Przykład 
koniec menu miniDB

Stare projekty, zakończone
DMprojekt
SimpleAI
koniec menu staaare


SMAKOŁYKI:

Programik
C++ 
DirectX 
JAVA
PHP
 
koniec menu źródła

Linki
C++
Media
WWW
Teledyski 
koniec menu linki

Informacje
eMule FAQ 
Konfigi eMule 
inne 
Księga gości
koniec menu inforfmacje

Zgodność:
Valid XHTML 1.0!
Valid CSS
  
Jesteś tutaj:Zodiaq3d.info\
atom Co to jest wogóle DMprojekt??

DMprojekt to skrót od Data Mining Projekt. Jest to aplikacja którą sam pisałem jako projekt inżynierski z mojej specjalizacji: DataMining - Wydobywanie i Wizualizacja Wiedzy. DataMining to ogólnie rzecz biorąc taka analiza danych (wielu różnych próbek) w wyniku której można dokonać klasyfikacji nowych, niepełnych danych. Ma swoje zastosowania w wielu dziedzinach - do najważniejszych należy zaliczyć:
  • badania rynkowe - określanie opłacalności udzielania pożyczek/kredytów
  • chirurgia - rozpoznawanie typu góza na podstawie zdjęć
  • ropoznawania pisma - np na pocztach przyspieszając segregacje listów, czy w bankach
  • wiele innych zastosowań gdzie możliwy jest dostęp do starszych danych a wymagana jest klasyfikacja nowych
W ramach mojego projektu zajmowałem się roznpoznawaniem pisma ręcznego. Skupiłem się na pojedyńczych cyfrach, a zbiór na którym działa mój program podam zaraz. Aplikacje działającą pod system Windows napisałem całkowicie sam, oraz całkowicie w WinAPI (jest to zarazem pierwsza moja aplikacja w pełni napisana w WinAPI - dużo roboty z tym miałem).
Aplikacja działa w trzech fazach:
  • filtrowanie obrazu cyfr (dane źródłowe oraz docelowy to pliki binarne)
  • wydobywanie cech oraz dziele danych na dwa zbiory (dane źródłowe to plik binarny, dane docelowe to pliki tekstowe)
  • ostateczna klasyfikacja (cyfry z drugiego zbioru rozpoznawane są na podstawie cyfr z pierwszego, dane źródłowe oraz wynik to pliki tekstowe)
Wszystko działa wielowątkowo, a dzięki zastosowanemu podejściu końcowy poziom klasyfikacji dochodzi do 98%.

atom O co biega w pierwszej fazie?

Ponieważ obraz cyfr dość często zawiera pewne 'szumy' (czasami są to poszarpane boki, a czasami występują nawet niezwiązane z obrazem cyfry jakieś maźnięcia - najprawdopodniej błędy podczas skanowania) dlatego dobrze jest najpierw dokonać ich eliminacji. Właśnie tym zajmuje się się program w fazie pierwszej.
dm filtrowanie
Powiększenie znajdziesz tutaj [52.1KiB]
Program w fazie pierwszej pozwala określić parametry filtrowania. Analiza obrazu dokonywana jest w odpowiednim promieniu dla każdego punktu cyfry. Zgodnie w określonymi programi w danym miejscu powstaje nowy czarny punkt, zamazywany jest poprzedni lub nie są wprowadzane zmiany. Wynik działania można obserwować jeśli zostanie włączona opcja pauzy po każdym filtrowaniu.
W fazie pierwszej można określić:
  • czas pokazywania filtrowanej cyfry (w sekundach)
  • promień analizy obrazu dla każdego badanego piksela (wartość od 1 do 3)
  • próg dolny oraz górny - zakres zależny od wybranego promienia
ale także
  • plik źródłowy - zawierający obrazy cyfr
  • plik wynikowy - do którego zostanie zapisany wynik filtrowania
Ponieważ dane są zapisywane dokładnie w takiej samej formie jak dane źródłowe to zbiór początkowy można filtrować wiele razy. Jednak należy pamiętać że za duże wartości parametrów mogą powodować niepożądane efekty - skrajnie można doprowadzić do prawie całkowitego zaniku obrazu cyfry (program posiada zabezpiecznie przed całowitym zanikiem) czy ogromne pogrubie uniemożliwiające rozpoznanie.

atom A jak działa faza druga??

Druga faza to rdzeń programu, zawiera najwięcej autorskich pomysłów na wydobycie atrybutów z obrazu.
W tej fazie program dokonuje wydobywania pewnych atrybutów (zależnych od wybranych opcji) ze zbioru źródłowego, a wynik zapisuje do dwóch oddzielnych plików tekstowych (dane treningowe oraz dane testowe). W aplikacji można wybrać od 1 do 5 różnych technik analizy obrazu:
  • badanie zaczernienia
  • analiza pozioma
  • analiza pionowa
  • analiza kątowa
  • analiza narożna
Dodatkowo bardzo ważnym parametrem jest określenie podziału na pliki wynikowe. Wiadomo że im więcej danych program uzyska na dane treningowe tym lepiej będzie mógł rozpoznać dane testowe.
dm filtrowanie
Powiększenie znajdziesz tutaj [58.5KiB]

atom A faza trzecia? Jak działa?

W ostatniej fazie dokonywana jest klasyfikacja cyfr - wykorzystywane są dwa pliki uzyskane z części drugiej. Po odpowiednim przetworzeniu danych treningowych (zbiór I), do analizy brane są kolejne atrybuty cyfr ze zbioru testowego (zbiór II). W tym momencie program zapomina o rodzaju analizowanej cyfry i sam próbuje go określić. Po wszystkich etapach analizy uzyskiwany jest wynik działania i wartość porównywana z prawdziwym typem cyfry (w celu określenia poprawności rozpoznania typu).
dm klasyfikowanie
Powiększenie znajdziesz tutaj [47.6KiB]
W fazie trzeciej, do znalezienia najbliższych elementów zastosowałem znany algorytm K-NN (k-Nearest Neighbour), do którego jednak wprowadziłem szereg modyfikacji znacznie przyspieszających działanie (ukrytych w samym kodzie). Głównym parametrem w tej części działania programu jest określenie wartości K. Należy także wybrać oczywiście pliki źródłowe (uzyskane w wyniku fazy drugiej). Aktualne wyniki działania pokazywane są na bierząco w odpowednim polu tekstowym.

Mimo że dopiero w tej fazie uzyskiwane są końcowe wyniki, to jednak największy wpływ na poziom klasyfikacji ma faza druga oraz określone tam parametry.

atom Pliczki, pliczki! Gdzie są pliczki??

Zbiór na którym działa program znajdziesz tutaj. [2.64MiB]
Aplikacje zaś możesz ściągnąć z tej lokalizacji. [129.6KiB]




Czas generowania strony: 0.011 sek.
Pomysł i wykonanie: Zodiaq (2002-2009)