ほろ酔い開発日誌

AI企業のエンジニアのブログです。機械学習、Web開発の技術的お話、ビジネスチックなお話、日常のお役立ち情報など雑多な内容でお送りします。

詳細な全身の2次元特徴点を推定するWhole-Body Pose Estimationの論文のご紹介

はじめに 今回はECCV'20に採録された2D Pose Estimationの論文をご紹介します。 Pose Estimationのデータセットとしてよく使われるCOCOデータセットは身体の17点の2次元特徴点の位置を推定することが一般的ですが、今回の論文ではCOCOの画像に対して、顔・両…

Androidアプリのライブラリの作り方とGitHubでの管理

はじめに アプリケーション開発において、共通のパーツとして切り出して再利用性を高めたり、ロジックを切り出して責務を明確化して扱いやすくするために、コードをパッケージにまとめたくなります。 最近ではPythonを触ることが多いのでpipで管理できるよう…

Bottom-Up型の2D Pose Estimationの最新手法HigherHRNetの紹介

はじめに 今回は、CVPR'20に採録されたBottom-Up型の2D Pose Estimationについて紹介します。 [1908.10357] HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation 2D Pose Estimationには大きく2つのパターンがあり、Top-…

Deep Metric Learning (深層距離学習)の動向と実は大して発展していなかった話

はじめに 今回は、近年のDeep Metric Learning (深層距離学習)の発展を再評価して、論文で論じられている程のパフォーマンス向上が実際にはなかったことを実験的に示した論文を紹介しつつ、Deep Metric Learningについて紹介しようと思います。

画像ベースの仮想試着の最新手法 O-VITON [Amazon CVPR'20]のご紹介

はじめに 今回は先日Amazonが公開し、CVPR'20にも採録された最新の仮想試着の論文について説明したいと思います。私自身、同系統の仮想試着の研究を行っていたので、周辺知識や個人的な見解も交えて説明をしたいと思います。背景が長いのですが、読むと仮想…

PyTorchモデルをモバイルやエッジで利用するための方法の整理

はじめに 最近では、Deep LearningのライブラリとしてPyTorchが利用される機会が多くなっています。私自身も以前はTensorflow/Kerasを利用していましたが、現状はPyTorchを使うことがほとんどです。 しかし、PyTorchは実装がしやすいものの、モバイルやエッ…

自然言語処理で活躍するTransformerを取り入れた物体認識モデルDETRの紹介

はじめに 今回は、自然言語界隈に発展をもたらし、デファクトスタンダードとなったTransformerのモデルを物体認識に取り入れた論文(End-to-End Object Detection with Transformers 2020/05/26 on arXiv)を紹介します。

多視点画像による3次元姿勢推定の最新手法Epipolar Transformersの紹介

はじめに 先日公開された3次元姿勢推定の手法であるEpipolar Transformersを紹介します。Human3.6Mという3次元姿勢推定で一般的なベンチマークとして使われるデータセットにおいて、最高精度を達成しています。また、Hand Pose Estimation (手の骨格の推定)…

物体認識モデルYOLOv3を軽く凌駕するYOLOv4の紹介

はじめに 先月、YOLOv4が公開されました。位置づけとしては、物体認識のポピュラーなモデルの1つであるYOLO系統の最新版となります。結果がすごいのはぱっと見分かりましたし、内容も既存の手法をサーベイ・実験頑張って、精度上げていったんだなあくらいの…

論文管理アプリを乗り換えるために色々検討したまとめ

はじめに 研究に関わる人であれば、何かしら論文を管理していると思うのですが、どのようにやっているのでしょうか?シンプルに、フォルダ管理とかエクセル管理とかでもできそうですが、論文管理用のツールはいくつもあって、私はそのようなツールを使ってい…

CVPR 2019 画像生成系を中心に33選

CVPR2019の論文タイトルを一通り見て、画像生成系を中心にして身体と3Dやネットワーク探索、その他個人的に直近で使えそうなものをピックアップ。そのあたりをさらっと確認してまとめたものになります。★がついているものは後でもっとちゃんと読みたいもので…

Deep Learningにおけるバッチサイズと学習率をどう決めるか

Deep Learningにおいてパラメータを決めるのは面倒くさいです。バッチサイズと学習率もその内の2つです。何かモデルを実装するときは既存研究の論文のバッチサイズと学習率と同じものを使うのが楽ですが、データが変わるだけでも調整が必要になったり、モデ…

令和からはじめるキャッシュレス時代のお金の使い方・貯め方 決定版

最近特にQRコード決済界隈が賑わっています。昨年末PayPayの「100億円あげちゃうキャンペーン」が話題になりました。また、平成の終わりにかけてLINE Payの「超Payトク祭」や令和にかけてのメルペイの「50%還元キャンペーン」なども各社非常に高いキャッシュ…

大局的なMaaS(Mobility as a Service)の流れから見るライドシェア解禁

ライドシェア解禁 3月7日の未来投資会議にて安倍首相によって道路運送法の改正の方針が表明されました。内容としては、ライドシェア(自家用車を使った有料顧客輸送)の活用を拡大することとなっています。現状でもライドシェアは一部で認められているようで…

Docker環境で姿勢推定をOpenPoseで実行する

はじめに 姿勢推定のOpenPoseの実行を行ったのでその方法をまとめておきます。GPU環境があれば、Dockerを使うことで簡単に使うことができました。 github.com 公式の環境構築手順に沿うのはなかなか大変なので、Dockerで環境を用意して使いたいと思います。

独自ドメイン+HTTPSなポートフォリオサイトを簡単に作成し、無料で運用する方法

ポートフォリオを手軽にそして安く作りたかったのですが、それを実現させた方法をまとめます。「手軽に」という点ではBootstrapテンプレートを利用することで実現します。「安く」という点ではGithub Pagesを利用します。無料というのは独自ドメインの取得料…

エンジニアの記事のアウトプット先はどこがいい?(Qiita/note/blog)

はじめに 普段から記事を書くことは多いのですが、アウトプット先を複数抱えており、投稿先を自分の中で整理したいと思いました。結論として少し冬眠していたこのblogをアクティブにしようとする宣言の意味も大きいのですが、それと同時にアウトプット先につ…

Rails5.0.0.1からRails5.1.5へのアップデート

はじめに Railsのプロジェクトのアップデートをしたのでそのときのメモをしておきます。 利用しているGem等に大きくよると思いますが、アップデートの際の参考にはなるかもしれません。 環境: MacOS Sierra Rubyのアップデート Rubyのバージョンも2.4.1から2…

GoodfellowさんのGANのオススメ論文10選まとめ (2018/02)

GANの作者のGoodfellowさんがおすすめの10論文を教えていたので、みてみます。Goodfellowさんのコメントに加えて、少し補足的説明を加えています。。基本的には最新の論文をすすめるということでICLR2018のオーラル論文等最新のが多め。

Reactで 開発開始まで

以前、Reactの勉強のために以下のようなデモを作ったのですが、Reactのスタートをコピペベースで出来るようにメモしておきます。

Java 配列部分型 ( ArrayStoreException )

普段、Javaはあまり使わないほうですがJavaの型について学んだことがあったのでメモします。(触れるのはJavaですが、型の問題としては一般に関わる話です。) BがAの部分型であるときにBの配列をAの配列の部分型にしてよいか ということに関してです。

Google Formで回答を受けたらSlackに通知する (Google Apps Script)

やったこと タイトル通り、Google Formで回答を受け付けたらそれをSlackに通知します。 大体の手順は以下のような感じ。 Google FormでFormの用意。また、回答をSpreadSheetに出すようにしておく。 Slackのincoming webhookの用意をする。 Google Apps Scrip…

Tensorflow run() vs eval() と InteractiveSession() vs Session()

はじめに Tensorflowを使う際にコードによって若干の違いが見られたのでその点を理解しておきたいと思います。 run() と eval() InteractiveSession() と Session() この2点に違いについて説明します。 run() vs eval() 例えば、以下のような簡単なMLPの実装…

RNNやWord2Vec関連のリンクの備忘録

RNN概要 LSTMについての説明が中心。 RNNのRがrecurrentの頭文字であることからも表されるように、RNNは同じネットワークを繰り返して前のネットワークで学習した結果の一部を後続のネットワークに渡すようなことをしています。それは前のネットワークの情報…

【Swift3】ニュースアプリ風の横スクロールメニューバーライブラリ3つの検討

ニュースアプリのメニューバーを実装したくなったので、ライブラリを検討してみました。 イメージとしてはGunosyのメニューのようにスライドしてジャンルを切り替えるようなものです。PageMenu、PagingMenuController、TabPageViewControllerの3つを比較して…

群知能(Swarm Intelligence)の実装 (Java) - PSO・ABC-

大学の課題で群知能(Swarm Intelligence)の実装が課題に出て、PSO(Particle Swarm Intelligence) と ABC(Artificial Bee Colony) のアルゴリズムを実装することになりました。 そこで、コードの紹介(github)と参考になったものを載せておきます。

MacでディープラーニングのためにGPUを使いたかった話

ディープラーニングをするときは処理速度を上げるためにGPUを使いたいです。GPUを使わないとなれば、大きなデータセットは扱いたくはないです。この前、CPUでやろうとして3日くらいかかった(途中で諦めた笑)やつもGPUだったらどれだけ楽になったことか。

Kaggle 「Allstate Claims Severity」を終えての振り返りと整理

約1ヶ月程の期間ちょこちょこ時間を使って、データ分析・データモデリングのコンペのプラットフォームであるKaggleで Allstate Claims Severityというコンペに挑戦しました。 www.kaggle.com このようなコンペははじめてで学びだらけでした。今回の復習をし…

XGBoostをPythonで動かす on Mac

XGBoostは、Gradient Boostingのframeworkを提供してくれるライブラリです。Gradient Boostingは決定木のような弱学習機をアンサンブルする形態のモデルを生み出します。 高い精度が期待出来るためコンペでもよく登場するライブラリです。Deep Leaningより気…

MacBookを購入後に最初に行う環境構築 (エンジニア向け)

新しくMacBookを購入しました。初期設定を色々としないといけなかったので備忘録も兼ねて設定手順を書きます。 こういう設定は正解もないですし、あまり教わる機会もないので参考になればと思います。