タグ

ARKITに関するmomoshiro09のブックマーク (49)

  • 3次元CGと座標系

    座標変換はこれまでも葉や花を描く際にしばしば用いてきたが、ここであらためて座標系と投影という観点から述べ直しておく。 まず、座標系には右手系(right-handed coordinate system)と左手系(left-handed coordinate system)がある。右手系とは、3次元空間における 右手系 (正系)とは、右手の親指、人指し指、中指を直交するように曲げたときに、親指を x 軸、人指し指を y 軸、中指を z 軸とする座標系である(それぞれの指が向いている方向が対応する軸の正の向き: 下図1)。 これに対し、左手系 とは、左手で同様なことをして定まる座標系である(下図2)。 グラフィックスの分野では、右手系はワールド座標系とも呼ばれる。これに対し、左手系は視点座標系とも呼ばれ、座標原点に視点を置いた座標系である。視点と原点の位置関係を考慮せずにすむため、図形をスク

  • SceneKitのシーンやノードを理解【3次元世界への入り口】

    ゲーム系アプリの開発が中心だと、3Dオブジェクトを取り扱う事がほとんどないので、3Dゲーム開発用のフレームワークであるSceneKitを利用する機会がありません。 しかし現在リサーチしている、ARKitを使いこなすには、SceneKitの理解は必須です。なぜならARKitが現実世界の検出したあとの3DオブジェクトのハンドリングはSceneKitが担当するからです。 2次元世界であるUIKit文化圏と大分異なるSceanKitですが、しっかり理解していきたいと思います。

    SceneKitのシーンやノードを理解【3次元世界への入り口】
  • ARFaceAnchor.BlendShapeLocation | Apple Developer Documentation

    Identifiers for specific facial features, for use with coefficients describing the relative movements of those features.

    ARFaceAnchor.BlendShapeLocation | Apple Developer Documentation
  • 任意点周りの回転移動(アフィン変換)

    回転行列では原点周りに点を回転させますが、任意の点(Cx、Cy)周りに回転させたい場合にはどうするのか? これまでの知識を少し応用することで、意外と簡単に求めることができます。 まず、回転する点を回転中心座標が原点と一致するように点を移動させます。 次に移動した点を原点周りに回転移動させます。 回転移動後、点を原点から元の回転中心位置へ移動させます。 これで、任意点(Cx、Cy)周りに点を回転移動させることができました。 この 原点へ移動→原点周りの回転→元へ戻す の一連の処理を行列であらわすと 行列部分を整理すると となり、任意点(Cx、Cy)周りに点を回転移動させる行列を求めることができます。 今回は回転移動について説明しましたが、拡大縮小についても、任意点を基点に拡大縮小する場合についても同様です。 この考え方は、二次元の座標だけでなく、三次元の場合も使えます。。 参考 画像の拡大縮

    任意点周りの回転移動(アフィン変換)
  • アフィン変換 | イメージングソリューション

    画像の拡大縮小、回転、平行移動などを行列を使って座標を変換する事をアフィン変換と呼びます。 X,Y座標の二次元データをアフィン変換するには、変換前の座標を(x, y)、変換後の座標を(x’,y’)とすると回転や拡大縮小用の2行2列の行列と、平行移動用に2行1列の行列を使って $$\left(\begin{array}{c}x^{‘}\\ y^{‘}\end{array}\right)= \left(\begin{array}{c}a & b\\ c & d\end{array}\right) \left(\begin{array}{c}x\\ y\end{array}\right) + \left(\begin{array}{c}T_{x}\\ T_{y}\end{array}\right)$$ のように表現される場合もありますが、回転、拡大縮小、平行移動を1つの3x3の行列にまとめて $

  • simd_float4x4の行と列の概念が分からない。(ARKit)

    ARKitは、iPhoneiPad向けのARアプリ用フレームワーク。iOS11以降に標準搭載されています。これを用いたARアプリは、特殊なデバイスがなくてもiPhoneiPadの単眼カメラを使用して動作することが可能です。

    simd_float4x4の行と列の概念が分からない。(ARKit)
  • スマートフォンでウェアラブルデバイスに匹敵する視線追跡を実現(2/3)

    1.スマートフォンでウェアラブルデバイスに匹敵する視線追跡を実現(2/3)まとめ ・スマートフォンのアイトラッカーは、最先端のウェアラブルデバイスのアイトラッカーに匹敵 ・実験室などで使われる100倍高価なアイトラッカーから得られるデータとも類似していた ・専門家が医用画像などの複雑な画像を見る際の視線分析に規模拡大できる可能性がある 2.スマホ搭載アイトラッカーの精度 以下、ai.googleblog.comより「Accelerating Eye Movement Research for Wellness and Accessibility」の意訳です。元記事は2021年5月10日、Nachiappan ValliappanさんとKai Kohlhoffさんによる投稿です。 アイキャッチ画像のクレジットはPhoto by Alex Iby on Unsplash 追加の実験では、スマー

    スマートフォンでウェアラブルデバイスに匹敵する視線追跡を実現(2/3)
  • AR kit で顔面キャスアプリを作る (その4 transformから目の回転角を求める) - 揚げログ

    だいぶ間が空いてしまいました。 この間は、AR kit FaceTracking Configurationで、表情の値(blendshapes)を取得しましたが、今回は目の動きを取ってみたいと思います。 全体手順 AR kitのFaceTrackingで、目の動きを数値データで取り出す ソケット通信でサーバーに送信 クライアント側で数値を受信 three.js VRMloaderでVRMデータを読み込む VRMデータに数値を反映させる 2, 3は、前回までで動作確認まで終わっています。 4, 5は次回の記事に多分書きます。 コード 下記コードは、1,2を行う処理で、func rendererは顔情報がアップデートされるたび(didUpdate)に呼ばれる関数です。 コードの全体は、 facecast_ios/eyeGaze.swift at master · krgpi/facecast

    AR kit で顔面キャスアプリを作る (その4 transformから目の回転角を求める) - 揚げログ
  • GitHub - SakiMuraoka/GazeApplication: 卒研

  • XCode 13.2 日本語化計画: ARKit

  • AR kit で顔面キャスアプリを作る (その2 ARFaceAnchorを理解してみる) - 揚げログ

    前回、SwiftでSocketIOをアプリに実装するところまで終わりました。 今回は、ソケットで送る内容について検討していきます。 まず大前提として、ソケットで送れるのはStringのみですので、必要な情報を適当なJSON配列にしていきたいと思います。 ARFaceAnchor 英語ドキュメントを読み込む ちょっと気力が入りますが、頑張って読みましょう。 developer.apple.com 必要な情報を絞り込むために、ARFaceAnchorについて詳しく見ていきます。 let anchor: ARFaceAnchor! anchor.* Class 説明 .transform simd_float4x4 世界座標における現在の顔の位置と向き これを原点に顔座標系が作られる .geometry ARFaceGeometry 現在の顔の寸法、形状 これで顔の形に沿ってコンテンツを被せられ

    AR kit で顔面キャスアプリを作る (その2 ARFaceAnchorを理解してみる) - 揚げログ
  • iPhone顔認証を実現する『TrueDepthカメラ』の仕組みと未来とは?

    iPhone X以降に搭載されている「TrueDepth(トゥルーデプス)カメラシステム」。顔認証でロック解除してくれる「Face ID」や、自分の顔の動きや表情をアニメに変換できる「アニ文字」といった、先進機能を可能にした機能だ。 今回は、この「TrueDepthカメラ」の仕組みと、具体的にどんなことができるのかを説明する。 「TrueDepthカメラ」を構成する複数のセンサーとカメラ iPhoneのディスプレイ上部に注目してほしい。ここに「TrueDepthカメラ」のセンサーやカメラが配置されている。この部分に、実はこれだけの機能やセンサーが配置されているのだ。 ・赤外線カメラ ・投光イルミネーター ・近接センサー ・環境光センサー ・フロントカメラ ・ドットプロジェクター (左から順) このセンサーやカメラがどんな役割を果たすのか、「Face ID」の働きを例に説明しよう。 ① まず

  • パーフェクトシンク対応モデルをつくろう! iPhone顔トラッキング用 52BlendShapes制作メモ - はいぬっかメモ

    English version iPhoneトラッキング向けBlendShape資料 - Google ドキュメント ブレンドシェイプ一覧 サンプルモデル 用語集 Apple ARKitに対応したブレンドシェイプ52個について、トラッキングのターゲットとなる現実側の表情、およびモデリング上の要点と思われる内容をまとめました。 クリックすると大きくなります サンプルを試作する中で気づいた点や工夫したところを、52個すべてのシェイプについてGIFアニメーションを付記して解説しています。 スマホだと表示が崩れます!以下のリンクからGoogleDocsのファイルをご利用ください iPhoneトラッキング向けBlendShape資料 - Google ドキュメント docs.google.com ブレンドシェイプ一覧 シェイプ名 1 browInnerUp ▶ARKit資料 眉の内側を上げる 眉尻は

    パーフェクトシンク対応モデルをつくろう! iPhone顔トラッキング用 52BlendShapes制作メモ - はいぬっかメモ
  • Face Tracking with ARKitでできること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Face Tracking with ARKitでできること - Qiita
  • 一般社団法人 電子情報通信学会

    ソサイエティ・支部 ソサイエティについて 基礎・境界 通信 エレクトロニクス 情報・システム NOLTA ヒューマンコミュニケーショングループ 北海道支部 東北支部 東京支部 信越支部 東海支部 北陸支部 関西支部 中国支部 四国支部 九州支部 International Sections Bangkok Beijing Europe Indonesia Korea(Communication) Korea(Electronics) Korea(Information) Malaysia Shanghai Singapore Taipei Vietnam India 研究会 研究会 聴講する 発表する 購読する 開催する 研究専門委員会活動支援(WebEX) 横断型研究会紹介 FAQ 研究会発表申込システム幹事のページ(PW付) 大会 総合大会・ソサイエティ大会・FIT 今後の大会情報 過

    一般社団法人 電子情報通信学会
  • ARKit 4のLiDAR Depth API - Qiita

    func session(_ session: ARSession, didUpdate frame: ARFrame) { guard let depthData = frame.sceneDepth else { return } // Use depth data } 利用可能なコンフィギュレーション ARConfigurationプロトコルに定義されているframeSemanticsプロパティにsceneDepthを設定するので、API的には利用可能ではあるが、APIリファレンスのsceneDepthの項にある記述を読む限り、ワールドトラッキング以外のコンフィギュレーションでは利用できないっぽい。 If you enable this option on a world-tracking configuration's frameSemantics, ARKit includes

    ARKit 4のLiDAR Depth API - Qiita
  • サルにもわかる正規表現入門

    1.正規表現って何なの? 突然ですが皆さん、「正規表現」って知ってますか? まだ使ってないなんて、もったいない! 例えるなら、スマホのカメラ機能みたいなもんですよ。使いこなせば、ネットの海に散らばるアヤシイ文字列たちを、面白いほど一瞬で探し出せるんです! 例えば、最近、推しアイドルSNS始めたんだけど、ファンってみんな色々な呼び方するじゃないですか。「〇〇ちゃん」「〇〇様」「〇〇たん」、中には熱烈なファンすぎて「ガチ恋」勢もいたりして…😅 もしあなたが、推しに関する色んな書き込みを全部まとめてチェックしたいと思ったとしましょう。 でも、「〇〇ちゃん」で検索して、「〇〇様」で検索して…って、気が遠くなりませんか? ましてや「ガチ恋」なんてワードで検索したら、あなたのタイムラインが大変なことになっちゃうかも…!😟 そこで正規表現の出番!こんな感じの魔法の呪文を唱えれば… 〇〇(ちゃん|

  • ARKitのための3D数学 - Qiita

    この記事はiOSDC2018で発表した内容のまとめ、そして続きになります。 ARKitのための3D算数 iOSDC Japan 2018 筋肉ネタを含んだスライド ARKitやSceneKitは用意されたAPIを使えば色々なことが簡単にできてしまいますが、 高度なことをしようとすると、空間ベクトル、座標変換などの算数(数学)の知識が必要になることに気づくでしょう。 例えば以下の例を見てみましょう。 カメラの前にスタンプを置く カメラの前に文字を書く カメラの前に文字を書いたり、スタンプを書いたりする際、一度カメラ座標で考えてからワールド座標に変換すると簡単に表現することができたりします。 ということで、記事ではARKitを使いこなすために自分が勉強した**3Dプログラミングと基的な算数(数学)**について分かりやすく説明します。 ARKitで使う座標系 まず、基ですが、ARKitでは

    ARKitのための3D数学 - Qiita
  • ARKitのサンプルプログラムをビルドする(初心者向け) - Qiita

    iOS11から公開されたARKitのサンプルプログラム(以下DemoApp)のをビルドする方法を紹介します。 XcodeのダウンロードiOS11へのアップグレード方法はここでは扱いません。 実行環境 macOS 10.12.6 Sierra Xcode9 iOS11 Xcodeで実機デバッグできるようにするための設定 事前にAppleIDを取得しておく Xcode を開きメニューより Xcode > Preferences... を選択 Accountsタブを選択し左下の+ボタンを選択し、自分のAppleIDとパスワードを入力する アカウントが登録されたら右下の View Details... を選択し自分の署名情報を確認する もしもこの時 iOS Development が Create の状態であった場合は Create を選択する サンプルプログラムのビルド AppleのARKit

    ARKitのサンプルプログラムをビルドする(初心者向け) - Qiita
  • 【Xcode/Swift】カメラにアクセスする際に起きるのエラー(Info.plistの書き忘れ) - iOS-Docs

    エラー内容 UIImagePickerControllerでカメラを作成し、実行するとThread 10: signal SIGABRTの以下のようなエラーが発生する [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

    【Xcode/Swift】カメラにアクセスする際に起きるのエラー(Info.plistの書き忘れ) - iOS-Docs