IT202100007499A1 - HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT - Google Patents

HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT Download PDF

Info

Publication number
IT202100007499A1
IT202100007499A1 IT102021000007499A IT202100007499A IT202100007499A1 IT 202100007499 A1 IT202100007499 A1 IT 202100007499A1 IT 102021000007499 A IT102021000007499 A IT 102021000007499A IT 202100007499 A IT202100007499 A IT 202100007499A IT 202100007499 A1 IT202100007499 A1 IT 202100007499A1
Authority
IT
Italy
Prior art keywords
analysis
extraction
face
dedicated
image
Prior art date
Application number
IT102021000007499A
Other languages
Italian (it)
Inventor
Riccardo Miggiano
Original Assignee
Enkeli Customer Partner S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enkeli Customer Partner S R L filed Critical Enkeli Customer Partner S R L
Priority to IT102021000007499A priority Critical patent/IT202100007499A1/en
Publication of IT202100007499A1 publication Critical patent/IT202100007499A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Description

Descrizione dell?invenzione avente per titolo: Description of the invention entitled:

?ARCHITETTURA DI RETE TELEMATICA IBRIDA DEDICATA A DEI PROCESSI DI ESTRAZIONE E DI VALUTAZIONE DELLE OPINIONI PER MEZZO DELL?EXPRESSION ANALISYS E RELATIVA ELETTRONICA E SOFTWARE CHE NE FANNO PARTE? ?HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT?

Descrizione Description

Settore cui attiene l?invenzione Sector to which the invention pertains

L?invenzione fa riferimento in generale al settore delle applicazioni Internet, in particolare essa fa riferimento alle applicazioni nell?ambito dell?Expression Analysis vale a dire l?estrazione e l?analisi delle opinioni espresse da persone, riguardo a prodotti o servizi, considerando nell?esame anche le emozioni rilevabili dall?espressivit? del volto. The invention refers in general to the sector of Internet applications, in particular it refers to applications in the context of Expression Analysis, i.e. the extraction and analysis of the opinions expressed by people, regarding products or services, considering in Does it also examine the emotions detectable by the expressiveness? of the face.

Tecnica nota Known technique

Internet si ? sviluppato in un ambiente accademico di reciproca fiducia, in cui tutti potevano leggere, modificare o aggiungere informazioni. l?IoT (internet of things) sta decollando in un ambiente pi? smaliziato dove le aspettative dell?opinione pubblica e dei governi in materia di sicurezza e privacy sono molto alte, e la sicurezza delle informazioni ? una delle principali preoccupazioni delle imprese. Occorre quindi lavorare in un ambiente sicuro fin dall?inizio, proteggendo le informazioni personali, i segreti aziendali e l?infrastruttura critica poich? l?IoT porta una nuova serie di problemi, come la sicurezza dei device, la sicurezza e la robustezza dei sistemi informatici. Nuovi tipi di attacco, oltre a nuove normative sulla privacy e sulla sicurezza informatica, possono destabilizzare molti settori. Tuttavia, i vantaggi economici dell?IoT come fattore di abilitazione per l?analisi, l?automazione, l?ottimizzazione dei processi e delle risorse non possono essere sottovalutati. Per avere successo con la trasformazione che l?IoT sta conducendo, le industrie devono raccogliere competenze e comprendere le nuove minacce e come attenuarle. Internet yes? developed in an academic environment of mutual trust, where everyone could read, edit or add information. IoT (internet of things) is taking off in a faster environment savvy where the expectations of public opinion and governments in terms of security and privacy are very high, and information security? one of the major concerns of businesses. So you need to work in a secure environment from the start, protecting your personal information, business secrets and critical infrastructure as you work. IoT brings a new set of problems, such as device security, security and robustness of computer systems. New types of attacks, as well as new privacy and cybersecurity regulations, can destabilize many industries. However, the economic benefits of IoT as an enabler for analytics, automation, process and resource optimization cannot be underestimated. To succeed with the transformation that the IoT is driving, industries need to gather expertise and understand new threats and how to mitigate them.

Per il reparto IT, l?IoT crea la necessit? di gestire un gran numero di diversi tipi di dispositivi, molti dei quali potrebbero non essere in grado di chiedere ad un utente le credenziali di accesso o di eseguire il tradizionale controllo di sicurezza. Per gli hacker, la quantit? e la diversit? di questi dispositivi aumentano la potenziale superficie di attacco, comprendendo tra i dati potenzialmente sensibili, alcuni tipi di rilevazioni del tutto nuovi per questo scenario. For the IT department, the IoT creates the need manage a large number of different types of devices, many of which may not be able to ask a user for login credentials or perform the traditional security check. For hackers, the amount? and diversity? of these devices increase the potential attack surface, including among the potentially sensitive data, some completely new types of detections for this scenario.

L?applicazione della Expression Analysis ? un notevole balzo in avanti rispetto allo studio, ormai standard, del comportamento dell?utente/cliente; integrando nella rilevazione anche le emozioni sulla base dell?espressivit? del volto, ? chiaro che rilevare dati cos? sensibili con strumenti standard e di uso comune rappresenta un rischio dalle conseguenze incalcolabili. The application of Expression Analysis ? a significant leap forward from the now standard study of user/customer behavior; also integrating emotions into the survey on the basis of expressiveness? of the face, ? clear that detecting data cos? sensitive with standard and commonly used tools represents a risk with incalculable consequences.

Solitamente intendiamo l?Expression Analysis come l?estrazione e l?analisi delle opinioni espresse dei soggetti riguardo a prodotti o servizi, sia per misurare la percezione che gli utenti hanno di un determinato marchio di mercato, sia per la reazione rilevate in ambiti di interazione non necessariamente legate a una situazione di acquisto del bene stesso. We usually understand Expression Analysis as the extraction and analysis of the opinions expressed by subjects regarding products or services, both to measure the perception that users have of a certain market brand, and for the reaction detected in non- necessarily linked to a situation of purchase of the good itself.

L?intelligenza artificiale coinvolge tutte quelle operazioni caratteristiche dell?intelletto umano ed eseguite da computer. Queste includono la pianificazione, la comprensione del linguaggio, il riconoscimento di oggetti e suoni, l?apprendimento e la risoluzione dei problemi. Il cervello, in base agli input sensoriali, prende decisioni, inviando segnali al corpo per comandare i relativi movimenti. Artificial intelligence involves all those operations characteristic of the human intellect and performed by computers. These include planning, understanding language, recognizing objects and sounds, learning and problem solving. The brain, based on sensory inputs, makes decisions, sending signals to the body to command the relative movements.

L?IoT non ? nient?altro che un insieme di sensori collegati, e grazie all?intelligenza artificiale si ha la possibilit? di dare un senso a tutti i dati acquisiti e attraverso il sistema di controllo, ovvero il cuore del circuito, la CPU, si riesce a prendere decisioni catalogando in maniera quantitativa e qualitativa il dato rilevato dal sensore, dove sensore deve essere inteso nell?accezione pi? larga possibile. The IoT is not nothing but a set of connected sensors, and thanks to artificial intelligence you have the possibility? to make sense of all the acquired data and through the control system, or the heart of the circuit, the CPU, it is possible to make decisions by cataloging the data detected by the sensor in a quantitative and qualitative way, where sensor must be understood in the sense more wide as possible.

ll machine learning ? essenzialmente una strada per l?attuazione dell?intelligenza artificiale; una specie di sottogruppo dell?AI che si concentra sulla capacit? delle macchine di ricevere una serie di dati e di apprendere da soli, modificando gli algoritmi man mano che ricevono pi? dati su quello che stanno elaborando. Molto spesso, i termini AI e machine learning (ML) sono usati in modo intercambiabile. machine learning ? essentially an avenue for implementing artificial intelligence; a kind of subgroup of the AI that focuses on the ability? of the machines to receive a series of data and to learn by themselves, modifying the algorithms as they receive more? data about what they are processing. Very often, the terms AI and machine learning (ML) are used interchangeably.

Il termine ?machine learning? ? stato coniato successivamente all?AI, inteso come ?la capacit? di una macchina di apprendere senza essere programmata esplicitamente?. L?apprendimento automatico ? un modo quindi per ?educare? un algoritmo in modo che possa apprendere da varie situazioni ambientali. L?educazione, o ancora meglio l?addestramento, implica l?utilizzo di enormi quantit? di dati e un efficiente algoritmo al fine di adattarsi (e migliorarsi) in accordo alle situazioni che si verificano. The term ?machine learning? ? been coined after all?AI, understood as ?the capacity? of a machine to learn without being explicitly programmed?. Machine learning ? therefore a way to ?educate? an algorithm so that it can learn from various environmental situations. Education, or even better training, involves the use of huge amounts of water? of data and an efficient algorithm in order to adapt (and improve) according to the situations that occur.

Il Machine learning automatizza la costruzione del modello analitico. Usa metodi di reti neurali, modelli statistici e ricerche operative per trovare informazioni nascoste nei dati. Una rete neurale ? ispirata al funzionamento del cervello umano. ? un sistema di calcolo costituito da unit? interconnesse (come i neuroni) che elaborano le informazioni rispondendo a input esterni, trasmettendo quindi le relative informazioni tra diverse unit?. Machine learning automates the construction of the analytical model. Use neural network methods, statistical modeling, and operations research to find hidden insights in data. A neural network? inspired by the functioning of the human brain. ? a computing system made up of units? interconnected (such as neurons) that process information by responding to external inputs, thus transmitting the related information between different units.

Un esempio classico di machine learning ? rappresentato dai sistemi di visione artificiale, ovvero la capacit? di un sistema computazionale di riconoscere oggetti acquisiti digitalmente da sensori di immagine. L?algoritmo impiegato in questi casi dovr? riconoscere determinati oggetti, distinguendoli tra animali, cose e persone, e nello stesso tempo imparando dalle situazioni, ovvero avere memoria di ci? che si ? fatto per impiegarlo efficacemente nelle prossime acquisizioni di visione artificiale impiegate soprattutto nei sistemi Automotive. A classic example of machine learning? represented by artificial vision systems, or the ability? of a computational system to recognize objects acquired digitally by image sensors. The algorithm used in these cases will have to? recognize certain objects, distinguishing them between animals, things and people, and at the same time learning from situations, or have memory of what? what yes? made to use it effectively in the next acquisitions of artificial vision used above all in Automotive systems.

Il deep learning utilizza modelli di reti neurali con varie unit? di elaborazione; sfrutta i progressi computazionali e tecniche di training per apprendere modelli complessi attraverso una enorme quantit? di dati. Le applicazioni comuni includono l?image e lo speech recognition. Il concetto di apprendimento profondo/approfondito viene a volte indicato semplicemente come ?rete neurale profonda?, in riferimento ai numerosi livelli coinvolti. Does deep learning use neural network models with various units? processing; leverages computational advances and training techniques to learn complex models across a huge amount of of data. Common applications include image and speech recognition. The concept of deep/deep learning is sometimes referred to simply as a ?deep neural network?, referring to the many layers involved.

Nella Figura 1 viene rappresentata in funzione degli anni la tendenza percentuale mensile delle ricerche su stack overflow, avendo riportato: Figure 1 shows the monthly percentage trend of stack overflow searches over the years, having reported:

? tratteggiato un procedimento di analisi per machine learning; ? outlined an analysis procedure for machine learning;

? tratto pieno un procedimento di analisi per deep learning; ? full stroke an analysis procedure for deep learning;

? e tratto - punto un procedimento di analisi tipo artificial intelligence. ? and I draw - point an analysis procedure of the artificial intelligence type.

In questi ultimi anni, sia l?apprendimento automatico che l?apprendimento approfondito hanno fatto enormi passi avanti per l?intelligenza artificiale. Tutti e due richiedono enormi quantit? di dati raccolti da una miriade di sensori che continuano a riempire l?ecosistema dell?Internet of Things, rendendo migliore quindi l?intelligenza artificiale. In recent years, both machine learning and deep learning have made huge strides for artificial intelligence. Both require huge quantities? of data collected by a myriad of sensors that continue to fill the ecosystem of the Internet of Things, thus making artificial intelligence better.

Il miglioramento dell?ecosistema IoT guida l?intelligenza artificiale e quindi gli approcci impiegati per una corretta implementazione. The improvement of the IoT ecosystem drives the artificial intelligence and therefore the approaches used for a successful implementation.

Gli sviluppi nell?elaborazione dei computer e nell?archiviazione dei dati hanno permesso di acquisire e analizzare pi? dati. La riduzione dei chip dei computer e le tecniche di produzione migliorate implicano sensori pi? economici e potenti. La connettivit? wireless offre un alto volume di dati a tariffe molto economiche, e consentono a tutti quei sensori di inviare dati al cloud. La nascita del cloud ha permesso inoltre una memorizzazione virtualmente illimitata di questi dati e una notevole capacit? computazionale di elaborazione. Tutti questi progressi hanno portato l?intelligenza artificiale sempre pi? vicino all?obiettivo finale di creare macchine intelligenti che stanno entrando sempre pi? nella vita quotidiana. Advances in computer processing and data storage have made it possible to capture and analyze more data. data. Shrinking computer chips and improved manufacturing techniques mean smarter sensors? cheap and powerful. The connectivity wireless offers a high volume of data at very cheap rates, and allows all those sensors to send data to the cloud. The birth of the cloud has also allowed a virtually unlimited storage of this data and a considerable capacity? computational processing. All these advances have brought artificial intelligence more and more. close to the final goal of creating intelligent machines that are entering more and more? in daily life.

Su queste tecnologie hanno investito moltissimo tutti i principali player e, a questo punto, ci si aspetta il lancio di prodotti e servizi concretamente utilizzabili o scatter? il momento della disillusione. All the main players have invested heavily in these technologies and, at this point, are we expecting the launch of concretely usable or scatter products and services? the moment of disillusionment.

Spesso si vedono esempi di servizi cognitivi che possono essere usati da qualunque utente senza installare nulla in locale. Come per esempio succede coi Cognitive Services della piattaforma Azure: essi permettono di attivare funzionalit? di riconoscimento dei volti, del testo in linguaggio naturale, del parlato, delle immagini appoggiandosi alle risorse computazionali disponibili sul cloud, servizi analoghi sono ritrovabili sulle piattaforme cloud degli altri due giganti Amazon e Google. You often see examples of cognitive services that can be used by any user without installing anything locally. As for example happens with the Cognitive Services of the Azure platform: they allow to activate functionalities? recognition of faces, text in natural language, speech, images relying on the computational resources available on the cloud, similar services can be found on the cloud platforms of the other two giants Amazon and Google.

Praticamente ovunque nel mondo si ha la possibilit? che i segnali esterni vengono trattati ed elaborati da un insieme di nodi d?ingresso, a loro volta collegati con molteplici nodi interni (organizzati a livelli): ciascun nodo elabora i segnali ricevuti e trasmette il risultato ai nodi successivi. Practically everywhere in the world you have the possibility? that the external signals are treated and processed by a set of input nodes, in turn connected with multiple internal nodes (organized at levels): each node processes the signals received and transmits the result to the subsequent nodes.

Dal momento che le reti neurali sono addestrate utilizzando dati, le connessioni fra i neuroni vengono cos? rafforzate e l?output va via a via a formare pattern ossia schemi ben definiti utilizzabili dalla macchina per prendere decisioni, classificare e identificare. Since neural networks are trained using data, the connections between neurons are thus strengthened and the output gradually forms patterns, i.e. well-defined schemes that can be used by the machine to make decisions, classify and identify.

Riconoscere le espressioni e le emozioni facciali ? un?abilit? di base che viene appresa in tenera et? e importante per le interazioni sociali umane. Gli uomini possono guardare il volto di una persona e riconoscere rapidamente le comuni emozioni di rabbia, felicit?, sorpresa, disgusto, tristezza e paura. Trasferire questa abilit? su una macchina ? un compito complesso. I ricercatori hanno dedicato decenni di tempo ingegneristico alla stesura di programmi per computer che riconoscono una funzionalit? con precisione, dovendo ripetere lo stesso processo per riconoscere una funzionalit? leggermente diversa. Recognize facial expressions and emotions ? a? skill? basic that is learned at an early age? and important for human social interactions. Men can look at a person's face and quickly recognize the common emotions of anger, happiness, surprise, disgust, sadness and fear. Transfer this skill? on a car ? a complex task. Researchers have spent decades of engineering time writing computer programs that recognize a feature? accurately, having to repeat the same process to recognize a feature? slightly different.

Le tecniche di deep learning risultano promettenti nel ridurre i tassi di errore nel riconoscimento e nella classificazione dei sistemi di visione artificiale. L?implementazione deep learning nei sistemi embedded pu? aiutare le macchine a interpretare visivamente le espressioni facciali, con livelli di accuratezza quasi umani. Il riconoscimento delle espressioni facciali ?, infatti, il settore che sta acquisendo maggiore importanza ed ? quindi al centro di studi e applicazione di algoritmi nuovi in maniera quasi costante, sebbene ci siano gi? metodi per identificare espressioni usando l?apprendimento automatico (machine learning). Sintesi dell?invenzione Deep learning techniques show promise in reducing error rates in the recognition and classification of computer vision systems. The deep learning implementation in embedded systems can help machines interpret facial expressions visually, with near-human levels of accuracy. The recognition of facial expressions is, in fact, the sector that is gaining more importance and is? therefore at the center of studies and application of new algorithms almost constantly, although there are already? methods for identifying expressions using machine learning. Summary of the invention

L?obiettivo principale della presente invenzione ? di implementare una piattaforma che integri la funzione di Analisi del sentimento degli utenti utilizzando e correlando le foto ad eventi specifici. A titolo di esempio: verificare l?espressivit? del volto di immagini postate in corrispondenza di un evento sportivo, di una manifestazione o di un concerto; analizzare le immagini attraverso la piattaforma, con lo scopo di classificare le emozioni delle persone riprese per tracciare la percezione che i soggetti hanno in funzione dello specifico evento correlato. The main objective of the present invention ? to implement a platform that integrates the User Sentiment Analysis function using and correlating photos to specific events. By way of example: check l? expressiveness? of the face of images posted at a sporting event, a demonstration or a concert; analyze the images through the platform, with the aim of classifying the emotions of the people filmed to trace the perception that the subjects have as a function of the specific related event.

La soluzione secondo la presente invenzione si pone lo scopo di superare le problematiche esposte poc?anzi. Per riuscire in questo obiettivo ? stato necessario applicare un processo di ricerca specifico nell?analisi dell?espressivit? del volto e, soprattutto, sugli algoritmi da sviluppare partendo dalle innovazioni nel campo dell?intelligenza artificiale. ? stato necessario adottare degli strumenti di video analysis applicata al volto, partendo da algoritmi di base di Face Detection e Face Recognition, aggregando strumenti che possono verificare l?orientamento e la postura assunti dall?utente ripreso nelle immagini oggetto di analisi. The solution according to the present invention has the aim of overcoming the problems described above. To succeed in this goal? Was it necessary to apply a specific research process in the analysis of expressiveness? of the face and, above all, on the algorithms to be developed starting from the innovations in the field of artificial intelligence. ? It was necessary to adopt video analysis tools applied to the face, starting from basic Face Detection and Face Recognition algorithms, aggregating tools that can verify the orientation and posture assumed by the user captured in the images being analysed.

In particolare ? implementata una architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi delle opinioni, in merito a prodotti e servizi, fornite da persone attraverso l?espressivit? del volto, comprendente un?unit? server centrale e delle unit? client di rilevazione ad essa connesse, distribuite. In particular ? implemented a hybrid telematic network architecture dedicated to the processes of extraction and analysis of opinions, regarding products and services, provided by people through the? of the face, including a? unit? central server and unit? discovery clients connected to it, distributed.

L?unit? server comprende: The unit server includes:

i. un?unit? centrale di processo; the. a?unit? process central;

ii. almeno una unit? di memoria per l?esecuzione delle diverse applicazioni; iii. delle unit? di memorizzazione di massa delle informazioni rilevate; iv. delle porte di interfacciamento e di comunicazione con le unit? client; le unit? client a loro volta comprendendo ciascuna: ii. at least one unit? of memory for the execution of the various applications; iii. of the units? mass storage of the information detected; iv. of the ports of interfacing and communication with the unit? clients; the units? client in turn comprising each:

a) delle unit? periferiche di processo; a) of the units? process peripherals;

b) delle telecamere connesse ciascuna alla rispettiva unit? periferica di processo. b) of the cameras connected each to the respective unit? process device.

Le immagini acquisite, dalle Camera Unit del client sono trasferite alle funzionalit? di Processing del server, soggette ad un processo di analisi in tempo reale comprendente le fasi relative al riconoscimento dei volti, ed alla determinazione delle espressioni, attraverso applicativi dedicati utilizzanti tecniche di Deep Learning. L?acquisizione delle immagini, oltre che dalle unit? client ? effettuata anche tramite l?utilizzo delle API di connessione ai vari social media, in base ai tag degli eventi in corso. L?acquisizione dei video ? implementata, rilevando i video caricati sui vari social network, che sono considerati come dei nodi di un grafo sociale. The images acquired from the client's Camera Units are transferred to the functionalities? of Processing of the server, subject to a process of analysis in real time including the phases relating to the recognition of faces, and to the determination of expressions, through dedicated applications using Deep Learning techniques. The acquisition of the images, as well as from the unit? client ? also carried out through the use of the connection APIs to the various social media, based on the tags of the events in progress. Video capture? implemented, detecting the videos uploaded on various social networks, which are considered as nodes of a social graph.

Al solo scopo di meglio comprendere l?invenzione e senza con ci? volerne limitare l?ambito di validit?, il trovato verr? illustrato in base ad una serie di realizzazioni preferite con riferimento alle figure allegate, in cui: For the sole purpose of better understanding the? Invention and without thereby? wanting to limit the scope of validity?, the invention will come? illustrated based on a series of preferred embodiments with reference to the accompanying figures, in which:

- Figura 1 ? un grafico in cui sono evidenziate la attuali tendenze delle ricerche su Stack Overflow; - Figure 1 ? a graph highlighting current trends in searches on Stack Overflow;

- Figura 2 ? un diagramma a blocchi che fa riferimento al processo di trasformazione delle immagini in vettori di funzione; - Figure 2 ? a block diagram referring to the process of transforming images into function vectors;

- Figura 3 ? un diagramma a blocchi che fa riferimento ad un diverso processo di trasformazione delle immagini in vettori di funzione; - Figure 3 ? a block diagram referring to a different process of transforming images into function vectors;

- Figura 4 ? un diagramma a blocchi che evidenzia un confronto tra il procedimento di machine learning tradizionale e il procedimento di deep learning; - Figure 4 ? a block diagram that highlights a comparison between the traditional machine learning process and the deep learning process;

- Figura 5 ? un diagramma a blocchi in cui sono evidenziate le varie fasi dell?expression analysis; - Figure 5 ? a block diagram highlighting the various stages of expression analysis;

- Figura 6 ? un diagramma a blocchi che fa riferimento ad un processo di classificazione; - Figure 6 ? a block diagram referencing a classification process;

- Figura 7 ? riferita ad una tecnica di partizionamento nell?ambito di un procedimento di localizzazione del viso; - Figure 7 ? referring to a partitioning technique in the context of a face localization procedure;

- Figura 8 ? una vista dei componenti assemblati, secondo l?invenzione, costituenti il sistema di rilevazione ed elaborazione dei dati relativi alle immagini; - Figure 8 ? a view of the assembled components, according to the invention, constituting the system for detecting and processing the data relating to the images;

- Figura 9 ? uno schema generale dell?architettura di rete telematica secondo l?invenzione; - Figure 9 ? a general diagram of the telematic network architecture according to the invention;

- Figura 10 ? una vista combinata di schede circuitali che implementano il sistema secondo la presente invenzione, - Figure 10 ? a combined view of circuit boards implementing the system according to the present invention,

- Figura 11 ? uno schema che riporta la allocazione della camera unit dei client in una certa area; - Figure 11 ? a schema showing the allocation of the clients' camera unit in a certain area;

- Figura 12 ? una rappresentazione di una serie di filtri utilizzati nelle procedure di Face Recognition. - Figure 12 ? a representation of a set of filters used in Face Recognition procedures.

Descrizione di realizzazioni preferite del trovato Description of preferred embodiments of the invention

Per addestrare un modello, occorre implementare un classificatore; questo utilizza le funzionalit? di un oggetto per provare a identificare la classe a cui appartiene. Per esempio, il classificatore pu? essere addestrato per rilevare se l?immagine ? una: To train a model, you need to implement a classifier; does this use the features? of an object to try to identify which class it belongs to. For example, the classifier can be trained to detect if the? image ? a:

Bicicletta; Bicycle;

Barca; Boat;

Auto; Car;

Aereo. Airplane.

I quattro oggetti sopra sono le classi che il classificatore deve riconoscere. Per costruire un classificatore, ? necessario disporre di alcuni dati come input e assegnargli un?etichetta. L?algoritmo prende questi dati, trova un modello e poi lo classifica nella classe corrispondente. The four objects above are the classes that the classifier must recognize. To build a classifier, ? You need to have some data as input and give it a label. The algorithm takes this data, finds a model, and then classifies it into the corresponding class.

Questo compito ? chiamato apprendimento supervisionato. Nell?apprendimento supervisionato, i dati di allenamento forniti all?algoritmo includono un?etichetta. La formazione di un algoritmo richiede di seguire alcuni passaggi standard: This task ? called supervised learning. In supervised learning, the training data fed to the algorithm includes a label. Training an algorithm requires following some standard steps:

Raccogliere i dati Collect data

Addestrare il classificatore(training) Train the classifier(training)

Fare previsioni Make previsions

Il primo passo ? fondamentale, la scelta dei dati giusti far? s? che l?algoritmo abbia successo o fallisca. I dati che si scelgono per formare il modello sono chiamati caratteristiche. Nell?esempio in oggetto, le caratteristiche sono i pixel delle immagini. The first step ? fundamental, the choice of the right data will do? yes that the algorithm succeeds or fails. The data you choose to form the model are called characteristics. In the example in question, the characteristics are the pixels of the images.

Ogni immagine ? una riga mentre ogni pixel ? una colonna. Se l?immagine ha una dimensione di 28x28, il set di dati contiene 784 colonne (28x28). Nell?immagine seguente, ogni immagine ? stata trasformata in un vettore di funzione. L?etichetta indica al computer quale oggetto si trova nell?immagine. In Figura 2 ? riportato un diagramma relativo al processo di trasformazione delle immagini in vettori di funzione. Dalle relative colonne di funzionalit? relative al blocco 20 dei train data e al blocco 21, dei test data, sono ricavati i vettori delle caratteristiche 22? e 22? con le relative etichette 23?, 23?, quali potrebbero essere Bicicletta xxxx, Each image? a line while each pixel ? a column. If the image has a size of 28x28, then the dataset contains 784 columns (28x28). In the following image, each image is been transformed into a function vector. The label tells the computer which object is in the image. In Figure 2 ? reported a diagram relating to the process of transforming images into function vectors. From the related functionality columns? relating to block 20 of the train data and block 21 of the test data, are the vectors of the characteristics 22 obtained? and 22? with the relative labels 23?, 23?, which could be Bicycle xxxx,

barca yyyy, yyyy boat,

automobile vvvv, vvvv car,

aeroplano zzzz. airplane zzzz.

L?obiettivo ? quello di utilizzare questi dati di addestramento per classificare il tipo di oggetto. Il primo passaggio consiste nella creazione delle colonne di funzionalit?. Il secondo passo prevede la scelta di un algoritmo 25 per addestrare il modello che attraverso un procedimento inferenziale 24 permette di fornire in uscita l?istanza finale 26, in questo caso il valore ?automobile?. The target ? to use this training data to classify the type of object. The first step is to create the feature columns. The second step provides for the choice of an algorithm 25 to train the model which, through an inferential procedure 24, allows the output of the final instance 26, in this case the value ?car?.

Al termine del training, il modello riesce a capire quale immagine corrisponde a quale oggetto. At the end of the training, the model can figure out which image corresponds to which object.

Successivamente, ? facile utilizzare il modello per analizzare nuove immagini. Per ogni nuova immagine inserita nel modello, la macchina indica la classe a cui appartiene, applicando una determinata percentuale di afferenza. L?immagine completamente nuova senza etichetta viene analizzata dal modello. Per un essere umano, ? banale individuare l?immagine come un?auto invece la macchina utilizza le sue conoscenze precedenti per capire che anche questa immagine rappresenta un?auto. Subsequently, ? easy to use the model to analyze new images. For each new image inserted in the model, the machine indicates the class to which it belongs, applying a certain percentage of membership. The brand new untagged image is scanned by the model. For a human being, ? trivial to identify the image as a car instead the machine uses its previous knowledge to understand that this image also represents a car.

Nel deep learning, cos? come riportato in Figura 3 la fase di apprendimento avviene attraverso una rete neurale 27. In tale figura sono stati evidenziati, rispetto alla Figura 2 i tre strati connessi della rete neurale 27 preposta al processo di deep learning. Ogni input entra in un neurone ed ? moltiplicato per un ?peso?. Il risultato della moltiplicazione scorre al livello successivo e diventa l?input. Questo processo viene ripetuto per ogni livello della rete fino al livello finale, che ? denominato livello di output; fornisce un valore effettivo per l?attivit? di regressione e una probabilit? di ogni classe per l?attivit? di classificazione. La rete neurale utilizza un algoritmo matematico per aggiornare i pesi di tutti i neuroni. La rete neurale ? completamente ?allenata? quando il valore dei pesi d? un output vicino alla realt?. Ad esempio, una rete neurale ben addestrata pu? riconoscere l?oggetto su un?immagine con una precisione maggiore rispetto alla tradizionale rete neurale. Un set di dati pu? contenere da una dozzina a centinaia di caratteristiche. Il sistema imparer? dalla pertinenza di queste caratteristiche. Tuttavia, non tutte le caratteristiche sono significative per l?algoritmo. Una parte cruciale dell?apprendimento automatico ? trovare un insieme pertinente di caratteristiche per far apprendere qualcosa al sistema. In deep learning, what? as shown in Figure 3, the learning phase takes place through a neural network 27. In this figure, with respect to Figure 2, the three connected layers of the neural network 27 responsible for the deep learning process have been highlighted. Each input enters a neuron and ? multiplied by a ?weight?. The result of the multiplication flows to the next level and becomes the input. This process is repeated for each level of the network up to the final level, which ? called output level; provides an effective value for? activity? of regression and a probability? of each class for? activity? classification. The neural network uses a mathematical algorithm to update the weights of all neurons. The neural network? completely ?trained? when the value of the weights d? an output close to reality?. For example, a well-trained neural network can recognize the object on an image with greater precision than the traditional neural network. A data set can contain from a dozen to hundreds of features. Will the system learn? the relevance of these characteristics. However, not all features are significant to the algorithm. A crucial part of machine learning ? find a relevant set of characteristics to make the system learn something.

Un modo per eseguire questa parte nell?apprendimento automatico ? utilizzare l?estrazione delle caratteristiche in modo da combinare le caratteristiche esistenti per creare un set pi? rilevante di caratteristiche. Pu? essere fatto con PCA, T-SNE o altri algoritmi di riduzione della dimensionalit?. Any way to do this part in machine learning? use feature extraction to combine existing features to create a smaller set? relevant features. Can? be done with PCA, T-SNE or other dimensionality reduction algorithms.

Ad esempio, per l?elaborazione di un?immagine, occorre estrarre manualmente la ?caratteristica? nell?immagine come gli occhi, il naso, le labbra e cos? via. Le caratteristiche estratte vengono inviate al modello di classificazione. For example, for processing an image, it is necessary to manually extract the ?feature? in? the image as the eyes, the nose, the lips and cos? Street. The extracted characteristics are sent to the classification model.

Il deep learning risolve questo problema, specialmente per una rete neurale convoluzionale. Il primo strato di una rete neurale analizza piccoli dettagli dall?immagine; i livelli successivi uniscono le analisi precedenti per rendere le informazioni pi? complesse. Nella rete neurale convoluzionale, l?estrazione della caratteristica viene eseguita con l?uso del filtro. La rete applica un filtro all?immagine per vedere se esiste una corrispondenza, ovvero la forma della funzione ? identica a una parte dell?immagine. Se esiste una corrispondenza, la rete utilizzer? questo filtro. Il processo di estrazione delle caratteristiche viene quindi eseguito automaticamente. Deep learning solves this problem, especially for a convolutional neural network. The first layer of a neural network analyzes small details from the image; the following levels combine the previous analyzes to make the information more complex. In the convolutional neural network, feature extraction is done with the use of filtering. The network applies a filter to the image to see if there is a match, i.e. the shape of the function ? identical to a part of the image. If there is a match, the network will use this filter. The feature extraction process then runs automatically.

La Figura 4 riporta uno schema comparativo che evidenzia la differenza tra deep e traditional machine learning. In esso partendo da un dato ingresso 28, nel primo schema A relativo al traditional machine learning si entra in una fase di feature extration 29 e una successiva classificazione 30, cui segue al termine, l?uscita identificativa 26. Invece nella procedura B, la fase di feature extraction e la fase di classificazione sono integrate in una sola funzione interattiva 31 che produce, in ogni caso, un output identificativo 26. Figure 4 shows a comparative diagram that highlights the difference between deep and traditional machine learning. In it, starting from a given input 28, in the first scheme A relating to traditional machine learning, one enters a phase of feature extration 29 and a subsequent classification 30, which is followed at the end by the identifying output 26. Instead in procedure B, the feature extraction phase and the classification phase are integrated in a single interactive function 31 which produces, in any case, an identifying output 26.

Il deep learning ? di fatto solo il punto di partenza per il face recognition. L?estrazione 34 delle espressioni del volto umano, che in inglese ? definito appunto come Face Expression Recognition (FER), ? un processo che viene definito principalmente da tre fasi: pre-processamento 32, estrazione delle caratteristiche (feature extraction) 29 e classificazione (classification) 30. La fase di pre-processing 32 serve per la trasformazione dell?input in modo tale da rendere la sua successiva elaborazione pi? semplice e pi? accurata. In generale l?estrazione delle caratteristiche serve per la riduzione delle dimensioni delle informazioni necessarie per descrivere un set di dati, altrimenti troppo grande. Quando i dati di input in un algoritmo sono troppi per essere elaborati e si sospetta che siano ridondanti, allora possono essere trasformati in un set ridotto. Si parte da un insieme basilare di dati misurati e vengono creati valori derivati (caratteristiche) destinati a essere informativi e non ridondanti, facilitando le successive fasi di apprendimento e generalizzazione. La ?classificazione? 30 ? la fase in cui il sistema ha il compito di trovare la classe di appartenenza di un nuovo input tra un insieme di categorie gi? definite e generate da un insieme di osservazioni fatte in precedenze e gi? categorizzate, chiamato ?training set?. Ad esempio, data una mail un sistema pu? decidere se questa sia spam o no basandosi su la posta ricevuta precedentemente e gi? etichettata. La classificazione ? tipicamente un?istanza di apprendimento supervisionato, ovvero un apprendimento in cui ? gi? disponibile un set di training costituito da immagini correttamente identificate. Deep learning? in fact only the starting point for face recognition. The extraction 34 of human facial expressions, which in English is precisely defined as Face Expression Recognition (FER), ? a process that is mainly defined by three phases: pre-processing 32, feature extraction 29 and classification (classification) 30. The pre-processing phase 32 serves for the transformation of the input in such a way as to make the its subsequent processing pi? simpler and more accurate. In general, feature extraction is used to reduce the size of the information needed to describe an otherwise too large dataset. When the input data in an algorithm is too much to process and is suspected to be redundant, then it can be transformed into a reduced set. It starts with a basic set of measured data and creates derived values (characteristics) intended to be informative and non-redundant, facilitating subsequent learning and generalization phases. The ?classification? 30 ? the phase in which the system has the task of finding the membership class of a new input among a set of categories already? defined and generated by a set of observations made previously and already? categorized, called ?training set?. For example, given an email, a system can? decide whether this is spam or not based on the mail received previously and already? labeled. The classification? typically an instance of supervised learning, or rather a learning in which ? already A training set consisting of correctly identified images is available.

La procedura non supervisionata corrispondente ? nota come clustering e comporta il raggruppamento dei dati in categorie in base a una certa somiglianza o distanza intrinseca. L? algoritmo che implementa la classificazione 30 ? noto come classificatore termine che a volte si riferisce anche alla funzione matematica, implementata da un algoritmo di classificazione appunto, che mappa i dati di input in una categoria. The corresponding unsupervised procedure ? known as clustering and involves grouping data into categories based on some inherent similarity or distance. L? algorithm implementing classification 30 ? known as classifier term which sometimes also refers to the mathematical function, implemented by a classification algorithm precisely, which maps the input data into a category.

In Figura 5 sono riportati i passi tipici di un processo di expression analysis secondo l?invenzione. La procedura di classificazione 30 vera e propria prevedere a monte l?input da due percorsi diversi: Figure 5 shows the typical steps of an expression analysis process according to the invention. The actual classification procedure 30 foresees the input from two different paths upstream:

? da un lato l?input dell?immagine del viso 28, una prima fase di preelaborazione 32? e una fase di estrazione delle caratteristiche 29?, ? on the one hand the input of the face image 28, a first pre-processing phase 32? and a feature extraction step 29?,

? d?altra parte ? previsto che da una banca dati 33 delle immagini facciali si proceda attraverso ancora una fase di pre-elaborazione 32? e una fase di estrazione delle relative caratteristiche 29?. Il risultato delle attivit? di classificazione 30, sulla base delle due fasi preparatorie citate, ? una catalogazione attraverso delle tassonomie precostituite 34 quali possono essere espressioni tipo sorpresa, sorriso, tristezza, rabbia, paura, disgusto. - Pre-elaborazione ? on the other hand ? expected that from a database 33 of the facial images one proceeds through yet another pre-processing step 32? and a phase of extraction of the relative characteristics 29?. The result of the activities? of classification 30, on the basis of the two preparatory phases mentioned, ? a cataloging through pre-established taxonomies 34 which can be expressions such as surprise, smile, sadness, anger, fear, disgust. - Pre-processing

La pre-elaborazione ? un processo che ha la finalit? di migliorare le prestazioni di un sistema di riconoscimento facciale e che viene eseguito prima del processo di estrazione delle caratteristiche, ovvero ? il primo step di processamento. La preelaborazione delle immagini prevede diversi tipi di tecniche come per esempio il ridimensionamento delle immagini o la regolazione del contrasto al fine di migliorare i frame dei visi che rappresentano le espressioni. Si procedere con la descrizione pi? dettagliata di alcune tecniche. The preprocessing ? a process that has the finality? to improve the performance of a facial recognition system and which runs before the feature extraction process, i.e. ? the first processing step. Image preprocessing involves different types of techniques such as image resizing or contrast adjustment in order to improve the frames of faces representing expressions. You proceed with the description pi? details of some techniques.

- Campionamento di Bessel - Bessel sampling

Il campionamento di Bessel viene utilizzato per la riduzione della dimensione dell?immagine del volto senza per? andare a compromettere il valore percettivo dell?input originale. Si pu? utilizzare il filtro gaussiano per il ridimensionamento le immagini di input. Per ridurre i problemi legati all?illuminazione e alla variazione che variano i volti un metodo possibile ? quello della normalizzazione con filtro mediano. Un filtro mediano ? un filtro non lineare utilizzato per il livellamento del segnale. ? particolarmente utile per rimuovere il rumore di tipo impulsivo da un segnale. Esistono numerose varianti di questo filtro e una variante bidimensionale viene spesso utilizzata nei sistemi DSP per rimuovere rumore e macchie dalle immagini. La funzione non lineare del filtro mediano pu? essere espressa come: Bessel sampling is used for face image size reduction without for? going to compromise the perceptual value of the original input. Can you? use gaussian filter for resizing the input images. To reduce the problems related to lighting and variation that vary faces is a possible method? that of normalization with median filter. A median filter? a non-linear filter used for signal smoothing. ? especially useful for removing impulse-type noise from a signal. There are many variations of this filter, and a two-dimensional variant is often used in DSP systems to remove noise and speckles from images. The nonlinear function of the median filter pu? be expressed as:

y(n) = med [x (n-k),x (n-k+1),....,x (n),....,x (n k -1) y(n) = med [x (n-k),x (n-k+1),....,x (n),....,x (n k -1)

dove y(n) ? l?output del segnale e x(n) l?input. Il filtro colleziona una porzione del segnale contenente N = 2k+1 campioni di input su cui calcola la mediana. Nel pre-processamento di un?immagine il filtro sostituisce il livello di grigio di ogni pixel con la mediana calcolata dai pixel adiacenti. Se il kernel prende un numero pari di pixel allora si calcola la media tra le due mediane. A differenza di altri filtri, come il FIR passa-basso, il filtro mediano riesce a preservare i bordi dell?immagine in modo migliore e per questo motivo ? ampiamente utilizzato nell?elaborazione di immagini digitali. La normalizzazione viene utilizzata anche come metodo per identificare la posizione degli occhi. where y(n) ? the signal output and x(n) the input. The filter collects a portion of the signal containing N = 2k+1 input samples on which it calculates the median. In pre-processing an image, the filter replaces the gray level of each pixel with the median calculated from adjacent pixels. If the kernel takes an even number of pixels then the average of the two medians is calculated. Unlike other filters, such as the low-pass FIR, the median filter manages to preserve the edges of the image in a better way and for this reason ? widely used in digital image processing. Normalization is also used as a method of identifying the position of the eyes.

- Localizzatore di Viola-Jones - Viola-Jones locator

Uno dei metodi di pre-processamento pi? robusti per la localizzazione del viso ? il localizzatore di Viola-Jons. Mentre in una Convolutional Neural Networks si utilizza un singolo classificatore che osserva un?immagine completa e applica le operazioni di matrice per arrivare a una classificazione, l?approccio di Viola-Jones adotta un approccio d?insieme. Ci? significa che il Viola-Jones utilizza molti classificatori diversi, ognuno dei quali guarda una diversa porzione dell?immagine. Come riportato in Figura 6, va rilevato come da una immagine 28 possono essere desunti una serie di classificatori (weak) deboli 35?, 35?... 35<n>, per poi giungere a una istanza finale 26 come valore di uscita. One of the most popular pre-processing methods? robust for face tracking ? the Viola-Jons locator. Whereas a single classifier looks at a complete image and applies matrix operations to arrive at a classification in a Convolutional Neural Network, the Viola-Jones approach takes an ensemble approach. There? This means that Viola-Jones uses many different classifiers, each looking at a different portion of the image. As shown in Figure 6, it should be noted that from an image 28 a series of weak classifiers 35?, 35?... 35<n> can be deduced, to then arrive at a final instance 26 as output value.

Ogni singolo classificatore ? pi? debole (meno accurato, produce pi? falsi positivi, ecc.) rispetto al classificatore finale perch? riceve meno informazioni. Quando i risultati di ciascun classificatore vengono combinati, tuttavia, producono un classificatore forte. L?algoritmo si compone di quattro fasi: Every single classifier ? more weak (less accurate, produces more false positives, etc.) than the final classifier because? receives less information. When the results of each classifier are combined, however, they produce a strong classifier. The algorithm consists of four phases:

a-Haar Feature Selection a-Haar Feature Selection

b-Creazione di un?immagine integrale b-Creation of an integral image

c-Algoritmo di Adaboost come trainer c-Adaboost algorithm as trainer

d-Classificatori a cascata d-Cascade classifiers

Uno dei primi contributi allo sviluppo del localizzatore di Viola-Jones ? stata l?introduzione di una serie di funzioni di riconoscimento delle immagini. Il volto umano presenta alcune caratteristiche generali che sono presenti in tutti i visi. Per esempio, la regione degli occhi ? maggiormente pi? scura, mentre quella del naso ? pi? chiara. Inoltre, posizione e distanza tra occhi, bocca e naso costituiscono alcuni tratti riconoscibili. Sono proprio questi tratti che possono essere identificati utilizzando le caratteristiche di Haar. I rettangoli che costituiscono le caratteristiche di Haar vengono calcolati e hanno un valore uguale a An early contribution to the development of the Viola-Jones locator ? was the introduction of a number of image recognition functions. The human face has some general characteristics that are present in all faces. For example, the eye region ? more more dark, while that of the nose ? more clear. Furthermore, the position and distance between the eyes, mouth and nose are some recognizable features. It is precisely these traits that can be identified using Haar's characteristics. The rectangles that make up the Haar features are calculated and have a value equal to

? (pixel nell?area scusa) - ? (pixel nell?area chiara). ? (pixel in area sorry) - ? (pixels in light area).

cos? come riportato in Figura 7 che indica quattro diversi esempi di partizionamento: A, B, C, D. what? as shown in Figure 7 which indicates four different partitioning examples: A, B, C, D.

Usando il concetto di immagine integrale ? possibile scoprire facilmente l?area del rettangolo. Un? immagine integrale ? definita dalla somma dei valori dei pixel dell?immagine originale, dove il valore in posizione (x, y) ? dato dalla somma dei pixel sopra e alla sinistra di quella posizione. Using the integral image concept ? You can easily find out the area of the rectangle. A? full image? defined by the sum of the pixel values of the original image, where the value in position (x, y) ? given by the sum of the pixels above and to the left of that position.

Un classificatore di caratteristiche di Haar utilizza quindi l?integrale del rettangolo per il calcolo del valore. Moltiplica il peso di ciascun rettangolo per la sua area e i risultati vengono cos? sommati. A Haar feature classifier then uses the integral of the rectangle to compute the value. Multiply the weight of each rectangle by its area and the results come out as follows: added up.

Nonostante valutare una caratteristica sia abbastanza rapido il numero totale di features troppo elevato rende poco performante il processo totale. Ad esempio, in una sottofinestra standard 24x24 pixel, si ha un totale di M = 162.336 possibili caratteristiche e quindi il processamento per la valutazione diventa oneroso. Per ovviare al problema, il framework di rilevamento degli oggetti utilizza una variante dell?algoritmo di apprendimento AdaBoost sia per selezionare le migliori caratteristiche sia per formare classificatori che le utilizzino. Questo algoritmo costruisce un classificatore forte come una combinazione lineare di classificatori deboli semplici ponderati. I classificatori forti sono disposti in cascata in ordine di complessit?, in cui ogni successivo classificatore viene addestrato solo su quei campioni selezionati che passano attraverso i classificatori precedenti. Quando viene superato uno step si passa alla fase successiva. Se un?immagine supera tutti gli stage allora si pu? dire che ? stato rilevato un volto. Although evaluating a feature is quite fast, the total number of features that is too high makes the total process underperforming. For example, in a standard 24x24 pixel subwindow, there is a total of M = 162,336 possible features and therefore the evaluation processing becomes onerous. To work around this problem, the object detection framework uses a variant of the AdaBoost learning algorithm to both select the best features and train classifiers to use them. This algorithm constructs a strong classifier as a linear combination of weighted simple weak classifiers. Strong classifiers are cascaded in order of complexity, where each subsequent classifier is trained on only those selected samples that pass through the previous classifiers. When a step is passed, it moves on to the next phase. If a? image exceeds all stages then you can? say what? a face was detected.

L?architettura che ? stata definita a supporto del processo di riconoscimento delle espressioni facciali (e delle relative emozioni) richiede tre step fondamentali: i- acquisizione dei flussi video sulle Camera Unit 70; The architecture that ? been defined to support the recognition process of facial expressions (and related emotions) requires three fundamental steps: i- acquisition of video streams on Camera Unit 70;

ii- trasferimento delle immagini verso il server di processamento 60; ii- transfer of the images to the processing server 60;

iii- elaborazione delle immagini. iii- image processing.

In merito alla implementazione del Server di Computer Vision ci si ? basati sulla disponibilit? di esempi presenti in rete, coadiuvati anche dal prezioso materiale scientifico che avalla e valida molte ipotesi fatte in base alle esigenze di progetto. Partire da una base consolidata ha consentito di ?arricchire? gli script di funzionalit? quali lo storage delle immagini e la comunicazione con altri device presenti nella piattaforma di progetto. Regarding the implementation of the Computer Vision Server, yes? based on availability of examples present on the net, also assisted by the precious scientific material which endorses and validates many hypotheses made on the basis of project requirements. Starting from a consolidated base has made it possible to ?enrich? the feature scripts? such as image storage and communication with other devices present in the project platform.

Come riportato in Figura 8, in una versione preferita il sistema ? stato realizzato con la combinazione ed integrazione dei seguenti dispositivi hardware e software: As shown in Figure 8, in a preferred version the system ? was created with the combination and integration of the following hardware and software devices:

a. Computer 41 basato su CPU Intel i7, to. 41 computer based on Intel i7 CPU,

b. Sistema operativo Linux Ubuntu 16.04 LTS 64Bit, b. Linux Ubuntu 16.04 LTS 64Bit operating system,

c. Redis come database 43 in-memory per la conservazione dei dati, d. Dispositivi di ripresa video 47 (webcam, ipcamera), c. Redis as an in-memory database 43 for data retention, d. 47 video shooting devices (webcam, ipcamera),

e. Framework e librerie di computer vision: And. Computer vision frameworks and libraries:

i- Tensorflow i- Tensorflow

ii- Inception ii- Inception

iii- NCAppZoo iii- NCAppZoo

La Figura 9 ? uno schema rappresentativo della connessione delle telecamere nell?intero sistema con architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi delle opinioni attraverso l?espressivit? del viso, secondo la presente invenzione. Figure 9 ? a representative diagram of the connection of the cameras in the entire system with hybrid telematic network architecture dedicated to the processes of extraction and analysis of opinions through the expressiveness of the face, according to the present invention.

I disegni riportati indicano le componenti con cui ? stato realizzato il sistema di rilevazione di immagini in locale presso il luogo dove si svolge l?evento a cui si ? interessati. L?architettura di rete di tipo client-server ? schematizzata in Figura 9, in cui sono evidenti delle unit? di alimentazione 40, delle unit? di elaborazione centrale 41 lato server 60, cui sono associate delle attivit? di elaborazione numerica 44, dotate di unit? di memoria 42 tipo microSD card con delle funzionalit? di storage, immagazzinamento ed archivio 43. Il collegamento attraverso sockets 45 con una generica unit? periferica 70 prevede l?interlavoro con dispositivi di rilevazione in rete quali delle unit? di elaborazione client 46 a sua volta in connessione con telecamere di rilevazione 47 e/o con ulteriori sensori 48. The drawings shown indicate the components with which ? Has the image detection system been created locally at the place where the event is taking place? interested. The client-server type network architecture? schematized in Figure 9, in which the units are evident? of power 40, of the unit? central processing 41 server side 60, which are associated with the activities? numerical processing 44, equipped with units? memory 42 type microSD card with functionality? of storage, warehousing and archive 43. The connection through sockets 45 with a generic unit? peripheral 70 foresees the interworking with detection devices on the network which of the units? of client processing 46 in turn in connection with detection cameras 47 and/or with further sensors 48.

Per consentire l?immediata trasmissione delle immagini delle telecamere ? stato necessario corredare il circuito con un microcontrollore in grado di inviare il contenuto delle immagini, per il prototipo ? stato utilizzato un Arduino Nano, come da schema di collegamento di Figura 10 per il redirezionamento delle telecamere. To allow the immediate transmission of camera images ? was it necessary to equip the circuit with a microcontroller capable of sending the content of the images, for the prototype ? an Arduino Nano was used, as per the connection diagram in Figure 10 for the redirection of the cameras.

L?invenzione integra le caratteristiche tecniche elettroniche di due diverse famiglie di elaboratori: The invention integrates the electronic technical characteristics of two different families of computers:

A- i Raspberry PI, che sono dei computer a tutti gli effetti, dotati di software e sistema operativo con capacit? di gestione di molti processi eterogenei che condividono le risorse della ?macchina?, gestione in contemporanea di web server, data base, acquisizione ed elaborazione di immagini la comunicazione in rete, condivisione e trasferimento file, e A- the Raspberry PIs, which are computers in all respects, equipped with software and an operating system with the ability? management of many heterogeneous processes that share the resources of the "machine", simultaneous management of web servers, databases, image acquisition and processing, network communication, file sharing and transfer, and

B- Arduino: che ? un microcontrollore con a disposizione una serie di ingressi / uscite e di bus di comunicazione per eseguire un unico programma caricato in modo permanente in memoria con una vasta raccolta di librerie che semplificano il compito dell?interfacciamento dell?I/O e, soprattutto, nell?applicazione de quo, ? ideale per la trasmissione dei video e delle immagini. B- Arduino: what? a microcontroller with a series of inputs / outputs and communication buses available to run a single program permanently loaded into memory with a vast collection of libraries that simplify the task of interfacing the I/O and, above all, in ?application de quo, ? ideal for the transmission of videos and images.

Come riportato in Figura 11 si preferisce che le telecamere 47?, 47?, ?47<n >siano disposte ? nell?ambito della relativa unit? client ? su un perimetro e siano opportunamente interconnesse con il server 60. Ogni sensore ? stato posizionato in base ai punti in cui si pu? dividere l?area interessata come se fosse una mappa piana. Questo permette di avere una matrice in grado di fornire importanti informazioni su quale sia la zona in cui avviene l?evento rilevato (espressione). Lo schema che segue riporta uno schema della distribuzione delle telecamere ipotizzata in un?area medio piccola, in contesti diversi la posizione e il numero delle telecamere pu? tranquillamente variare. In una realizzazione ancor pi? preferita la scheda microcomputer 41 ? dotata di un processore ARM che viene tipicamente adottato sugli smartphone, tablet e diversi dispositivi elettronici. Non possiede un hard disk, come i computer tradizionali, ma utilizza una scheda SD 42 su cui ? contenuto il sistema operativo. La memoria totale disponibile ? di 256MB che se paragonati ai recenti computer possono sembrare molto pochi, ma anche con questa poca memoria la scheda ? in grado di fornire ottime prestazioni. Il tutto ? stato progettato in modo che il sistema operativo sia ottimizzato al fine di ridurre al minimo lo spreco di quantit? di risorse, sia il processore che la memoria. As shown in Figure 11, it is preferable that the video cameras 47?, 47?, ?47<n > are arranged ? within the relative unit? client ? on a perimeter and are suitably interconnected with the server 60. Each sensor ? been positioned on the basis of the points where you can? divide the affected area as if it were a flat map. This makes it possible to have a matrix capable of providing important information on the zone in which the detected event occurs (expression). The diagram that follows shows a diagram of the distribution of the video cameras hypothesized in a medium-small area, in different contexts the position and number of video cameras can quietly vary. In an even more favorite microcomputer board 41 ? equipped with an ARM processor that is typically adopted in smartphones, tablets and various electronic devices. It does not have a hard disk, like traditional computers, but uses an SD 42 card on which? contained the operating system. Total memory available ? of 256MB which if compared to recent computers may seem very few, but even with this little memory the card? capable of providing excellent performance. The whole ? was designed so that the operating system is optimized in order to minimize the waste of quantity? of resources, both processor and memory.

Di seguito sono riportate testualmente le specifiche tecniche Raspberry Pi 3 Raspberry Pi 3 Specification Below is the Raspberry Pi 3 Raspberry Pi 3 Specification verbatim

Quad Core 1.2GHz Broadcom BCM2837 64bit CPU Quad Core 1.2GHz Broadcom BCM2837 64bit CPU

1GB RAM 1GB RAM

BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board

100 Base Ethernet 100Base Ethernet

40-pin extended GPIO 40-pin extended GPIO

4 USB 2 ports 4 USB 2 ports

4 Pole stereo output and composite video port 4 Pole stereo output and composite video port

Full size HDMI Full size HDMI

CSI camera port for connecting a Raspberry Pi camera CSI camera port for connecting a Raspberry Pi camera

DSI display port for connecting a Raspberry Pi touchscreen display DSI display port for connecting a Raspberry Pi touchscreen display

Micro SD port for loading your operating system and storing data Micro SD port for loading your operating system and storing data

Upgraded switched Micro USB power source up to 2.5A Upgraded switched Micro USB power source up to 2.5A

Il Raspberry Pi Zero 46 ? una versione ultra-piccola ed ultra-sottile del noto single-board computer, con un fattore di forma pi? piccolo e connettivit? Wi-Fi e Bluetooth a bordo scheda. Pi? veloce del 40% rispetto al Raspberry Pi (originale) 41 ma ha solo una lunghezza di 65mm, larghezza di 30mm e profondit? di 5mm. Il Raspberry Pi Zero 46 pu? essere equipaggiato con un Raspberry Pi Camera Module v2, una tra le telecamere pi? popolari disponibili per la famiglia Raspberry, con una risoluzione di 8 Mega Pixel e sensore di immagine CMOS Sony IMX219, con una qualit? dell?immagine molto alta e stabile. ? capace di immagini statiche a 3280 x 2464 pixel e supporta anche video 1080p30, 720p60 e 640x480p90. The Raspberry Pi Zero 46 ? an ultra-small and ultra-slim version of the well-known single-board computer, with a smaller form factor? small and connectivity? Wi-Fi and Bluetooth on board. Pi? 40% faster than the (original) Raspberry Pi 41 but is only 65mm long, 30mm wide and 30mm deep. of 5mm. The Raspberry Pi Zero 46 can? be equipped with a Raspberry Pi Camera Module v2, one of the cameras pi? popular available for the Raspberry family, with a resolution of 8 Mega Pixels and Sony IMX219 CMOS image sensor, with a quality? of the very high and stable image. ? capable of 3280 x 2464 pixel static images and also supports 1080p30, 720p60 and 640x480p90 video.

Si collega al Pi tramite una delle piccole prese sulla superficie superiore della scheda e utilizza l?interfaccia CSI dedicata, progettata appositamente per l?interfacciamento con le telecamere. It connects to the Pi via one of the small sockets on the top surface of the board and uses the dedicated CSI interface, designed specifically for interfacing with cameras.

Specifiche tecniche del Raspberry Pi Zero Technical specifications of the Raspberry Pi Zero

Raspberry Pi Zero Specification Raspberry Pi Zero Specification

1GHz single-core CPU 1GHz single-core CPU

512MB RAM 512MB RAM

Mini HDMI port Mini-HDMI port

Micro USB OTG port Micro USB OTG port

Micro USB power Micro USB power

HAT-compatible 40-pin header HAT compatible 40-pin header

Composite video and reset headers Composite video and reset headers

CSI camera connector (v1.3 only) CSI camera connector (v1.3 only)

Dal punto di vista logico il sistema automatico proposto per il riconoscimento delle espressioni facciali ? caratterizzata da una tipica architettura a tre stadi, mostrata nella Figura 5. From a logical point of view, the automatic system proposed for the recognition of facial expressions? characterized by a typical three-stage architecture, shown in Figure 5.

Il primo stadio ? quello responsabile del riconoscimento dei volti 32 e si realizza attraverso tecniche semiautomatiche di elaborazioni delle immagini. Il secondo ? quello che si occupa dell?estrazione degli attributi 29 delle immagini utili al riconoscimento dell?espressione facciale. Tipicamente si tratta di tecniche computazionalmente pi? onerose e per questo applicate alle sole aree dell?immagine in cui sono presenti volti. L?ultimo stadio 30 ? quello invece della classificazione, area in cui i migliori risultati sono ottenuti attraverso l?applicazione di tecniche basate su reti neurali ricorrenti. The first stage? the one responsible for face recognition 32 and is achieved through semi-automatic image processing techniques. The second one ? the one that deals with the extraction of the attributes 29 of the images useful for the recognition of the facial expression. Typically these are techniques that are computationally more? expensive and therefore applied only to areas of the image where there are faces. The last stage 30 ? that instead of classification, an area in which the best results are obtained through the application of techniques based on recurrent neural networks.

Tali stadi di elaborazione sono mappati nell?architettura ibrida del sistema proposta nel modo specificato nella Tabella seguente These processing stages are mapped in the hybrid architecture of the proposed system as specified in the following Table

Tabella 1: Mapping dell?Architettura Table 1: Architecture mapping

Componente Architetturale Stadio di Elaborazione Architectural Component Processing Stage

Raspberry Pi Zero 46 Riconoscimento Facciale Raspberry Pi Zero 46 Facial Recognition

Raspberry Pi 3 41 Estrazione delle Caratteristiche Raspberry Pi 3 41 Feature Extraction

Sistema centralizzato 60 Classificazione delle Espressioni Centralized System 60 Classification of Expressions

Dal punto di vista delle componenti software realizzate allo scopo, il Raspberry 41 che ha il ruolo di Processing Unit si comporta da server, ponendosi in attesa delle richieste di connessione da parte dei client 70. A tale scopo implementando un thread principale (Socket Server) 45 che resta in ascolto su di una porta TCP predefinita e, ad ogni richiesta di connessione, delega la gestione del ciclo di vita della stessa ad un thread figlio. From the point of view of the software components created for this purpose, the Raspberry 41 which has the role of Processing Unit acts as a server, waiting for connection requests from clients 70. For this purpose, it implements a main thread (Socket Server) 45 which listens on a predefined TCP port and, at each connection request, delegates the management of its life cycle to a child thread.

Fortunatamente ? la libreria Python-SocketIO che si occupa di implementare tale meccanismo nel package WSGI. Il codice sorgente riportato di seguito mostra come sia semplice, con tale libreria, realizzare un Multi-threaded server. Luckily ? the Python-SocketIO library that implements this mechanism in the WSGI package. The source code below shows how easy it is to build a Multi-threaded server with this library.

In tale esempio la porta TCP di ascolto ? la 500, mentre l?indirizzo IP ? 0.0.0.0, il che implica che saranno accettate tutte le connessioni provenienti da una qualsiasi interfaccia disponibile sul dispositivo. In this example the listening TCP port ? the 500, while the? IP address ? 0.0.0.0, which implies that all connections from any interface available on the device will be accepted.

Acquisizione Flussi Video Acquisition of Video Streams

L?acquisizione dei flussi video avviene sui Raspberry Pi Zero 46 i quali sono equipaggiati con un Raspberry Pi Camera Module v2 mediante l?utilizzo della libreria mjpeg-streamer. The acquisition of the video streams takes place on the Raspberry Pi Zero 46 which are equipped with a Raspberry Pi Camera Module v2 through the use of the mjpeg-streamer library.

L?acquisizione dei video pu? essere implementata, inoltre, andando a prendere i video caricati sui vari social network 78, tramite l?utilizzo delle Developer API Graph di cui essi dispongono. In tale ambito, i video sono considerati come dei nodi di un grafo sociale, a cui sar? possibile accedere, ovviamente, solamente avendo a disposizione le giuste autorizzazioni. Video capture can Furthermore, it can be implemented by fetching the videos uploaded on the various social networks 78, through the use of the Developer API Graph which they have. In this context, videos are considered as nodes of a social graph, to which it will be? It is possible to access, of course, only with the right authorizations.

Fintanto che il video non abbia particolari requisiti dati da licenze musicali, i permessi seguono le seguenti regole: As long as the video does not have special requirements given by music licenses, the permissions follow the following rules:

Un token di accesso a una pagina pu? vedere i video di quella pagina A page access token can see the videos on that page

Un token di accesso dell?utente pu? vedere ogni video creato dall?applicazione tramite quell?utente A user access token can see every video created by the application through that user

I video dell?utente corrente possono essere visti solo se l?utente ha dato il permesso user_videos e user_posts Current user?s videos can only be viewed if the user has given user_videos and user_posts permission

Ogni token di accesso valido pu? leggere le fotografie su una pagina pubblica Utilizzando, ad esempio, l?API Graph di Instagram, un esempio di acquisizione di immagini dai social Facebook ed Instagram, pu? essere rappresentato dal seguente codice: Each valid access token can read the photographs on a public page Using, for example, the Instagram Graph API, an example of acquiring images from the social networks Facebook and Instagram, can be represented by the following code:

?from itertools import chain ?from itertools import chain

from igql import InstagramGraphQL from igql import InstagramGraphQL

import requests import requests

def get_media_for_hashtag(hashtag): def get_media_for_hashtag(hashtag):

igql_api = InstagramGraphQL() igql_api = InstagramGraphQL()

hashtag = igql_api.get_hashtag(hashtag) hashtags = igql_api.get_hashtag(hashtags)

yield from chain.from_iterable(hashtag.recent_media()) yield from chain.from_iterable(hashtag.recent_media())

def get_media_files_from_hashtag(hashtag): def get_media_files_from_hashtag(hashtag):

for media in get_media_for_hashtag(hashtag): for media in get_media_for_hashtag(hashtag):

url = media[?images?][?standard_resolution?][?url?] url = media[?images?][?standard_resolution?][?url?]

yield requests.get(url).content? yield requests.get(url).content?

Dove ? stata preventivamente installata la libreria apposita: Where ? the specific library has been previously installed:

pip install InstagramGraphQL pip install InstagramGraphQL

- Comunicazione via Socket - Communication via Socket

Una volta che le immagini sono state acquisite dal Raspberry Pi Zero 46, queste devono essere trasferite al Raspberry Pi 3 41 per il loro processamento. Tale operazione viene eseguita con l?ausilio di socket, come schematizzato nelle figure successive. In particolare, sono utilizzate le web socket, una evoluzione della tecnologia che consente di instaurare una comunicazione full-duplex all?interno di una stessa connessione TCP. La libreria utilizzata allo scopo ? Python-SocketIO. Once the images have been acquired by the Raspberry Pi Zero 46, they must be transferred to the Raspberry Pi 3 41 for processing. This operation is performed with the aid of sockets, as schematized in the following figures. In particular, web sockets are used, an evolution of technology which allows full-duplex communication to be established within the same TCP connection. The library used for the purpose ? Python-SocketIO.

Per garantire la comunicazione e l?interscambio dei dati tra il microcontrollore e l?infrastruttura di elaborazione ? stato necessario instaurare una connessione wireless. La soluzione escogitata ha permesso di realizzare una connessione bluetooth tra il microcontrollore 41 e un ulteriore dispositivo di pre-elaborazione 46 (Raspberry Pi Zero). To ensure communication and data exchange between the microcontroller and the processing infrastructure? It was necessary to establish a wireless connection. The devised solution made it possible to create a bluetooth connection between the microcontroller 41 and a further pre-processing device 46 (Raspberry Pi Zero).

Raspberry consente l?avvio di un sistema operativo Linux Like, sono disponibili diverse distribuzioni ma per l?uso specifico il progetto prevede l?impiego di Raspbian. Sono stati quindi installati i pacchetti software necessari alla ricezione dei dati provenienti dai sensori e l?ulteriore armonizzazione degli stessi in un flusso dati gestibili dai sistemi centralizzati. Raspberry allows you to start a Linux Like operating system, several distributions are available but for specific use the project provides for the use of Raspbian. The software packages needed to receive the data from the sensors and further harmonize them into a data flow that can be managed by the centralized systems were then installed.

Ai fini della realizzazione del sistema di rilevamento ed elaborazione, quanto analizzato fino ad adesso, nella presente descrizione, porta a disegnare una prima soluzione utilizzando i componenti che possono rispondere alle esigenze dettate dalle specifiche di progetto. For the purpose of realizing the sensing and processing system, what has been analyzed up to now, in the present description, leads to designing a first solution using the components which can meet the requirements dictated by the project specifications.

Il layout che segue riporta uno schema logico della soluzione che si vuole implementare, partendo dall?evento che si vuole analizzare fino ad arrivare alle interfacce di consultazione che sono di ausilio al personale specializzato. The following layout shows a logical scheme of the solution to be implemented, starting from the event to be analyzed up to the consultation interfaces which are of assistance to specialized personnel.

Sono implementate una serie di videocamere di rilevazione come da schemi riportati nelle figure e ognuna delle quali ? connessa ai database remoti. L?assemblaggio di hardware standard ? supervisionato da addetti opportunamente formati cos? da supplire a problematiche di sicurezza insite negli oggetti presenti nella fase di costruzione. Inoltre ciascun elemento ? opportunamente configurato e testato in modo che le immagini acquisite non permangano mai sul device ma vengano immediatamente scaricate sulla piattaforma centralizzata. Per quanto riguarda le attivit? di storage preelaborazione, l?unit? di storage 43 riceve i dati attraverso la porta di comunicazione 45; ? rispettata una codifica dei dati inviati in modo da distinguere quale sia la sorgente, il valore di riferimento temporale, e la collocazione della telecamera. A series of detection video cameras have been implemented as shown in the diagrams shown in the figures and each of which ? connected to remote databases. The assembly of standard hardware ? supervised by suitably trained staff cos? to make up for the safety problems inherent in the objects present in the construction phase. In addition, each element suitably configured and tested so that the captured images never remain on the device but are immediately downloaded to the centralized platform. As for the activities? of preprocessing storage, the unit? of storage 43 receives the data through the communication port 45; ? complied with an encoding of the data sent in order to distinguish which is the source, the time reference value, and the location of the camera.

L?unit? Raspberry 41 ha nel proprio sistema operativo (Raspian) un modulo software in grado di interpretare e armonizzare questi valori che riceve. The unit Raspberry 41 has in its operating system (Raspian) a software module capable of interpreting and harmonizing these values it receives.

Il sistema prevede la gestione di flussi da API di terze parti. L?acquisizione delle immagini oltre che dai device opportunamente installati e collocati viene effettuata tramite l?utilizzo delle API di connessione ai vari social media 78. In base ai tag degli eventi che combaciano con quello sottoposto ad analisi tramite telecamere ad hoc, diventa quindi possibile accedere all?enorme quantit? dei dati forniti dai maggiori player nel campo dei social, entrando chiaramente nel dominio dei big data. The system provides for the management of flows from third-party APIs. The acquisition of the images as well as from the suitably installed and placed devices is carried out through the use of the connection APIs to the various social media 78. Based on the event tags that match the one subjected to analysis via ad hoc cameras, it therefore becomes possible access to?huge amount? of the data provided by the major players in the field of social networks, clearly entering the domain of big data.

In merito alla metodologia e ai servizi di archiviazione dei dati, va sottolineata la versatilit? di Python: un linguaggio multi-paradigma che ha tra i principali obiettivi dinamicit?, semplicit? e flessibilit?. Esso supporta il paradigma object oriented, la programmazione strutturata e molte caratteristiche di programmazione funzionale. La peculiarit? di questo linguaggio ? che ? stato per anni una valida alternativa a linguaggi di scripting gi? usati abbastanza comunemente, ricavandosi una nicchia in ambito accademico. Ma questo ha fatto si che al momento dello scoppio dell?AI, che si ? sviluppato soprattutto in alcune rinomate universit?, il porting di quasi tutte le librerie in quest?ambito ? stato fatto utilizzando appunto questo linguaggio, facendo schizzare il rating tra i linguaggi pi? utilizzati. With regard to the methodology and data archiving services, the versatility of the data storage should be emphasized. of Python: a multi-paradigm language that has among the main objectives dynamism, simplicity? and flexibility. It supports object oriented paradigm, structured programming and many functional programming features. The peculiarity of this language? That ? been for years a viable alternative to scripting languages already? used quite commonly, carving out a niche for themselves in academia. But this has meant that at the time of the outbreak of the AI, what is it? developed above all in some renowned universities?, the porting of almost all the libraries in this? ambit ? been done using precisely this language, by splashing the rating among the languages pi? used.

Redis ? un archivio di strutture di dati in memoria open source (con licenza BSD), utilizzato come database, cache e broker di messaggi. Esso supporta strutture di dati, come le stringhe, hash, liste, insiemi, insiemi ordinati con le query range, bitmap, hyperloglogs, indici geospaziali e stream di dati. Redis ha replica integrata, script Lua, eviction LRU, supporta le transazioni e diversi livelli di persistenza su disco e offre alta disponibilit? tramite Redis Sentinel e partizionamento automatico con Redis Cluster. ? possibile eseguire operazioni atomiche su questi tipi, come aggiungere una stringa; incrementare il valore in un hash; aggiungere un elemento in un elenco; insieme di calcolo e intersezione, unione e differenza; o ottenere il dato con il punteggio pi? alto in un set ordinato. Per ottenere prestazioni eccezionali, Redis lavora con un set di dati in memoria. A seconda del caso d?uso, ? possibile salvare i dati scaricando il set di dati su disco di tanto in tanto o aggiungendo ogni comando a un registro. La persistenza pu? essere disabilitata facoltativamente, se si ha solo bisogno di una cache in memoria ricca di funzionalit?, in rete. Redis supporta anche la replica asincrona master-slave che ? abbastanza banale da installare, con una prima sincronizzazione non bloccante molto rapida, una riconnessione automatica con risincronizzazione parziale sui nodi di rete. Redis ? an open source (BSD licensed) in-memory data structure archive, used as a database, cache, and message broker. It supports data structures, such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and data streams. Redis has built-in replication, Lua scripting, LRU eviction, supports transactions and different levels of on-disk persistence, and offers high availability. via Redis Sentinel and automatic partitioning with Redis Cluster. ? You can perform atomic operations on these types, such as adding a string; increment the value in a hash; add an item to a list; calculus set and intersection, union and difference; or get the data with the score pi? tall in a neat set. For exceptional performance, Redis works with an in-memory dataset. Depending on the use case, ? You can save your data by occasionally dumping the dataset to disk or by adding each command to a registry. Persistence can optionally be disabled, if you only need a feature-rich, in-memory cache over the network. Redis also supports asynchronous master-slave replication which ? quite trivial to install, with a very fast non-blocking first sync, an automatic reconnection with partial resync on the network nodes.

Altre caratteristiche includono: Other features include:

Le transazioni Transactions

Pub / Sub Pub / Sub

Scripting Lua Lua scripting

Chiavi con un tempo di vita limitato Keys with a limited life time

Eviction di chiavi LRU Eviction of LRU keys

Failover automatico Automatic failover

? possibile usare Redis dalla maggior parte dei linguaggi di programmazione pi? comuni. Redis ? scritto in ANSI C e funziona nella maggior parte dei sistemi POSIX come Linux, * BSD, OS X senza dipendenze esterne. Linux e OS X sono i due sistemi operativi in cui Redis ? sviluppato e testato di pi? e molti consigliano di utilizzare Linux per la distribuzione, tuttavia pu? funzionare in sistemi derivati da Solaris come SmartOS ma non esiste un supporto ufficiale per le build di Windows. ? Is it possible to use Redis from most of the older programming languages? common. Redis ? written in ANSI C and runs in most POSIX systems such as Linux, *BSD, OS X with no external dependencies. Linux and OS X are the two operating systems where Redis ? developed and tested more? and many recommend using Linux for distribution, however pu? run in Solaris-derived systems such as SmartOS but there is no official support for Windows builds.

Redis con Python Redis with Python

redis-py ? uno dei molti client Python per Redis, ma ha la particolarit? di essere sponsorizzato dagli stessi sviluppatori Redis. In sostanza consente di chiamare i comandi Redis da Python e di ottenere in cambio oggetti Python. redis-py ? one of many Python clients for Redis, but has the particularity? to be sponsored by the Redis developers themselves. It basically allows you to call Redis commands from Python and get Python objects in return.

Per l?installazione occorre scaricare il codice sorgente di Redis come tarball: $ redisurl=?http://download.redis.io/redis-stable.tar.gz? To install, you need to download the Redis source code as a tarball: $ redisurl=?http://download.redis.io/redis-stable.tar.gz?

$ curl -s -o redis-stable.tar.gz $redisurl $ curl -s -o redis-stable.tar.gz $redisurl

Successivamente, ? necessario passare a rooted ed estrarre il codice sorgente dell?archivio in /usr/local/lib/: Subsequently, ? You need to switch to rooted and extract the source code of the archive to /usr/local/lib/:

$ sudo su root $ sudo to root

$ mkdir -p /usr/local/lib/ $ mkdir -p /usr/local/lib/

$ chmod a+w /usr/local/lib/ $ chmod a+w /usr/local/lib/

$ tar -C /usr/local/lib/ -xzf redis-stable.tar.gz $ tar -C /usr/local/lib/ -xzf redis-stable.tar.gz

Una volta scaricato e scompattato il codice sorgente su /usr/local/lib/redis-stable/ poich? Redis ? scritto in C, occorre compilare, collegare e installare il software con il comando make: Once downloaded and unpacked the source code on /usr/local/lib/redis-stable/ since? Redis ? written in C, you need to compile, link and install the software with the make command:

cd /usr/local/lib/redis-stable/ cd /usr/local/lib/redis-stable/

$ make && make install $ make && make install

make install compie due azioni: make install performs two actions:

Il primo make compila e collega il codice sorgente. The first make compiles and links the source code.

make install prende i binari e li copia in /usr/local/bin/ in modo da poterli eseguire da qualsiasi posizione. make install takes the binaries and copies them to /usr/local/bin/ so you can run them from anywhere.

A questo punto si chiede conferma che Redis sia nel PATH e se ne controlla la versione: At this point, confirmation is requested that Redis is in the PATH and its version is checked:

redis-cli --version redis-cli --version

redis-cli 5.0.3 redis-cli 5.0.3

Se la shell non riesce a trovare redis-cli, occorre assicurarsi che /usr/local/bin/si trovi sulla variabile PATH di ambiente e aggiungerla in caso contrario. If the shell can't find redis-cli, you need to make sure that /usr/local/bin/ is on your environment PATH variable and add it if not.

L?utilizzo fondamentale di Redis in questo progetto ? dato dal fatto che ha un?architettura client-server e utilizza un modello di request-response. Ci? significa che l?utente (il client) si connette a un server Redis tramite connessione TCP, sulla porta 6379 per impostazione predefinita. Si richiede una certa azione(request), e il server ci restituisce una risorsa(response). The fundamental use of Redis in this project ? given that it has a client-server architecture and uses a request-response model. There? means that the user (the client) connects to a Redis server via TCP connection, on port 6379 by default. You request a certain action(request), and the server returns a resource(response) to us.

Possono esserci molti client che parlano con lo stesso server, il che ? tipico di un?architettura che usi Redis per un?applicazione client-server. Ogni client esegue una lettura (in genere bloccante) su un socket in attesa della risposta del server. There can be many clients talking to the same server, which ? typical of an architecture that uses Redis for a client-server application. Each client performs a (usually blocking) read on a socket while waiting for the server's response.

La libreria client di Python Redis redis-py svolge il suo compito egregiamente. Incapsula una connessione TCP a un server Redis e invia comandi grezzi, come byte serializzati utilizzando il protocollo di serializzazione REdis (RESP), al server. Prende quindi la risposta raw e analizza nuovamente in un oggetto Python. The Python Redis client library redis-py gets the job done admirably. Encapsulates a TCP connection to a Redis server and sends raw commands, as serialized bytes using the REdis Serialization Protocol (RESP), to the server. It then takes the raw response and parses it back into a Python object.

Settando il parametro db, che ? il numero del database, ? possibile gestire pi? database contemporaneamente e ciascuno ? identificato da un numero intero. Il numero massimo di database ? 16 per impostazione predefinita. By setting the db parameter, that ? the database number, ? is it possible to manage more? database at the same time and each ? identified by an integer. The maximum number of databases ? 16 by default.

Quando si esegue solo redis-cli dalla riga di comando, si fa riferimento al database 0. Un aspetto molto importante ? la scadenza della chiave, che ? un?altra caratteristica distintiva in Redis. Quando scade una chiave, quella chiave e il suo valore corrispondente verranno automaticamente cancellati dal database dopo un certo numero di secondi o ad un certo timestamp. When you just run redis-cli from the command line, you are referencing database 0. One very important point? the expiration of the key, that ? another distinguishing feature in Redis. When a key expires, that key and its corresponding value will automatically be deleted from the database after a certain number of seconds or at a certain timestamp.

Le immagini acquisite dalle Camera Unit 70 e trasferite sulle Processing Unit 60 sono soggette ad un processo di analisi che si compone di due fasi: The images acquired by the Camera Unit 70 and transferred to the Processing Unit 60 are subjected to an analysis process which consists of two phases:

i- Riconoscimento dei volti; i- Recognition of faces;

ii- Determinazione delle espressioni. ii- Determination of expressions.

L?immagine seguente mostra un esempio di applicazione della libreria. The following image shows an example application of the library.

Il codice Python necessario al suo utilizzo ? molto semplice, e consiste di poche righe di codice: The Python code needed to use it? very simple, and consists of a few lines of code:

import face_recognition import face_recognition

image = face_recognition.load_image_file(?) image = face_recognition.load_image_file(?)

face_locations = face_recognition.face_locations(image) face_locations = face_recognition.face_locations(image)

face_encodings = face_recognition.face_encodings(image, face_locations); for (y1, x1, y2, x2) in face_locations: face_encodings = face_recognition.face_encodings(image, face_locations); for (y1, x1, y2, x2) in face_locations:

cv2.rectangle(image, (x1, y1), (x2, y2), (255, 255, 255), 5) cv2.rectangle(image, (x1, y1), (x2, y2), (255, 255, 255), 5)

Per quanto riguarda il riconoscimento delle espressioni facciali, si ha a disposizione la libreria Emotion-Detection-1, che utilizza l??Haar Cascade Classifier?. As regards the recognition of facial expressions, the Emotion-Detection-1 library is available, which uses the Haar Cascade Classifier?.

Il riconoscimento di oggetti tramite il classificatore Haar Cascade ? un metodo proposto nel 2001, basato sul machine learning. In tale metodo, una funzione ?cascade? viene addestrata a partire da un insieme di immagini positive e negative, ovvero che contengono o meno l?oggetto che si vuole riconoscere. Object recognition using the Haar Cascade classifier ? a method proposed in 2001, based on machine learning. In this method, a ?cascade? it is trained starting from a set of positive and negative images, i.e. images which contain or do not contain the object to be recognised.

Di solito, per il riconoscimento dei visi, vengono utilizzate librerie del tutto identiche ai kernel convoluzionali. Ognuna di queste immagini corrisponde ad un singolo valore ottenuto sottraendo la somma dei pixel nei rettangoli bianchi con la somma dei pixel nei rettangoli neri. Libraries identical to convolutional kernels are usually used for face recognition. Each of these images corresponds to a single value obtained by subtracting the sum of the pixels in the white rectangles with the sum of the pixels in the black rectangles.

La Figura 12 riporta delle immagini feature utilizzate per il riconoscimento facciale. L?immagine (a) ? relativa a delle edge features; l?immagine (b) a delle line features; l?ultima figura (c) ? relativa ad una caratteristica a 4 rettangoli. A partire da queste immagini, la loro posizione e le loro dimensioni all?interno di una foto, determina se vi ? o meno un viso all?interno della foto. Figure 12 shows feature images used for facial recognition. The image (a) ? relating to edge features; the image (b) a of the line features; the last figure (c) ? related to a 4-rectangle feature. Starting from these images, their position and their dimensions within a photo, determines whether there is? or not a face inside the photo.

Vantaggi ed industrialit? del trovato Advantages and industriality? of the found

La libreria contempla il riconoscimento delle emozioni sia in modalit? con frame a singleface che a multiface. The library contemplates the recognition of emotions both in modality? with singleface and multiface frames.

Nella presente invenzione il riconoscimento dei volti ? realizzato utilizzando la libreria Python Face Recognition, introdotta precedentemente. Basata sulla libreria C++ dlib, che utilizza tecniche di Deep Learning per il riconoscimento dei volti, ha una accuratezza del 99.38%. In the present invention the face recognition ? built using the Python Face Recognition library, introduced earlier. Based on the dlib C++ library, which uses Deep Learning techniques for face recognition, it has an accuracy of 99.38%.

Del resto l?applicazione del codice appena citato ad una immagine campione di dimensione 1024x768 ha impiegato circa 500ms per il processamento, il che pu? essere considerato una buona prestazione se si considera che l?immagine presenta diversi volti riconoscibili, situazione che difficilmente si presenter? nei casi che si presentano nella realt?. After all, the application of the code just mentioned to a sample image of size 1024x768 took about 500ms for processing, which can? be considered a good performance if we consider that the image has several recognizable faces, a situation that is unlikely to arise? in cases that arise in reality?.

Claims (10)

RivendicazioniClaims 1. Architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi delle opinioni, in merito a prodotti e servizi, fornite attraverso l?espressivit? del volto, caratterizzata dal fatto di comprendere un?unit? server centrale (60) e delle unit? client (70) di rilevazione ad essa connesse, distribuite, in una data area, l?unit? server (60) costituente l?unit? di elaborazione ed analisi comprendendo a sua volta:1. Hybrid telematic network architecture dedicated to processes of extraction and analysis of opinions, regarding products and services, provided through the expressiveness of the face, characterized by the fact that it includes a? unity? central server (60) and units? client (70) of detection connected to it, distributed, in a given area, the unit? server (60) constituting the? unit? processing and analysis including in turn: i- un?unit? centrale di processo (41) basata su uno o pi? microprocessori (44) con corrispondenti funzioni di interfacciamento e colloquio con le relative periferiche;i- a? unit? central process (41) based on one or more? microprocessors (44) with corresponding functions of interfacing and communicating with the relative peripherals; ii- almeno una unit? di memoria (42) di dimensioni tali da permettere l?esecuzione della elaborazione ed analisi in tempo reale dei dati provenienti dalle diverse funzioni di rilevazione, acquisizione e controllo;ii- at least one unit? memory (42) of such dimensions as to allow the execution of the processing and analysis in real time of the data coming from the various detection, acquisition and control functions; iii- delle unit? di memorizzazione (43) delle informazioni rilevate in grado di costituire una memoria di massa da cui riprendere i dati per l?elaborazione e l?analisi degli stessi;iii- of the unit? of memorization (43) of the detected information able to constitute a mass memory from which to recover the data for the elaboration and the analysis of the same; iv- delle porte (45) di interfacciamento e di comunicazione con le unit? client (70);iv- of the ports (45) of interfacing and communication with the unit? client(70); le unit? client (70?, 70?,?.70<n>) a loro volta comprendendo ciascuna:the units? client (70?, 70?,?.70<n>) in turn including each: a- delle unit? periferiche di processo (46?, 46?, ?46<n>) dotate di proprio processore per il controllo locale e l?interfacciamento con il server (60); b- almeno una telecamera (47?, 47?,?..47<m>) connessa alla rispettiva unit? periferica di processo (46?, 46?,?..46<n>);a- of the units? process peripherals (46?, 46?, ?46<n>) equipped with their own processor for local control and interfacing with the server (60); b- at least one camera (47?, 47?,?..47<m>) connected to the respective unit? process device (46?, 46?,?..46<n>); c- dispositivi di redirezionamento (71) che si basano su un proprio microcontrollore per il redirezionamento immediato delle immagini rilevate dalla telecamera (47) all?unit? server centrale (60); l?interfacciamento e l?invio dei dati tra l?unit? periferica (70) e il server (60) avvenendo in base ad un protocollo basato su socket in cui il processore (41) dell?unit? centrale (60) si comporta da server, ponendosi in attesa delle richieste di connessione da parte dei client (70), implementando un thread principale, come Socket Server, che resta in ascolto su di una porta predefinita e, ad ogni richiesta di connessione, delegando la gestione del ciclo di vita della stessa ad un thread figlio, essendo, le immagini acquisite, dalle Camera Unit del client (70), e trasferite alle funzionalit? di Processing del server (60), soggette ad un processo di analisi in tempo reale comprendente le fasi relative al riconoscimento dei volti, ed alla determinazione delle espressioni, attraverso applicativi dedicati utilizzanti tecniche di Deep Learning, essendo l?acquisizione delle immagini, oltre che dalle unit? client (70), opportunamente installate sul territorio, effettuata anche tramite l?utilizzo delle API di connessione ai vari social media (78), in base ai tag degli eventi che corrispondono a quello sottoposto ad analisi tramite le telecamere (47?, 47?, ?47<n>) collocate,c- redirection devices (71) which are based on their own microcontroller for the immediate redirection of the images detected by the television camera (47) to the unit? central server (60); the? interfacing and? sending of data between the? unit? peripheral (70) and the server (60) taking place on the basis of a socket-based protocol in which the processor (41) of the unit? central (60) acts as a server, waiting for connection requests from clients (70), implementing a main thread, such as Socket Server, which listens on a predefined port and, at each connection request, delegating the management of the life cycle of the same to a child thread, being, the images acquired, from the Camera Unit of the client (70), and transferred to the functionalities? of Processing of the server (60), subject to a process of analysis in real time including the phases relating to the recognition of faces, and to the determination of expressions, through dedicated applications using Deep Learning techniques, being the acquisition of images, as well as from the units? clients (70), suitably installed on the territory, also carried out through the use of the APIs for connection to the various social media (78), based on the event tags that correspond to the one subjected to analysis via the cameras (47?, 47? , ?47<n>) placed, l?acquisizione dei video essendo implementata, con la rilevazione di video caricati sui vari social network, tramite l?utilizzo di applicazioni non proprietarie gi? esistenti, i video essendo considerati come dei nodi di un grafo sociale, a cui si accede, con i livelli di autorizzazione previsti, al fine di eseguire la ricerca di una data immagine correlata ad un dato evento.the video acquisition being implemented, with the detection of videos uploaded on various social networks, through the use of non-proprietary applications already? exist, videos being considered as nodes of a social graph, which can be accessed, with the envisaged levels of authorization, in order to search for a given image related to a given event. 2. Architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi dell?espressivit? del volto di un gruppo di persone secondo la rivendicazione 1, caratterizzata dal fatto che le telecamere (47?, 47?, ?47n) delle unit? client siano distribuite su un perimetro dell?area interessata considerata come una mappa piana, disposte distanziate uniformemente, interconnesse con il server centrale (60), di qui ricavando una matrice in grado di fornire le informazioni su quale sia la zona in cui ? presente l?evento rilevato / l?espressione del volto. 2. Hybrid telematic network architecture dedicated to processes of extraction and analysis of expressiveness of the face of a group of people according to claim 1, characterized in that the television cameras (47?, 47?, ?47n) of the units? clients are distributed on a perimeter of the interested area considered as a flat map, arranged spaced evenly, interconnected with the central server (60), hence obtaining a matrix capable of providing information on which is the area in which ? present the detected event / facial expression. 3. Architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi dell?espressivit? del volto di un gruppo di persone secondo le rivendicazioni 1 e 2, caratterizzata dal fatto che le unit? di storage (43) ricevendo i dati attraverso la porta di comunicazione (45), memorizzino l?istanza dell?evento in corso di analisi attraverso le codifiche dei dati acquisiti con le informazioni relative alla sorgente, al valore di riferimento temporale, e alla collocazione della telecamera (46, 70).3. Hybrid telematic network architecture dedicated to processes of extraction and analysis of expressiveness of the face of a group of people according to claims 1 and 2, characterized by the fact that the units? of storage (43) receiving the data through the communication port (45), memorize the instance of the event under analysis through the encodings of the data acquired with the information relating to the source, the time reference value, and the location of the camera (46, 70). 4. Architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi dell?espressivit? del volto di un gruppo di persone secondo le rivendicazioni precedenti caratterizzata dal fatto che l?assemblaggio dell?hardware standard viene configurato e testato in modo che le immagini acquisite, dall?unit? client (70) siano inviate immediatamente alla piattaforma centralizzata (60) per mezzo di microcontrollore (71) dedicato.4. Hybrid telematic network architecture dedicated to processes of extraction and analysis of expressiveness? of the face of a group of people according to the previous claims characterized by the fact that the assembly of the standard hardware is configured and tested so that the images acquired by the unit? clients (70) are immediately sent to the centralized platform (60) by means of a dedicated microcontroller (71). 5. Architettura di rete telematica ibrida dedicata a dei processi di estrazione e di analisi dell?espressivit? del volto di un gruppo di persone secondo la rivendicazione 1, caratterizzata dal fatto di comprendere un primo stadio che attua il riconoscimento dei volti ed ? implementato attraverso tecniche semiautomatiche di elaborazione delle immagini, un secondo stadio che si occupa dell?estrazione degli attributi delle immagini utili al riconoscimento dell?espressione facciale, che essendo computazionalmente pi? onerosa ? applicata alle sole aree dell?immagine in cui sono presenti volti, ed un terzo stadio preposto alla classificazione, in cui risultati ottimali sono ottenuti attraverso l?applicazione di tecniche basate su reti neurali ricorrenti, detti tre stadi di elaborazione essendo costituiti nell?architettura del sistema in base alla seguente corrispondenza:5. Hybrid telematic network architecture dedicated to processes of extraction and analysis of expressiveness? of the face of a group of people according to claim 1, characterized in that it comprises a first stage which implements the recognition of faces and ? implemented through semi-automatic image processing techniques, a second stage that deals with the extraction of image attributes useful for the recognition of facial expression, which being computationally more? onerous ? applied only to the areas of the image in which there are faces, and a third stage in charge of classification, in which optimal results are obtained through the application of techniques based on recurrent neural networks, said three processing stages being constituted in the architecture of the system based on the following correspondence: Componente Architetturale <--> Stadio di ElaborazioneArchitectural Component <--> Processing Stage Raspberry Pi Zero (46) <--> Riconoscimento Facciale Raspberry Pi 3 (41) <--> Estrazione delle Caratteristiche Raspberry Pi Zero (46) <--> Facial Recognition Raspberry Pi 3 (41) <--> Feature Extraction Sistema centralizzato (60) <--> Classificazione delle espressioniCentralized system (60) <--> Classification of expressions 6. Metodo di analisi dedicato alla elaborazione di processi di estrazione e di esame dell?espressivit? del volto di una o pi? persone in base all?architettura di rete telematica delle rivendicazioni da 1 a 5 caratterizzato dal fatto che l?estrazione (34) delle espressioni del volto umano sia un processo comprendente tre fasi distinte, relative al:6. Method of analysis dedicated to the elaboration of processes of extraction and examination of the expressiveness of the face of one or more people according to the telematic network architecture of claims 1 to 5 characterized in that the extraction (34) of human face expressions is a process comprising three distinct phases, relating to: i- pre-processamento (32), che opera la trasformazione dell?input in modo tale da rendere la sua successiva elaborazione pi? semplice e pi? accurata, attraverso l?eventuale riduzione delle dimensioni delle informazioni necessarie per descrivere un set di dati associato ad ogni immagine; all?i- pre-processing (32), which operates the transformation of the input in such a way as to make its subsequent processing more? simpler and more accurate, through the possible reduction of the size of the information necessary to describe a set of data associated with each image; at? ii- estrazione delle caratteristiche (29), in cui le caratteristiche ovvero i valori derivati, destinati a essere informativi e non ridondanti, sono creati a partire da un insieme basilare di dati misurati, in modo da facilitare le successive fasi di apprendimento e generalizzazione; e alla iii- classificazione (30) in cui il sistema opera in modo da rilevare la classe di appartenenza di un nuovo input tra un insieme di categorie gi? definite e generate da un insieme di osservazioni attuate in precedenza e gi? categorizzate, operante come training set.ii- feature extraction (29), in which the features or derived values, intended to be informative and non-redundant, are created starting from a basic set of measured data, so as to facilitate the subsequent learning and generalization phases; and to the iii- classification (30) in which the system operates in order to detect the belonging class of a new input among a set of categories already? defined and generated by a set of observations implemented previously and already? categorized, operating as a training set. 7. Metodo di analisi dedicato alla elaborazione di processi di estrazione e di esame dell?espressivit? del volto di una o pi? persone in base all?architettura di rete telematica secondo le rivendicazioni precedenti caratterizzato dal fatto di prevedere l?acquisizione di Flussi Video, acquisendo dei video caricati sui vari social network (78), tramite l?utilizzo delle Developer API Graph disponibili, i video essendo gestiti come dei nodi di un grafo sociale, a cui ? possibile accedere avendo a disposizione i dovuti permessi in base ai seguenti livelli di priorit?:7. Method of analysis dedicated to the elaboration of processes of extraction and examination of the expressiveness of the face of one or more people based on the telematic network architecture according to the preceding claims characterized in that it provides for the acquisition of Video Streams, by acquiring videos uploaded on the various social networks (78), through the use of the available Developer API Graph, the videos being managed as the nodes of a social graph, to which ? It is possible to access having the necessary permissions available based on the following priority levels: i- un token di accesso a una pagina vede i video di quella pagina, i- an access token to a page sees videos of that page, ii- un token di accesso dell?utente vede ogni video creato dall?applicazione tramite quell?utente,ii- an access token of the user sees every video created by the application by that user, iii- i video dell?utente corrente possono essere visti solo se l?utente ha dato il permesso user_videos e user_posts,iii- current user?s videos can be viewed only if the user has given permission user_videos and user_posts, iv- ogni token di accesso valido pu? leggere le fotografie su una pagina pubblica.iv- any valid access token can? read the photographs on a public page. 8. Metodo di analisi dedicato alla elaborazione di processi di estrazione e di esame dell?espressivit? del volto di una o pi? persone secondo le rivendicazioni precedenti caratterizzato dal fatto che nella fase di preelaborazione sono ottimizzate le prestazioni del sistema di riconoscimento facciale eseguito prima del processo di estrazione delle caratteristiche, prevedendo il ridimensionamento delle immagini o la regolazione del contrasto in modo da migliorare i frame dei visi che rappresentano le espressioni.8. Method of analysis dedicated to the elaboration of processes of extraction and examination of the expressiveness of the face of one or more persons according to the preceding claims characterized by the fact that in the pre-processing phase the performance of the facial recognition system performed before the feature extraction process is optimized, providing for the resizing of the images or the adjustment of the contrast so as to improve the frames of the faces represent expressions. 9. Metodo di analisi dedicato alla elaborazione di processi di estrazione e di esame dell?espressivit? del volto di una o pi? persone secondo le rivendicazioni precedenti caratterizzato dal fatto che nella fase di preprocessamento sia utilizza una molteplicit? di classificatori diversi, ognuno dei quali ? rivolto ad una diversa porzione dell?immagine, ogni singolo classificatore essendo meno accurato, rispetto al classificatore finale in quanto riceve meno informazioni, di qui i risultati di ciascun classificatore essendo a loro volta combinati, per fornire un classificatore forte, la costruzione di classificatori forti come combinazione lineare di classificatori deboli semplici ponderati, portando alla disposizione degli stessi in cascata in ordine di complessit?, ogni successivo classificatore essendo addestrato solo su quei campioni selezionati che passano attraverso i classificatori precedenti, attraverso una sequenzializzazione delle fasi di esame, solo se l?immagine supera tutti gli stage allora alla stessa viene ad essere associata la presenza di un volto.9. Method of analysis dedicated to the elaboration of processes of extraction and examination of the expressiveness of the face of one or more persons according to the preceding claims characterized by the fact that in the preprocessing phase a multiplicity of? of different classifiers, each of which ? aimed at a different portion of the image, each individual classifier being less accurate, than the final classifier as it receives less information, hence the results of each classifier being in turn combined, to provide a strong classifier, the construction of strong classifiers as a linear combination of weighted simple weak classifiers, leading to the arrangement of the same in cascade in order of complexity, each successive classifier being trained only on those selected samples that pass through the previous classifiers, through a sequentialization of the examination phases, only if the ?image passes all stages then the presence of a face is associated with it. 10. Metodo di analisi dedicato alla elaborazione di processi di estrazione e di esame dell?espressivit? del volto di una o pi? persone secondo le rivendicazioni precedenti caratterizzato dal fatto di utilizzare le procedure di deep learning con una rete neurale convoluzionale, il primo strato di una rete neurale dedicata analizzando solo minimi dettagli dall?immagine ed i livelli successivi unendo le analisi precedenti per rendere le informazioni pi? complesse ed articolate. 10. Method of analysis dedicated to the elaboration of processes of extraction and examination of the expressiveness of the face of one or more people according to the previous claims characterized by the fact of using the deep learning procedures with a convolutional neural network, the first layer of a dedicated neural network analyzing only minimal details from the image and the subsequent levels by combining the previous analyzes to make the information more? complex and articulated.
IT102021000007499A 2021-03-26 2021-03-26 HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT IT202100007499A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT102021000007499A IT202100007499A1 (en) 2021-03-26 2021-03-26 HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102021000007499A IT202100007499A1 (en) 2021-03-26 2021-03-26 HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT

Publications (1)

Publication Number Publication Date
IT202100007499A1 true IT202100007499A1 (en) 2022-09-26

Family

ID=76523315

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102021000007499A IT202100007499A1 (en) 2021-03-26 2021-03-26 HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT

Country Status (1)

Country Link
IT (1) IT202100007499A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170068847A1 (en) * 2010-06-07 2017-03-09 Affectiva, Inc. Video recommendation via affect
US20180158093A1 (en) * 2016-12-02 2018-06-07 Realeyes Oü Data processing methods for predictions of media content performance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170068847A1 (en) * 2010-06-07 2017-03-09 Affectiva, Inc. Video recommendation via affect
US20180158093A1 (en) * 2016-12-02 2018-06-07 Realeyes Oü Data processing methods for predictions of media content performance

Non-Patent Citations (28)

* Cited by examiner, † Cited by third party
Title
BALDWIN CM 9GRIFFITH KANIETO FJO'CONNOR GTWALSLEBEN JAREDLINE S: "The association of sleep-disordered breathing and sleep symptoms with quality of life in the Sleep heart Health Study", SLEEP, vol. 24, no. 1, 2001, pages 96 - 105
BECKER HFJERRENTRUP APLOCH TGROTE LPENZEL TSULLIVAN CEPETER JH: "Effect of nasal continuous positive airway pressure treatment on blood pressure in patients with destructive sleep apnea", CIRCULATION, vol. 107, no. 1, 2003, pages 68 - 73
BELANGER MEBERNIER APAQUET JSIMARD VCARRIER J: "Validating actyligraphy as a measure of sleep for preschool children", J CLIN SLEEP MED, vol. 9, no. 7, 2013, pages 701 - 6
CHO CHJUNG SWPARK JYSONG KSYU KI: "Is shoulder pain for three months or longer related with depression, anxiety, and sleep disturbing?", J SHOULDER ELBOW SURG, vol. 22, no. 2, 2013, pages 222 - 8
DESHMUKH RENUKA S ET AL: "Facial emotion recognition system through machine learning approach", 2017 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND CONTROL SYSTEMS (ICICCS), IEEE, 15 June 2017 (2017-06-15), pages 272 - 277, XP033295490, DOI: 10.1109/ICCONS.2017.8250725 *
DICK RPENZEL TFIETZE IPARTINEN MHEIN HSCHULZ J: "AASM standards of practice compliant validation of actigrappic sleep analysis from SOMNOwatch versus polysomnographic sleep diagnostics shows high compatibility also among objects with sleep disordered breathing", PHYSIOL MEAS, vol. 31, no. 12, 2010, pages 1623 - 33
HEBRAHIMI FSETAREHDAN SKAYALA-MOYEDA JNAZERAN H: "Automatic sleep staging using empirical mode decomposition, discrete wavelet transform, time-domain, and nonlinear dynamics features of heart rate variability signals", COMPUT METHODS PROGRAMS BIOMED, vol. 112, no. 1, 2013, pages 47 - 57, XP028713421, DOI: 10.1016/j.cmpb.2013.06.007
HSIA C-CHUNG Y-WCHIU Y-HKANG C-H: "2008 HealthCom 2008 Loth international conference", 2008, IEEE, article "Bayesian classification for bed posture detection based on kurtosis and fitness estimation. In: E-health Networking, applications and services", pages: 165 - 8
HSIA CLIOU KAUNG AFOO VHUANG WBISWAS J: "Engineering in medicine and biology society, 2009 EMBC 2009 annual international conference of the IEEE", 2009, IEEE., article "Analysis and comparison of sleeping posture classification methods using pressure sensitive bed system", pages: 6131 - 4
HUANG WWAI AAPFOO SFBISWAS JHSIA C-CLIOU K: "Pattern recognition (ICPR), 2010 20th international conference on 2010", 2010, IEEE., article "Multi-modal sleep posture classification", pages: 4336 - 9
KEMPF BKONGSTED A: "Association between the side of unilateral shoulder pain and preferred sleeping position: A cross-sectional study of 83 Danish patients", J MANIPULATIVE PHYSIOL THER, vol. 35, no. 5, 2012, pages 407 - 12, XP028494630, DOI: 10.1016/j.jmpt.2012.04.015
KHAN ALATIF FHAWKINS BTAWK MSIVARAM CAKINASEWITZ G: "effects of destructive sleep apnea treatment on left atrial volume and left atrial volume index", SLEEP BREATH, vol. 12, no. 2, 2008, pages 141 - 7, XP019582425
LARGACHA MPARSONS ITCAMPBELL BTITELMAN RMSMITH KLMATSEN F 3RD: "Deficits in shoulder function and general health associated with sixteen common shoulder findings: A study of 2674 patients", J SHOULDER ELBOW SURG, vol. 15, no. 1, 2006, pages 30 - 9, XP005245253, DOI: 10.1016/j.jse.2005.04.006
LEWICKE ATSAZONOV ESSCHUCKERS SA: "Sleep-Wake identification in infants: heart rate variability compared to actygraphy", CONFERENCE PROCEEDINGS: ANNUAL INTERNATIONAL CONFERENCE OF THE IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY ANNUAL CONFERENCE, 2004, pages 442 - 5
LINDBERG MFBAD EKGAY CLRUSTOEN TGRANHEIM TIAMLIE ELERDAL A: "Pain characteristics and self-rated health after elective ortopaedic surgery-a cross-sectional survey", J CLIN NURS, vol. 22, no. 9-10, 2013, pages 1242 - 53
LINSELL LDAWSON JZONDERVAN KROSE PRANDALL TFITZPATRICK RCARR A: "Prevalence and incidence of adults consulting for shoulder conditions in UK primary care; patterns of diagnosis and referral", RHEUMATOLOGY (OXFORD, vol. 45, no. 2, 2006, pages 215 - 21
MELTZER LJWALSH CMTRAYLOR JWESTIN AM: "Direct comparison of two new actigrapps and polysomography in children and adolescents", SLEEP, vol. 35, no. 1, 2012, pages 159 - 66
PAQUET JKAWINSKA ACARRIER J: "Wake detection capacity of actyligraphy during sleep", SLEEP, vol. 30, no. 10, 2007, pages 1362 - 9
POLLAK CPTRYON WWNAGARAJA HDZWONCZYK R: "How accurately does wrist actyligraphy identify the states of sleep and wakefulness?", SLEEP, vol. 24, no. 8, 2001, pages 957 - 65
PUNJABI NMSHAHAR EREDLINE SGOTTLIEB DJGIVELBER RRESNICK HE: "Sleep-disordered breathing, glucose intolerance, and insulin resistance: the Sleep heart Health Study", AM J EPIDEMIOL, vol. 160, no. 6, 2004, pages 521 - 30
RAMANI SANDEEP KUMAR: "Facial Expression Detection Using Neural Network for Customer Based Service", 2018 INTERNATIONAL CONFERENCE ON COMPUTER, COMMUNICATION, AND SIGNAL PROCESSING (ICCCSP), IEEE, 22 February 2018 (2018-02-22), pages 1 - 4, XP033396823, DOI: 10.1109/ICCCSP.2018.8452864 *
SHAHAR EWHITNEY CWREDLINE SLEE ETNEWMAN ABNIETO FJO'CONNOR GTBOLAND LLSCHWARTZ JESAMET JM: "Sleep-disordered breathing and cardiovascular disease: cross-sectional results of the Sleep heart Health Study", AM J RESPIR CRIT CARE MED, vol. 163, no. 1, 2001, pages 19 - 25
SMITH KLHARRYMAN DT 2NDANTONIOU JCAMPBELL BSIDLES JAMATSEN FA 3RD: "A prospective, multi-practice study of shoulder function and health status in patients with documented rotator cuff tears", J SHOULDER ELBOW SURG, vol. 9, no. 5, 2000, pages 395 - 402
URWIN MSYMMONS DALLISON TBRAMMAH TBUSBY HROXBY MSIMMONS AWILLIAMS G: "estimating the burden of muscle disorders in the community: the comparative prevalence of symptoms at different anatomical sites, and the relation to social deprivation", ANN RHEUM DIS, vol. 57, no. 11, 1998, pages 649 - 55
WERNER CMOSSENDORF CMEYER DCBLUMENTHAL SGERBER C: "Secondary pressures vary with simulated sleep positions", J SHOULDER ELBOW SURG, vol. 19, no. 7, 2010, pages 989 - 93
WONG J J ET AL: "A local experts organization model with application to face emotion recognition", EXPERT SYSTEMS WITH APPLICATIONS, OXFORD, GB, vol. 36, no. 1, 1 January 2009 (2009-01-01), pages 804 - 819, XP025559998, ISSN: 0957-4174, [retrieved on 20071117], DOI: 10.1016/J.ESWA.2007.10.030 *
YOUSEFI ROSTADABBAS SFAEZIPOUR MFARSHBAF MNOURANI MTAMIL LPOMPEY M: "Engineering in medicine and biology society, EMBC, 2011 annual international conference of the IEEE", 2011, IEEE., article "Bed posture classification for pressure ulcer prevention", pages: 7175 - 8
ZENIAN J: "Sleep position and shoulder pain", MED HYPOTHESES, vol. 74, no. 4, 2010, pages 639 - 43, XP026975587

Similar Documents

Publication Publication Date Title
Cruciani et al. Feature learning for human activity recognition using convolutional neural networks: A case study for inertial measurement unit and audio data
CN111797893B (en) Neural network training method, image classification system and related equipment
Hisham et al. Arabic sign language recognition using Ada-Boosting based on a leap motion controller
Agrawal et al. Cloudcv: Large-scale distributed computer vision as a cloud service
Himeur et al. Face mask detection in smart cities using deep and transfer learning: Lessons learned from the COVID-19 pandemic
Sharma Face mask detection using yolov5 for COVID-19
Sharma et al. Implementation of CNN on Zynq based FPGA for Real-time Object Detection
CN111226226A (en) Motion-based object detection method, object detection device and electronic equipment
Huu et al. Proposing a Recognition System of Gestures Using MobilenetV2 Combining Single Shot Detector Network for Smart‐Home Applications
Yuan et al. Gait classification and identity authentication using CNN
JP2021533493A (en) Finger vein matching method, device, computer equipment, and storage medium
Salman et al. Design and implementation of IoT based class attendance monitoring system using computer vision and embedded linux platform
IT202100007499A1 (en) HYBRID TELEMATICS NETWORK ARCHITECTURE DEDICATED TO PROCESSES OF EXTRACTION AND EVALUATION OF OPINIONS THROUGH EXPRESSION ANALYSIS AND RELATED ELECTRONICS AND SOFTWARE THAT ARE PART OF IT
Ashrafi et al. Development of image dataset using hand gesture recognition system for progression of sign language translator
Gao et al. MMA: a multi-view and multi-modality benchmark dataset for human action recognition
Satybaldina et al. Application development for hand gestures recognition with using a depth camera
NaliniPriya et al. A Face Recognition Security Model Using Transfer Learning Technique
Hsu et al. Multimedia fog computing: Minions in the cloud and crowd
Herrera et al. Implementation of a Digital Image Processing Algorithm on a Colibri IMX6 Embedded Industrial System for Optical Mark Recognition
CN111291632A (en) Pedestrian state detection method, device and equipment
Toalumbo et al. Hand gesture recognition using leap motion controller, infrared information, and deep learning framework
Yu et al. Face Presentation Attack Detection
Mantri et al. A Comparative Study of Various Techniques Used in Current HGRSs
Sidiropoulos Application of deep neural networks for bicycle detection and classification
Wong Smart Security Camera With Deep Learning