244 liens privés
La détection d'objets à l'aide de classificateurs en cascade basés sur les caractéristiques Haar est une méthode efficace de détection d'objets proposée par Paul Viola et Michael Jones dans leur article intitulé "Rapid Object Detection using a Boosted Cascade of Simple Features" (Détection rapide d'objets à l'aide d'une cascade renforcée de caractéristiques simples) en 2001. Il s'agit d'une approche basée sur l'apprentissage automatique dans laquelle une fonction en cascade est entraînée à partir d'un grand nombre d'images positives et négatives. Elle est ensuite utilisée pour détecter des objets dans d'autres images.
Nous travaillerons ici sur la détection des visages. Au départ, l'algorithme a besoin d'un grand nombre d'images positives (images de visages) et d'images négatives (images sans visages) pour entraîner le classificateur. Nous devons ensuite en extraire les caractéristiques. Pour ce faire, nous utilisons les caractéristiques Haar présentées dans l'image ci-dessous. Elles sont comparables à notre noyau convolutif. Chaque caractéristique est une valeur unique obtenue en soustrayant la somme des pixels situés sous le rectangle blanc de la somme des pixels situés sous le rectangle noir.
caractéristiques_haar.jpg
image
Maintenant, toutes les tailles et tous les emplacements possibles de chaque noyau sont utilisés pour calculer un grand nombre de caractéristiques. (Imaginez la quantité de calculs nécessaires ? Même une fenêtre 24x24 produit plus de 160000 caractéristiques). Pour chaque calcul de caractéristique, nous devons trouver la somme des pixels situés sous les rectangles blancs et noirs. Pour résoudre ce problème, ils ont introduit l'image intégrale. Quelle que soit la taille de votre image, elle réduit les calculs pour un pixel donné à une opération impliquant seulement quatre pixels. C'est bien, non ? Cela rend les choses très rapides.
Mais parmi toutes les caractéristiques que nous avons calculées, la plupart ne sont pas pertinentes.
Prenons par exemple l'image ci-dessous. La rangée du haut montre deux bonnes caractéristiques. La première caractéristique sélectionnée semble se concentrer sur la propriété selon laquelle la région des yeux est souvent plus foncée que la région du nez et des joues.
La deuxième caractéristique sélectionnée s'appuie sur la propriété selon laquelle les yeux sont plus foncés que l'arête du nez. Mais les mêmes fenêtres appliquées aux joues ou à tout autre endroit ne sont pas pertinentes. Alors, comment sélectionner les meilleures caractéristiques parmi plus de 160000 ? C'est possible grâce à Adaboost.
Calcul des positions planétaires - un tutoriel avec des exemples pratiques
Par Paul Schlyter, Stockholm, Suède
WWW : http://stjarnhimlen.se/
Sortir d'un cadre
1. Principes de base
2. Quelques fonctions utiles
3. Coordonnées rectangulaires et sphériques
4. L'échelle de temps. Une date test
5. La position du soleil
6. Le temps sidéral et l'angle horaire. Altitude et azimut
7. Position de la Lune
8. Position de la Lune avec une plus grande précision. Perturbations
9. Position topocentrique de la Lune
10. Les éléments orbitaux des planètes
11. Les positions héliocentriques des planètes
12. Plus grande précision - perturbations
13. Précession
14. Positions géocentriques des planètes
15. L'élongation et les éphémérides physiques des planètes
16. Les positions des comètes. Comète Encke et Levy
Comment calculer les positions des planètes
Calcul des heures de lever et de coucher
Aujourd'hui, il n'est pas très difficile de calculer la position d'une planète à partir de ses éléments orbitaux. La seule chose dont vous avez besoin est un ordinateur et un programme approprié. Si vous souhaitez écrire un tel programme vous-même, ce texte contient les formules dont vous avez besoin. Le but est d'obtenir les positions des planètes à n'importe quelle date du 20ème et 21ème siècle avec une erreur d'une ou deux minutes d'arc au maximum, et de calculer la position d'un astéroïde ou d'une comète à partir de ses éléments orbitaux.
Aucun programme n'est fourni, car les ordinateurs et les calculatrices sont programmés dans des langages différents.
Une implémentation de cet algorithme pour calculer la position du soleil (azimut et élévation) depuis un lieu.
https://fr.planetcalc.com/320/
Sunrise/Sunset Algorithm Example
Source:
Almanac for Computers, 1990
published by Nautical Almanac Office
United States Naval Observatory
Washington, DC 20392
Inputs:
day, month, year: date of sunrise/sunset
latitude, longitude: location for sunrise/sunset
zenith: Sun's zenith for sunrise/sunset
offical = 90 degrees 50'
civil = 96 degrees
nautical = 102 degrees
astronomical = 108 degrees
NOTE: longitude is positive for East and negative for West
Worked example (from book):
June 25, 1990: 25, 6, 1990
Wayne, NJ: 40.9, -74.3
Office zenith: 90 50' cos(zenith) = -0.01454
-
first calculate the day of the year
N1 = floor(275 month / 9)
N2 = floor((month + 9) / 12)
N3 = (1 + floor((year - 4 floor(year / 4) + 2) / 3))
N = N1 - (N2 * N3) + day - 30Example:
N1 = 183
N2 = 1
N3 = 1 + floor((1990 - 4 * 497 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor(4 / 3)
= 2
N = 183 - 2 + 25 - 30 = 176 -
convert the longitude to hour value and calculate an approximate time
lngHour = longitude / 15
if rising time is desired:
t = N + ((6 - lngHour) / 24)
if setting time is desired:
t = N + ((18 - lngHour) / 24)Example:
lngHour = -74.3 / 15 = -4.953
t = 176 + ((6 - -4.953) / 24)
= 176.456 -
calculate the Sun's mean anomaly
M = (0.9856 * t) - 3.289
Example:
M = (0.9856 * 176.456) - 3.289
= 170.626 -
calculate the Sun's true longitude
[Note throughout the arguments of the trig functions
(sin, tan) are in degrees. It will likely be necessary to
convert to radians. eg sin(170.626 deg) =sin(170.626*pi/180
radians)=0.16287]L = M + (1.916 sin(M)) + (0.020 sin(2 * M)) + 282.634
NOTE: L potentially needs to be adjusted into the range [0,360) by adding/subtracting 360Example:
L = 170.626 + (1.916 sin(170.626)) + (0.020 sin(2 170.626)) + 282.634
= 170.626 + (1.916 0.16287) + (0.020 * -0.32141) + 282.634
= 170.626 + 0.31206 + -0.0064282 + 282.634
= 453.566 - 360
= 93.566
5a. calculate the Sun's right ascension
RA = atan(0.91764 * tan(L))
NOTE: RA potentially needs to be adjusted into the range [0,360) by adding/subtracting 360
Example:
RA = atan(0.91764 * -16.046)
= atan(0.91764 * -16.046)
= atan(-14.722)
= -86.11412
5b. right ascension value needs to be in the same quadrant as L
Lquadrant = (floor( L/90)) * 90
RAquadrant = (floor(RA/90)) * 90
RA = RA + (Lquadrant - RAquadrant)
Example:
Lquadrant = (floor(93.566/90)) * 90
= 90
RAquadrant = (floor(-86.11412/90)) * 90
= -90
RA = -86.11412 + (90 - -90)
= -86.11412 + 180
= 93.886
5c. right ascension value needs to be converted into hours
RA = RA / 15
Example:
RA = 93.886 / 15
= 6.259
-
calculate the Sun's declination
sinDec = 0.39782 * sin(L)
cosDec = cos(asin(sinDec))Example:
sinDec = 0.39782 sin(93.566)
= 0.39782 0.99806
= 0.39705
cosDec = cos(asin(0.39705))
= cos(asin(0.39705))
= cos(23.394)
= 0.91780
7a. calculate the Sun's local hour angle
cosH = (cos(zenith) - (sinDec * sin(latitude))) / (cosDec * cos(latitude))
if (cosH > 1)
the sun never rises on this location (on the specified date)
if (cosH < -1)
the sun never sets on this location (on the specified date)
Example:
cosH = (-0.01454 - (0.39705 * sin(40.9))) / (0.91780 * cos(40.9))
= (-0.01454 - (0.39705 * 0.65474)) / (0.91780 * 0.75585)
= (-0.01454 - 0.25996) / 0.69372
= -0.2745 / 0.69372
= -0.39570
7b. finish calculating H and convert into hours
if if rising time is desired:
H = 360 - acos(cosH)
if setting time is desired:
H = acos(cosH)
H = H / 15
Example:
H = 360 - acos(-0.39570)
= 360 - 113.310 [ note result of acos converted to degrees]
= 246.690
H = 246.690 / 15
= 16.446
-
calculate local mean time of rising/setting
T = H + RA - (0.06571 * t) - 6.622
Example:
T = 16.446 + 6.259 - (0.06571 * 176.456) - 6.622
= 16.446 + 6.259 - 11.595 - 6.622
= 4.488 -
adjust back to UTC
UT = T - lngHour
NOTE: UT potentially needs to be adjusted into the range [0,24) by adding/subtracting 24Example:
UT = 4.488 - -4.953
= 9.441
= 9h 26m -
convert UT value to local time zone of latitude/longitude
localT = UT + localOffset
Example:
localT = 9h 26m + -4
= 5h 26m
= 5:26 am EDT
Une implémentation de cet algorithme:
https://fr.planetcalc.com/300/
En cartographie/navigation, un azimut entre 2 points est l'angle (dans le plan) formé par la droite passant par les 2 points et la ligne passant par les deux pôles. <dfn>azimuth</dfn>
Comment calculer la direction sachant 2 points ?
A partir de 2 points GPS (Point 1 : latitude lat1
, longitude long1 et Point 2 latitude lat2, longitude long2), la formule pour calculer un azimut A est A=atan2(y,x) avec atan2(y,x)=2arctany√x2+y2+x, x=cos(lat1)×sin(lat2)−sin(lat1)×cos(lat2)×cos(long2−long1) et y=sin(long2−long1)×cos(lat2)
L'angle est calculé en prenant pour base/référence, le pole nord géographique.
Recommandations collaboratives de contenus
Tournesol est un projet de recherche participatif et transparent sur l'éthique des systèmes de recommandations.
Aidez-nous à faire avancer la recherche en donnant votre avis sur les vidéos que vous avez regardées pour identifier les vidéos d'utilité publique qui devraient être largement recommandées.