Raspberry Pi – Piattaforma di test per algoritmi di visione (3/4): camera e video processing

CAMERA E VIDEO PROCESSING

La camera può essere collegata attraverso una porta USB 2.0 oppure attraverso l’interfaccia CSI (Camera Serial Interface). Nel caso si voglia comperare una camera USB ad-hoc è consigliabile verificare la compatibilità della camera con la RPi a questo link. Vengono qui infatti documentati dagli utenti i test di funzionamento dei diversi modelli in commercio.

Le camera con interfaccia USB 2.0 compatibile vengono riconosciute immediatamente dalla distribuzione Linux, che include i driver UVC. Le API di V4L permettono di avere a disposizione un semplice meccanismo di cattura. Queste API sono già integrate nelle funzioni di acquisizione di OpenCV.

Leggendo le prove di compatibilità delle camera USB si nota che, in generale, la max frame rate e risoluzione non sono facili da raggiungere. Noi abbiamo testato due camere della Trust che avevamo a disposizione e che non sono ancora documentate a questo link ma non siamo riusciti a raggiungere i requisiti di risoluzione che ci eravamo imposti per 5fps.  Un problema in cui ci siamo imbattuti riguarda l’elevata latenza iniziale di acquisizione (circa 2sec.).

In maggio 2013, RPi ha rilasciato ufficialmente un modulo camera basato sul sensore video a 5Mpx l’OV5647 della Omnivision, che usa l’interfaccia CSI, Abbiamo scelto di testare questa soluzione, dimostratasi immediatamente più performante. Le caratteristiche tecniche sono le seguenti.

  • Sensore: Omnivision 5647 (5 megapixel)
  • Lenti: 3.6mm F/2.0 focale fissa
  • Interfaccia: CSI – Connection: Camera Serial Interconnect
  • Risoluzione foto (max): 2592×1944 (limitata a1920×1080)
  • Risoluzione video (max): 1920×1080 (1080p) 30fps
  • Dimensioni: 21.6mm x 25mm x 8.65mm
  • Peso: 3g
  • Lunghezza cavo: 150mm

La camera deve essere abilitata attraverso il menù che è visibile andando a digitare il comando “sudo raspi-config” sulla console. La camera è gestita dalla GPU VideoCore IV che limita le performance del sensore. Va sottolineato che l’acquisizione video riduce l’area di visione del sensore del 25% mentre la modalità foto non permette di andare oltre i 2 fps a piena risoluzione (a causa del limitato throughtput tra GPU e ARM).

Sono inoltre disposizione a console due utility per testare rapidamente la camera (alcuni esempi di uso di questi comandi sono visibili qui):

  • raspistill
  • raspivid

Di questi comandi sono anche disponibili i sorgenti, in C,  che possono essere scaricati e compilati per scrivere una propria funzione di acquisizione. In questo caso infatti non è più possibile usare le API di V4L ma è necessario usare un meccanismo che adotti MMAL. Con questa nuova camera è inoltre possibile eseguire molti settaggi che non erano possibili con le API di OpenCV basate su V4L. Infatti, nonostante V4L esponga una ricca interfaccia per i settaggi, l’unico settaggio implementato è quello della risoluzione della camera.

Ad esempio, con l’utility ‘raspstill’ sono disponibili le seguenti modalità, modificabili anche mentre la camera è in acquisizione:

  • ex: off,auto,night,nightpreview,backlight,spotlight,sports, snow,beach,verylong,fixedfps,antishake,fireworks;
  • awb: off,auto,sun,cloud,shade,tungsten,fluorescent, incandescent,flash,horizon.

 

Per sfruttare la libreria OpenCV è necessario convertire il frame acquisito in un formato compatibile. come il formato Mat.

OPENCV

I riferimenti alla libreria OpenCV sono già contenuti nel repository della distribuzione Raspbian “wheezy”. Per installarla è possible digitare da riga di comando:

  • sudo apt-get install libcv-dev libopencv-dev libcv2.3 opencv-doc

 

Segue…

Logo di Ecosister - Ecosistema Territorizale di Innovazione per l'Emilia-Romagna

Ecosister

Il progetto Ecosister supporta la transizione ecologica del sistema economico e sociale dell’Emilia-Romagna. Attraverso un processo che coinvolge trasversalmente diversi settori, tecnologie e competenze, il progetto mira a mantenere il ruolo di leadership dell’Emilia-Romagna, a livello nazionale e internazionale. L’obiettivo è coniugare la transizione digitale e la sostenibilità con il lavoro e il benessere delle […]

Regole semplificate dal MIUR per Ricerca e Innovazione

  Semplificazione nelle procedure di erogazione dei fondi, nuovi criteri per la valutazione dei progetti, rinnovamento degli strumenti normativi e finanziari a favore dell’attivita’ di ricerca in Italia. Ecco quanto prevede il nuovo decreto firmato dal Ministro Francesco Profumo che, dopo 13 anni , rivisita la normativa vigente (decreto 593 del 2000) sulla gestione del […]

Piccole imprese crescono in Rete

Dal 17 al 19 aprile si è tenuta a BolognaFiere Pharmintech, fiera internazionale dell’industria farmaceutica, parafarmaceutica e nutrizionale e dei rispettivi indotti. A farla da padrone è stato ovviamente il comparto farmaceutico e le tecnologie da un lato legate al prodotto stesso e dall’altro al processo di confezionamento del farmaco. Su questo versante, accanto ad eccellenze […]
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram