顔画像の特徴点描画方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たくまろ

顔画像の特徴点描画方法

#1

投稿記事 by たくまろ » 8年前

最近、apiやrealsense等でよく見かけるようになった
顔の各パーツや輪郭を覆うように何十点もの特徴点を描画する
実装方法が全く分かりません。

シフト特徴量を使ってる?
くらいの理解でシフトで取れる特徴点をどう使えば良いのか分かりません

実装の道筋や参考ページを教えて頂けませんか?

C6b14

Re: 顔画像の特徴点描画方法

#2

投稿記事 by C6b14 » 8年前

”直前の質問”を読んでルール通りに質問をお願い致します。(Pythonを使ってるとかC++とかもお願いします。)

C6b14

Re: 顔画像の特徴点描画方法

#3

投稿記事 by C6b14 » 8年前

Intel RealSense SDKセンサープログラミング (初音玲 ...著)は読まれましたか。microsoft azure apihttps://azure.microsoft.com/ja-jp/servi ... ices/face/はお使いでしょうか。

C614b

Re: 顔画像の特徴点描画方法

#4

投稿記事 by C614b » 8年前

OpenCVの例はここにhttp://qiita.com/olympic2020/items/04b1b26c1bc2e8081427沢山あります。
SIFT,SURF特徴量についてはhttp://www.slideshare.net/lawmn/siftsurfにあります。


C6b14

Re: 顔画像の特徴点描画方法

#6

投稿記事 by C6b14 » 8年前

[参考]([パターンマッチング]についての基本実装はここhttp://navi.cs.kumamoto-u.ac.jp/~koutak ... ?SSD%2FSAD
とかhttp://imagingsolution.blog107.fc2.com/ ... y-186.htmlをご覧ください。)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 顔画像の特徴点描画方法

#7

投稿記事 by みけCAT » 8年前

C6b14 さんが書きました:”直前の質問”を読んでルール通りに質問をお願い致します。
ここではトピックはデフォルトでは最後の返信の新しい順に並び、トピック作成の順に並べるオプションは無さそうな気がするので、”直前の質問”が何のことかわかりにくいです。
だから、リンクを張るべきだと思います。

それとも、「トピックを立てようとする時にたまたまトピック一覧の上の方にある適当な質問」という意味でしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

C6b14

Re: 顔画像の特徴点描画方法

#8

投稿記事 by C6b14 » 8年前

あ、気が付きませんでした。もっと丁寧にかくべきでした。ごめんなさい。

oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#9

投稿記事 by oomnakupiyopiyo » 8年前

ありがとうございます。
扱い方をわきまえておらず、すみませんでした。

開発環境はc++かPythonです。
MicrosoftのAPIやRealSenseの本は存じ上げております。

ですが、今回はそういった出来た物を使うのではなく
いちから全て自分で作りたいのです。

Haar-likeで行うように、顔やそのパーツの検出はよく見かけるのですが
パーツを囲うように特徴点を描画する方法が分かりません。
RealSenseでいうfacetrackingのように72点?の特徴点を描画したいのです。

C6b14

Re: 顔画像の特徴点描画方法

#10

投稿記事 by C6b14 » 8年前

もしかして詳しいかたがいるかもしれません。具体的なコードを提示頂くように書いてあったとおもいますが?

oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#11

投稿記事 by oomnakupiyopiyo » 8年前

いえ、まだコードは書いていません
道筋が分かりませんから。
haar-likeで顔検出して四角の箱を描画したところでその後どうやって
顔の各パーツを囲う様に特徴点を描画すれば良いのですか?


C6b14

Re: 顔画像の特徴点描画方法

#13

投稿記事 by C6b14 » 8年前

錯綜したようです。>haar-likeで顔検出して四角の箱を描画したところでその後どうやって---
そこまでのコードは長いものですか。なにがいちばんの問題点ですか。具体的に何か提示して頂きたいのですが。図とか?


oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#15

投稿記事 by oomnakupiyopiyo » 8年前

ありがとうございます。
ですが、Unityは触ったことないです。。。
アルゴリズムが理解出来れば書き換えるだけでいいんですが

何が一番の問題点というか、問題点自体が分からないという質問です。
SIFTやhaar-likeで特徴点を取ってきて、それをどうやって顔パーツを囲う様に特徴点を打っているのですか?
haar-like等からrealsenseの様な特徴点群まで持って行く方法が分かりません。

oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#16

投稿記事 by oomnakupiyopiyo » 8年前

画像画像
この過程が知りたいです

C6b14

Re: 顔画像の特徴点描画方法

#17

投稿記事 by C6b14 » 8年前

何か参考にしてるサイトとか?図を描くアルゴリズムが問題なのか、特徴点を抽出するアルゴリズムかhttp://derivecv.tumblr.com/post/49555836875

C6b14

Re: 顔画像の特徴点描画方法

#18

投稿記事 by C6b14 » 8年前

同じところを見たようです。これはしばらくの間時々ここを見て下さい。どなたかアイデアを思いつくかも知れません。逆に何か思いついたらお知らせください。宜しくお願い致します。

oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#19

投稿記事 by oomnakupiyopiyo » 8年前

特徴点を抽出するアルゴリズムもあいまいですし
それら特徴点を結んで図を描くアルゴリズムも微妙です。(openCVで点の座標を結ぶだけで良い?)

とにかく、静止画ベースで良いのですが、何からコードを組めば良いか分かりません。
調べた限り、特許等がからんでいそうなのでそもそも分からないのか。。。

DetectFaceみたいなAPIやリアルセンスに搭載されている隠れアルゴリズムを使うしかなくて
自分で1から実装することは不可能なのでしょうか?

oomnakupiyopiyo
記事: 9
登録日時: 9年前

Re: 顔画像の特徴点描画方法

#20

投稿記事 by oomnakupiyopiyo » 8年前

dlib等のライブラリを使うしかないもよう・・・
自分で1から実装するには顔の3次元モデル等を各方位から用意しないといけないのかな?

C6b14

Re: 顔画像の特徴点描画方法

#21

投稿記事 by C6b14 » 8年前

ここにhttp://opencv.jp/cookbook/opencv_img.html#id20”プログラム例があります。。(OpenCVです)
[図を描くアルゴリズム]
”*:点座標集合に外接する図形を求める”
[特徴点を抽出するアルゴリズム]
”*:特徴点を検出する[様々な手法で特徴点を検出することができます. detector( cv::FeatureDetector を継承した様々なクラス)を変えるだけで,検出手法を変更することができます]
「SIFT検出器に基づく特徴点検出」”など沢山のプログラムが載っています

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: 顔画像の特徴点描画方法

#22

投稿記事 by usao » 8年前

例えば,ASM(Active Shape Model) とか AAM(Active Appearance Model) とかそういった方面の話でしょうか.
この方面は詳しくないですが,機械学習な方面の話になるかと想像します.

まず顔画像のサンプルを山のように収集し,それらサンプルに対して
「何らかの基準で」特徴点の位置を与え(手作業で),
その特徴点群の分布や,特徴点付近の画像パッチの特徴量,あるいは特徴点群で構成される図形内の画像特徴量
等を学習器に学習させる
 ↓
検出時には,例えばhaar-likeを使った別の検出器で顔領域候補を得た後,
その候補領域に対して,学習された顔モデルの当てはめを行う…のだと思います.


#本当に自前で実装したいなら,おそらく顔認識関係の論文を漁った方が良いかと.
 とりあえず Google Scholar あたりで 「Face」と{Detection, Recognition, Model}みたいな単語の組み合わせで検索してみてはどうでしょうか.
 何故自前でやりたいのか不明ですが,興味本位とか個人的な枠内での話であれば,
 論文(というか研究者)によっては,自分が使ったデータセットをWebで公開している場合もあるので,
 そういうのを利用できれば,サンプル収集と特徴点データ付与にかかる膨大な時間と労力をとりあえず回避して検討できるでしょう.

閉鎖

“C言語何でも質問掲示板” へ戻る