人工知能と画像処理の魅力的な世界では、これらの概念は、機械が私たちの目と同じように周囲の 3 次元の世界を認識できるようにする上で重要な役割を果たします。ステレオ ビジョンと奥行き知覚の背後にあるテクノロジーを探求し、コンピューターが 2D 画像から奥行き、距離、空間をどのように理解するのかの秘密を解き明かしましょう。
コンピュータ ビジョンにおけるステレオ ビジョンと奥行き知覚とは、具体的には何を指しますか?
ステレオ ビジョンと奥行き知覚は、コンピューター ビジョンの分野における重要な概念であり、視覚情報から奥行きと 3 次元構造を知覚する人間の能力を模倣することを目的としています。これらの概念は、ロボット工学、自動運転車、拡張現実などの分野でよく適用されます。
立体視
立体視は、立体視または両眼視とも呼ばれます。人間の目の仕組みを模倣し、わずかに離れて配置された 2 台以上のカメラから画像をキャプチャして分析することで、シーンの奥行きを感知するテクノロジー。
ステレオビジョンの基本原理は三角測量です。 2 台のカメラ (または「ステレオ カメラ」) がわずかに異なる視点から同じシーンの画像をキャプチャすると、ステレオ ペアと呼ばれる結果の画像ペアには、2 つの画像内の対応する点の位置の違いが含まれます。
これらの違いを分析することにより、コンピューター ビジョン システムはシーン内のオブジェクトの奥行き情報を計算できます。カメラに近いオブジェクトほど差は大きくなり、カメラから遠いオブジェクトほど差は小さくなります。
ステレオ ビジョン アルゴリズムには、通常、シーンの深度マップや 3D 表現を計算するために使用される、特徴マッチング、差分マッピング、エピポーラ幾何学などの技術が含まれています。奥行き知覚
コンピューター ビジョンでは、奥行き認識とは、1 つまたは複数の 2D 画像またはビデオ フレームから 3D シーン内のオブジェクトの距離を理解して推定するシステムの能力を指します
達成方法奥行き知覚は立体視に限定されず、次のような他の方法も可能です。
単眼キュー: これらは、単一のカメラまたは画像で認識できる奥行きキューです。例には、遠近法、テクスチャ グラデーション、シャドウ、オクルージョンなどがあります。これらの手がかりは、立体視がない場合でも深度を推定するのに役立ちます。 LiDAR (光検出および測距): LiDAR センサーは、レーザー ビームを使用してシーン内のオブジェクトの距離を測定し、点群の形式で正確な深度情報を提供します。この情報を視覚データと融合して、より正確な奥行き認識を実現できます。- 構造化ライト: 構造化ライトには、既知のパターンをシーンに投影し、そのパターンがシーン内のオブジェクトでどのように変形するかを分析することが含まれます。この変形を使用して、奥行き情報を計算できます。
- Time of Flight (ToF) カメラ: ToF カメラは、光が物体から反射してカメラに戻るまでの時間を測定します。この情報は深さを推定するために使用されます。
- #コンピューター ビジョン アプリケーションでは、障害物の回避、オブジェクトの識別、3D 再構築の実行、シーンの理解などのタスクに奥行き知覚が重要です
#コンピュータ ビジョンにおけるステレオ ビジョンと奥行き知覚コンポーネント
ステレオ カメラ: ステレオ ビジョンは、既知の距離に配置された 2 つ以上のカメラ (ステレオ カメラ) に依存します。これらのカメラは、同じシーンの画像をわずかに異なる視点から撮影し、人間の目が奥行きを知覚する方法をシミュレートします。 画像キャプチャ: カメラはシーンの画像またはビデオ フレームをキャプチャします。これらのイメージは、多くの場合、左イメージ (左カメラから) および右イメージ (右カメラから) と呼ばれます。 キャリブレーション: 深度情報を正確に計算するには、ステレオ カメラをキャリブレーションする必要があります。このプロセスには、固有行列、歪み係数、外部パラメータ (カメラ間の回転と平行移動) などのカメラ パラメータの決定が含まれます。キャリブレーションにより、両方のカメラからの画像が正しく補正され、一致することが保証されます。- 補正: 補正は、エピポーラ ライン上の対応する特徴を位置合わせするために、キャプチャされた画像に適用される幾何学的変換です。これにより、違いがより予測しやすくなり、ステレオ マッチング プロセスが簡素化されます。
- ステレオ マッチング: ステレオ マッチングは、左の画像と右の画像の間で対応する点または一致する点を見つけるプロセスです。各ピクセルの差分を計算するために使用されるピクセル値は視差と呼ばれ、画像内の特徴の水平方向のシフトを表します。これらの対応点を見つけるために、ブロック マッチング、セミグローバル マッチング、グラフ カットなどのさまざまなステレオ マッチング アルゴリズムを使用できます。
-
- 差分マップ: 差分マップは、各ピクセルの強度値がシーン内のその点の差分または深度に対応するグレースケール イメージです。カメラに近いオブジェクトほど差は大きくなり、カメラから遠いオブジェクトほど差は小さくなります。
- 深度マップ: 深度マップは、既知のベースライン (カメラ間の距離) とカメラの焦点距離を使用して差分マップから導出されます。差ではなく、各ピクセルの深度を実世界の単位 (メートルなど) で計算します。
- 視覚化: 深度マップと差分マップは、シーンの 3D 構造を人間が判読できる表現を提供するために視覚化されることがよくあります。これらのプロットは、グレースケール イメージとして表示したり、3D 視覚化のために点群に変換したりできます。
- 一部のハードウェア: カメラに加えて、深度感知カメラ (Microsoft Kinect、Intel RealSense など) や LiDAR (光検出および測距) センサーなどの特殊なハードウェアを使用して深度情報を取得することもできます。これらのセンサーは、ステレオマッチングを必要とせずに、深度を直接提供します。
コンピューター ビジョンにおけるステレオ ビジョンと奥行き知覚 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()
注: ステレオ カメラ設定の場合、カメラのキャリブレーションが必要であり、キャリブレーションは保存されます。データは .yml ファイル内にあり、サンプル コードにパスを入力します。
アプリケーション
ターゲットの検出と追跡に深度情報を使用して、より正確な位置決めと識別を実現します。 仮想現実および拡張現実アプリケーションに深度情報を利用することで、ユーザーはより現実的に仮想環境と対話できるようになります。 顔認識と表情分析に深度情報を使用して、顔認識の精度と堅牢性を向上させます。 3D 再構成とモデリングに深度情報を使用して、リアルな 3D シーンを生成します。 深度情報を姿勢推定と動作分析に使用して、より正確な動作認識と動作理解を実現します。 深度情報を自動運転とロボットナビゲーションに活用して、インテリジェント交通とオートメーションの分野での安全性と効率を向上
- 3D シーン再構築
- 物体検出と追跡
- ロボットと車両の自律ナビゲーション
- 拡張現実と仮想現実
- ジェスチャー認識
制限事項
重要な点がいくつかあります制限事項:
- # カメラのキャリブレーションに依存: ステレオ ビジョン システムでは、使用するカメラの正確なキャリブレーションが必要です。深度情報を正しく計算するには、正確なキャリブレーションが重要です。キャリブレーションにエラーがあると、不正確な奥行き認識につながる可能性があります。
- 制限された視野: ステレオ ビジョン システムの視野は、2 台のカメラ間のベースライン距離に基づいて制限されます。これにより、死角が生じたり、両方のカメラの視野外にある物体の認識が困難になったりする可能性があります。
- テクスチャと特徴のない表面: ステレオ マッチング アルゴリズムは、左右の画像内で対応する特徴を見つけることに依存しています。滑らかな壁や均一な背景など、テクスチャや独特の特徴が欠けている表面は、正確に一致させることが難しく、深度推定エラーが発生する可能性があります。
- オクルージョン: シーン内でオブジェクトが互いに遮蔽すると、立体視に問題が生じる可能性があります。あるオブジェクトが別のオブジェクトを部分的にブロックする場合、オクルージョンされた領域の深さを決定することが問題になる可能性があります。
- 制限された範囲と解像度: ステレオ ビジョンを使用した奥行きの認識精度は、カメラからの距離が離れるにつれて低下します。さらに、深さ測定の分解能は距離とともに低下するため、遠くにある物体の詳細を認識することが困難になります。
- 照明条件に敏感: 周囲の光や影の変化など、照明条件の変化は、立体視の精度に影響を与える可能性があります。照明条件が一貫していない場合、左右の画像の対応関係を見つけるのが難しくなる場合があります。
- コンピューティング リソース: ステレオ マッチング アルゴリズムでは、特に高解像度の画像やリアルタイム ビデオ ストリームを処理する場合、大規模なコンピューティング リソースが必要になる場合があります。リアルタイム アプリケーションには、効率的な処理のために強力なハードウェアが必要な場合があります。
- コストと複雑さ: キャリブレーション済みのカメラを使用したステレオ ビジョン システムのセットアップには、費用と時間がかかる場合があります。一部のアプリケーションでは、カメラやキャリブレーション機器などのハードウェア要件が障壁となる場合があります。
- 透明な物体または反射性の物体による不正確さ: 透明な表面または反射性の高い表面は、奥行き知覚に適した方法で光を反射しない可能性があるため、立体視に誤差が生じる可能性があります。
- ダイナミック シーン: ステレオ ビジョンでは、画像キャプチャ中にシーンが静的であることを前提としています。動く物体やカメラの動きがある動的なシーンでは、左右の画像間の対応を維持することが難しく、奥行き推定が不正確になる可能性があります。
- 屋外での使用が制限されている: 立体視システムは、明るい日光のある屋外環境や、晴天のようなテクスチャーのないシーンでは問題が発生する可能性があります。
要約すると、コンピューター ビジョンにおける立体視と奥行き知覚は、機械が私たちの環境の 3 次元の豊かさを相互作用して理解するための新たな可能性を開きます。この記事で説明するように、これらのテクノロジーは、ロボット工学や自動運転車、拡張現実、医療画像処理などの分野を含むさまざまなアプリケーションの中核となっています。
以上がコンピュータビジョンにおけるステレオビジョンと奥行き知覚とその例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ジョン・ロールズの独創的な1971年の著書「正義の理論」で、彼は私たちが今日のAIデザインの核となり、意思決定を使用するべきであるという思考実験を提案しました:無知のベール。この哲学は、公平性を理解するための簡単なツールを提供し、リーダーがこの理解を使用してAIを公平に設計および実装するための青写真を提供します。 あなたが新しい社会のルールを作っていると想像してください。しかし、前提があります。この社会でどのような役割を果たすかは事前にわかりません。過半数または限界少数派に属している、金持ちまたは貧弱、健康、または障害者になることがあります。この「無知のベール」の下で活動することで、ルールメーカーが自分自身に利益をもたらす決定を下すことができません。それどころか、人々はより公衆を策定する意欲があります

ロボットプロセスオートメーション(RPA)を専門とする多くの企業は、繰り返しタスクを自動化するためのボットを提供しています。 一方、プロセスマイニング、オーケストレーション、インテリジェントドキュメント処理スペシャル

AIの未来は、単純な単語の予測と会話シミュレーションを超えて動いています。 AIエージェントは出現しており、独立したアクションとタスクの完了が可能です。 このシフトは、AnthropicのClaudeのようなツールですでに明らかです。 AIエージェント:研究a

急速な技術の進歩は、仕事の未来に関する将来の見通しの視点を必要とします。 AIが単なる生産性向上を超えて、私たちの社会構造の形成を開始するとどうなりますか? Topher McDougalの今後の本、Gaia Wakes:

多くの場合、Harmonized System(HS)などのシステムからの「HS 8471.30」などの複雑なコードを含む製品分類は、国際貿易と国内販売に不可欠です。 これらのコードは、すべてのINVに影響を与える正しい税申請を保証します

データセンターと気候技術投資におけるエネルギー消費の将来 この記事では、AIが推進するデータセンターのエネルギー消費の急増と気候変動への影響を調査し、この課題に対処するための革新的なソリューションと政策の推奨事項を分析します。 エネルギー需要の課題:大規模で超大規模なデータセンターは、数十万の普通の北米の家族の合計に匹敵する巨大な力を消費し、新たなAIの超大規模なセンターは、これよりも数十倍の力を消費します。 2024年の最初の8か月で、Microsoft、Meta、Google、Amazonは、AIデータセンターの建設と運用に約1,250億米ドルを投資しました(JP Morgan、2024)(表1)。 エネルギー需要の成長は、挑戦と機会の両方です。カナリアメディアによると、迫り来る電気

生成AIは、映画とテレビの制作に革命をもたらしています。 LumaのRay 2モデル、滑走路のGen-4、OpenaiのSora、GoogleのVEO、その他の新しいモデルは、前例のない速度で生成されたビデオの品質を向上させています。これらのモデルは、複雑な特殊効果と現実的なシーンを簡単に作成できます。短いビデオクリップやカメラ認知モーション効果も達成されています。これらのツールの操作と一貫性を改善する必要がありますが、進歩の速度は驚くべきものです。 生成ビデオは独立した媒体になりつつあります。アニメーション制作が得意なモデルもあれば、実写画像が得意なモデルもあります。 AdobeのFireflyとMoonvalleyのMAであることは注目に値します

ChatGptユーザーエクスペリエンスは低下します:それはモデルの劣化ですか、それともユーザーの期待ですか? 最近、多数のCHATGPT有料ユーザーがパフォーマンスの劣化について不満を述べています。 ユーザーは、モデルへの応答が遅く、答えが短い、助けの欠如、さらに多くの幻覚を報告しました。一部のユーザーは、ソーシャルメディアに不満を表明し、ChatGptは「お世辞になりすぎて」、重要なフィードバックを提供するのではなく、ユーザービューを検証する傾向があることを指摘しています。 これは、ユーザーエクスペリエンスに影響を与えるだけでなく、生産性の低下やコンピューティングリソースの無駄など、企業の顧客に実際の損失をもたらします。 パフォーマンスの劣化の証拠 多くのユーザーは、特にGPT-4などの古いモデル(今月末にサービスから廃止される)で、ChatGPTパフォーマンスの大幅な分解を報告しています。 これ


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









