yiskw note

勉強したことや日々の生活について気まぐれで書きます

Is 2D Heatmap Representation Even Necessary for Human Pose Estimation?を読んだのでメモ

概要

f:id:yiskw713:20210713072257p:plain

従来のヒートマップベースのキーポイント推定の手法は

  1. 低解像度の画像に対しての精度が低い
  2. 精度を向上させるには HourglrassNetのようなアップサンプリングを使用したものが必要
  3. 後処理の際に、ダウンスケールしたヒートマップの量子化誤差を軽減する必要がある

という問題点があった。
そこでヒートマップを使用しない新たなキーポイントの表現方法を提案。
ヒートマップをx軸とy軸の2軸に分解し、それぞれ独立にキーポイントの位置を推定する。
COCOデータセットでヒートマップベースの手法を上回る結果に。

続きを読む

【Python】del 文について

Pythonのdel文はリストから要素を削除する場合や,
変数の削除にも使用することができます.

a = [1, 2, 3, 4, 5]
del a[2:4]

print(a)

出力

[1, 2, 5]

しかしながら,このdel文はインスタンスを破棄するのではなく,
あくまで参照カウントを1減らしているだけです.
インスタンスを破棄するためには,デストラク__del__()を呼び出すか,
インスタンスの参照カウンタを0にする必要があります.

以下はインスタンスを破棄できていない例です.

a = "hoge"
b = a
c = a

del a
del b

# "hoge"という文字列はcによって参照されているので,破棄されない
print(c)

一方で以下はインスタンスを破棄できている例です.

a = "hoge"

del a

print(a)

del文によってインスタンスを破棄し,メモリを解放したい場合は,
そのインスタンスが参照されているかどうかを確認する必要があり,注意が必要です.

Reference

【Python】モジュール内でそのモジュールへの参照を取得する

概要

Pythonを用いて,モジュール内で定義したクラスの一覧から,指定されたクラスのインスタンスを返す関数を,
そのモジュール内で作成しようとしておりました.

外部のモジュールであれば,以下のコードで実現が可能です.

import mod  # 自作モジュール


class_name = "Hoge"
# Hogeクラスのインスタンスを取得
instance = getattr(mod, class_name)()

このように,外部からあるモジュールを参照する場合はimportを行うだけで良いですが,
モジュール内部で自身への参照を取得する場合にはimportは使えません.
そこで,モジュール内でそのモジュールへの参照を取得する方法について調査したのでメモを残しておきます.

続きを読む