タグ

OpenCVに関するmiguchiのブックマーク (10)

  • OpenCVの新しい顔検出をブラウザでも試してみる

    この記事はOpenCV Advent Calendar 2021の 23 日目の記事です。 はじめに 3 日目の記事で紹介されているように、OpenCV 4.5.4 では新しく顔検出/顔認識の API が実装されました。この記事ではこの顔検出 API をブラウザから呼んでみることにします。ブラウザから呼び出すにあたって、先にきちんとパフォーマンスを確認して使用する解像度を決めます。更に高速化のために SIMD とマルチスレッドを使った OpenCVWasm バイナリを作ります。その後、実用的な環境を想定して Reactフロントエンドから呼び出すようにしてみます。ついでに WebRTC で実際に加工した画像が送信できることのデモまで行います。 OpenCV.js での新機能の扱い OpenCV.js で JavaScript から呼び出せる機能はホワイトリスト形式になっており、ビル

    OpenCVの新しい顔検出をブラウザでも試してみる
  • OpenCV 写真に特定の人物が写っているか判定 その2

    OpenCVで顔画像の判定を行ってみました。 OpenCV を使用して、写真に特定の人物が写っているか判定する 精度が悪いので、どうやったら精度が上がるか考えてみます。 戦いは数だよアニキ 比較用の画像を増やしてみます。 # -*- coding:utf-8 -*-import numpyimport cv2def calc(detector_name, extractor_name, matcher_name, face_image):        # キーポイントの検出    detector = cv2.FeatureDetector_create(detector_name)    keypoints1 = detector.detect(face_image)    # 画像データの特徴量    descripter = cv2.DescriptorExtractor_crea

    OpenCV 写真に特定の人物が写っているか判定 その2
  • OpenCV だけで顔検出から顔照合まで完結している - Qiita

    追記(2022.04.11) qiita OpenCVの新しい顔検出を試してみる qiita OpenCVに加わった深層学習ベースの顔検出・顔照合のデモ用のサンプル で、OpenCV 4.5.4 以降で利用可能な深層学習ベースの顔検出と顔照合が紹介されています。 OpenCV だけで顔検出から顔照合まで完結している。 そういう状況になってきている。 深層学習を利用した従来よりも強力な顔検出・狭義の顔照合(=正規化済みの顔を用いて、顔の類似性を判定する技術)があることには気づいていたが、顔のlandmark(目・鼻・口など)を求めて、顔を正規化する技術OpenCVに含まれていたことに最近気づいた。 https://github.com/opencv/opencv/tree/master/samples/dnn tensorFlow ベースのコードで顔検出のDNNが使えるようになっている。

    OpenCV だけで顔検出から顔照合まで完結している - Qiita
  • 割と簡単に顔画像を集める方法 - Qiita

    背景 機械学習用の顔画像を集めている時に「このワザだけでも1の記事として成り立つんじゃね?」と思ったのでご紹介。 特定の人の顔画像を集める 機械学習の初歩でやりがちなことのひとつに、特定の人であるかどうかを判定させるみたいなものがあります。 そのためには、教師データとしてその特定の人の画像をたくさん集めたくなります。 検索して出てくるサイトの多くではクローラーでかきあつめたりするものが多いようですが、以下の手順でも顔画像収集は可能です。 例として、秋元真夏さんの画像をたくさん集めたいものと仮定します。 Webブラウザを開いて最大化 googleの画像検索で「秋元真夏」と検索 画面をキャプチャして画像としてとっておく 表示されていなかった画像が表示されるようにスクロール それ以上検索結果が出てこなくなるまで3と4を繰り返す OpenCVを使ってちょちょいと書いたスクリプト(後述)を用いて3

    割と簡単に顔画像を集める方法 - Qiita
    miguchi
    miguchi 2017/05/22
    “秋元真夏”
  • Image Processing 101

  • 全自動水玉コラ生成マシーン - onk.ninja

    全自動水玉コラ生成マシーン 聖夜なので表題のものを作った。 https://github.com/onk/auto_circle_collage processing で書いたアプリだけど、この記事の内容はほぼ OpenCV の話です。 仕組み 水着を自動認識して「隠す」とマーク 顔を自動認識して「見せる」とマーク マークに沿って円充填 水着領域の自動認識 最初のアプローチ OpenCV を使って肌色認識 選択領域を膨張 -> 収縮させる 肌色との差分を取れば水着領域が完成 肌色認識 先人が大量に居た。RGB 色空間ではなく HSV 色空間を使うというのがコツなようだ。 HSV色空間 - Wikipedia HSV 色空間なら影になっている部分も抽出できる。 今回は Hue: 7..15 を肌色として定義した。 PImage detectHada() { // 作業用に hue で gra

    全自動水玉コラ生成マシーン - onk.ninja
  • OpenCVとSAT4Jを使ってナンプレに挑戦してみた

    「ナンプレ破り」という Android アプリの中身の紹介。 OpenCV を使ってパズルの問題を画像認識し、 SAT4J を使ってパズルを解きます。 体系的な技術解説ではなく、苦労したところ中心。 2013年11月16日に開催された「日Androidの会 横浜支部 第18回定例会」でしゃべったときの資料。(スライドには“LT”と書いてありますが、実際には30分くらい、聞いている人たちの迷惑をかえりみず、たっぷりしゃべらせていただきました。)

    OpenCVとSAT4Jを使ってナンプレに挑戦してみた
  • ご注文は機械学習ですか? - kivantium活動日記

    先日書いたOpenCVでアニメ顔検出をやってみた - kivantium活動日記の続編です。アニメ顔を検出するところまではうまくいったので、今度はキャラの分類をやってみようと思います。環境はUbuntu 14.10です。 ひと目で、尋常でない検出器だと見抜いたよ まずは分類に使う学習用データを用意します。投稿から半年以上経つのにまだランキング上位に残っている驚異の動画ご注文はうさぎですか? 第1羽「ひと目で、尋常でないもふもふだと見抜いたよ」 アニメ/動画 - ニコニコ動画を使います。 動画のダウンロード Ubuntuならaptで入れられるnicovideo-dlというツールを使います。 sudo apt-get install nicovideo-dl nicovideo-dl www.nicovideo.jp/watch/1397552685その後avidemuxでOP部分だけの動画を

    ご注文は機械学習ですか? - kivantium活動日記
  • OpenCVでマーカレスAR - takminの書きっぱなし備忘録 @はてなブログ

    以前こちらの記事で紹介したマーカレスARのソースをGitHub上で公開しました。MITライセンスです。 こちらからダウンロードできます。 https://github.com/takmin/OpenCV-Marker-less-AR 当はリファクタリングが終わってから公開しようと思っていたのですが、それを言っていたらいつまでたっても公開できなさそうなので、エイヤ!でアップロードしちゃいました。これから随時コードを整理していきたいと思っています。 このプログラムは 特定物体認識 トラッキング 重畳表示 の3つのパートに分かれていて、一応それぞれのアルゴリズムを入れ替えられるように作ってます。 言語はC++で書かれていて、以下のライブラリを使用しています。 OpenCV 2.3.1 https://sourceforge.net/projects/opencvlibrary/ GLUT 3.

    OpenCVでマーカレスAR - takminの書きっぱなし備忘録 @はてなブログ
  • JavaScriptの顔認識ライブラリをチューニングしたら実用レベルになったという話 (Kanasansoft Web Lab.)

    ただ、WebRTCで顔認識させようとすると遅くてしかたがなかった。 最初は速いこともあるが、10回ぐらい認識をさせるとすぐに遅くなる。 とりあえず、デモ。 そこで、チューニングをしてみることにした。 まず、JavaScriptの定番の高速化を試してみた。 例えば、正の数で使える「Math.floor(x)」を「(x | 0)」に、整数で使える「x * Math.pow(2, y)」を「x << y」にする等。 これで、10~30%高速化できた。 次に、遅くなっている部分を調べたら、Web Workersで分散するための仕組みが遅くなる原因だとわかった。 これは、Web Workersを使わない場合にも影響が出ていた。 じゃあ、Web Workersを使えば速くなるのかといえばその逆で、20倍遅くなっていた。 詳しくは調べてないけど、多分Workerスレッドに処理データを渡す時にJSON化が

  • 1