


Vision stéréo et perception de la profondeur en vision par ordinateur et exemples
Dans le monde fascinant de l’intelligence artificielle et du traitement d’images, ces concepts jouent un rôle clé en permettant aux machines de percevoir le monde tridimensionnel qui nous entoure de la même manière que nos yeux. Rejoignez-nous pour explorer la technologie derrière la vision stéréo et la perception de la profondeur, révélant les secrets de la façon dont les ordinateurs comprennent la profondeur, la distance et l'espace à partir d'images 2D.
À quoi font exactement référence la vision stéréoscopique et la perception de la profondeur en vision par ordinateur ?
La vision stéréo et la perception de la profondeur sont des concepts importants dans le domaine de la vision par ordinateur, qui visent à imiter la capacité humaine à percevoir la profondeur et la structure tridimensionnelle à partir d'informations visuelles. Ces concepts sont souvent appliqués dans des domaines tels que la robotique, les voitures autonomes et la réalité augmentée.
Vision stéréoscopique
La vision stéréoscopique, également connue sous le nom de stéréopsie ou vision binoculaire, est une méthode de capture et d'analyse de deux objets légèrement éloignés l'un de l'autre. Technologie qui utilise les images d’une ou plusieurs caméras pour percevoir la profondeur d’une scène, imitant le fonctionnement de l’œil humain.
Le principe de base de la vision stéréoscopique est la triangulation. Lorsque deux caméras (ou « caméras stéréo ») capturent des images de la même scène depuis des points de vue légèrement différents, les paires d'images résultantes, appelées paires stéréo, contiennent la différence, ou la différence, dans les positions des points correspondants dans les deux images.
En analysant ces différences, les systèmes de vision par ordinateur peuvent calculer des informations de profondeur pour les objets de la scène. Les objets plus proches de la caméra auront des différences plus importantes, tandis que les objets plus éloignés de la caméra auront des différences plus petites.
Les algorithmes de vision stéréo incluent généralement des techniques telles que la correspondance de caractéristiques, la cartographie des disparités et la géométrie épipolaire, qui sont utilisées pour calculer une carte de profondeur ou une représentation 3D d'une scène
Perception de la profondeur
En vision par ordinateur, la perception de la profondeur fait référence à la capacité d'un système à extraire des informations à partir d'une seule La capacité à comprendre et à estimer la distance des objets dans une scène 3D à partir de plusieurs images ou images vidéo 2D
Les méthodes permettant d'obtenir une perception de la profondeur ne se limitent pas à la vision stéréoscopique, mais peuvent également prendre d'autres voies, notamment :
- Indices monoculaires : ce sont les choses qui peuvent être faites avec un seul indice de profondeur perçu dans une caméra ou une image. Les exemples incluent la perspective, les dégradés de texture, les ombres et l'occlusion. Ces indices peuvent aider à estimer la profondeur même en l’absence de vision stéréoscopique.
- LiDAR (Light Detection and Ranging) : les capteurs LiDAR utilisent des faisceaux laser pour mesurer la distance des objets dans une scène, fournissant des informations précises sur la profondeur sous forme de nuages de points. Ces informations peuvent être fusionnées avec des données visuelles pour une perception plus précise de la profondeur.
- Lumière structurée : la lumière structurée consiste à projeter un motif connu sur une scène et à analyser la déformation de ce motif sur les objets de la scène. Cette déformation peut être utilisée pour calculer des informations de profondeur.
- Caméra Time of Flight (ToF) : une caméra ToF mesure le temps nécessaire à la lumière pour se réfléchir sur un objet et revenir à la caméra. Ces informations sont utilisées pour estimer la profondeur.
Dans les applications de vision par ordinateur, la perception de la profondeur est cruciale pour des tâches telles que éviter les obstacles, identifier des objets, effectuer une reconstruction 3D et comprendre des scènes
Composants de vision stéréo et de perception de la profondeur dans la vision par ordinateur
- Caméras stéréo : La vision stéréo repose sur deux ou plusieurs caméras (caméras stéréo) placées à une distance connue l'une de l'autre. Ces caméras capturent des images de la même scène sous des points de vue légèrement différents, simulant la façon dont l'œil humain perçoit la profondeur.
- Capture d'image : la caméra capture des images ou des images vidéo de la scène. Ces images sont souvent appelées image de gauche (de la caméra de gauche) et image de droite (de la caméra de droite).
- Calibrage : Afin de calculer avec précision les informations de profondeur, la caméra stéréo doit être calibrée. Ce processus implique la détermination des paramètres de la caméra tels que les matrices intrinsèques, les coefficients de distorsion et les paramètres extrinsèques (rotation et translation entre les caméras). L'étalonnage garantit que les images des deux caméras sont corrigées et correspondent correctement.
- Correction : La correction est une transformation géométrique appliquée à l'image capturée pour aligner les caractéristiques correspondantes sur les lignes épipolaires. Cela simplifie le processus de correspondance stéréo en rendant les différences plus prévisibles.
- Correspondance stéréo : la correspondance stéréo est le processus de recherche de points correspondants ou de points de correspondance entre l'image de gauche et l'image de droite. La valeur de pixel utilisée pour calculer la différence pour chaque pixel est appelée disparité et représente le décalage horizontal de la caractéristique dans l'image. Il existe différents algorithmes de correspondance stéréo, notamment la correspondance de blocs, la correspondance semi-globale et les coupes de graphiques, pour trouver ces points correspondants.
- Carte de différence : une carte de différence est une image en niveaux de gris dans laquelle la valeur d'intensité de chaque pixel correspond à la différence ou à la profondeur à ce point de la scène. Les objets plus proches de la caméra présentent des différences plus importantes, tandis que les objets plus éloignés de la caméra présentent des différences plus faibles.
- Carte de profondeur : la carte de profondeur est dérivée de la carte de différence en utilisant une ligne de base connue (distance entre les caméras) et la distance focale de la caméra. Il calcule la profondeur en unités du monde réel (par exemple en mètres) pour chaque pixel, pas la différence.
- Visualisation : les cartes de profondeur et de différence sont souvent visualisées pour fournir une représentation lisible par l'homme de la structure 3D d'une scène. Ces tracés peuvent être affichés sous forme d'images en niveaux de gris ou convertis en nuages de points pour une visualisation 3D.
- Certains matériels : en plus des caméras, vous pouvez également utiliser du matériel spécialisé tel que des caméras de détection de profondeur (telles que Microsoft Kinect, Intel RealSense) ou des capteurs LiDAR (Light Detection and Ranging) pour obtenir des informations sur la profondeur. Ces capteurs fournissent directement la profondeur sans nécessiter de correspondance stéréo.
Vision stéréo et perception de la profondeur dans la vision par ordinateur Exemple d'implémentation Python :
import cv2import numpy as np# Create two video capture objects for left and right cameras (adjust device IDs as needed)left_camera = cv2.VideoCapture(0)right_camera = cv2.VideoCapture(1)# Set camera resolution (adjust as needed)width = 640height = 480left_camera.set(cv2.CAP_PROP_FRAME_WIDTH, width)left_camera.set(cv2.CAP_PROP_FRAME_HEIGHT, height)right_camera.set(cv2.CAP_PROP_FRAME_WIDTH, width)right_camera.set(cv2.CAP_PROP_FRAME_HEIGHT, height)# Load stereo calibration data (you need to calibrate your stereo camera setup first)stereo_calibration_file = ‘stereo_calibration.yml’calibration_data = cv2.FileStorage(stereo_calibration_file, cv2.FILE_STORAGE_READ)if not calibration_data.isOpened():print(“Calibration file not found.”)exit()camera_matrix_left = calibration_data.getNode(‘cameraMatrixLeft’).mat()camera_matrix_right = calibration_data.getNode(‘cameraMatrixRight’).mat()distortion_coeff_left = calibration_data.getNode(‘distCoeffsLeft’).mat()distortion_coeff_right = calibration_data.getNode(‘distCoeffsRight’).mat()R = calibration_data.getNode(‘R’).mat()T = calibration_data.getNode(‘T’).mat()calibration_data.release()# Create stereo rectification mapsR1, R2, P1, P2, Q, _, _ = cv2.stereoRectify(camera_matrix_left, distortion_coeff_left,camera_matrix_right, distortion_coeff_right,(width, height), R, T)left_map1, left_map2 = cv2.initUndistortRectifyMap(camera_matrix_left, distortion_coeff_left, R1, P1, (width, height), cv2.CV_32FC1)right_map1, right_map2 = cv2.initUndistortRectifyMap(camera_matrix_right, distortion_coeff_right, R2, P2, (width, height), cv2.CV_32FC1)while True:# Capture frames from left and right camerasret1, left_frame = left_camera.read()ret2, right_frame = right_camera.read()if not ret1 or not ret2:print(“Failed to capture frames.”)break# Undistort and rectify framesleft_frame_rectified = cv2.remap(left_frame, left_map1, left_map2, interpolation=cv2.INTER_LINEAR)right_frame_rectified = cv2.remap(right_frame, right_map1, right_map2, interpolation=cv2.INTER_LINEAR)# Convert frames to grayscaleleft_gray = cv2.cvtColor(left_frame_rectified, cv2.COLOR_BGR2GRAY)right_gray = cv2.cvtColor(right_frame_rectified, cv2.COLOR_BGR2GRAY)# Perform stereo matching to calculate depth map (adjust parameters as needed)stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)disparity = stereo.compute(left_gray, right_gray)# Normalize the disparity map for visualizationdisparity_normalized = cv2.normalize(disparity, None, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8U)# Display the disparity mapcv2.imshow(‘Disparity Map’, disparity_normalized)if cv2.waitKey(1) & 0xFF == ord(‘q’):break# Release resourcesleft_camera.release()right_camera.release()cv2.destroyAllWindows()
Remarque : Pour la configuration de la caméra stéréo, l'étalonnage de la caméra est requis et les données d'étalonnage sont enregistrées dans un fichier .yml, indiquez le chemin dans l'exemple de code. .
App
utilise des informations de profondeur pour la détection et le suivi des cibles afin d'obtenir un positionnement et une identification plus précis. L'utilisation d'informations approfondies pour les applications de réalité virtuelle et de réalité augmentée permet aux utilisateurs d'interagir de manière plus réaliste avec les environnements virtuels. Utilisez les informations de profondeur pour la reconnaissance faciale et l’analyse des expressions afin d’améliorer la précision et la robustesse de la reconnaissance faciale. Utilisez les informations de profondeur pour la reconstruction et la modélisation 3D afin de générer des scènes 3D réalistes. Utilisez les informations de profondeur pour l’estimation de la posture et l’analyse du comportement afin d’obtenir une reconnaissance des actions et une compréhension du comportement plus précises. Utiliser des informations approfondies pour la conduite autonome et la navigation des robots afin d'améliorer la sécurité et l'efficacité dans le domaine du transport intelligent et de l'automatisation réalité
Reconnaissance gestuelle
- Limites
- Voici quelques limitations importantes :
- Dépendance à l'étalonnage des caméras : Les systèmes de vision stéréo nécessitent un étalonnage précis des caméras utilisées. Un étalonnage précis est essentiel pour garantir un calcul correct des informations de profondeur. Toute erreur d'étalonnage peut conduire à une perception de profondeur inexacte.
- Champ de vision limité : les systèmes de vision stéréoscopique ont un champ de vision limité, basé sur la distance de base entre les deux caméras. Cela peut entraîner des angles morts ou des difficultés à percevoir les objets en dehors du champ de vision des deux caméras.
Surfaces sans texture ni caractéristiques : les algorithmes de correspondance stéréo reposent sur la recherche de caractéristiques correspondantes dans les images de gauche et de droite. Les surfaces dépourvues de texture ou de caractéristiques uniques, telles que des murs lisses ou des arrière-plans uniformes, peuvent être difficiles à faire correspondre avec précision, ce qui entraîne des erreurs d'estimation de la profondeur.
Occlusion : les objets qui s'occultent dans la scène peuvent entraîner des difficultés de vision stéréoscopique. Lorsqu'un objet bloque partiellement un autre objet, déterminer la profondeur de la zone obstruée peut s'avérer problématique.
Portée et résolution limitées : la précision de la perception de la profondeur en utilisant la vision stéréo diminue à mesure que la distance par rapport à la caméra augmente. De plus, la résolution des mesures de profondeur diminue avec la distance, ce qui rend les détails des objets distants difficiles à percevoir.
- Sensible aux conditions d'éclairage : les changements dans les conditions d'éclairage, tels que les changements de lumière ambiante ou les ombres, peuvent affecter la précision de la vision stéréoscopique. Des conditions d'éclairage incohérentes peuvent rendre difficile la correspondance entre les images de gauche et de droite.
- Ressources informatiques : les algorithmes de correspondance stéréo peuvent nécessiter des ressources informatiques étendues, en particulier lors du traitement d'images haute résolution ou de flux vidéo en temps réel. Les applications en temps réel peuvent nécessiter un matériel puissant pour un traitement efficace.
- Coût et complexité : la mise en place d'un système de vision stéréo avec des caméras calibrées peut être coûteuse et prendre du temps. Les exigences matérielles, notamment les caméras et les équipements d'étalonnage, peuvent constituer un obstacle pour certaines applications.
- Inexactitudes avec des objets transparents ou réfléchissants : les surfaces transparentes ou hautement réfléchissantes peuvent provoquer des erreurs de vision stéréoscopique car ces matériaux peuvent ne pas refléter la lumière d'une manière adaptée à la perception de la profondeur.
- Scènes dynamiques : la vision stéréo suppose que la scène est statique lors de la capture de l'image. Dans les scènes dynamiques avec des objets en mouvement ou des mouvements de caméra, il peut être difficile de maintenir la correspondance entre les images gauche et droite, ce qui conduit à une estimation inexacte de la profondeur.
- Utilisation limitée en extérieur : les systèmes de vision stéréo peuvent avoir des difficultés dans les environnements extérieurs exposés à la lumière du soleil ou dans des scènes manquant de texture, comme un ciel clair.
- En résumé, la vision stéréoscopique et la perception de la profondeur en vision par ordinateur ouvrent de nouvelles possibilités aux machines pour interagir avec et comprendre la richesse tridimensionnelle de notre environnement. Comme nous l'expliquons dans cet article, ces technologies sont au cœur de diverses applications, notamment dans des domaines tels que la robotique et les véhicules autonomes, la réalité augmentée et l'imagerie médicale
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Ce site a rapporté le 27 juin que Jianying est un logiciel de montage vidéo développé par FaceMeng Technology, une filiale de ByteDance. Il s'appuie sur la plateforme Douyin et produit essentiellement du contenu vidéo court pour les utilisateurs de la plateforme. Il est compatible avec iOS, Android et. Windows, MacOS et autres systèmes d'exploitation. Jianying a officiellement annoncé la mise à niveau de son système d'adhésion et a lancé un nouveau SVIP, qui comprend une variété de technologies noires d'IA, telles que la traduction intelligente, la mise en évidence intelligente, l'emballage intelligent, la synthèse humaine numérique, etc. En termes de prix, les frais mensuels pour le clipping SVIP sont de 79 yuans, les frais annuels sont de 599 yuans (attention sur ce site : équivalent à 49,9 yuans par mois), l'abonnement mensuel continu est de 59 yuans par mois et l'abonnement annuel continu est de 59 yuans par mois. est de 499 yuans par an (équivalent à 41,6 yuans par mois) . En outre, le responsable de Cut a également déclaré que afin d'améliorer l'expérience utilisateur, ceux qui se sont abonnés au VIP d'origine

Améliorez la productivité, l’efficacité et la précision des développeurs en intégrant une génération et une mémoire sémantique améliorées par la récupération dans les assistants de codage IA. Traduit de EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, auteur JanakiramMSV. Bien que les assistants de programmation d'IA de base soient naturellement utiles, ils ne parviennent souvent pas à fournir les suggestions de code les plus pertinentes et les plus correctes, car ils s'appuient sur une compréhension générale du langage logiciel et des modèles d'écriture de logiciels les plus courants. Le code généré par ces assistants de codage est adapté à la résolution des problèmes qu’ils sont chargés de résoudre, mais n’est souvent pas conforme aux normes, conventions et styles de codage des équipes individuelles. Cela aboutit souvent à des suggestions qui doivent être modifiées ou affinées pour que le code soit accepté dans l'application.

Les grands modèles linguistiques (LLM) sont formés sur d'énormes bases de données textuelles, où ils acquièrent de grandes quantités de connaissances du monde réel. Ces connaissances sont intégrées à leurs paramètres et peuvent ensuite être utilisées en cas de besoin. La connaissance de ces modèles est « réifiée » en fin de formation. À la fin de la pré-formation, le modèle arrête effectivement d’apprendre. Alignez ou affinez le modèle pour apprendre à exploiter ces connaissances et répondre plus naturellement aux questions des utilisateurs. Mais parfois, la connaissance du modèle ne suffit pas, et bien que le modèle puisse accéder à du contenu externe via RAG, il est considéré comme bénéfique de l'adapter à de nouveaux domaines grâce à un réglage fin. Ce réglage fin est effectué à l'aide de la contribution d'annotateurs humains ou d'autres créations LLM, où le modèle rencontre des connaissances supplémentaires du monde réel et les intègre.

Pour en savoir plus sur l'AIGC, veuillez visiter : 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou est différent de la banque de questions traditionnelle que l'on peut voir partout sur Internet. nécessite de sortir des sentiers battus. Les grands modèles linguistiques (LLM) sont de plus en plus importants dans les domaines de la science des données, de l'intelligence artificielle générative (GenAI) et de l'intelligence artificielle. Ces algorithmes complexes améliorent les compétences humaines et stimulent l’efficacité et l’innovation dans de nombreux secteurs, devenant ainsi la clé permettant aux entreprises de rester compétitives. LLM a un large éventail d'applications. Il peut être utilisé dans des domaines tels que le traitement du langage naturel, la génération de texte, la reconnaissance vocale et les systèmes de recommandation. En apprenant de grandes quantités de données, LLM est capable de générer du texte

L'apprentissage automatique est une branche importante de l'intelligence artificielle qui donne aux ordinateurs la possibilité d'apprendre à partir de données et d'améliorer leurs capacités sans être explicitement programmés. L'apprentissage automatique a un large éventail d'applications dans divers domaines, de la reconnaissance d'images et du traitement du langage naturel aux systèmes de recommandation et à la détection des fraudes, et il change notre façon de vivre. Il existe de nombreuses méthodes et théories différentes dans le domaine de l'apprentissage automatique, parmi lesquelles les cinq méthodes les plus influentes sont appelées les « Cinq écoles d'apprentissage automatique ». Les cinq grandes écoles sont l’école symbolique, l’école connexionniste, l’école évolutionniste, l’école bayésienne et l’école analogique. 1. Le symbolisme, également connu sous le nom de symbolisme, met l'accent sur l'utilisation de symboles pour le raisonnement logique et l'expression des connaissances. Cette école de pensée estime que l'apprentissage est un processus de déduction inversée, à travers les connaissances existantes.

L'ensemble de données ScienceAI Question Answering (QA) joue un rôle essentiel dans la promotion de la recherche sur le traitement du langage naturel (NLP). Des ensembles de données d'assurance qualité de haute qualité peuvent non seulement être utilisés pour affiner les modèles, mais également évaluer efficacement les capacités des grands modèles linguistiques (LLM), en particulier la capacité à comprendre et à raisonner sur les connaissances scientifiques. Bien qu’il existe actuellement de nombreux ensembles de données scientifiques d’assurance qualité couvrant la médecine, la chimie, la biologie et d’autres domaines, ces ensembles de données présentent encore certaines lacunes. Premièrement, le formulaire de données est relativement simple, et la plupart sont des questions à choix multiples. Elles sont faciles à évaluer, mais limitent la plage de sélection des réponses du modèle et ne peuvent pas tester pleinement la capacité du modèle à répondre aux questions scientifiques. En revanche, les questions et réponses ouvertes

Editeur | KX Dans le domaine de la recherche et du développement de médicaments, il est crucial de prédire avec précision et efficacité l'affinité de liaison des protéines et des ligands pour le criblage et l'optimisation des médicaments. Cependant, les études actuelles ne prennent pas en compte le rôle important des informations sur la surface moléculaire dans les interactions protéine-ligand. Sur cette base, des chercheurs de l'Université de Xiamen ont proposé un nouveau cadre d'extraction de caractéristiques multimodales (MFE), qui combine pour la première fois des informations sur la surface des protéines, la structure et la séquence 3D, et utilise un mécanisme d'attention croisée pour comparer différentes modalités. alignement. Les résultats expérimentaux démontrent que cette méthode atteint des performances de pointe dans la prédiction des affinités de liaison protéine-ligand. De plus, les études d’ablation démontrent l’efficacité et la nécessité des informations sur la surface des protéines et de l’alignement des caractéristiques multimodales dans ce cadre. Les recherches connexes commencent par "S

Selon les informations de ce site le 1er août, SK Hynix a publié un article de blog aujourd'hui (1er août), annonçant sa participation au Global Semiconductor Memory Summit FMS2024 qui se tiendra à Santa Clara, Californie, États-Unis, du 6 au 8 août, présentant de nombreuses nouvelles technologies de produit. Introduction au Future Memory and Storage Summit (FutureMemoryandStorage), anciennement Flash Memory Summit (FlashMemorySummit) principalement destiné aux fournisseurs de NAND, dans le contexte de l'attention croissante portée à la technologie de l'intelligence artificielle, cette année a été rebaptisée Future Memory and Storage Summit (FutureMemoryandStorage) pour invitez les fournisseurs de DRAM et de stockage et bien d’autres joueurs. Nouveau produit SK hynix lancé l'année dernière
