[0001] Des modes de mise en oeuvre et de réalisation de l'invention concernent la détection
en temps réel d'une scène par un appareil, notamment mais non exclusivement un appareil
de communication sans fil, par exemple un téléphone mobile cellulaire intelligent
(« smartphone ») ou encore une tablette numérique, équipé d'au moins un capteur comme
par exemple un accéléromètre, et plus particulièrement l'amélioration de la fiabilité
des décisions fournies par un algorithme de classification avant leur filtrage.
[0002] Une scène s'entend dans un sens très large comme englobant notamment une scène caractéristique
de l'environnement dans lequel se trouve l'appareil, que l'appareil soit porté par
un utilisateur susceptible d'être mobile, par exemple un téléphone mobile cellulaire,
(scène du type « Bus », « train », « restaurant », « bureau »...), ou que l'appareil
soit un objet fixe, connecté ou non, (radiateur par exemple dans une application de
domotique), la scène caractéristique de l'environnement pouvant être par exemple du
type « pièce humide », « pièce sèche », « jour », « nuit », « volets fermés », « volets
ouverts » ... etc.
[0003] Une scène peut également englober une scène caractéristique d'une activité pratiquée
par le porteur de l'appareil, par exemple une montre intelligente (« smart watch »),
une telle scène pouvant être alors par exemple « marche », « course à pied », etc...
[0004] Bien que l'invention puisse s'appliquer à tout type d'appareil et à tout type de
scène, on va maintenant citer plus précisément les appareils de communication sans
fil.
[0005] Certains appareils de communication sans fil comme par exemple certains types de
« smartphones » ou de tablettes sont capables aujourd'hui d'effectuer des détections
de scène ce qui permet de déterminer dans quel environnement se situe l'utilisateur
du téléphone ou de la tablette. Cela peut ainsi permettre à une tierce partie, par
exemple un annonceur publicitaire ou un organisme culturel par exemple d'envoyer des
informations pertinentes en liaison avec le lieu dans lequel se situe l'utilisateur
de l'appareil.
[0006] Ainsi, par exemple si l'utilisateur se situe dans un lieu touristique donné, on peut
lui envoyer ainsi des adresses de restaurant à proximité de l'endroit où il se trouve.
De même, on peut également lui envoyer des informations relatives à certains monuments
qui se situent à proximité de l'endroit où il se trouve.
[0007] Par détection de scène, on entend notamment une discrimination de la scène dans laquelle
se trouve l'appareil de communication sans fil. Plusieurs solutions connues existent
pour détecter (discriminer) une scène. Ces solutions utilisent par exemple un ou plusieurs
capteurs dédiés associés généralement à un algorithme spécifique.
[0009] Ces deux algorithmes sont également configurés pour délivrer une probabilité de confiance
pour chaque scène détectée.
[0010] On peut également citer comme algorithme de classification, un algorithme du type
méta algorithme de classification ou « méta classifieur », c'est-à-dire un algorithme
qui se situe sur une couche supérieure à celle contenant plusieurs algorithmes de
classification.
[0011] Chaque algorithme de classification fournit une décision quant à une scène détectée
et le méta classifieur compile les décisions fournies par les différents algorithmes
de classification, pour délivrer une décision finale, par exemple au moyen d'un vote
majoritaire ou d'une moyenne.
[0012] Les « méta classifieurs » sont plus performants que les classifieurs classiques mais
restent néanmoins sujets à de possibles erreurs de détection. En outre ils sont plus
compliqués à implémenter, en particulier en termes de taille mémoire, et nécessitent
des phases d'apprentissage plus complexes.
[0013] Il a donc été proposé dans la demande de brevet français déposée sous le n°
1754080 un « méta filtre » permettant d'exploiter la corrélation temporelle entre deux décisions
consécutive. Le méta filtre opère sur des décisions successives délivrées par l'algorithme
de classification, quel que soit son type et y compris un méta classifieur.
[0014] Malgré cela, la détection de scènes peut rester sujette à des erreurs de détection
dans certains cas.
[0015] Il existe donc un besoin d'améliorer encore la fiabilité des décisions fournies par
un algorithme de classification, quel que soit son type, et ce de façon simple à mettre
en oeuvre.
[0016] Il a été observé par les inventeurs que certaines transitions entre une première
scène et une deuxième scène sont peu probables, voire impossibles pour l'utilisateur
de l'appareil.
[0017] Aussi, selon un mode de mise en oeuvre et de réalisation, est-il proposé d'exploiter
les habitudes de l'utilisateur et plus particulièrement des probabilités de transition
entre les scènes successivement détectées, dans le but d'affiner la détection de scènes.
[0018] Selon un aspect, il est proposé un procédé de contrôle d'une détection de scènes
par un appareil parmi un ensemble de scènes de référence possibles.
[0019] Le procédé comprend
une détection de scènes parmi ledit ensemble de scènes de références possibles à des
instants de détection successifs à l'aide d'au moins un algorithme de classification,
chaque nouvelle scène courante détectée étant affectée d'une probabilité de confiance
initiale,
une mise à jour de la probabilité de confiance initiale en fonction d'une première
probabilité de transition d'une scène précédemment détectée vers la nouvelle scène
courante détectée, et
un traitement de filtrage de ces scènes courantes détectées à partir d'au moins la
probabilité de confiance associée à chaque nouvelle scène courante détectée, la sortie
du traitement de filtrage délivrant successivement des scènes détectées filtrées.
[0020] L'expérience utilisateur est avantageusement un paramètre à prendre en considération
dans la détection de scènes. En effet, ladite première probabilité de transition permet
de quantifier la probabilité que l'utilisateur transite d'une scène à une autre.
[0021] Certaines transitions d'une scène à une autre sont peu probables, voire impossibles.
[0022] Ainsi, en prenant en compte ce paramètre, la probabilité de confiance initiale associée
à la scène courante détectée est affinée.
[0023] Egalement, lors du traitement de filtrage par exemple un méta-filtre, la probabilité
de confiance mise à jour et associée à la nouvelle scène courante détectée permet
de réduire, voire de supprimer le bruit perturbant le méta filtre avant toute autre
décision, ce qui offre de meilleures performances au méta-filtre.
[0024] Selon un mode de mise en oeuvre, la mise à jour de la probabilité de confiance associée
à ladite nouvelle scène courante détectée peut comprendre une multiplication de ladite
probabilité de confiance initiale par ladite première probabilité de transition.
[0025] Autrement dit, on pondère la probabilité de confiance initiale associée à ladite
nouvelle scène courante détectée, par ladite première probabilité de transition.
[0026] Selon un mode de mise en oeuvre, le procédé comprend en outre une normalisation de
ladite probabilité de confiance mise à jour associée à ladite nouvelle scène courante
détectée.
[0027] Selon un mode de mise en oeuvre, chaque transition d'une première scène parmi ledit
ensemble de scènes de références possibles, vers une deuxième scène parmi ledit ensemble
de scènes de références possibles, est affectée d'une première probabilité de transition
ayant une valeur arbitraire ou mise à jour.
[0028] Il est préférable de mettre à jour ladite première probabilité de transition et cela
durant toute la vie de l'appareil de l'utilisateur. Cela permet de s'adapter à l'évolution
de l'expérience de l'utilisateur détenant l'appareil.
[0029] Selon un mode de mise en oeuvre, la mise à jour de ladite première probabilité de
transition est effectuée si, durant un intervalle de temps donné, au moins une transition
de ladite première vers la deuxième scène est effectuée, et cette mise à jour comprend
un calcul d'une deuxième probabilité de transition pour chaque transition de ladite
première scène vers chacune desdites deuxièmes scènes possibles parmi ledit ensemble
de scènes de références possibles.
[0030] Par intervalle de temps donné, on entend par exemple une durée correspondant à N
transitions observées par exemple sur une fenêtre non glissante.
[0031] Le nombre N est par exemple défini en fonction du corpus des scènes de référence.
[0032] Cela peut être réalisé par exemple par un compteur qui compte les transitions jusqu'à
N transitions.
[0033] Selon un mode de mise en oeuvre, la mise à jour de la première probabilité de transition
peut comprendre une augmentation de sa valeur d'une première valeur fixe si ladite
deuxième probabilité de transition est supérieure à la première probabilité de transition.
[0034] Ladite première valeur fixe peut par exemple être comprise entre 0.01 et 0.05.
[0035] Selon un mode de mise en oeuvre, la mise à jour de la première probabilité de transition
comprend une diminution de sa valeur d'une deuxième valeur fixe si ladite deuxième
probabilité de transition est inférieure à la première probabilité de transition.
[0036] Ladite deuxième valeur fixe peut par exemple être comprise entre 0.01 et 0.05.
[0037] Selon un mode de mise en oeuvre, la mise à jour de chaque première probabilité de
transition susceptible d'être mise à jour est effectuée en utilisant un algorithme
d'optimisation différentiable.
[0038] L'algorithme de classification peut délivrer ladite probabilité de confiance initiale
associée à ladite nouvelle scène courante détectée.
[0039] Si l'algorithme de classification ne délivre pas ladite probabilité de confiance
initiale associée à ladite nouvelle scène courante détectée, on peut alors affecter
à ladite nouvelle scène courante détectée une probabilité de confiance ayant une valeur
arbitraire.
[0040] Si la valeur de la probabilité de confiance initiale n'est pas disponible, on considère
qu'elle a une valeur fixée à 100%. Dans ce cas, la pondération par la première probabilité
de transition est réalisée sur la probabilité ayant ladite valeur fixée à 100%.
[0041] Le traitement de mise à jour des probabilités de confiance initiales est compatible
avec tout type d'algorithme de classification mais également avec tout type de traitement
de filtrage effectué à partir de probabilités associées aux scènes détectées par l'algorithme
de classification.
[0042] Ce traitement de mise à jour des probabilités de confiance initiales est en particulier
compatible, lorsqu'il est prévu une affectation d'un identifiant à chaque scène de
référence, avec un traitement de filtrage des scènes courantes détectées effectué
non seulement à partir de la probabilité de confiance mise à jour associée à chaque
nouvelle scène courante détectée, mais également à partir de l'identifiant de chaque
nouvelle scène courante détectée. (Chaque scène détectée a effectivement un identifiant
puisque chaque scène détectée est l'une des scènes référence qui ont chacune un identifiant).
[0043] Un traitement de filtrage de ce type est par exemple décrit dans la demande de brevet
français précitée n°
1754080.
[0044] On en rappelle ici quelques caractéristiques.
[0045] Le traitement de filtrage est un traitement de filtrage temporel glissant de ces
scènes courantes détectées sur une fenêtre de filtrage de taille M, à partir de l'identifiant
de chaque nouvelle scène courante détectée prise en compte dans ladite fenêtre et
de la probabilité de confiance mise à jour associée à cette nouvelle scène courante
détectée.
[0046] La valeur de M définit la taille du filtre et sa latence (de l'ordre de M/2) et contribue
à sa précision. L'homme du métier saura déterminer cette valeur en fonction de l'application
envisagée et des performances souhaitées.
[0047] Cela étant une valeur de 15 pour M peut être un bon compromis.
[0048] Ce traitement de filtrage est compatible avec tout type d'algorithme de classification.
[0049] Pour un algorithme de classification configuré pour délivrer à chaque instant de
détection une seule scène détectée, on peut prévoir un registre, par exemple un registre
à décalage, de taille M (1xM) pour former ladite fenêtre de taille M.
[0050] Ainsi en particulier, on peut prévoir un moyen de stockage comportant un registre
à décalage de taille M formant ladite fenêtre de taille M, et pour chaque nouvelle
scène courante détectée, on stocke son identifiant et la probabilité de confiance
mise à jour associée, éventuellement normalisée, dans le registre, on effectue le
traitement de filtrage en utilisant les M identifiants présents dans ledit registre
et leur probabilité de confiance mise à jour associée, éventuellement normalisée,
et on délivre comme scène détectée filtrée l'une des scènes possibles, c'est-à-dire
l'une des scènes de référence.
[0051] Lorsqu'on décale le contenu du registre à chaque nouvelle scène courante détectée,
l'identifiant qui en est extrait est l'identifiant temporellement le plus ancien.
Mais bien entendu l'identifiant qui sera délivré après filtrage peut être n'importe
quel identifiant du registre, par exemple celui de la scène qui vient d'être détecté
ou bien celui d'une scène précédente.
[0052] Cela étant l'algorithme de classification peut être configuré pour délivrer à chaque
instant de détection, un groupe de plusieurs scènes. C'est le cas par exemple pour
un méta classifieur dans lequel on va utiliser à chaque instant de détection les différentes
scènes détectées par les différents arbres de décision qui le composent sans utiliser
l'étape ultime du vote majoritaire par exemple.
[0053] Ce peut être également le cas un réseau de neurones dont on utilise les différentes
scènes et leur probabilité de confiance correspondante respectivement associées aux
différents neurones de la couche de sortie.
[0054] Dans le cas d'un algorithme de classification (par exemple un méta classifieur ou
un réseau de neurones) configuré pour délivrer à chaque instant de détection, un groupe
de D scènes, avec D supérieur à 1, on peut prévoir, pour former la fenêtre de filtrage
de taille M, un moyen de mémoire de taille plus importante capable de stocker une
matrice de taille DxM (D étant le nombre de lignes et M le nombre de colonnes).
[0055] On peut alors stocker dans le moyen de stockage formant ladite fenêtre de taille
M, pour chaque nouveau groupe de D scènes courantes détectées, les probabilités de
confiance mises à jour, éventuellement normalisées, associées aux identifiants de
ces D scènes courantes détectées, on effectue le traitement de filtrage en utilisant
les DxM identifiants et leur probabilité de confiance mise à jour associée, éventuellement
normalisée, et on délivre comme scène détectée filtrée l'une des scènes possibles,
c'est-à-dire l'une des scènes de référence.
[0056] Le traitement de filtrage peut comprendre, en particulier lorsque le moyen de stockage
comprend un registre à décalage de taille M,
une définition d'un nombre entier J supérieur ou égal à deux et inférieur ou égal
à la partie entière de M/2, et pour chaque identifiant présent dans le registre encadré
par 2J identifiants identiques,
une comparaison de cet identifiant encadré avec les 2J identifiants encadrants, et
en cas d'une non identité de valeurs un remplacement de l'identifiant encadré par
l'un des identifiants encadrants, et
une affectation à l'identifiant encadrant remplaçant ledit identifiant encadré, d'une
probabilité de confiance mise à jour, éventuellement normalisée, calculée à partir
des probabilités de confiance mises à jour, éventuellement normalisées, des 2J identifiants
encadrants, par exemple la moyenne des probabilités de confiance, éventuellement normalisées,
des 2J identifiants encadrants.
[0057] Ceci permet d'éliminer par exemple des erreurs isolées de détection.
[0058] Lorsque le moyen de stockage est adapté à un algorithme de classification configuré
pour délivrer successivement des groupes de D scènes détectées, le traitement de filtrage
qui vient d'être évoqué ci-avant pour notamment l'élimination des erreurs isolées,
s'applique alors avantageusement sur la matrice DxM, ligne par ligne .
[0059] Selon un mode de mise en oeuvre, compatible quelle que soit la configuration de l'algorithme
de classification et donc quelle que soit la taille du moyen de stockage, le traitement
de filtrage comprend pour chaque identifiant pris en compte plus d'une fois dans ledit
moyen de stockage une sommation des probabilités de confiance mise à jour, éventuellement
normalisées, qui lui sont associées, la scène détectée filtrée étant alors celle dont
l'identifiant pris en compte dans le moyen de stockage possède la probabilité de confiance
mise à jour cumulée, éventuellement normalisée, la plus élevée.
[0060] Selon une variante plus élaborée possible, également compatible quelle que soit la
taille du moyen de stockage, permettant notamment de fournir une indication sur la
variabilité du filtre, le traitement de filtrage comprend pour chaque identifiant
pris en compte plus d'une fois dans ledit moyen de stockage une sommation des probabilités
de confiance mise à jour, éventuellement normalisées, qui lui sont associées, une
élaboration d'une fonction de densité de probabilités desdits identifiants centrée
sur l'identifiant ayant la plus forte probabilité de confiance mise à jour cumulée,
éventuellement normalisée, un calcul de la variance de cette fonction, un calcul d'un
rapport entre la probabilité de confiance cumulée, éventuellement normalisée, la plus
élevée et ladite variance et une comparaison de ce rapport à un seuil et une sélection
de la scène détectée filtrée en fonction du résultat de ladite comparaison.
[0061] Cette variante permet ainsi d'apprécier le degré de confiance du filtre et de prendre
une décision en conséquence.
[0062] Ainsi, si ledit rapport est inférieur au seuil ce qui peut résulter d'une variance
importante, le degré de confiance est moindre et on peut alors décider de délivrer
comme scène détectée en sortie du filtre, soit la scène qui présente effectivement
la plus forte probabilité de confiance mise à jour cumulée mais en lui assignant une
information la caractérisant comme « incertaine », soit la scène détectée filtrée
temporellement précédente.
[0063] Si au contraire ledit rapport est supérieur ou égal au seuil ce qui peut résulter
d'une variance faible, le degré de confiance est élevé et on peut alors décider de
délivrer comme scène détectée en sortie du filtre la scène qui présente effectivement
la plus forte probabilité de confiance mise à jour cumulée, éventuellement normalisée.
[0064] Selon un autre aspect, il est également proposé un appareil comprenant
des moyens de détection configurés pour détecter des scènes parmi un ensemble de scènes
de références possibles à des instants de détection successifs à l'aide d'au moins
un algorithme de classification, chaque nouvelle scène courante détectée étant affectée
d'une probabilité de confiance initiale,
des moyens de calcul configurés pour mettre à jour ladite probabilité de confiance
initiale en fonction d'une première probabilité de transition d'une scène précédemment
détectée vers la nouvelle scène courante détectée,
des moyens de filtrage configurés pour effectuer un traitement de filtrage à partir
d'au moins la probabilité de confiance mise à jour associée à chaque nouvelle scène
courante détectée, et pour délivrer successivement des scènes détectées filtrées.
[0065] Selon un mode de réalisation, les moyens de calcul sont configurés pour mettre à
jour ladite probabilité de confiance initiale associée à ladite nouvelle scène courante
détectée, en effectuant une multiplication de ladite probabilité de confiance initiale
par ladite première probabilité de transition.
[0066] Selon un mode de réalisation, les moyens de calcul sont configurés pour normaliser
ladite probabilité de confiance mise à jour associée à ladite nouvelle scène courante
détectée.
[0067] Selon un mode de réalisation, chaque transition d'une première scène parmi ledit
ensemble de scènes de références possibles, vers une deuxième scène parmi ledit ensemble
de scènes de références possibles, est affectée d'une première probabilité de transition
ayant une valeur arbitraire ou mise à jour.
[0068] Selon un mode de réalisation, les moyens de calcul sont configurés pour mettre à
jour ladite première probabilité de transition si, durant un intervalle de temps donné,
au moins une transition de la première scène vers la deuxième scène est effectuée,
et cette mise jour comprend un calcul d'une deuxième probabilité de transition pour
chaque transition de ladite première scène vers chacune desdites deuxièmes scènes
possibles parmi ledit ensemble de scènes de références possibles.
[0069] Selon un mode de réalisation, les moyens de calcul sont configurés pour mettre à
jour la première probabilité de transition en augmentant sa valeur d'une valeur fixe
si ladite deuxième probabilité de transition est supérieure à la première probabilité
de transition.
[0070] Selon un mode de réalisation, les moyens de calcul sont configurés pour mettre à
jour la première probabilité de transition en diminuant sa valeur d'une valeur fixe
si ladite deuxième probabilité de transition est inférieure à la première probabilité
de transition.
[0071] Selon un mode de réalisation, les moyens de calcul sont configurés pour mettre à
jour chaque première probabilité de transition susceptible d'être mise à jour en utilisant
un algorithme d'optimisation différentiable.
[0072] Selon un mode de réalisation, l'algorithme de classification est configuré pour délivrer
ladite probabilité de confiance associée à ladite nouvelle scène courante détectée.
[0073] Selon un mode de réalisation, si l'algorithme de classification n'est pas configuré
pour délivrer ladite probabilité de confiance associée à ladite nouvelle scène courante
détectée, une probabilité de confiance ayant une valeur arbitraire est affectée à
ladite nouvelle scène courante détectée.
[0074] Selon un mode de réalisation, chaque scène de référence est affectée d'un identifiant
et les moyens de filtrage sont configurés pour effectuer un traitement de filtrage
à partir de l'identifiant de chaque nouvelle scène courante détectée et de la probabilité
de confiance mise à jour associée à chaque nouvelle scène courante détectée.
[0075] L'appareil peut être par exemple un téléphone mobile cellulaire ou une tablette numérique,
ou tout type d'objet intelligent, en particulier une montre intelligente, connecté
ou non à un réseau internet.
[0076] D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de
la description détaillée de modes de mise en oeuvre et de réalisation, nullement limitatifs,
et des dessins annexés sur lesquels :
Les figures 1 à 5 illustrent schématiquement différents modes de mise en oeuvre et
de réalisation de l'invention.
[0077] Sur la figure 1, la référence APP désigne un appareil électronique que l'on considèrera
être dans cet exemple non limitatif, un appareil de communication sans fil équipé
d'une antenne ANT. Cet appareil peut être un téléphone mobile cellulaire tel qu'un
téléphone intelligent (smartphone) ou encore une tablette numérique.
[0078] L'appareil APP comporte ici plusieurs capteurs de mesure CPTl-CPTj, j = 1 à M.
[0079] A titre indicatif, les capteurs CPTj peuvent être choisis dans le groupe formé par
un accéléromètre, un gyroscope, un magnétomètre, un capteur audio tel qu'un microphone,
un baromètre, un capteur de proximité, un capteur optique.
[0080] Bien entendu, l'appareil peut être équipé de plusieurs accéléromètres et/ou de plusieurs
gyroscopes et/ou plusieurs magnétomètres et/ou de plusieurs capteurs audio et/ou d'un
baromètre, et/ou d'un ou plusieurs capteurs de proximité, et/ou un ou plusieurs capteurs
optiques.
[0081] Les capteurs audio sont des descripteurs utiles d'environnement. En effet, si l'appareil
n'est pas en mouvement, alors le capteur audio peut être intéressant pour détecter
la nature de cet environnement. Bien entendu, en fonction des applications, on peut
utiliser soit des capteurs environnementaux du type accéléromètres voire gyroscopes
ou magnétomètres, soit des capteurs audio ou alors une combinaison de ces deux types
de capteurs ou encore d'autres types de capteurs, comme des capteurs non inertiels
du type capteur de température, d'humidité et de luminosité.
[0082] Ces capteurs de mesure environnementaux, peuvent, en particulier dans une approche
multimodale, former en combinaison avec un algorithme classique de discrimination
ALC, par exemple du type arbre de décision, destiné à travailler par exemple sur des
données brutes filtrées issues de ces capteurs, des moyens de détection MDET peuvent
ainsi par exemple détecter si l'appareil APP si situe dans tel ou tel environnement
(restaurant, véhicule en mouvement, etc...) ou si le porteur de cet appareil (par
exemple une montre intelligente) réalise une activité spécifique (marcher, courir,
faire du vélo, ...).
[0083] On suppose maintenant à titre d'exemple non limitatif que tous les capteurs environnementaux
CPT1-CPTM contribuent à la détection de la scène et fournissent des données à des
instants de mesure à l'algorithme de discrimination ALC pour permettre de détecter
la scène.
[0084] Comme on le verra plus en détails ci-après, le contrôle de la détection de scènes
obtenues à partir d'un algorithme de classification utilise un traitement de filtrage
sur des identifiants de ces scènes et utilise des probabilités de confiance mises
à jour et associées à ces scènes détectées.
[0085] Ce traitement de filtrage est mis en oeuvre dans des moyens de filtrage MFL.
[0086] On va maintenant décrire un exemple non limitatif d'un algorithme de classification
fournissant pour chaque scène détectée une probabilité de confiance initiale. Un tel
algorithme est par exemple décrit dans la demande de brevet français déposée sous
le n°
1752947 et dont on rappelle ici certaines caractéristiques.
[0087] L'algorithme de discrimination mis en oeuvre de façon logicielle dans les moyens
MDET de détection de scène est ici un arbre de décision ayant réalisé une phase d'apprentissage
sur une base de données de mesure des capteurs environnementaux. Un tel arbre de décision,
est particulièrement simple à mettre en oeuvre et ne nécessite que quelques kilooctets
de mémoire et une fréquence de travail inférieure à 0.01 MHz.
[0088] Il est stocké dans une mémoire programme MM1.
[0089] L'arbre de décision ALC opère sur un vecteur d'attributs. L'arbre comprend une série
de noeuds. Chaque noeud est affecté à un test sur un attribut.
[0090] A partir d'un noeud partent deux branches.
[0091] Par ailleurs, la sortie de l'arbre comporte des feuilles correspondant à des scènes
de référence que l'appareil APP est censé détecter.
[0092] Ces scènes de référence peuvent être par exemple, sans que ceci ne soit limitatif,
des scènes « BATEAU », « AVION », « VEHICULE », « MARCHE » représentatives par exemple
de l'environnement dans lequel peut se trouver l'appareil APP, ici le téléphone.
[0093] Les moyens de détection MDET comportent également des moyens d'acquisition ACQ configurés
pour acquérir des valeurs courantes des attributs à partir des données de mesure issues
des capteurs.
[0094] Les moyens de détection MDET comportent des moyens de commande MCM configurés pour
activer le module logiciel ALC avec les valeurs courantes des attributs de façon à
parcourir un chemin au sein de l'arbre de décision et obtenir en sortie du chemin
une scène parmi l'ensemble de scènes de références, cette scène obtenue formant la
scène détectée.
[0095] Par ailleurs, l'algorithme de discrimination délivre également une probabilité de
confiance initiale associée à la scène détectée, qui sera stockée dans une mémoire
MM2.
[0096] A cet égard l'élaboration de la probabilité de confiance initiale associée à la scène
détectée est effectuée après la détection de la scène détectée et à partir de la connaissance
de cette scène détectée, en particulier en effectuant un parcours supplémentaire dudit
chemin avec la connaissance à chaque noeud, de la scène détectée.
[0098] Ces deux algorithmes sont également configurés pour délivrer une probabilité de confiance
initiale pour chaque scène détectée.
[0099] L'appareil APP comporte également des moyens de calcul MDC configurés pour mettre
à jour ladite probabilité de confiance initiale.
[0100] Les moyens de calcul MDC comprennent un compteur MDC1 dont le rôle sera détaillé
plus bas, une unité arithmétique et logique (ALU pour « Arithmetic-Logic Unit » en
anglais) MDC2 configurée pour réaliser des opérations arithmétiques et des comparaisons.
[0101] Les opérations réalisées par l'unité arithmétique et logique MDC2 seront détaillées
dans les figures 4 et 5.
[0102] L'appareil APP comporte également un bloc BLC apte à coopérer avec les moyens de
détection MDET pour traiter la scène détectée et transmettre les informations via
l'antenne ANT de l'appareil.
[0103] Bien entendu, l'antenne est optionnelle si l'appareil n'est pas un appareil connecté.
[0104] L'appareil comporte également des moyens de contrôle MCTRL configurés pour activer
successivement les moyens de détection MDET de façon à mettre en oeuvre une succession
d'étapes de détection de scènes mutuellement espacées d'intervalles temporels.
[0105] Ces différents moyens BLC, MDET, MCTRL, MDC et MFL peuvent être par exemple réalisés
au moins en partie par des modules logiciels au sein d'un microprocesseur PR de l'appareil
APP, par exemple le microprocesseur commercialisé par la société STMicroelectronics
sous la référence STM32.
[0106] Comme illustré dans la figure 2, les moyens de filtrage MFL sont configurés pour
réaliser un traitement par un filtrage 10 en utilisant par exemple un méta-filtre
qui opère sur des décisions successives délivrées par l'algorithme de classification
ALC, quel que soit son type et y compris un méta classifieur.
[0107] Le traitement par filtrage 10 est ici un traitement de filtrage temporel glissant
des scènes détectées sur une fenêtre de filtrage de taille M à partir de l'identifiant
de chaque nouvelle scène courante détectée prise en compte dans la fenêtre et d'une
probabilité de confiance mise à jour PC2 associée à cette nouvelle scène détectée.
Un tel traitement de filtrage est décrit dans la demande de brevet français précitée
n°
1754080 précitée.
[0108] Bien entendu, la valeur de M, qui définit notamment la latence du filtre, pourra
être définie aisément par l'homme du métier en fonction de l'application envisagée.
[0109] La sortie du traitement de filtrage délivre successivement des scènes détectées filtrées
15.
[0110] A cet égard, un identifiant ID, par exemple un nombre, est affecté à chaque scène
de référence.
[0111] On suppose ici qu'il y a quatre scènes de référence, à savoir les scènes « VEHICULE
», « AVION », « BATEAU » et « MARCHE ».
[0112] La scène de référence « VEHICULE » a l'identifiant 1.
[0113] La scène de référence « AVION » a l'identifiant 2.
[0114] La scène de référence « BATEAU » a l'identifiant 3 et la scène de référence « MARCHE
» a l'identifiant 4.
[0115] Par conséquent, puisque chaque scène détectée appartient à l'une des scènes de référence,
l'identifiant de la scène courante détectée est un identifiant ayant la même valeur
que l'une des scènes de référence.
[0116] La probabilité de confiance PC2 associée à la nouvelle scène détectée, est ici une
probabilité de confiance mise à jour par une pondération 20 de la probabilité de confiance
initiale PC1 délivrée par l'algorithme de discrimination ALC, par une première probabilité
de transition TrPT1.
[0117] Cette mise à jour est effectuée par les moyens de calcul MDC.
[0118] Si la probabilité de confiance initiale PC1 n'est pas délivrée par l'algorithme de
discrimination ALC, on considère qu'elle a une valeur arbitraire, fixée par exemple
à 100%. Dans ce cas, la pondération par la première probabilité de transition TrPT1
est réalisée sur la probabilité de confiance ayant ladite valeur fixe.
[0119] Ladite première probabilité de transition TrPT1 permet de quantifier la probabilité
que l'utilisateur passe d'une scène à une autre.
[0120] C'est avantageusement un paramètre à prendre en compte dans la détection de scènes
car certaines transitions d'une scène à une autre sont peu probables, voire impossibles.
[0121] Ainsi, en prenant compte ladite première probabilité de transition TrPT1, la probabilité
de confiance initiale PC1 associée à la scène courante détectée est affinée.
[0122] A cet égard, comme illustré sur la figure 3, ladite première probabilité de transition
TrPT1 peut être extraite d'une table de transition TT stockée dans la mémoire MM3.
[0123] La table de transition TT est une table à deux dimensions. L'axe vertical AxV indique
les scènes précédemment détectées et l'axe horizontal AxH indique les scènes courantes
détectées.
[0124] Ainsi chaque cellule CEL de la table de transition TT indique la probabilité de transition
d'une scène précédemment détectée vers une scène courante détectée.
[0125] Par exemple, la probabilité d'une transition de la scène précédemment détectée «
VEHICULE » à la scène courante détectée « MARCHE » est de 0,8, ce qui représente une
haute probabilité de transition.
[0126] Par contre, la probabilité d'une transition de la scène précédemment détectée « VEHICULE
» à « BATEAU » est de 0,1, ce qui représente une probabilité faible et donc une transition
improbable pour l'utilisateur détenant l'appareil APP.
[0127] Cette table peut être par exemple initialement prédéterminée en fonction des applications.
[0128] Bien évidemment, les habitudes de l'utilisateur détenant l'appareil APP sont amenées
à évoluer.
[0129] Il est donc souhaitable de mettre à jour ladite probabilité de transition TrPT1 qui
peut avoir une valeur arbitraire, pour garantir une bonne précision de la probabilité
de confiance PC2.
[0130] Cette mise à jour est également effectuée par les moyens de calcul MDC.
[0131] On se réfère maintenant plus particulièrement aux figures 4 et 5 pour illustrer les
différentes étapes de la mise à jour de ladite première probabilité de transition
TrPT1, par un algorithme comprenant deux parties.
[0132] Avant toute mise à jour, une fenêtre d'observation non-glissante est activée.
[0133] Chaque occurrence de transition d'une première scène i vers une deuxième scène j,
est accumulée en utilisant le compteur MDC1 pendant un intervalle de temps donné,
correspondant à N transitions.
[0134] Ces N transitions sont avantageusement mémorisées sous la forme d'une liste dans
la mémoire MM3.
[0135] Bien évidemment, le nombre N sera choisi par l'homme du métier en fonction du corpus
de scènes de référence.
[0136] Une fois le nombre N qui correspond à N transitions, est atteint, les instructions
de l'algorithme permettant la mise à jour de la table de transitions TT, sont lues.
[0137] On commence par une étape d'initialisation 21 de la valeur d'une première variable
i à 1 correspondant à une première scène de référence portant l'identifiant 1, et
de la valeur d'une deuxième variable j à 2 correspondant à une deuxième scène de référence
portant l'identifiant 2.
[0138] L'étape 22 permet de vérifier si i est bien différent de j. Cela sera utile pour
les prochaines instructions de l'algorithme.
[0139] Si i est différent de j, on parcourt la liste des N transitions pour compter, par
exemple en utilisant le compteur MDC1, les occurrences N(i->j) d'une transition de
la première scène de référence portant l'identifiant 1 vers la deuxième scène de référence
portant l'identifiant 2.
[0140] La valeur de N(i->j) est mémorisée dans la mémoire MM3.
[0141] On incrémente, lors de l'étape 24, la valeur de N(i) avec i égal à 1, correspondant
au nombre de transitions de la première scène de référence portant l'identifiant 1
vers chacune des scènes de référence possibles, du nombre d'occurrence N(i->j) de
la première transition de la première scène de référence portant l'identifiant 1 vers
la deuxième scène de référence portant l'identifiant 2.
[0142] La formule (I) mise en oeuvre à l'étape 24 est en annexe.
[0143] La valeur de N(i) est mémorisée dans la mémoire MM3.
[0144] Ensuite, l'étape 25 permet de vérifier si j a atteint la valeur maximale, c'est à
dire un nombre jmax correspondant au nombre de scènes de référence, c'est à dire 4
dans cet exemple.
[0145] La valeur maximale n'étant pas encore atteinte, on incrémente, dans l'étape 23 la
valeur de j à 3 et on refait les mêmes opérations jusqu'à l'atteinte de la valeur
maximale jmax de j, c'est à dire 4 dans cet exemple.
[0146] Dans ce cas, on vérifie, lors de l'étape 26, si la valeur maximale imax de i est
atteinte, c'est à dire 4. Ceci permet de vérifier que l'algorithme a bien parcouru
toutes les scènes de référence possibles.
[0147] Si ce n'est pas le cas, on réitère toutes les étapes décrites précédemment et on
réinitialise la variable j à 1 lors de l'étape 28.
[0148] Ainsi, une fois toutes les scènes de références prises en compte, on exécute la deuxième
partie de l'algorithme illustré sur la figure 5.
[0149] On commence par une étape d'initialisation 31 de la valeur de la première variable
i à 1, correspondant à la première scène de référence portant l'identifiant 1, et
de la valeur de la deuxième variable j à 2 correspondant à la deuxième scène de référence
portant l'identifiant 2.
[0150] L'étape 32 vérifie si N(i) est supérieur 0. Autrement dit, on vérifie s'il y a eu
une transition, durant l'intervalle donné, de la première scène de référence i avec
i égal à 1, vers l'une quelconque des deuxièmes scènes de référence.
[0151] Si N(i) est supérieur à 0 on passe à l'instruction suivante représentée par l'étape
33 qui permet de vérifier si i est bien différent de j. Cela sera surtout utile pour
les prochaines instructions de l'algorithme.
[0152] Si i est différent de j, l'unité arithmétique logique MDC2 réalise, dans l'étape
34 le calcul d'une deuxième probabilité de transition TrPT2(i->j) de la première scène
de référence i avec i égal 1, correspondant à la première scène de référence portant
l'identifiant 1, vers une deuxième scène de référence j avec j égal à 2, correspondant
à la deuxième scène de référence portant l'identifiant 2.
[0153] Ce calcul (II) en annexe, est une division du nombre d'occurrence N(i->j) de la première
transition de la première scène de référence portant l'identifiant 1 vers la deuxième
scène de référence portant l'identifiant 2, par N(i) correspondant au nombre de transitions
de la première scène de référence portant l'identifiant 1 vers chacune des scènes
de référence possibles.
[0154] Ainsi, cette deuxième probabilité de transition TrPT2(i->j) sera comparée lors de
l'étape 331, par l'unité arithmétique et logique MDC2, à la première probabilité de
transition TrPT1(i->j).
[0155] Ainsi, si la deuxième probabilité de transition TrPT2(i->j) est supérieure à la première
probabilité de transition TrPT1(i->j), on augmente la valeur de la première probabilité
de transition TrPT1(i->j) d'une première valeur fixe
δ1, dans l'étape 37 (formule III en annexe).
[0156] La première valeur fixe
δ1 peut par exemple être comprise entre 0,01 et 0,05.
[0157] La première probabilité de transition TrPT1(i->j) est mise à jour et stockée dans
la table de transition TT.
[0158] Sinon, on diminue la valeur de la première probabilité de transition TrPT1(i->j)
d'une deuxième valeur fixe
δ2, dans l'étape 36 (formule IV en annexe).
[0159] La deuxième valeur fixe
δ2 peut par exemple être comprise entre 0,01 et 0,05.
[0160] La première probabilité de transition TrPT1(i->j) est mise à jour et stockée dans
la table de transition TT.
[0161] Ensuite, l'étape 38 permet de vérifier si j a atteint la valeur maximale, c'est à
dire le nombre jmax correspondant au nombre de scènes de référence, c'est à dire 4
dans cet exemple.
[0162] Si la valeur maximale jmax n'est pas encore atteinte, on incrémente dans l'étape
39 la valeur de j à 3 et on refait les mêmes opérations jusqu'à l'atteinte de la valeur
maximale jmax de j, c'est à dire 4.
[0163] Dans ce cas, on vérifie, lors de l'étape 40, si la valeur maximale imax de i est
atteinte, c'est à dire 4. Ceci permet de vérifier que l'algorithme a bien parcouru
toutes les scènes de références possibles.
[0164] Si ce n'est pas le cas, on réitère toutes les étapes décrites précédemment et on
réinitialise la variable j à 1.
[0165] Ainsi, une fois toutes les scènes de références prises en compte, il n'y a plus d'instructions
à exécuter.
[0166] Par conséquent, toute transition entre une première scène i parmi l'ensemble de scènes
de référence possibles vers une deuxième scène j parmi l'ensemble de scènes de référence,
observée par la fenêtre d'observation non glissante durant un intervalle donné, permet
de mettre à jour la probabilité de transition de la première scène i vers la deuxième
scène j et ainsi affiner par la suite la probabilité de confiance délivrée par l'algorithme
de discrimination ALC.
[0167] Par ailleurs, l'invention n'est pas limitée à ces modes de réalisation et de mise
en oeuvre mais en embrasse toutes les variantes.
[0168] Ainsi, la mise à jour de la probabilité de transition TrPT(i->j) pourrait être effectuée
par tout autre algorithme à la portée de l'homme du métier, en particulier par un
algorithme d'optimisation différentiable mettant en oeuvre la formule (V) présentée
en annexe.
Annexe
1. Procédé de contrôle d'une détection de scènes par un appareil (APP) parmi un ensemble
de scènes de référence possibles, comprenant une détection de scènes parmi ledit ensemble
de scènes de références possibles à des instants de détection successifs à l'aide
d'au moins un algorithme de classification, chaque nouvelle scène courante détectée
étant affectée d'une probabilité de confiance initiale (PC1), une mise à jour de la
probabilité de confiance initiale (PC1) en fonction d'une première probabilité de
transition (TrPT1) d'une scène précédemment détectée vers la nouvelle scène courante
détectée, et un traitement de filtrage (10) de ces scènes courantes détectées à partir
d'au moins la probabilité de confiance mise à jour (PC2) associée à chaque nouvelle
scène courante détectée, la sortie du traitement de filtrage délivrant successivement
des scènes détectées filtrées (15).
2. Procédé selon la revendication 1, dans lequel la mise à jour de la probabilité de
confiance initiale (PC1) associée à ladite nouvelle scène courante détectée comprend
une multiplication de ladite probabilité de confiance initiale (PC1) par ladite première
probabilité de transition (TrPT1).
3. Procédé selon la revendication 1 ou 2, comprenant en outre une normalisation de ladite
probabilité de confiance mise à jour (PC2) associée à ladite nouvelle scène courante
détectée.
4. Procédé selon l'une des revendications précédentes, dans lequel chaque transition
d'une première scène (i) parmi ledit ensemble de scènes de références possibles, vers
une deuxième scène (j) parmi ledit ensemble de scènes de références possibles, est
affectée d'une première probabilité de transition (TrPT1) ayant une valeur arbitraire
ou mise à jour.
5. Procédé selon la revendication 4, dans lequel la mise à jour de ladite première probabilité
de transition (TrPT1) est effectuée si, durant un intervalle de temps donné, au moins
une transition de la première scène (i) vers la deuxième scène (j) est effectuée,
et cette mise à jour comprend un calcul d'une deuxième probabilité de transition (TrPT2)
pour chaque transition de ladite première scène (i) vers chacune desdites deuxièmes
scènes possibles parmi ledit ensemble de scènes de références possibles.
6. Procédé selon la revendication 5, dans lequel la mise à jour de la première probabilité
de transition (TrPT1) comprend une augmentation de sa valeur d'une première valeur
fixe si ladite deuxième probabilité de transition (TrPT2) est supérieure à la première
probabilité de transition (TrPT1).
7. Procédé selon la revendication 5, dans lequel la mise à jour de la première probabilité
de transition (TrPT1) comprend une diminution de sa valeur d'une deuxième valeur fixe
si ladite deuxième probabilité de transition (TrPT2) est inférieure à la première
probabilité de transition (TrPT1).
8. Procédé selon l'une des revendications 4 à 7, dans lequel la mise à jour de chaque
première probabilité de transition (TrPT1) susceptible d'être mise à jour est effectuée
en utilisant un algorithme d'optimisation différentiable.
9. Procédé selon l'une des revendications précédentes, dans lequel l'algorithme de classification
délivre ladite probabilité de confiance initiale (PC1) associée à ladite nouvelle
scène courante détectée.
10. Procédé selon l'une des revendications 1 à 9, dans lequel si l'algorithme de classification
ne délivre pas ladite probabilité de confiance initiale (PC1) associée à ladite nouvelle
scène courante détectée, on affecte à ladite nouvelle scène courante détectée une
probabilité de confiance initiale ayant une valeur arbitraire.
11. Procédé selon l'une des revendications précédentes, comprenant en outre une affectation
d'un identifiant à chaque scène de référence, le traitement de filtrage (10) des scènes
courantes détectées étant effectué à partir de l'identifiant (ID) de chaque nouvelle
scène courante détectée et de ladite probabilité de confiance mise à jour (PC2) associée
à cette nouvelle scène courante détectée.
12. Appareil (APP) comprenant des moyens de détection configurés pour détecter des scènes
parmi un ensemble de scènes de références possibles à des instants de détection successifs
à l'aide d'au moins un algorithme de classification, chaque nouvelle scène courante
détectée étant affectée d'une probabilité de confiance initiale (PC1), des moyens
de calcul (MDC) configurés pour mettre à jour ladite probabilité de confiance initiale
(PC1) en fonction d'une première probabilité de transition (TrPT1) d'une scène précédemment
détectée vers la nouvelle scène courante détectée, des moyens de filtrage (FIL) configurés
pour effectuer un traitement de filtrage (10) à partir d'au moins la probabilité de
confiance mise à jour (PC2) associée à chaque nouvelle scène courante détectée (j)
et pour délivrer successivement des scènes détectées filtrées (15).
13. Appareil (APP) selon la revendication 12, dans lequel les moyens de calcul (MDC) sont
configurés pour mettre à jour ladite probabilité de confiance initiale (PC1) associée
à ladite nouvelle scène courante détectée, en effectuant une multiplication de ladite
probabilité de confiance initiale (PC1) par ladite première probabilité de transition
(TrPT1).
14. Appareil selon la revendication 12 ou 13, dans lequel les moyens de calcul (MDC) sont
configurés pour normaliser ladite probabilité de confiance mise à jour (PC2) associée
à ladite nouvelle scène courante détectée.
15. Appareil (APP) selon l'une des revendications 12 à 14, dans lequel chaque transition
d'une première scène (i) parmi ledit ensemble de scènes de références possibles, vers
une deuxième scène (j) parmi ledit ensemble de scènes de références possibles, est
affectée d'une première probabilité de transition (TrPT1) ayant une valeur arbitraire
ou mise à jour.
16. Appareil (APP) selon la revendication 15, dans lequel les moyens de calcul (MDC) sont
configurés pour mettre à jour ladite première probabilité de transition (TrPT1) si,
durant un intervalle de temps donné, au moins une transition de la première scène
(i) vers la deuxième scène (j) est effectuée, et cette mise à jour comprend un calcul
d'une deuxième probabilité de transition (TrPT2) pour chaque transition de ladite
première scène vers chacune desdites deuxièmes scènes possibles parmi ledit ensemble
de scènes de références possibles.
17. Appareil (APP) selon la revendication 16, dans lequel les moyens de calcul sont configurés
pour mettre à jour la première probabilité de transition (TrPT1) en augmentant sa
valeur d'une première valeur fixe si ladite deuxième probabilité de transition (TrPT2)
est supérieure à la première probabilité de transition (TrPT1).
18. Appareil (APP) selon la revendication 16, dans lequel les moyens de calcul (MDC) sont
configurés pour mettre à jour la première probabilité de transition (TrPT1) en diminuant
sa valeur d'une deuxième valeur fixe si ladite deuxième probabilité de transition
(TrPT2) est inférieure à la première probabilité de transition (TrPT1).
19. Appareil (APP) selon l'une des revendications 15 à 18, dans lequel les moyens de calcul
(MDC) sont configurés pour mettre à jour chaque première probabilité de transition
(TrPT1) susceptible d'être mise à jour en utilisant un algorithme d'optimisation différentiable.
20. Appareil (APP) selon l'une des revendications 12 à 19, dans lequel l'algorithme de
classification est configuré pour délivrer ladite probabilité de confiance initiale
(CP1) associée à ladite nouvelle scène courante détectée.
21. Appareil (APP) selon l'une des revendications 12 à 19, dans lequel si l'algorithme
de classification n'est pas configuré pour délivrer ladite probabilité de confiance
initiale (PC1) associée à ladite nouvelle scène courante détectée, une probabilité
de confiance initiale ayant une valeur arbitraire est affectée à ladite nouvelle scène
courante détectée.
22. Appareil selon l'une des revendications 12 à 21, dans lequel chaque scène de référence
étant affectée d'un identifiant (ID), les moyens de filtrage (FIL) sont configurés
pour effectuer un traitement de filtrage (10) à partir de l'identifiant (ID) de chaque
nouvelle scène courante détectée et de la probabilité de confiance mise à jour (PC2)
associée à chaque nouvelle scène courante détectée (j).
23. Appareil (APP) selon l'une des revendications 12 à 22, étant un téléphone mobile cellulaire
ou une tablette numérique ou une montre intelligente ou tout système intelligent.