by:

Hallo,

ich habe am späten Abend noch etwas mit Gesichtserkennung gespielt und möchte euch die ersten Ergebnisse nicht vorenthalten.

Sie sind zwar noch nicht 100 % ausgereift, aber für low level hardware (20 euro webcam) zufriedenstellend. Aber genug der geschriebenen Worte, hier ein kleiner Screencast->

Ich werde euch natürlich auf dem laufenden halten, wenn das ganze Projekt etwas ausgereifter ist.

[UPDATE]

Nach einigen Tests ist es mir gelungen die Gesichtserkennung in realtime durchzuführen, sprich ohne das lästige Flackern. Ziel der Aktion soll sein, im Rahmen einer Kunstaktion, Menschen auf einem öffentlichen Platz zu erkennen, eine Sprechblase über Ihren Kopf zu hinterlegen (mit Texten wie Raubkopierer etc) um auf die Misstände der Vorratsdatenspeicherung aufmerksam zu machen und die Öffentlichkeit darüber zu informieren.


Zur verwendeten Software:

Ubuntu

camstream

OpenCV

Für weitere Fragen stehe ich gerne zur Verfügung.

MFG

Andreas

Quellen:

http://opencvlibrary.sourceforge.net/

http://code.google.com/p/ehci/


Kommentare

by:

Hallo,

nachdem ich die letzten Tage wenig neues veröffentlicht habe, heute mal etwas interessantes für den ambitionierten PHP Programmierer.

Eine PLZ Umkreissuche in PHP, dazu benötigen wir:

  1. Eine Geo DB mit Long und LAT sowie PLZ (am besten von opengeodb auf sourceforge)
  2. Einen brauchbaren Umkreissuchen-Script
  3. Etwas Zeit

Bei meinen Versuchen hat sich herausgestellt, dass ich die meiste Zeit damit verbracht habe, eine brauchbare Datenbank zu finden und zu formatieren. Hilfe dazu weiter unten, jetzt erstmal etwas Code:

Code

<?
// Zuerst eine Verbindung zur Datenbank aufbauen!
 $connect=@mysql_connect("localhost", "user", "pass")
or die("Cant connect to Database");
 @mysql_select_db("geo_plz", $connect)or die("Cant select Database");

// die PLZ nach der wir suchen
$plz = '9220';

// der Umkreis in Km
$umkreis = 5;

// Erdradius (geozentrischer Mittelwert) in Km
$radius = 6368;

/* -------------------------- */

$sql_rad = mysql_query("SELECT lon, lat FROM `plz_at` WHERE `plz` = '$plz' ");
$erg_rad = mysql_fetch_object($sql_rad);

// Umrechnung von GRAD IN RAD

$lon = $erg_rad->lon / 180 * M_PI;
$lat = $erg_rad->lat / 180 * M_PI;

// jetzt erfolgt die eigentliche Abfrage

$query = "SELECT ort, plz, (
 ".$radius." * SQRT(2*(1-cos(RADIANS(lat)) * 
 cos(".$lat.") * (sin(RADIANS(lon)) *
 sin(".$lon.") + cos(RADIANS(lon)) * 
 cos(".$lon.")) - sin(RADIANS(lat)) * sin(".$lat.")))) AS Distance 
 FROM plz_at WHERE 
 ".$radius." * SQRT(2*(1-cos(RADIANS(lat)) * 
 cos(".$lat.") * (sin(RADIANS(lon)) * 
 sin(".$lon.") + cos(RADIANS(lon)) * 
 cos(".$lon.")) - sin(RADIANS(lat)) * sin(".$lat."))) <= ".$umkreis." 
 ORDER BY Distance
";

// die Ausgabe (vereinfacht)

$sql = mysql_query($query);
while( $erg = mysql_fetch_object($sql) ) {

 echo '
<pre>', print_r($erg), '</pre>
';
}
?>


Natürlich wäre es jetzt denkbar für jede gefundene PLZ im Umkreis eine Abfrage der Mitglieder oder Filialen zu machen, diesen Spass überlasse ich aber lieber euch :)

Wer die formatierte Datenbank für Deutschland, Österreich und Schweiz braucht oder eine Frage hat, einfach kurz melden.

LG

Andreas

Eine wichtige Adresse die beim Erstellen der Datenbank sowie der Gestaltung der Abfrage hilfreich ist lautet:

http://opengeodb.giswiki.org/wiki/OpenGeoDB_-_Umkreissuche

[UPDATE]

Ich habe die Datenbank online gestellt, übernehme aber keine Garantie für Vollständigkeit und Richtigkeit.

http://www.codejungle.org/code/zip.sql.gz


Kommentare

by:

Hallo,

bei meinem ersten Beitrag zum Thema Linux auf diesen Blog werde ich nur einen kleinen Artikel schreiben, der wie immer aus gegebenem Anlass endstanden ist.

Vor kurzem kam mir die Idee, einen neuen Arbeitsspeicher zu kaufen, nach dem Motto "ein bisschen mehr kann nie schaden". Stattdessen habe ich nun eine andere Lösung gefunden und meinen Swapbereich auf einen USB Stick ausgelagert.

Swap bitte was ??

Swap oder auch Swapping ist ein Bereich auf der Festplatte, der bei Linux zum Beispiel genutzt wird um die Prozessdaten auszulagern, wenn der Arbeitsspeicher voll ist. Eine Faustregel besagt, dass der Swapbereich doppelt so gross sein soll, wie der Arbeitsspeicher selber.

Ein wesentlicher Vorteil der Auslagerung des Swapbereichs auf einen USB Stick ist der Kostenfaktor. 2 GB USB Sticks bekommt man heute ja schon recht günstig, auf jeden Fall um einiges billiger als 2 GB RAM. Also wieso nicht den Swapbereich auf einen USB Stick auslagern?

Wie mach ich das ??

Zuerst sollte man wissen wo sich die Swappartition derzeit befindet, das kann man zum Beispiel mit cfdisk oder einfach swapon -s als root herausfinden.

Als nächstes hängt man seinen USB Stick an den Computer und führt folgenden Befehl aus:

mkswap /dev/< usb device >

Danach hängt man seine alte SWAP Partition mit swapoff aus. Beispiel:

swapoff /dev/< swap device >

und das neu angelegte USB Swap Device an:

swapon /dev/< usb device >


[UPDATE]

Nach einem Test mittels hdparm bin ich von der Idee nicht mehr so begeistert.

Siehe Benchmark->

/dev/sda1: (Sata - Festplatte)
Timing cached reads: 1536 MB in 2.00 seconds = 767.41 MB/sec
Timing buffered disk reads: 212 MB in 3.02 seconds = 70.24 MB/sec

/dev/sdb1: (USB Stick)
Timing cached reads: 1514 MB in 2.00 seconds = 756.58 MB/sec
Timing buffered disk reads: 36 MB in 3.04 seconds = 11.83 MB/sec

Was hier ersichtlich wird ist, dass der USB Stick wohl signifikant langsamer ist als die SATA Platte. Es macht also wenig Sinn den Swap auf einen USB Stick auszulagern, zumindest nicht bei den heute erhältlichen SATA Festplatten. Vielleicht wiederhole ich den Test nochmal mit einer ATA Platte... Mal sehen wie die Performance da ausschaut.

Leider ist auch die SATA Platte im Vergleich 100 bis 1000 mal langsamer als der Arbeitsspeicher, was einerseits an der Konstruktion der Speicher andererseits an der Architektur des Computers an sich liegt. Um die Geschwindigkeit des Swapspeichers zu tweeken gäbe es noch die Möglichkeit mit hdparm die Geschwindigkeit der Festplatte zu erhöhen. Dies birgt aber auch das Risiko die Festplatte zu beschädigen...

Ich hoffe euch hat der Artikel gefallen und würde mich über ein Kommentar sehr freuen.

Andreas


Quellen:

http://de.wikipedia.org/wiki/Swapping

http://de.wikipedia.org/wiki/Hdparm

http://www.thomashertweck.de/linuxram.html


Kommentare

by:
  1. Webcrawler
    1. What is a Webcrawler?
    2. What can it do for me?
    3. And what not?
  2. How does an indexer work and why do i get so much spam?
  3. Where can i get it and how to install?
  4. TODO


Webcrawler:

1.1 What is a Webcrawler?

A webcrawler - also called (web)robot, spider... - is a small program that follows hyperlinks on the internet to save an amount of data for later use.

1.2. What can it do for me ?

Look at my real life example, i use Larbin as a webcrawler, combined with a
self made indexer to parse the websites into my database. Some example scripts, like extract_mails, show how simple it can be to fetch millions of mail adresses. With small modifications in your query it is possible to get music, movies, documents, adresses etc.

Larbin uses the asynchronous-capable DNS client library wich is very fast ...
Snip:

Larbin should be able to fetch more than 100 millions pages on a standard PC.
The current version of Larbin can fetch 5,000,000 pages a day on a standard PC, but this speed mainly depends on your network.


1.3. And what not ?

Larbin is just a webcrawler, it can fetch you any information from the web, but it does not index them into a database. If you like to have all these mail adresses, mp3s, divx, mpgs etc you must write some code....

2. How does an indexer work and why do i get so much spam?

Simply said it is the job of an indexer is to save all this contents into a database. But it can do a lot more, for example sort the data and extract relevant contents.

3. Where can i get it and how to install ?

The webcrawler Larbin is opensource, my sets of php and perl scripts to handle
the output of larbin called "webtools4larbin" are opensource also.
I use mysql and postgresql supported applications, but for comercial use i have
a db abstraction layer that is able to handle allmost any type of database.....

Larbin (Download here )

For the Database inexer please check my little project:

http://freshmeat.net/projects/webtools4larbin

FAQ:
Why do you descripe how to get millions of email adresses ?

I think its nessesery to understood how a webcrawler/indexer works bevor we can think about systems they preventing you from spam.

More Questions?

why dont leave a short comment Wink


Have a lot of fun

nfo


Kommentare

by:

Hallo,

aus gegebenem Anlass habe ich mir überlegt ein wenig über die Vorratsdatenspeicherung zu schreiben. Einerseits weil hier scheinbar noch grosser Aufklärungsbedarf herrscht und andererseits weil ich gerade von einer Versamlung aus dem Metalab komme, wo über die Vorbereitung zur Demo (am 11 Okt) und die nächsten Schritte diskutiert wurde.

Ich habe ja nichts zu verbergen?

Eigentlich kann ich diese Aussage schon nicht mehr hören, leider ist es jedoch eine Haltung, die die meisten Leute hier in Österreich vertreten. Grundsätzlich stimmt die Aussage auch, denkt man die Sache aber zu Ende sieht es schon etwas anders aus. Mit dem Umkehrsschluss kann sich wohl keiner anfreunden. Wer gibt schon gerne alles von sich Preis?

Ich selber habe generell auch nichts zu verbergen, möchte jedoch selbst entscheiden wer welche Daten bekommt und wer nicht. Zum Beispiel möchte ich nicht, dass mein potenzieller neuer Chef weiss, welchen Kontostand ich habe, oder dass meine Krankenkasse beschliesst meine Beiträge zu erhöhen, da sie über meine Kreditkarte festgestellt haben, dass ich mich zu ungesund ernähre, ebenso wenig dass es möglich ist, dass Firmen ein gesamtes Profil von mir erstellen können was über die Kontaktadresse hinausgeht.

Was ist so schlimm an der Vorratsdatenspeicherung?

Ein einzelner gespeicherter Eintrag ist ja nicht schlimm, dort 'ne Adresse, da die Arztrechnung und hier die Telefonanrufe, alles nicht so tragisch. Doch die Vernetzung dieser Daten ermöglicht eine komplette Überwachung. Und gespeichert werden Daten überall, auch in Bereichen, wo man es sonst weniger vermuten würde. Das alles sind die schönen neuen Möglichkeiten der Überwachung. In der Regel sind Menschen die die Überwachung antreiben, Menschen die etwas verbergen möchten.

Daher fordere ich auf mit personenspezifischen Daten sensibler umzugehen und nicht jede neue Überwachungsaktion unter dem Deckmantel "Terrorabwehr" zu tolerieren.

Ich möchte hier ausserdem auf das nächste Treffen zum Thema im Metalab Wien hinweisen:

Mi 06.08.2008 gegen 20 Uhr

Sowie die europaweite Demonstration "Freedom Not Fear" am 11. Oktober

Ausserdem eine etwas ältere Fernsehendiskussion zum Thema:

http://www.vorratsdatenspeicherung.de/

http://wiki.vorratsdatenspeicherung.de/Freedom_Not_Fear_2008


Kommentare


Seiten: