タグ

アルゴリズムに関するcitrus_gingerのブックマーク (13)

  • 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita

    的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれか。 始点を固定して他のすべての頂点との対について最短経路問題を解く場合や、任意の2頂点の対について解く場合などが実際には多いです。 実社会とも強く密着した問題のため、古くからたくさん効率的な解法が考えられてきました。 今回はそれらを紹介しつつ、細かいテクニ

    最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita
  • 高速フーリエ変換 - Wikipedia

    高速フーリエ変換(こうそくフーリエへんかん、英: fast Fourier transform, FFT)は、離散フーリエ変換(英: discrete Fourier transform, DFT)を計算機上で高速に計算するアルゴリズムである。高速フーリエ変換の逆変換を逆高速フーリエ変換(英: inverse fast Fourier transform, IFFT)と呼ぶ。 概要[編集] 複素関数 f(x) の離散フーリエ変換である複素関数 F(t) は以下で定義される。 このとき、{x = 0, 1, 2, ..., N − 1} を標点と言う。 これを直接計算したときの時間計算量は、ランダウの記号を用いて表現すると O(N2) である。 高速フーリエ変換は、この結果を、次数Nが2の累乗のときに O(N log N) の計算量で得るアルゴリズムである。より一般的には、次数が N =

    高速フーリエ変換 - Wikipedia
  • Fingerprinting Images for Near-Duplicate Detection – Real Python

    This is a guest post by Adrian Rosebrock from PyImageSearch.com, a blog all about computer vision, image processing, and building image search engines. Updates: 12/22/2014 - Removed references to line numbers in the code. 05/22/2015 - Added dependency versions. About five years ago, I was doing development work for a dating website. They were an early stage startup, but were starting to see some i

    Fingerprinting Images for Near-Duplicate Detection – Real Python
  • Perceptual Hashを使って画像の類似度を計算してみる - ユニファ開発者ブログ

    最近、引越しをしたWebエンジニア間です。 引越しの作業は大変面倒でしたが、新しい街に来た時のワクワク感がやっぱりいいなーと感じております。 さて、弊社のサービスである「写真サービス るくみー」では、毎日たくさんの写真をアップロードしていただいているのですが、中には内容がほとんど同じ写真が入ってしまうことがあります。 これらの写真がそのまま販売されてしまうと、写真を選ぶ際に邪魔になったり、間違って複数枚購入してしまうことがあるため、可能な限り避けたい事象です。 「同じ内容」の写真を自動で判別する方法がないか調査していたところ「Perceptual Hash」という手法を見つけました。 Pythonでの画像処理の勉強も兼ねて、今回この手法を紹介してみようと思います。 Perceptual Hashとは ハッシュ値は、「あるデータをハッシュ関数に入れて得られる値」で「同じデータからは常に同

    Perceptual Hashを使って画像の類似度を計算してみる - ユニファ開発者ブログ
  • Pythonで類似度検出① 検出の三つの手法 - Python 備忘録

    久しぶりの更新です。 自分でカスケード分類器を作ろうと思い画像収集のクローラーを作っていましたが、 思った以上に厄介なので、ひとまず置いときます。また今度に上げようかと思います。 最近仕事で、顔認証ができないかと類似度を検出する必要性に迫られています。 なので、今回から類似度検出をやっていきたいと思います。 類似度検出とは二つの画像を比べて、どれだけ似ているかを検出します。 最終的には、人物が特定できるような、顔認証まで進めたらいいなと思います。 類似度検出の三つの手法 今回は用語の整理に終わると思います。 画像認識には例のごとくOpenCVを使っていきます。 類似度検出には、主に三つの手法があります。 ヒストグラム比較 特徴点マッチング テンプレートマッチング 以上の三つです。ほかにもあるかもしれませんが、門外漢の私には全然わかりません。 一つ一つ確認していきましょう。 ヒストグラム比較

    Pythonで類似度検出① 検出の三つの手法 - Python 備忘録
  • Perceptual Hash - stMind

    Perceptual Hashは、画像などのメディアデータのハッシュを計算するアルゴリズム群です。 SHA-1やMD5とは異なり、画像サイズの違いや回転などの変換で画像が全く同一でない場合でも、元画像と同じハッシュ値を計算してくれます。 どんなことに使われているのか? アプリケーションとしては次のようなものがあります。 コンテンツの重複検出 Iconfinderでは、アイコン画像のアップロード時にdHashを用いて登録済みアイコンとの重複を検出する機能を開発中 Youtubeではユーザのアップロードした動画と、データベースにある著作権あり動画を比較し、違法アップロードを検出 DropboxのCarouselでは、ローカルのファイルからハッシュ値を計算し、サーバ側にバックアップしていないファイルを判定しているよう 類似画像検索 TinEye.com Google Image Search ア

    Perceptual Hash - stMind
  • pythonを使ってORBとPerceptual Hashで画像の類似度を比べてみる - いっきのblog

    どうも、くずきです。 今回はPythonを使って画像の類似度を求めました。 なぜやりたいのかというと、インスタグラムなどのSNSで画像を設定していない人を除外したい。つまり、 この画像か、近しい画像を設定している人が見つけ出せれば良い。 比較対象の画像 ファイル名 画像 説明 01.jpg 今回の比較画像 02.jpg 女性の画像(インスタから持ってきたのでここではモザイク) 03.jpg 男性の画像(インスタから持ってきたのでここではモザイク) 05.jpg 比較画像と同じ 06.png 比較画像の男風 07.png 比較画像の女風 08.png 化粧してる風な背景が比較画像に近い 11.jpg 背景青い人の画像 12.jpg 背景青い人の画像 13.jpg 比較画像に少し文字載せたやつ 15.jpg 比較画像にかなり文字載せたやつ ORBを使って類似度を求める qiita.com この

    pythonを使ってORBとPerceptual Hashで画像の類似度を比べてみる - いっきのblog
  • 5.18 [C#]写真の透かしを除去したい

    Home -> 雑用 -> 雑用メモ -> [5.18 [C#]写真の透かしを除去したい] 2016/02/17 公開 2016/02/26 追記 書きっぱなしの文章なので大変読み難い代物となっている。それでも良ければどうぞ。 概要 写真の透かしを除去するためにC#で試行錯誤した記録。 見出し一覧 基的に時系列順なので副題が前後しているが容赦していただきたい。 序: 透かしとは 前準備: 透かしの理論 透かしの除去方法 その1 C#による透かし除去の実装 その1 コントラストが僅かに落ちる原因 透かしの除去方法 その2 C#による透かし除去の実装 その2 透かし画像の生成 圧縮を主原因とする赤色劣化問題 赤色劣化の軽減 遺伝的アルゴリズムによる解の最適化 まとめ 付録1: ギャラリー 付録2: 画像の切り抜き練習 最後に 追記(2016/02/26): delogo について 序: 透か

    5.18 [C#]写真の透かしを除去したい
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報

    “アルゴリズム”は、もっとも非人間的なものの代表だともいえる。ソーシャルメディアにとって、そのアルゴリズムが不可欠だというのは、実に皮肉めいている。 僕はこの間、グーグルがどうやってユーザーデータを集めているかについて書いた記事を掲載した(前編、後編)。今回は、著名なソーシャルメディアサイトが、ユーザーデータを活用する上でどのようにアルゴリズムを用いているのか、白日の下にさらそう。 ソーシャルメディアを成り立たせているのは人間の力だが、ユーザーが入力したデータを利用できる状態にする仕組みは、アルゴリズムによって作られている。現在活動している無数のソーシャルメディアサイトで実証済みのことだが、ユーザーの関与とアルゴリズムによる処理ルールの上手いバランスを見出すことは、とても難しくなりがちだ。これから紹介するアルゴリズムは、悪意のないユーザーと結びついて初めてうまくいくものだ。 人気ソーシャル

    著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • 1