タグ

ブックマーク / shu223.hatenablog.com (20)

  • デプス(深度)をiOSで扱う方法を網羅したサンプルコード集「iOS-Depth-Sampler」を公開しました - その後のその後

    iOSにおけるデプス(深度)関連APIの実装方法を示すサンプル集「iOS-Depth-Sampler」をオープンソースで公開しました。 github.com ソースコードは GitHub に置いてあるので、ご自由にご活用ください。Swift 4.2です。 今のところ6つのサンプル(後述)が入っています。記事のタイトル「網羅した」は少し大げさですが、撮影済みの写真からデプスを取得する方法から、リアルタイムに取得する方法、ARKitで取得する方法、フロント/リアカメラ、Disparity / Depth / Portrait Matteといったタイプと相互変換、デプスを利用した背景合成や3D空間へのマッピングといったサンプルも備えています。 (2次元の写真をデプスを利用して3D空間へマッピング) 今後iOSにデプス関連の機能が追加されるたびに、サンプルも追加していく予定です。 利用可能なデバ

    デプス(深度)をiOSで扱う方法を網羅したサンプルコード集「iOS-Depth-Sampler」を公開しました - その後のその後
  • その後のその後

    昨年4月、「研究開発部のマネージャー」という自分にとってまったく新しいキャリアにチャレンジする旨をブログにて報告させていただきました。 shu223.hatenablog.com それから約1年越しでの続報となりますが、この5月末をもって、この新しいチャレンジからは降りさせていただきます。平たくいうと、マネージャーやめます。 普通はこういう記事ではそのキャリアの中で挙げた華々しい成果を並べ立てるものですが、正直なところ未だにマネージャーとしてめぼしい成果は挙げられていません。やっとスタートラインに立てたかな...というような状況です。 上長やメンバーにはマネジメント経験が一切ないところから多大にサポートいただき、その恩に報いるのはこれから、というところなので心苦しさもあり、そしてマネージャーとしての景色が見えてくるのもマネジメントのおもしろさがわかってくるのもまだまだこれからという中途半

    その後のその後
    DecoyMaker
    DecoyMaker 2018/09/06
    諸々おめでとうございます。
  • iOS 12のPortrait Matteがすごい/ #iOSDC 2018で登壇します - その後のその後

    iOS 12の新機能"Portrait Matte"(ポートレート・マット)の概要と、実装方法を紹介します。1 深度マップとセグメンテーション 昨今のiPhoneではデュアルカメラ(iPhone 7Plus, 8 Plus, Xの背面に搭載)、あるいはTrueDepthカメラ(iPhone Xの前面に搭載)から深度マップを作成し、奥行きを知ることができるようになっています。 深度マップは、 AR表現における回り込み(オクルージョン) モノや人物の背景を差し替える 2 といった用途に用いられます。 どちらの例も要は人物やモノの「領域」を検出して分割する(セグメンテーション)ところがキーで、深度マップはそのセグメンテーションにおけるマスクとして有用なわけです。 (撮影した画像(左)と深度マップ(右)) iOS 12の新機能 "Portrait Matte" 深度マップ関連APIはiOS 11か

    iOS 12のPortrait Matteがすごい/ #iOSDC 2018で登壇します - その後のその後
  • ドラッグ&ドロップで機械学習のモデルがつくれる「Create ML」の使い方 - その後のその後

    iOS 12の気になる新機能のAPIを見ていくシリーズ。昨日はARKit 2の永続化・共有機能や3D物体検出機能について書きました。 記事ではCreate MLについて。1 Create ML Create MLは、Core MLのモデルを作成するためのmacOSの新フレームワークです。 昨日のState of the Unionにてデモがありましたが、なんと、学習用データが入ったフォルダをドラッグ&ドロップするだけで作成できます。 ちなみに要macOS 10.14 Mojaveです。 MLImageClassifierBuilder まだMojaveにアップデートしていないので試せていない2のですが、丁寧なチュートリアル記事が出ていて、作業手順を図付きで確認できます。 PlaygroundsでMLImageClassifierBuildeを初期化してshowInLiveViewを呼ぶコ

    ドラッグ&ドロップで機械学習のモデルがつくれる「Create ML」の使い方 - その後のその後
  • API Diffsから見るiOS 12の新機能 - ARKit 2 #WWDC18 - その後のその後

    今年のWWDCの基調講演は、エンドユーザ向けの新機能の話に終止した感が強く、デベロッパ的にはあまりピンと来ない2時間だったように思います。が、State of the Unionやドキュメントを見ると、試してみたい新APIが目白押しです。例年通り、気になったものを列挙していきます 1。 全部書いてると時間かかりそうなので、まずは記事では ARKit 2 について。 Multiuser and Persistent AR 自分が見ているARの世界を共有・永続化できるようになったというのは当に大きいです。Appleのデモは「ゲームで対決できます」みたいな派手なものでしたが、たとえば奥さんの机に花を置いておくとかみたいなささやかなものでもいいですし、ソーシャルコミュニケーションな何かでもいいですし、教育的な何かでも使えそうですし、とにかく「自分しか見れない」という従来の制約がなくなるだけでA

    API Diffsから見るiOS 12の新機能 - ARKit 2 #WWDC18 - その後のその後
  • iOSの技術書をクラウドファンディングで執筆します - 共著者8人の紹介 #peaks_cc - その後のその後

    「PEAKS」という技術書のクラウドファンディングサービスで、今日から9人の執筆陣によるiOSの解説書「iOS 11 Programming」のファンディングが始まりました。 PEAKS(ピークス)|堤 修一, 吉田 悠一, 池田 翔, 坂田 晃一, 加藤 尋樹, 川邉 雄介, 岸川 克己, 所 友太, 永野 哲久 - 第一線の開発者陣による「iOS 11 Programming」執筆プロジェクト! 9人の著者陣に僕も入ってるので、宣伝といえば宣伝なのですが、技術書大好きな自分としては、自分が入ってなくても絶対に買うであろう執筆陣/内容なので、いち読者としてもぜひとも成立して欲しいと思ってまして、記事を書こうと思った次第です。 そう、念のため書いておきますが、クラウドファンディングなので、成立しなければ出ません😭 購入締切日時 2017年07月28日 23:59 までに、購入者数が目標

    iOSの技術書をクラウドファンディングで執筆します - 共著者8人の紹介 #peaks_cc - その後のその後
  • 【iOS 11】ARKitについてWWDCのラボで聞いてきたことのメモ - その後のその後

    iOS 11から追加された、AR機能を実装するためのフレームワーク「ARKit」についてWWDCのラボ(Appleのデベロッパに直接質問できるコーナー)で聞いたことのメモです。注目のフレームワークなので行列ができてましたが、丁寧に色々と教えてくれたので、忘れないうちに書いておこうと思います。 (WWDCセッションスライドより) 既存実装とどう共存させるか? 先日の記事にも書いたのですが、今働いている会社のアプリ「Fyuse」はスマホで3D的な写真を撮るアプリで、その撮影を補助するために、撮影対象の周囲に3Dの「ARガイド」を表示するという機能をAVFoundation+Metal+SceneKit+独自の画像処理ライブラリ(トラッキング等)で実装しました。 ARKitを使うとなると、要iOS 11以上、要A9以上のプロセッサという条件を満たす必要があるわけですが、当然2017年現在では多く

    【iOS 11】ARKitについてWWDCのラボで聞いてきたことのメモ - その後のその後
  • API Diffsから見る iOS 11 の新機能 #WWDC17 - その後のその後

    今年はWWDC会場よりお送りしております。特に何も期待しないまま参加したのですが、開発者的には非常にワクワクする発表がたくさんありました。 基調講演の内容からではなく、ベータ公開されたiOS Dev CenterのAPIリファレンスを見て、個人的に/開発者目線から気になった新APIを挙げていきます。 Core ML iOS 10からMetal Performance Shaders(以下MPS)に追加されたCNN関連機能、足りないものが色々とあり、ここらへんは拡充されたら嬉しいなとは思っていましたが、新フレームワークとして登場しました。 おいおい、さらに増えたら MPSCNN / BNNS / Core ML とどう使い分けるんだ、と思いましたが、ドキュメントの図で棲み分けがわかりました。 Keras や Caffe で学習したモデルを BNNS や MPSCNN で使えるようにするのが

    API Diffsから見る iOS 11 の新機能 #WWDC17 - その後のその後
    DecoyMaker
    DecoyMaker 2017/06/06
    ARKit、Metaio買収の成果を確認したい
  • iOS 10の新機能のサンプルコード集「iOS-10-Sampler」を公開しました - その後のその後

    iOS 10でも大量のAPIが追加されました。が、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントやWWDCのセッション動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-10-Sampler 恒例の新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-10-Sampler 使い方は Xcode 8 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 iOSももうかなり成熟してしまい、話題になる革新的な新機能とか、どの開発者にとっても嬉しい

    iOS 10の新機能のサンプルコード集「iOS-10-Sampler」を公開しました - その後のその後
  • 【iOS 10】Speechフレームワークで音声認識 - 対応言語リスト付き - その後のその後

    iOS 10のドキュメントが公開された当日に書いた下記記事で、最も反響が大きかったのが音声認識APIでした。 http://d.hatena.ne.jp/shu223/20160614/1465862051 今回公開された SiriKit(Intents / IntentsUI)とは別のフレームワーク、Speech Framework として公開されたものです。リアルタイム音声にも、録音済み音声にも使えるようです。 今までも色々と音声認識を実現する手段はありましたが、やはりApple純正となると一気に命になってきます。*1 というわけで記事では Speech フレームワークを色々いじってみて、何ができるのかとか、どうやるのかとか見てみたいと思います。 なお、NDA期間中につき、スクショは自粛します。 Apple Developer Agreement まずはサンプルを動かしてみる "S

    【iOS 10】Speechフレームワークで音声認識 - 対応言語リスト付き - その後のその後
    DecoyMaker
    DecoyMaker 2016/06/27
    "基本的には要インターネット"
  • 【iOS 10】API Diffsから見る iOS 10 の新機能 #WWDC2016 - その後のその後

    タイムラインでは「つまんねー」「Apple終わってる」「ジョブズがいればこんなことには・・・」という落胆の声をたくさん見かけましたが、"iOS 10.0 API Diffs" や "What's New in iOS" 等のプレリリースドキュメントを見ると今回も新しい機能が数多く追加されていて、個人的には非常にワクワクしております。 以下、気になったものを列挙していきます。 VoIP API / CallKit BONXというVoIP通話するプロダクトを手伝っている関係で、IP通話がどんな感じでできるようになるのか(サーバーは自分で用意するのかとか)、非常に気になります。 "Speakerbox: Using CallKit to create a VoIP app" という公式サンプルが公開されているので、後でコードを見てみようと思います。 SiriKit / Intents / Int

    【iOS 10】API Diffsから見る iOS 10 の新機能 #WWDC2016 - その後のその後
  • iBeacon と BLE - Over&Out その後

    昨年末〜今年初めにかけて一世を風靡した iBeacon ですが、なんというか、来期待されるべき方向ではない方向で期待され、「不当に」ガッカリされることが多いような印象を受けます。 「コンテンツを内部に保持して直接配信することはできない」 「双方向通信はできない」*1 「距離はあてにならない」 「検出できたりできなかったりする」 「ビーコンのバッテリーが意外ともたない」 などなどなどなど。 で、個人的にはこういうガッカリは、「BLEをどのように利用することでiBeaconという領域観測サービスが実現されているか」を理解していれば、そもそもそういう期待は方向性違いであると気付けたり、何らかの改善指針を持てたりする部分があるなぁと感じてまして、記事では「iBeacon と BLE」にフォーカスして書きたいと思います。 なお、記事は 「Bluetooth Low Energy Advent

    iBeacon と BLE - Over&Out その後
  • Swiftで書かれた人工知能・機械学習ライブラリ「Swift-AI」をiOSで動かしてみる - その後のその後

    全編Swiftで書かれたオープンソースの人工知能機械学習ライブラリが出てきました。その名も「Swift-AI」。 https://github.com/collinhundley/Swift-AI デモが入っていて、こんな感じで手書き文字認識してくれます(詳細は後述します)。 今のところ iOS と OS X をサポート しているとのこと。MITライセンス。 できること README の Features を見ると、2016年1月現在、フィードフォワード(順伝播型)ニューラルネットワークと、高速行列演算ライブラリはできあがっているようです。 それぞれドキュメントがあります。 https://github.com/collinhundley/Swift-AI/blob/master/Documentation/FFNN.md#multi-layer-feed-forward-neural-

    Swiftで書かれた人工知能・機械学習ライブラリ「Swift-AI」をiOSで動かしてみる - その後のその後
  • Eddystone と iOS - その1: iBeacon と比較したメリット・デメリット - その後のその後

    2015年7月にGoogleから発表されたビーコン規格、Eddystone。「Eddystoneとは?」という概要については既に多く出ている他の解説記事にお任せして、iOS アプリ開発者から見た、Eddystone を採用するメリット・デメリット や、仕様をパッと見ただけではわからなかった実装のポイント 等について書きたいと思います。 記事ではまず「iOS アプリにおいて iBeacon ではなく Eddystone を採用するメリット・デメリット」について。 (Eddystoneの概要については次の記事がおすすめです) Eddystoneの概要、iBeaconとの比較 - Qiita GoogleのEddystoneとはなんなのか | DevelopersIO What is Eddystone™? - Estimote Developer 「クロスプラットフォーム」「オープン」はどう

  • Core Imageを用いたリッチな画面遷移アニメーション #cm_ios9 - Over&Out その後

    昨日、クラスメソッドさん主催の勉強会『iOS 9 週連続 Bootcamp!2週目』にて登壇させていただきました。 Core Image Tips & Tricks in iOS 9 from Shuichi Tsutsumi タイトルにある "Tips&Tricks" はWWDCのセッション名でもたびたび使われている用語で、Tricksというのは「コツ」とか「うまいやり方」みたいな意味らしいです。 こういうタイトルにしたのは、(資料冒頭にもある通り、)新しく追加されたフィルタを紹介したところで *1、カメラアプリとかつくってる人でもないとあまり使う機会がないわけで、定員150名という大きい勉強会で話す内容じゃないよなぁ。。と悩み、なるべく多くのアプリ開発において普遍的に役立つような内容を、とアレコレ考えた結果、次のような切り口で話すことにした次第です。 AppleUI で多用する「

    Core Imageを用いたリッチな画面遷移アニメーション #cm_ios9 - Over&Out その後
  • iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後

    iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と

    iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後
  • 【iOS9】API Diffs から見る iOS 9 の新機能 - Over&Out その後

    WWDCのチケットは外れましたが、サンフランシスコに来ております。そこで色んなミートアップに参加して世界中のiOSエンジニアと交流を図・・・ってはおらず、もくもくと Apple のドキュメントを見ています。(参考記事) 基調講演だけ見ると開発者的にでかい話は Swift 2 と watchOS 2 ぐらいかな、という感がありますが、「iOS 9.0 API Diffs」や「What's New in iOS」を見ると今回も新しい機能が数多く追加されているようです。分量が多すぎてほんの一部しか見れてませんが、気になったものを列挙していきます。 ※ 記事は Apple による公開ドキュメント(ログイン不要領域にある)を元に構成しています App Extension App Extension は、iOS 8 から導入された、アプリの機能を他のアプリからも使えるようにするためのしくみですが、な

    【iOS9】API Diffs から見る iOS 9 の新機能 - Over&Out その後
  • 【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー - その後のその後

    iPhone6,6Plus サポートとか LaunchScreen.xib とか Size Class とか考えると、もはや Autolayout は必須な感じになってきてます。 http://d.hatena.ne.jp/shu223/20141002/1412209257 で、Autolayout ✕ UIScrollView の例の問題(UIScrollView のサイズを superview との制約で動的に変えるときにその中身も動的に変えたい、ってやつ。こんな雑な説明でもハマったことある人にはわかっていただけるかと・・・)、Apple 公式でこんなドキュメントが出てますが、 Technical Note TN2154: UIScrollView And Autolayout "Mixed Approach" とかなんか筋が悪い感じだし、"Pure Auto Layout Appr

    【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー - その後のその後
  • アプリアップデート後の初回起動時にUIAlertViewでお知らせを表示する方法 - その後のその後

    アップデートしたあとに、「このバージョンの新機能」とかがポップアップで出てくるアレの実装方法です。 (パッと思い出せるのはAppBankさんのアプリとか) 下記をAppDelegateのapplicationDidFinishLaunching:あたりで実行します。 // ロードしたことあるバージョンを調べる NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; float loadedVersion = [[defaults objectForKey:@"version"] floatValue]; // このバンドルのバージョンを調べる float bundleVersion = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleV

    アプリアップデート後の初回起動時にUIAlertViewでお知らせを表示する方法 - その後のその後
  • 位置情報のOn/Off、許可/不許可を確認する - その後のその後

    Appleのドキュメントを見ながら、CLLocationManager の Boolean を返す系のメソッドがそれぞれどういうことを意味しているのか調べてみました。 ただこの調査、iOS5リリース以前(2011年7月)に行ったものなので、情報が古いところがあるかもしれません。 locationServicesEnabled The user can enable or disable location services from the Settings application by toggling the Location Services switch in General. You should check the return value of this method before starting location updates to determine whether t

    位置情報のOn/Off、許可/不許可を確認する - その後のその後
  • 1