Rilevamento di persone in postazioni dall'immagine [chiuso]

-2

Sto tentando di creare un programma di presenze in grado di analizzare se qualcuno è seduto su un sedile. I posti sono fissi facendo sapere dove ogni posto è facile, ma io non so da dove cominciare per determinare se c'è qualcuno nel posto. Ho provato a fare qualche ricerca ma è tutto abbastanza complesso. Ho pensato che iniziare con un codice base per evidenziare il contrasto sarebbe stato utile come:

#!/usr/bin/env python

from PIL import Image
from pylab import *

im = array(Image.open('images/14.jpg'))

figure('ORIG')

imshow(im)

figure('MOD')

c = copy(im)
c = c[:,:,0]
c = 255 - floor(4 * c**(1/2))
gray()
imshow(c)

show()

Che aiuta:

Dove vado da qui? Ci sono buone risorse per l'elaborazione delle immagini? È quello che ho finora un buon approccio o ce n'è uno superiore?

    
posta carloabelli 12.01.2016 - 01:35
fonte

2 risposte

4

Rilevante XKCD :

Sullatopositivo,potrestiessereingradodidegenerarequestaattivitàinriquadrididelimitazionecreatiamanoperciascunposto.Prendipostoasedereegenerauna"linea di base" da una foto che non ha persone in qualsiasi posto nelle normali condizioni di illuminazione previste.

Quindi, quando viene scattata un'immagine per registrare la presenza - e supponendo che nessun pantalone intelligente muova la telecamera o giochi troppo con le luci - è possibile confrontare ciascun "sedile" con la linea base. Se una misura della differenza è sufficientemente alta (non è un banale pezzo di matematica), qualcuno deve essere seduto lì. O forse la camicia di qualcuno sembra un po 'troppo simile a un sedile, o qualcuno si siede il cappotto sul sedile, o il braccio di qualcuno si estende troppo sul sedile.

Puoi certamente ottenere qualcosa per "lavorare", per un valore arbitrariamente basso del lavoro. Ma per qualsiasi altra cosa avrete bisogno ... beh, probabilmente mesi di duro lavoro e un'intensa immersione nella visione artificiale del computer. Dovrai aspettarti che il risultato sia interessante (se mai funzionerà affatto), ma molto probabilmente sarà terribilmente inaffidabile e inutilizzabile al di fuori di un contesto accademico.

Le richieste di riferimento sono ovviamente fuori tema qui, ma potresti prendere in considerazione Programmare Computer Vision con Python ... ma io sono andrò su un arto e indovina che non puoi fare un import see_people e finire in un pomeriggio ... ma è python quindi immagino di non poterlo dire con certezza (sono abbastanza sicuro che non puoi , però).

    
risposta data 12.01.2016 - 04:29
fonte
2

Pubblicazione qui perché è troppo lungo per un commento, ma non sono sicuro di quale sia la risposta.

Non intendo essere un Debbie Downer, ma non hai fatto nulla oltre a rendere l'immagine in scala di grigi e aumentare il contrasto. La visione artificiale è un argomento molto complesso: non puoi semplicemente scrivere un semplice script Python.

Dovresti iniziare con i fondamenti e procedere verso l'alto. Essere prevenuti, la visione artificiale comporta un lotto di matematica. Non sarai in grado di capire da solo come riconoscere le persone nelle fotografie da solo - un sacco di lavoro è stato svolto da persone molto intelligenti nel corso degli anni, e non siamo ancora perfetti esso.

Naturalmente ci sono buone risorse; come potrei non essere a questo punto? Ho seguito un corso di computer vision al college e abbiamo utilizzato Computer Visions: Algorithms and Applications di Richard Szeliski. È una lettura difficile, ma ben scritta e completa. C'è un capitolo sul riconoscimento umano, con riferimenti alla letteratura. Dovresti trovare un algoritmo e provare a implementarlo correttamente (questo è più difficile di quanto penseresti).

Inoltre, Cordiali saluti, potresti voler passare da Python a Matlab. Ha fantastiche capacità di elaborazione delle immagini e librerie.

    
risposta data 12.01.2016 - 02:06
fonte

Leggi altre domande sui tag