AI・機械学習に関すること prod.らいあん

AI・機械学習に関する気づきやメモ

DJ選曲術!!有名DJの1500個のセトリから分析

研究目的

1500個のミックス音源(Dance Music)を解析することで 1. 曲のトランジションの長さの分析 1. ミックスする前後2曲のBPMの差異の分析 1. キーの転置の分析 1. DJ間で同じ曲の混ぜ方の違いについての分析 をする.

データセットについて

Summary statistic All Matched
The number of mixes 1,564 1,557
The number of unique tracks 15,068 13,728
The number of played tracks 26,776 24,202
The number of transitions 24,344 20,765
Total length of mixes (in hours) 1,577 1,570
Total length of unique tracks (in hours) 1,038 913
Average length of mixes (in minutes) 60.5 60.5
Average length of unique tracks (in minutes) 4.1 4.0
Average number of played tracks in a mix 17.1 15.5
Average number of transitions in a mix 14.5 12.9

曲の情報(BPMやKey, Cueポイント)はDTW[1]で生成する.

[1] R. Sonnleitner, A. Arzt, and G. Widmer, “Landmarkbased audio fingerprinting for DJ mix monitoring.” in Proc. International Society for Music Information Retrieval Conference (ISMIR), 2016, pp. 185–191.

分析結果

用語定義

  • Cue Out = 次の曲を流した瞬間

  • Cue In = 前の曲を完全に途切れた瞬間

  • Cue Middle = 曲同士を混ぜている中で,メイン出力を次の曲に切り替えた瞬間.たとえば,前の曲のlowを切って,次の曲のlowをあげたタイミングなど.

曲のトランジションの長さの分析

Figure 6に曲のトランジションの長さのヒストグラムを示す. トランジション領域のCue InとCue Outを抽出することで,トランジションの長さを計算している. Figure 6から曲のトランジションは32beatもしくは64beatで行うのが定番であることがわかる.また,8beatや16beatでトランジションするよりも0beatで切り替えられていることの方が多い.意外にも16beatでトランジションすることは少ない傾向にある. 64beat以降はbeat数に比例して,トランジション方法としてはレアになる.

ミックスする前後2曲のBPMの差異の分析

曲のミックス音源のBPMとオリジナル音源のBPMの違いを比較する. Figure 4はミックス音源のBPMとオリジナル音源のBPMの差異をパーセンテージで表したヒストグラムである. 例えば,5%の差があれば,オリジナル曲のBPMがミックスで再生されている間に5%上昇していることを示している. Figure 4は平均0の正規分布の形をしていて,BPM差が5%以下なのが全体の86.1%, BPM差が10%以下なのが全体の94.5%を占める. つまり20曲のセットリストを組んだとすると,18曲はBPM差が5%以下である曲で構成することが望ましい.

キーの転置の分析

Figure 5は曲のミックス音源とオリジナル音源のkeyの違いを表したヒストグラムである. Figure 5の横軸は転調度を意味し,0はオリジナル音源との同じkey,1はオリジナル音源のkey+1(例えば,オリジナル音源のkeyが”A”なら”B♭”)を意味する. Figure 5から,転調されているのは2.5%で,転調されているトラックのうち,94.3%は+1しか転置されていないことがわかる. この結果から,一般的にDJはキーの転調を行わず,マスターテンポ機能をオンにすることが望ましい. また,長くトランジションする場合は,keyが同じ曲同士で行うことが望ましいとされていると考える.

DJ間で同じ曲の混ぜ方の違いについての分析

トランジションを曲のどの部分で行うかは,DJが選択できる. しかしながら,曲ごとに”綺麗に”トランジションできる部分は限られていることが考えられるため,DJ間でのトランジション部分に差異はないことが予想される. そこで,Figure 5にDJ間でのCue In とCue Outの乖離を示す. その結果,全体の23.6%のペアが偏差ゼロであり,そのうち40.4%が1小節(4拍)以内,73.6%が8小節以内,86.2%が16小節以内であるとわかる. 従って,予想通り,曲ごとにトランジションする部分は決まっていると考えられる.

f:id:oriel-tennisu:20210201155940p:plain

Users’ Preference Prediction of Real Estate PropertiesBased on Floor Plan Analysis

f:id:oriel-tennisu:20210201141732p:plain 本研究の目的は、イエティーに公開されている物件を用いて、ユーザーの趣味・嗜好を考慮した物件を提示するレコメンドエンジンを開発すること。 レコメンドエンジンはコンテンツベースフィルタリングとMLP(Multi-Layer Perceptron)(Fig 2)を組み合わせた予測システム(Fig 3)を提案している。

間取り図を使うことによるメリットの1つは、同じ間取り規格と部屋数であっも、 例えば、「幼い子供が親の許可なく外に出られないように、玄関と子供部屋が直結していない物件を希望するユーザー」と、「各部屋から廊下に出られる便利な物件を希望するユーザー」に別々の物件を紹介することができる点である。 もう1つは、間取り図入れた方が予測精度が向上することが期待できる点である。

rerated works

間取り図をグラフ化する2つの方法

  1. 間取り図を「部屋」と「廊下」をノードとするグラフに落とし込み、隣接関係のパターンとそのパターン数(6種類)を調べている。 また、データセットを占有面積の大きさで4分割している。

    http://dx.doi.org/10.3130/aija.70.9_5

  2. 間取り図を「部屋」と「廊下」などのラベル付きのノードと「ドア」と「窓」のラベル付きの辺をグラフに落とし込んでいる。 このグラフからの部分グラフを用いて、共通部分グラフの有無から賃料を効果的に推定している。 データセットは京都の部屋数が3つ以上の物件。

    http://dx.doi.org/10.3130/aije.73.139

*コレらの方法は、グラフ作成するためにアノテーションする必要があり、めちゃめちゃ大変。

CNNを用いて、間取り図から特徴量を得る方法

f:id:oriel-tennisu:20210201141800p:plain
Fig 1は、入力がカラーの間取り図で、出力が間取り規格(1K、2K、1LDKなど)と部屋種類(floorplan/living room / entrance / kitchen /bath room /rest room /wash room /view /equipment /other)の有無となっているCNN。 このCNNを構築し学習したのち、fc7 layer部分から4096次元の間取り図の特徴量を得る。 VGG16を用いて転移学習している。 部分的にファインチューニングはしている。 *やってみると計算コスト高かったのか、本研究ではVGG16をRes50に変えてRes50のpool 5から2,048次元の特徴量抽出にしている。

提案手法

アノテーションがめんどいので、本研究では、Fig 1を用いて、2,048次元の間取り図の特徴量を抽出する。 抽出した特徴量と物件属性、ユーザ属性を入力に与えて、ユーザーが該当物件に興味があるかないかを予測するモデルFg3を構築する。

memo

この研究は、Fig1とFg3の学習の計算コストが高すぎて、実用的ではない。
また、どの間取り図が予測に影響を与えているのかについて議論しているが、その議論の仕方は、間取り画像の有無に関わらずうまく予測できた物件と間取り画像の有無によって予測が異なる物件について議論している。 ちなみに、間取り図を使用した場合に予測が悪くなった例は、1件だったらしく、原因は、間取り図の周囲にピンク色の背景があることで、FloorNetを混乱させているかららしい。

Vehicle_Price_Prediction_using_Visual_Features

消費者製品の画像を利用した販売価格予測というタスクに焦点を当ている研究。 自転車と自動車の画像からそれぞれの価格を推定するregressionタスクにCNNを用いている。ベースラインモデルである多クラスSVMと線形モデルに対して同等~高い精度が出た。VGGとMobileNetによる転移学習よりも制度の高いネットワーク構造PriceNetRegCNNを提案している。また、CNNモデルに関して、画像のどの部分が予測に効いているかをVisualizationすることにより示している。

related work

Zeiler and Fergusは、どのような視覚的特徴が隠れたユニットの活性化を最大化するかを学習し、どの特徴が事前予測に影響を与えるかを決定するために、オブスキュアリングスライディングウィンドウを利用している。

  1. Zeiler and R. Fergus. Visualizing and understand-ing convolutional networks. InECCV, 2014.

Zhou et al. は、グローバル平均プーリングを用いて、画像のどの領域が分類予測に最も影響を与えているかを可視化している。

  1. Zhou, A. Khosla, A. Lapedriza, A. Oliva, andA. Torralba. Learning deep features for discriminativelocalization. InCVPR, 2016.6

Simonyanらは、物体認識ネットワークが予測したクラススコアを最大化する画像を生成している。 これらの方法のサブセットを使って、製品の価格が高いか低いかの結果となる特徴を可視化する実験を行っている。

  1. Simonyan, A. Vedaldi, and A. Zisserman. Deep in-side convolutional networks: Visualising image clas-sification models and saliency maps. InICLR, 2014.

 提案手法

構築する特徴抽出器

  • HoG+PCA(ヒストグラムごとに8つの方向を持ち、ウィンドウサイズは32×32ピクセルでPCAで200次元にする)
  • CNN (vgg16を使用しており、vgg16の最後の全結合層にPCAei適用し次元削減をしている)
  • VGG16
  • SqueezeNet

    予測器

  • 線形回帰
  • SVM
  • VGG16(出力を1次元にして直接価格予測)
  • SqueezeNet(出力を1次元にして直接価格予測)