Open38

Advent Calendar 2021の読書感想文

やまぴーやまぴー

Deep Metric Learningによる、ホテルや飲食店などの拠点検索改善
ユーザーの検索クエリと正解の拠点をベクトル化してmetric learning
tf-idfやBM25+LightGBMからTransfomer Encoder+Contrastive Loss or Proxy Anchor Loss に改善

Tensorflowではモデルに文字列の正規化やSentencePieceによるToken ID列化といった前処理も含めてTensorflow Serving(TFS)でServingできます。つまりTFSの前段で別のAPIを構築して、前処理する必要がないということです。

内積を計算するところはABYSSを使用

やまぴーやまぴー

OpenCVの新しい顔検出を試してみる

OpenCV 4.5.4から実装された,YuNetによる顔とランドマークの検出cv::FaceDetectorYNの紹介
同じくOpenCV 4.5.4で実装されたSFaceによる顔の認識cv::FaceRecognizerSFは別記事で紹介するとのこと

YuNetは,顔を囲むバウンディングボックスと右目、左目、鼻、右口角、左口角の5点のランドマークを検出する(信頼度も)

動かす過程を紹介している,わかりやすい

YuNetは入力サイズによっては1.41[ms]で処理できるようです。めちゃくちゃ速いですね。1

やまぴーやまぴー

使うのは訓練済みStyleGANだけ!? 追加訓練なしで複数の画像合成タスクを実現する

訓練済みのStyleGAN2を使って、パノラマ合成から顔の編集、Image to image translation的なことまで基本的に訓練なしでできる論文の紹介

タイトル:StyleGAN of All Trades: Image Manipulation with Only Pretrained StyleGAN
URL:https://arxiv.org/abs/2111.01619v1
出典:Min Jin Chong, Hsin-Ying Lee, David Forsyth; arXiv preprint arXiv:2111.01619
コード:https://github.com/mchong6/SOAT

やまぴーやまぴー

デジタル電流制御の復習

・A/Dコンバータを用いた電流検出
サンプリング/変換の時間遅れ
量子化ビットエラー
・CPU内での計算
実行時間の遅延
丸め誤差
・PWM制御
キャリア信号/基準値の分解能

連続時間領域における制御ブロック図

デジタル時間領域におけるパルス伝達関数のブロック図

パルス伝達関数

z 平面での安定性

python controlを使用した時間領域における応答の図示

デッドビート制御の伝達関数とブロック図,時間応答の図示

やまぴーやまぴー

序盤に試すテーブルデータの特徴量エンジニアリング

colum2131さん

特徴量エンジニアリングについて,「(単一の)数値データ」「(単一の)カテゴリデータ」「テキストデータ」「数値データ × カテゴリデータ」「数値データ × 数値データ」「カテゴリデータ × カテゴリデータ」「スケーリング」の大きく7つの枠組みでどのような手法を取るかを紹介します.

+ 1subした後のコンペの進め方

やまぴーやまぴー

DataRobot × Vertex Feature Storeで実現するオンライン推論

機械学習モデルの学習時はbqみたいな大量データを扱えるデータレイク,推論時は少量のデータを高速に取り出すredisみたいなKVSが必要で,異なる性能要件のストレージやデータベースが必要

そういった課題を解決するために生まれたのがFeature Storeで,Google CloudではVertex Feature Storeとして爆誕している

Vertex Feature Storeの紹介リンク複数紹介

tokyoリージョン内のfeature storeからcompute engineに特徴量取得して,usリージョンのdatarobotで推論,特徴量取得にかかる時間と特徴量取得+推論にかかる時間を計測

datarobotでモデル作ってデプロイするまで,feature storeにデータ入れるまでの過程

計測

やまぴーやまぴー

OpenCVの新しい顔認識を試してみる

前回の続き

OpenCV 4.5.4で実装されたSFaceによる顔の認識cv::FaceRecognizerSFの紹介

SFaceでは顔画像から128次元の特徴を抽出、別の顔画像から抽出しておいた特徴と比較することでスコアを出します。

generate_aligned_faces.py ... 画像から顔を検出して切り出し、顔画像として保存する
generate_feature_dictionary.py ... 顔画像から特徴を抽出、特徴辞書として保存する
face_recognizer.py ... 入力画像から顔を検出し特徴を抽出、特徴辞書と比較して顔認識する

認識+個人識別ができるっぽい

やまぴーやまぴー

物体検出の回転は要注意! 回転は楕円で考えよう

画像の回転はData Augmentationでは一般的な方法ですが、物体検出では思わぬ副作用があります。物体検出におけるBounding Boxの回転について、問題点を指摘しより正確な回転方法や損失関数を提案、ICCV2021にアクセプトされた論文です。

タイトル:Towards Rotation Invariance in Object Detection
URL:https://openaccess.thecvf.com/content/ICCV2021/html/Kalra_Towards_Rotation_Invariance_in_Object_Detection_ICCV_2021_paper.html
出典:Agastya Kalra, Guy Stoppi, Bradley Brown, Rishav Agarwal, Achuta Kadambi; Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 3530-3540
プロジェクトページ:https://github.com/akasha-imaging/ICCV2021

今までのbboxの回転は,回転したbboxを内接する長方形を新たなbboxとしていたが,余白が大きく精度が下がる

提案されたbboxの回転は,元のbboxに内接する楕円を考えて,元のbboxに内接する楕円を回転させた後,その楕円が内接する長方形を新たなbboxにする

回転の不確実性を考慮した、独自の損失関数を定義

回転に対してロバストなモデルができる

斜めのbboxを扱えるモデル構造ってないのかな

やまぴーやまぴー

パウリゲート(XZY)を細かく見てみる

最初に出てくる量子状態の表現方法(線形重合せ、bra-ket)と基本操作であるパウリゲート(XZY)についてまとめた記事

重ね合わせを線形代数で表す記法(bra-ket記法)の紹介とパウリゲートの紹介

わかりやすかった

やまぴーやまぴー

AnT:Transformerを使ったアニメーションの線画着色の自動化の論文紹介

1フレームの線画とカラー画像が参照データとして与えられます。次に複数のフレームの線画が与えられます。これらの複数線画に対して、最初の線画-カラー画像と同じように自動着色するアプリケーションを作りましたというのがこの論文の趣旨です。ICCV2021に採択されています。

タイトル:The Animation Transformer: Visual Correspondence via Segment Matching
URL:https://openaccess.thecvf.com/content/ICCV2021/html/Casey_The_Animation_Transformer_Visual_Correspondence_via_Segment_Matching_ICCV_2021_paper.html
出典:Evan Casey, Víctor Pérez, Zhuoru Li; Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 11323-11332
プロジェクトページ:https://github.com/akasha-imaging/ICCV2021
アプリ:https://cadmium.app/

前フレームとの一致をattentionでやりましたって感じっぽい

この研究はCVPR2020に採択されたSuperGlueに着想を受けています(日本語解説記事)。