ホームページ ウェブフロントエンド CSSチュートリアル リアルタイム顔検出を備えた AR プロファイル カードの構築

リアルタイム顔検出を備えた AR プロファイル カードの構築

Nov 15, 2024 pm 02:48 PM

Building a AR Profile Card with Real-Time Face Detection

はじめに

顔の動きを追跡し、リアルタイムで反応するインタラクティブな 3D プロファイル カードを想像してください。これが 3D AR プロファイル カードの本質です。作成者: P-R. JavaScript、React、Firebase の専門知識を持つシニア開発者である Lopez 氏によるこのカードは、最先端の顔検出テクノロジーと、ダイナミックなグロー効果、豊富なグラデーション、洗練されたレイアウトを備えた洗練されたプレミアムなデザインを組み合わせています。ユーザーを個人レベルで関与させるのに最適です。

このチュートリアルでは、リアルタイムの顔検出のために、HTML、CSS、JavaScript と TensorFlow の FaceMesh を使用して、このインタラクティブなプロファイル カードを構築します。このコンポーネントは、思い出に残るインタラクティブな体験を必要とするプロフェッショナルなポートフォリオやアプリケーションに最適です。よりインタラクティブなプロジェクトに興味がある方は、古代ローマにインスピレーションを得たスリル満点の剣闘士カード ゲーム、グラディエーター バトルをお見逃しなく。没入型の戦略と視覚的に美しいデザインが組み合わされています。

このプロフィール カードを作成してみましょう!

ステップ 1: HTML 構造のセットアップ
当社のプロフィール カードには、顔検出用の Web カメラ フィード、ユーザー情報、ソーシャル メディア アイコンが含まれます。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>3D AR Profile Card with Face Detection</title>
  <link rel="stylesheet" href="styles.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body>
  <!-- Video for webcam stream -->
  <video>



<p>Key HTML Elements<br>
Webcam Video: Captures real-time video for face detection.<br>
Profile Card: Contains profile information, including name, location, experience, skills, and links to Gladiators Battle and social media.<br>
Social Icons: Link to GitHub, LinkedIn, and Twitter (or X), providing a fully interactive and connected profile.<br>
Step 2: Styling the Profile Card with CSS<br>
The CSS brings the 3D and AR effects to life, with gradients, glowing shadows, and animations for an eye-catching experience.</p>

<p>Body and Background<br>
The body uses a radial gradient to create a soft, dark background that complements the card’s glowing effects.<br>
</p>

<pre class="brush:php;toolbar:false">body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
  background: radial-gradient(circle at center, #2d2d2d, #1b1b1b);
  overflow: hidden;
  font-family: 'Arial', sans-serif;
}

/* Webcam */
#webcam {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  z-index: -1;
}
ログイン後にコピー

プロフィールカードのデザイン
プロフィール カード自体は、グラデーションの背景、3D 変形、影効果を使用して目立ちます。

.profile-card {
  position: relative;
  width: 370px;
  padding: 35px;
  border-radius: 25px;
  background: linear-gradient(145deg, #3d3d3d, #2a2a2a);
  box-shadow: 
    0 15px 25px rgba(0, 0, 0, 0.6),
    0 0 25px rgba(255, 215, 0, 0.3),
    inset 0 0 15px rgba(255, 255, 255, 0.1);
  transform-style: preserve-3d;
  transform: perspective(1000px);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 1;
}

.profile-card:hover {
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.7),
    0 0 50px rgba(255, 215, 0, 0.7),
    inset 0 0 15px rgba(255, 255, 255, 0.2);
  transform: scale(1.03);
}
ログイン後にコピー

アバターとテキストのスタイリング
アバターとテキストは、カードのプレミアムな美学にマッチするようにスタイル設定されており、光り輝く大胆な効果が施されています。

.profile-avatar {
  width: 130px;
  height: 130px;
  background: url('avatar.jpg') center/cover;
  border-radius: 50%;
  margin: 0 auto;
  box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.4), 0px 0px 30px rgba(255, 215, 0, 0.5);
  transform: translateZ(70px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.profile-name {
  font-size: 30px;
  text-align: center;
  color: #ffffff;
  margin-top: 20px;
  transform: translateZ(50px);
  background: linear-gradient(45deg, #ffd700, #ffa500, #ff4500);
  -webkit-background-clip: text;
  color: transparent;
  font-weight: bold;
  text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.4);
}
ログイン後にコピー

ステップ 3: TensorFlow FaceMesh を使用した顔検出
JavaScript コードは TensorFlow の FaceMesh モデルを使用して顔を検出し、プロフィール画像を動的に設定します。この最先端のアプローチにより、カードに AR の感覚が与えられます。

ウェブカメラと顔検出のセットアップ
setupCameraAndModel 関数は、Web カメラ フィードを初期化し、FaceMesh モデルをロードして顔の追跡を開始します。

const video = document.getElementById('webcam');
const profileAvatar = document.querySelector('.profile-avatar');

async function setupCameraAndModel() {
  const model = await facemesh.load();
  const stream = await navigator.mediaDevices.getUserMedia({
    video: { width: 640, height: 480 }
  });
  video.srcObject = stream;
  video.addEventListener('loadeddata', () => {
    detectFaceAndCapture(model, stream);
  });
}
ログイン後にコピー

顔検出とアバターの更新
detectFaceAndCapture 関数は、顔が検出されたときに写真をキャプチャし、それをプロフィール アバターの背景として設定します。

async function detectFaceAndCapture(model, stream) {
  const predictions = await model.estimateFaces(video);

  if (predictions.length > 0) {
    const canvas = document.createElement('canvas');
    canvas.width = video.videoWidth;
    canvas.height = video.videoHeight;
    const context = canvas.getContext('2d');
    context.drawImage(video, 0, 0, canvas.width, canvas.height);

    const imageDataUrl = canvas.toDataURL('image/png');
    profileAvatar.style.backgroundImage = `url(${imageDataUrl})`;

    stream.getTracks().forEach(track => track.stop());
    video.style.display = 'none';
  } else {
    requestAnimationFrame(() => detectFaceAndCapture(model, stream));
  }
}

// Initialize camera and model
setupCameraAndModel();
ログイン後にコピー

この方法では、AR 技術を利用してプロフィール写真をリアルタイムで動的に設定することで、プロフィール カードに独特のタッチを与えます。

結論
リアルタイムの顔検出を備えたインタラクティブな 3D AR プロファイル カードを作成すると、個人または専門の Web サイトにモダンでプレミアムな雰囲気がもたらされます。このチュートリアルでは、3D エフェクト用の CSS と、TensorFlow を使用した動的顔検出用の JavaScript を組み合わせて、ユーザー インタラクションを強化するための強力なアプローチを示しました。より革新的で没入型のプロジェクトに興味がある場合は、歴史的テーマと戦略的なゲームプレイを融合させたエキサイティングな剣闘士カード ゲーム、Gladiators Battle をお見逃しなく。詳細については、GladiatorsBattle.com をご覧ください。

?さらに発見:

剣闘士の戦いを探索: https://gladiatorsbattle.com で古代の戦士と壮大な戦いの世界に足を踏み入れましょう。
GitHub: https://github.com/HanGPIErr でコード例とプロジェクトを確認してください。
LinkedIn: https://www.linkedin.com/in/pierre-romain-lopez/ で最新情報をフォローしてください。
Twitter: https://x.com/GladiatorsBT で X に接続してください。
この記事は、視覚的に魅力的でインタラクティブな Web 要素を構築するための入り口となります。高度なテクノロジーと直感的で高品質なデザインを融合する方法を引き続き模索する私たちにぜひご参加ください。

以上がリアルタイム顔検出を備えた AR プロファイル カードの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? Apr 05, 2025 pm 11:24 PM

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

See all articles