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…

Open-Next

OPEN-NEXT è un progetto di ricerca industriale presentato da T3LAB e approvato sul “Bando per progetti di ricerca industriale strategica rivolti agli ambiti prioritari della strategia di specializzazione intelligente” – Dgr 774/2015 all’interno del POR-FESR 2014-2020 della Regione Emilia-Romagna, Asse 1, Azione 1.2.2. Partner di progetto – T3LAB (Coordinatore) – CIRI ICT, Università di Bologna […]
Logo StreamER

StreamER

Valutare la salute degli habitat sottomarini e l’integrità delle infrastrutture marittime (porti, gasdotti e oleodotti, rigassificatori e piattaforme offshore, …) è fondamentale per determinare l’impatto dei cambiamenti climatici e delle attività umane sulle risorse naturali e la sicurezza degli approvvigionamenti energetici e del trasporto di merci e persone. Lo scenario è tuttavia complicato dalle difficoltà […]

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 […]
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram