[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 04/25 19:15 / Filesize : 137 KB / Number-of Response : 563
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

画像処理 その13



1 名前:デフォルトの名無しさん [2011/04/04(月) 14:56:41.07 ]
画像処理プログラミングについて質問、議論を行うスレッドです
・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎

前スレ
画像処理 その12
hibari.2ch.net/test/read.cgi/tech/1247100724/

331 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 11:13:54.31 ]
というか説明からイラストを写真にとったものをどっちに扱いたいのかがわからない

332 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 13:57:40.84 ]
いまんとこ、ちょっとヒューリスティック過ぎて・・・
nagamochi.info/src/up95474.jpg

>>329
セル画は撮影してるから写真だろって引っ掛けは無しな
作品や場面によるけど大抵は、輝度が偏るのでVの分布が狭くなる感じ

>>330
なるほど、デジカメの特性を見るのか
メディアンフィルタ掛けた画像との残差を見てみる

>>331
普通の写真ですらまだ全然判別出来てないのに、なんでそこに固執するんだよ
正直それはどっちでもいいよ
でも例えば光沢紙にプリントしたものなら、人間なら光の反射とかから写真だと分かるよね

333 名前:デフォルトの名無しさん [2011/12/17(土) 14:26:35.46 ]
>>331
本質から離れたことにやたら固執する奴ってどこにでもいるな

334 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 15:13:07.51 ]
サンプルワロリン

335 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:44:02.82 ]
周波数分布も判定に使えそうだが、どうだろうか

336 名前:デフォルトの名無しさん [2011/12/18(日) 00:44:25.09 ]
オリジナル−メディアンフィルタの差分画像を、写真とアニメで比較してみたが、同じ色の領域で、写真だとノイズが乗ってるのが分かる。アニメだとほぼ差が0。

ただ、輪郭とか輝度変化が激しいところは、写真とアニメ両方で差があって、差の出方に違いがイマイチ見られないかな。
ここからどうやって固定パターンノイズと輪郭などの影響を分離するのかが分からん。

337 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 01:33:21.43 ]
ブロックノイズ出やすいのもあるし輪郭周辺はマスクしちゃっていいと思う
ただ、輪郭抽出とノイズ推定って紙一重だよな・・・

>>335の言う2次元FFTを実装してみたが
見方が分からないので結果とにらめっこして学習中。日記ですまん

338 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 01:45:23.55 ]
>>322
1,Googleの画像検索に画像を上げて、キーワードを探す。
2.キーワードをWikipediaで検索。
3.絵画や漫画系に飛んだらイラスト判定

339 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 02:12:36.38 ]
ワロタw
google が API 作ってくれればいいんだよなあ。




340 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:01:42.83 ]
>>336
オリジナルーメディアンってノイズ検出器であると同時にエッジ検出器でもあるからな
テクスチャに影響されずにノイズを検出しなきゃならん。

コンピュータビジョン最先端ガイド4に固定パターンノイズ推定について記述があったぞ。

1 Non-Localフィルタを使う
2 輝度変化がほぼ平面の部分で比較
3 周波数空間で処理

いろいろ手はあるようだが、どの程度の精度で推定できるのかは不明。
勘では2が実用性高そう。

341 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:11:20.94 ]
HOG, SIFT, SURF, Ferns, etc. の特徴量計算を片っ端から試してみれば?

342 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 05:46:24.42 ]
>>315 >>316
314です。レスありがとうございます。理解が深まりました。

343 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 05:48:25.98 ]
>>316 >>317
スレ汚しすみません。安価がずれていました。315でした。

344 名前:デフォルトの名無しさん [2011/12/26(月) 17:24:53.33 ]
いえいえ

345 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:11:20.01 ]
靖国神社に放火、神門の一部焼ける

26日未明、東京・千代田区の靖国神社で境内の神門に火がつけられる事件がありました。
事件の前にはインターネット上に犯行予告ともとれる書き込みがあり、警視庁で関連を調べています。

火はすぐに消し止められましたが、神門の扉の一部が焼けました。現場には灯油のようなものがまかれた跡があったほか、
まく際に使われたとみられるコップ2つが残されていたということです。

境内の防犯カメラには黒っぽい服装の男が火をつけているのが映っていたということで、警視庁は男の行方を追っています。

 また、事件前にはインターネットのツイッター上に

「在日コリアンの苦しみを代弁したって、どうせ日本人の心には届かない。だったら靖国神社を放火してやろう」

などと犯行予告ともとれる書き込みがあり、警視庁は関連を調べています。
news.tbs.co.jp/newseye/tbs_newseye4912428.html

画像
livedoor.blogimg.jp/tokuteishimasuta/imgs/0/a/0ae57015.jpg


346 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 23:36:11.44 ]
Photoshop辺りでいうレイヤー処理までサポートしているライブラリってありますか。
Gimpは良さそうなんですが、できればライセンスが緩めので・・・。

347 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 10:39:06.57 ]
レイヤーって単にアルファチャンネルのある複数の画像を持ってて
順番に重ねて表示しているだけじゃねーの


348 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 11:35:51.17 ]
ラスタレイヤーだけならね。
ベクタレイヤーもあればエフェクトレイヤーもあると思うんだ。

349 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 15:32:22.10 ]
それはレイヤーに重ねてるものがラスタ画像かベクタ画像かフィルタ操作かって話だろ




350 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 15:48:06.76 ]
そうだね。順番に重ねて表示しているだけじゃないね。

351 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 17:13:15.90 ]
順番に重ねて表示してるだけの予感

352 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 17:55:39.23 ]
どう考えても順番に重ねてるだけだろwww

353 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:52:25.09 ]
レイヤーフォルダやら下のレイヤーとグループ化で
その順番も単純じゃないんだけどな

354 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 21:23:55.67 ]
その辺までやってくれる画像ライブラリはなさそうだな

355 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 21:44:02.92 ]
レイヤーフォルダも通過とそれ以外では順番が変わる

356 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:32:30.82 ]
うっせえな。

357 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:41:14.41 ]
うっせえな、順番に重ねてるだけだろwww

358 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:57:08.25 ]
2D+Zデプスマップから立体視用の左右の画を得たいのですが
上手い変換方法が思いつきません
何も考えずにずらしたら隙間が出来ちゃうし・・・
良さそうな方法があったら教えてください
最終的にはリアルタイムで処理したいので速度はそれなりに重視します

よろしくお願いします

359 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 09:50:35.62 ]
「視差」でググると出てくるかな
eiga.com/extra/oguchi/6/

機械がKinectぽいし、この辺りが参考になるかも
opencv.jp/opencv2-x-samples/point-cloud-rendering



360 名前:デフォルトの名無しさん [2012/01/06(金) 22:26:16.57 ]
Windowsで10bit出力ってどうやるの?

361 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 09:57:53.71 ]
ttp://msdn.microsoft.com/ja-jp/library/windows/desktop/dd579106.aspx

362 名前:デフォルトの名無しさん [2012/01/07(土) 11:25:52.91 ]
>>361
thx

363 名前:358 mailto:sage [2012/01/10(火) 00:01:06.61 ]
>>359
レスありがとうございます
ディスプレイスメント・マッピングですか・・・Blenderでも使って実験するしかないか

HDMIのL+デプスマップはどうやって変換しているのかな・・・

>OpenCV
そのサンプルは左右の画からデプスマップを得るコードで
逆だと思うのですが・・・

364 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 10:08:09.27 ]
jpeg画像からDCT係数を直接取り出したりってできるんでしょうか


365 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 10:42:25.64 ]
>>364
単にjpegのデコードを途中で止めればいいだけだから、そういうコード書けばできるよ
そういうライブラリがあるかって話しなら聞いたことないなぁ・・・

366 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 21:55:00.04 ]
>>364
計算すりゃいいだろ

367 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:34:50.81 ]
DCT符号?jpegアナライザにその機能あるよ。
自分で調べてバイナリ抜き出してもいい。


368 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 23:11:59.93 ]
うっせえな。

369 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 02:02:20.09 ]
何かわからないことでも?



370 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 00:40:48.02 ]
kernelマシンってパターン認識以外で使われてるみたことない
他に何か応用あっただろうか

371 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:40:59.52 ]
SVMの応用なんて山ほどあるだろ


372 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:41:37.78 ]
カーネルサンダースってケンタッキー以外で使われてるみたことない
他に何か応用あっただろうか

373 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 11:04:29.22 ]
>>372
くそわろた

374 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 11:16:51.70 ]
何が面白いんだ

375 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 12:10:58.55 ]
ケンタッキー州どころか、日本にも進出しているよ。

376 名前:デフォルトの名無しさん [2012/01/20(金) 13:48:20.12 ]
>>372
軍事用途に応用できるんじゃないかな
もともと軍人だし

377 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:26:56.52 ]
>>372
道頓堀で発掘されたな
大阪の神に応用されたらしい

378 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:40:18.53 ]
呪物として利用された。

379 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:07:39.54 ]
高速なDFTができたらしい。
arxiv.org/pdf/1201.2501v1



380 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:11:02.93 ]
元データに何らかの特性が必要らしい
疎(スパース)だとかなんだとか

381 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:39:49.17 ]
>>380
残念、ありがとう。

382 名前:デフォルトの名無しさん [2012/01/20(金) 20:09:04.57 ]
質問です。
ハリスのコーナー検出についてわかりやすく紹介してるところありませんか。
Wikiとか見たんですが、もう少し図とかあるかんじで教えてもらえると嬉しいんですが。

383 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:09:00.18 ]
これの/?cp=以下のハッシュ値みたいなものが何なのか分かりますか?

よさげな画像なのでとりあえず見るだけでもどうぞ
よかったら回答願います^^;

ttp://img.stardust-web.net/pub/imgc/?cp=gzPTeBGsJejFLAbSmZLMqYdCVfbuc4RWT5od31Bn94VDPoQQwdakKwyrAhzfYMngZDce7COS7aKEwwIkBRVfjJsrmso9Ek&path=/user/entry/blog_id_9/1965a6849181d08346fac3849723cc7d.jpg&cplc=0


384 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 12:10:20.49 ]
画像処理と関係ないからどっかよそに行け
これからは気持ち悪い画像を貼らないように

ちなみにcpは564bit、pathは128bit。後者はMD5くせえな

385 名前:デフォルトの名無しさん [2012/01/21(土) 13:17:50.29 ]
2次元離散フーリエ変換したときに、DC成分を真ん中に持ってくるために
第1象限と第3象限、第2象限と第4象限を入れ替えますが、

データ数が奇数のときってどうやって入れ替えるんでしょうか?

386 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 13:20:54.10 ]
【プログラミング部】 PHPが100倍速で動くようになったぞー
awabi.2ch.net/test/read.cgi/poverty/1327050821/

387 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 14:30:27.22 ]
>>385
データ数が奇数という事は、奇数x奇数だな。寧ろ、判り易いじゃないか。
012
345
678



567
801
234

偶数だとこんな感じ。
0123
4567
89ab
cdef



6789
abcd
ef01
2345

388 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 14:33:27.52 ]
いけね、それぞれ

867
201
534



ab89
efcd
2301
6745

だったw

389 名前:デフォルトの名無しさん [2012/01/21(土) 15:34:31.76 ]
>>388
ありがとございます

5x5ならどうなりますか?

0 1 2 3 4
5 6 7 8 9
a b c d e
f g h i j
k l m n o



390 名前:389 [2012/01/21(土) 15:37:55.80 ]
i j f g h
n o k l m
3 4 0 1 2
8 9 5 6 7
d e a b c

であってます?

391 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:06:00.84 ]
>>390
いんじゃね?
要は、元のパターンをタイリングしてパターン半分ずらした状態なんだから。

392 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 14:32:18.63 ]
圧縮した状態でも、座標を指定すればその画素値を取得出来るようなフォーマットってあるのでしょうか?
あるとしたら圧縮率は悪くなのでしょうが。
メモリに出来るだけ溜めこんで、出来るだけ高速に画像処理をするという矛盾したことをやりたいと思っています。

64bitOSにしてメモリ大量に詰むのが一番でしょうが、もしもありましたらお願いします。

393 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 14:50:22.64 ]
>>392
ないない。
あるとしたら、ってそれはもう非圧縮っていう。
なんかのライブラリ挟んでそういう風に見せることは出来るだろうけど

394 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 14:55:40.49 ]
私はそんなフォーマットわからない。
けど、もし同じことをしようとしたら画像処理途中のグレイスケールや2値画像でメモリにおいとくかな。

どんな用途なんだろう
複数のハイスピードカメラで学習画像をマッチングさせるのかな

395 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:27:13.69 ]
画像の特性にもよるかなぁ。
画像処理というよりバイナリのメモリ圧縮と探索の話になるが。

396 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:54:10.21 ]
カラーなら色空間変換で茶を濁すとか (当然不可逆
R8G8B8(24bit) → Y8U4V4(16 bit) 等

397 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:58:46.16 ]
>>392
そもそもそれは画像なの?
特徴点抽出した結果とか輪郭線抽出した結果とかなら、別な有効な手段もあるんだけど。

398 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:13:30.56 ]
>>393
ですよねー。

>>394
せいぜい余分なデータを省くくらいですよね。
CoaXPressをフルに使った映像をリアルタイムで各種画像処理しながら動画保存するのですが
画像処理に同一動画の前の画像を利用する処理があるので、全部メモリに溜めこめないかなと。

399 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:36:24.25 ]
>>398
アクセスパターン次第じゃね?
ランダムアクセスじゃなきゃフォーマット設計すればできそう。



400 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 15:05:55.69 ]
JPEGは8x8で符号化してるから画素単位までとは行かなくても
その周辺を含む領域でなら復号出来るだろ

可逆にしたって、ブロック単位でやればいいだけじゃね
圧縮率は下がるだろうが

401 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 18:11:39.59 ]
OpenCVなどで日本語文字列を描画するのに
なんかいいライブラリありませんか?

402 名前:デフォルトの名無しさん [2012/02/01(水) 18:43:34.61 ]
いくつもある画像変換ソフトって設定でサンプリング?1:1:1みたいのとかJPG圧縮率90%とか合わせても変換後のサイズが全然違うのなんで?

403 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 18:45:49.05 ]
内部アルゴリズムの違いだろ

404 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:08:35.74 ]
フィルタ処理とか特徴点検出とか諸々の画像処理の基本的なアルゴリズムはわかっているんだけど、
高速動作のための実践的な実装を学ぶのにいい本はない?

405 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:57:50.76 ]
>>404
高速動作する実践的な実装のコードや
数値計算やHPCの本を読めばいいのでは


406 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 09:31:57.49 ]
>>404
急がば回れ。
一般的な高速化のアルゴリズムやデータ構造(部分計算、DP、木など)や画像処理とは
直接の関係の無い分野のアルゴリズム(文字列処理や人工知能)に詳しくなっていると、
画像処理でもアイデアがいくらでも湧いてくる。

そのうち循環畳み込み演算を膨大な回数繰り返す処理をfft/ifftを使った処理と比較して
3桁高速化するなんてこともできるようになる。

407 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:55:04.41 ]
私も406と同じ意見。
アルゴリズムをもっと勉強してブレイクスルーを考えるのがはやいと思う。
普通の高速化なんて目じゃないほどはやくなるよ。

普通の高速化ならopenMPとかソートアルゴリズムの本なんかがオススメかな。結局計算しなくていいとこをいかに早くみつけるかが肝

408 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 14:09:36.28 ]
>>404
私偉そうに高速化どうこういってますが、最近SURF特徴点抽出方法覚えたてで高速化に苦戦してます。
2つの画像の128次元ユークリッドベクトルの距離が近いものを探す処理で全部の線を比較するダメダメ処理しかわかりません。

一緒にがんがりましょう

409 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:19:51.55 ]
そんな簡単にブレークスルーできてたらノーベル賞取りまくりやわ。ええ加減にしとけよ



410 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:33:02.72 ]
アルゴリズム自体は固定で実装上の細かい最適化テクニックってことなら
Intelが出してる最適化リファレンス・マニュアルだな。

411 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 02:22:36.88 ]
SIFTなんてガウシアンの畳み込み何回もやるから凄い重いけど実装の工夫だけで超高速にできるもんなんだろうか

412 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 04:22:00.26 ]
パワープレイになりますけれども
CUDAで超並列マルチスッドレとか

413 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:41:48.44 ]
マシンパワーに頼った実装ってなんかつまらないな

414 名前:デフォルトの名無しさん [2012/02/04(土) 20:06:53.47 ]
マシンパワーを引き出すのも面白いぞ

415 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:37:39.20 ]
だからって16bitCPUで32bit使ったり、32bitCPUで16bit扱うのはマヌケだろう?
グラフィック分野では、CPUやGPUの実装に合わせてゴリゴリ書いて
パフォーマンスを叩き出すのが昔からの慣例。

416 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 23:00:30.46 ]
最適化ってその時々の中流機で速いことに意味があると思う
ハードを追加することが前提ならいくらでも金かけりゃいいってことになってつまらん

417 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 23:13:43.23 ]
ハードを追加することでコンスタントに処理速度が上がってく段階になると、
さすがにプログラマとしてはつまらなくなると思う

でも、例えばシングルコアがマルチコアになったとか、
複数のマシンをLANで繋いで負荷を分散できるようになったとか、
GPUが計算に使えるようになったとか、
CPUがCellに変わったとか

そういう劇的な変化時におけるパワープレイは、それはそれで面白い
その環境に最適化する場合の考え方ががらっと変わるからな
パワープレイの方法を間違うと本来の力が全然が出せないし

418 名前:デフォルトの名無しさん [2012/02/04(土) 23:16:59.74 ]
>>417
>ハードを追加することでコンスタントに処理速度が上がってく段階になると、
>さすがにプログラマとしてはつまらなくなると思う

処理速度に余裕ができた分、新しいアルゴリズムを追加できるように
なるんだから面白くなるんじゃないの

419 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 23:46:23.11 ]
>>418
人によって段階をどう捉えるかは違うけど、私は次のような段階を考える

1. 様々なアルゴリズムを考え、実験し、検証する(計算上の仮想実験も含む)
2. ハードが変化し、1のアルゴリズムで実用的になるものも現れる
3. ハードの追加によってコンスタントに処理速度が上がってく

この段階で私がプログラマとして最も面白いと感じるのは 1 の段階

次に面白いのは 2 の段階だが、これはどちらかと言うと、
1 のアルゴリズムが使えるようになったおかげで可能になった
他の処理の実装などが面白い

3 の段階になると、処理速度が上がることが分かっているから、
単なる作業と確認でしかなくなる
確かにこの段階でも 2 の様なことは起きるのだが、
ワクワク感やドキドキ感は無いな



420 名前:デフォルトの名無しさん [2012/02/04(土) 23:51:17.93 ]
いや、だから、3の段階に達したらまた別の
アルゴリズムを考える1に戻ればいいじゃん

処理速度に余裕ができたんだから新しいアルゴリズムを追加できるんだよ

421 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 00:18:39.70 ]
>>420
> いや、だから、3の段階に達したらまた別の
> アルゴリズムを考える1に戻ればいいじゃん

全くその通り

どうも言い方が悪かったみたいだ

あるひとつの方法に関して、その実装が
ハードを追加することでコンスタントに処理速度が上がってく段階になると、
その環境でその方法を使い続けることはプログラマとしてはつまらなくなる
(仕事としては、こちらの方が圧倒的に多いが)

422 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 00:39:57.52 ]
>>421
いや、違うか
何て言えば良いのかな・・・

目標 --> 達成 --> 目標 --> 達成・・・というプロセスが続いていくわけだが、
ハードを追加することでコンスタントに処理速度が上がってく段階というのは、
その目標を達成するのにハードの追加で事足りてしまう段階だ

>>419 の 1 の段階は目標を達成するための行為であり、そこで複数の方法を考える

その方法は 2 の段階で実用になるものもあるだろうし、そこで新たな課題が出ることもある

しかし、3の段階になると、その方法を使ってあとはマシンパワーを上げていくだけになる
要求に対して足りないパワーを補うだけ
例えばサーバーやコアの数を増やしたり、メモリを増やしたり
この段階では、この方法に関してはもうプログラマ(私)があれこれ模索することもなくなり、
プログラム的にはほとんどメンテだけの状態に入る

何が言いたいのかというと、>>413 はつまらんと言うが、
3 と違って 2 の段階でマシンパワーに頼るのはスゲー面白いだろ、と言うこと

ほとんどスレチだからもう終わる、長々とすまんかった

423 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 03:54:10.98 ]
既存の画像処理をOpenCLで並列化なんてのはおもしろいぞ。
画像処理はほとんど反復処理だから劇的に高速化する。

424 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 04:42:11.21 ]
元々が糞プログラムじゃない限り劇的にはならないよ


425 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 08:10:58.82 ]
無知乙
ハードウェアの性能が何桁違うと思っているんだ


426 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 09:52:01.29 ]
最近は何桁も違わないよ

427 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 11:47:31.03 ]
GPUとかFPGA使って高速化したっていう発表は学会でもあるけど、フーン当たり前じゃんって反応だな
既存のアルゴリズムを複数スレッドに分けるだけじゃなくて、マルチコアを前提とした新しいアルゴリズムでないと感動しないな

428 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 11:50:11.65 ]
フーン。

429 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:00:10.26 ]
>>427
へー



430 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:03:23.32 ]
感動って無知だからできるんだぜ。

431 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:35:00.12 ]
ハードによる高速化はシングルスレッドものと比較して早いって言ってるだけで
マルチスレッドCPUで真面目に記述したものとは大差ないんだよな
それとCPUのシングルとマルチでの比較だけど
マルチだとどうしても制御構造で無駄な処理が大量に入り込むから
シングルでMMXとか使った場合と比較しても大差ないんだよな
CPUのコア数が数十とかにでもならない限りは恩恵は実感出来ないだろうな

432 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 19:16:35.65 ]
SSE ならまだしも、MMX って古代技術だろ
今の時代 MMX の恩恵が受けられる分野って何がある?

433 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 19:33:58.25 ]
たぶんSIMD拡張全般を指して言ってる?

434 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:16:11.16 ]
MMXじゃなくてMMXとかって書いてあるだろ
日本語読めない人なのか?

435 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:27:06.92 ]
>>434
だから、その中には MMX も含まれてるんだろ?

シングルでMMX使った場合と比較しても大差ない場合もあるんだろ?

436 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:49:39.87 ]
一番わかり易い例を出せば
シングルスレッドで画像処理をする場合はたいていメモリポインタは加算演算だけで
現在のピクセルデータの場所を計算出来る
しかしマルチスレッドでやろうとするとピクセル毎に乗算でポインタを計算しないと出来ない
アルゴリズム的な総計算回数ではシングルのほうが圧倒的に高速なんだよな


437 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:18:04.03 ]
>>436
画像の一部に処理を施すのなら、どちらにしても
アドレスは (ベースアドレス + x + y * ピッチ) で計算する必要があると思うが

それに、そもそも今時かけ算が足し算の2倍時間がかかるなんてことは無いんだから、
マルチコアの環境ならマルチスレッドにして同時に計算した方が速い場合の方が
圧倒的に多いと思うぞ

輪郭摘出しかり、グレースケール化しかり、ノイズ除去しかり・・・

438 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:37:49.20 ]
>>437
>ベースアドレス + x + y * ピッチ
足し算と掛け算が同じ処理時間だと過程してもこの式を見る限り4倍ですが?

439 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:47:39.87 ]
>>438
おまえの言ってる意味が分からない。コード書いたことないだろ。



440 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:51:09.74 ]
>>439
ほとんどの画像処理は1次元の概念だけで処理出来る
だから1ピクセルにつきポインタ加算を1度すればいいだけ

441 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:16:47.17 ]
>>440
言ってる意味が分からない。おまえ画像処理したことないだろ。

442 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:24:24.94 ]
ノイズリダクションというよくあるフィルターを考えても1ピクセルだけで処理すとかないし。

100歩譲って全ピクセルなめるだけと仮定しても、
2スレッドに分けたときそれぞれのベースアドレスが変わるだけで、
どっちのスレッドでも、ポインタをインクリメントするだけ。

なにが4倍なのか本当に意味が分からない。

443 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:05:33.38 ]
>>442
ノイズリダクションも全8方向の1時限的相対位置を加減算するだけでデータ位置が特定出来る

444 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:14:40.65 ]
もともと掛け算命令のない8ビットCPUの頃からアドレス計算は加減算と論理演算で計算してる。
ベースアドレス + x + y * ピッチなんてのは人間の理解用だ。
そもそもx86のアドレッシングは強力だ。アドレっシングで遅くなるとかほんと意味不明。

はっきりいって画像処理なんていう並列しやすい処理は、
スレッドが二つになれば速度は倍近く早くなる。

445 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:19:37.83 ]
だからこそスレッド数を増やすだけのGPU実装を最適化というのは夢が無いよ

446 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:32:15.18 ]
>>438
お前さ、簡単なグレースケール化でいいから、
シングルスレッドと、マルチコア+マルチスレッドの両方をプログラムしてみて、
処理速度を計測してみなよ

447 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:37:38.86 ]
GPU内部で死ぬほど並列化していて、しかもそれがプログラマブルだというのに
それを使わないほうが夢があるとかどうかしてる。

楽してGPGPUライブラリ使えよ。

448 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:44:02.87 ]
これから画像処理の最適化が盛り上がりそうなのってスマートフォンじゃん
NEONベースの最適化ってどれくらい効果あんの?

449 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:52:59.78 ]
>>446
9600GTでさんざんやったが結局CPUと変わらないという結論に達した
CPUでのマルチスレッド化もやってみたが
区画を複数に分割してもそれぞれの境界をうまく相互作用させないといけない
単純にシングルでやるみたいな加算でループ一発とは行かないんだよ
だから2コアでやってみたが結果は変わらない
4個なら多少は早いかもしれないが多少だろうな




450 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:00:24.29 ]
>>449
CPUでのマルチスレッド化をやっても上手く行かなかった原因が
> 区画を複数に分割してもそれぞれの境界をうまく相互作用させないといけない
であり、また >>436 だと結論づけたのか

分析力が欠乏していると言わざるをえない、仕事仲間じゃなくて本当に良かった

では、他の人たちが画像処理のマルチスレッド化で成功しているのを見て、お前はどう思う?
魔法でも使ってると思ってるのか?

451 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:03:29.85 ]
>>431
まずSIMDとマルチスレッドは同時に使えるわけだが

GPUはメモリの転送でかなりのオーバーヘッドがあるから
グレースケールのような単純処理だとほとんど変わらないけ
大きいガウシアンフィルタのような転送するデータ量に対して計算が多い処理ならかなり速くなるぞ



452 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:05:17.93 ]
>>450
何も成功してる例なんてないって
だからSIMDを使ったシングルが一番効率がいい
速度と作りやすさのバランスでね
早くなったと言ってるのは最適化されてないプログラムと比較して言ってるか
CPUはスペック低くしてハードだけ高スペックにしてるとかそんなもん
詐欺だよ詐欺


453 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:06:03.66 ]
>>451
だからマルチスレッドのアルゴリズムが高コストになるから意味ないってw

454 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:36:35.56 ]
>>452
例えば Adobe Lightroom がマルチコア環境で処理が速くなるのは、
シングルコア環境時は拙いコードが走っていたり、
CPUはスペック低くしてハードだけ高スペックにしてる環境での比較だからなのか?

455 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:52:22.64 ]
>>449
ありえね〜www

100%おまえのバグだろw

456 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:04:47.31 ]
アセンブラの知識が不足しまくってんだろうな。
どういう処理にコストがかかるとか全然分かってないのだろう。

境界をうまく相互作用と言ってる時点で設計が間違ってる。
無駄な分岐判定でストールしまくってるコード書いてるんだろ?

457 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:11:57.79 ]
この流れだとGPU凄いよ派と大したことない派で簡単なコード公表するしか決着つかないんじゃね?
2値化くらいの簡単な処理なら表にできないもんかね

458 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:17:06.29 ]
>>454
使ったことがないから知らないが早くなるのか?
明らかに見ただけで分かるくらい劇的か?
単に画像処理とは無関係なUI関係が早くなってるだけじゃなく?


>>456
だいたいグレースケールみたいに単純な処理はむしろマイノリティだろう
例えばラベリング処理とかどうする?

459 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:30:40.18 ]
>>457
そのくらい単純だとメモリアクセスやディスクIOが律速になりそう



460 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:30:51.41 ]
>>457
簡単すぎる処理だと、たんなるメモリ速度のベンチマークになるだけ。
それなりに複雑な処理やらせないと駄目。

461 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:41:23.67 ]
複雑な処理になるとピクセル情報を判定タスクという単位にしてスタックにためていって
各スレッドはスタックから順次取り出して判定処理をしてタスクを追加するという作業を繰り返すことになる
スタックの排他制御での時間ロスが発生する
メモリも膨大に食うし
遅い


462 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:45:00.77 ]
なぜ排他制御がいる?
マルチスレッドでは同期コストが一番高いというのに。

基本を無視して設計し杉。
同期が頻発するところは分けてはいけない。鉄則です。

463 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:47:33.21 ]
スタックを複数スレッドで共有とか狂気w

464 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:47:50.08 ]
>>462
>同期が頻発するところは分けてはいけない。鉄則です。
そんなこといったら画像処理のほとんどは並列化出来ないってことだから
言ってる通り、マルチスレッドの恩恵はない


465 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:50:15.89 ]
意味不明。全くの逆で画像処理のほとんどは並列化可能。

そもそもGPUはバケモノじみた並列化をした実装になってる。これをどう説明するのか。
いくらなんでも素人過ぎる。

466 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:55:41.29 ]
そんな事よりマンガミーヤのリニューアル版作れる人が居ない事のほうが問題

467 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 02:10:11.56 ]
高速化出来るのはもともと高速な分野だけ

468 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 02:25:04.14 ]
カメラ画像解析プログラムを良くかくけど、並列計算してくれるライブラリー(IPPとかIPL,MP)に処理を投げるとかなり速くなるよ。
ただ主にはやくなるのは画像取得や画面描写のところだね
二値化→オープニング→ラベリング
とか処理結果を引き継いで処理していくのはなかなか並列計算しにくいかな


469 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 07:23:18.71 ]
>>458
全く違う、目に見えて速くなる

それはそうと

> 単に画像処理とは無関係なUI関係が早くなってるだけじゃなく?

こう思った理由が気になる
マルチコア+マルチスレッドで速くなるという話で、
なんで画像処理とは無関係なUI関係が速くなると思ったのだ?
お前はマルチスレッドでUI関係が速くなるライブラリでも自作してたのか?

今時UI関係が速くなるという状況がよく分からんのだが
そもそも、お前の言う「UI関係」って何だ?



470 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 09:02:03.08 ]
>>463
461が1ピクセルごとにタスク切って同期化してるならアホとしか言えんが
Producer-Consumerでキューなりスタックなりがいるのは当たり前だろ

471 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:20:37.71 ]
GPUのレンダリングパイプイランの実装がどうなってるか理解してるか?
同期というのは、同時にアクセスする可能性がある設計になってるから必要なんだよ。
もしそういう設計ならその設計は既に間違ってんだよ。

Producer-Consumerとか言ってる時点で設計が間違ってる。
画像処理で採用するパターンではない。

472 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:10:38.39 ]
>>470はスレッドプールみたいなモノの事を言いたかったんじゃないの?

473 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:11:48.78 ]
ていうのは嘘で、タスクキューみたいなやつ。

474 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:13:09.51 ]
というわけでさようなら!

475 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:06:06.63 ]
同期するようなのは並列化出来ないってのが本来の主張であって
なぜなら画像処理の大部分は同期処理が必須という前提があるからね

「同期を伴うものを並列化するのは設計の時点で間違い」という主張は意味不明なんだけど



476 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:09:32.98 ]
なにを言ってる意味が分からない。

477 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:19:34.09 ]
>>475
同期処理が必須の画像処理と、並列化できる画像処理
10個くらいそれぞれ箇条書きで書いてみなよ
(10個も思いつかんかも知れんが)

認識が間違ってたらみんなで指摘し合えば良い

478 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 20:06:10.38 ]
>>477
高速化出来るのは単純な微積分問題だけ
つまりぼかしやグレースケールやらといったフィルタ系の
CPUでも十分実用レベルだろってものだけ

同期が必要になるのは
オブジェクト検出、ラベリング、パターンマッチなど
一番高速化したいものたち

479 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 21:41:08.71 ]
どうも、処理全体を一つの大きな塊と考え、
それを等分しようとしてできないと言っているような感じがする



480 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:15:02.97 ]
>>478
君が同期が必要だと思っているその3つは全て並列処理することで高速化可能
それぞれ一例を挙げると・・・

オブジェクト検出は検出したいオブジェクトのサイズがだいたい分かっていれば、
画像を分割して、それぞれでオブジェクト検出を並列にできる
検出したいオブジェクトが分割の境界にまたがる恐れがあるのなら、
単に分割するのではなく、オブジェクトのサイズを考慮してオーバーラップさせればいい
(この方法はオブジェクトに対して画像サイズが小さいと効果が無いが)

ラベリングは行毎に横方向にスキャンし上の行との関連を調べながら行うのなら、
画像を何行かずつに分けてそれぞれ並列にラベリングし、
最後に境界線の上下の繋がりを調べれば良い

パターンマッチも、ある程度絞った候補を最後に総当たりして、
それぞれとのマッチング度合いを測るところで並列処理できる
ランダムな数値が並んでいる1次元配列に特定の数値が入ってるかを調べる処理が
マルチスレッドで高速処理できるのと「概念的には」同じだ
この部分を並列化することで高速化できるから、
その前のある程度絞る部分も検査基準を下げて高速化の恩恵が受けられる


481 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:46:15.31 ]
GPU意味ない派がシングルコアAVXでGPU並の速度出せば納得するけどね
ラベリングでもテンプレートマッチングでも何でもいいけど

482 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 00:02:57.93 ]
並列処理もまともに設計できない馬鹿素人を相手にするのはもう止めときましょう。

建設的ではない。

483 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 00:55:53.73 ]
>>480
条件が限られすぎ
一部分だけ並列化したって労力の割に効果はほとんどない

>>481
GPUが早いかどうやって話はしてない
無駄なプログラムを書く労力を使ってまでして得るような速度ではないという話

>>482
まともに設計しないといけない時点で思想自体が馬鹿なんだと気がつこう

484 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 01:32:59.67 ]
オーダー減らないと意味ない派の研究者と20%も高速化すれば御の字の技術者が争ってたりしないか?

485 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 07:23:06.33 ]
>>483
> 条件が限られすぎ

オブジェクトのサイズがだいたい分かっていればの部分か?
普通は何のオブジェクトを抽出するか設計する段階で、
画像のサイズに対するオブジェクトのサイズの割合は
だいたい適正値の範囲を決めておくものだが、君は決めないのか?
定点カメラで車の交通量を測る場合然り、
デジカメで被写体の顔を認識する場合然り

> 一部分だけ並列化したって労力の割に効果はほとんどない

その一部は全体のボトルネックになっている部分だったりする

君は当然「>>480 と同じ方法」で実験してみて、
でもそれほど処理速度が出なかったんだよね
分析した結果どこがボトルネックになってたと結論づけた?

486 名前:デフォルトの名無しさん [2012/02/08(水) 05:57:38.34 ]
馬鹿は黙ってろ

487 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 08:51:43.04 ]
具体的な移動体検出 背景差分なんかで並列処理する方法を知りたい。
私はオーダー計算減らさないとあんまり効果ないんじゃね?派

488 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 09:17:38.77 ]
>>487
フレーム間のピクセルの差をとるループやその累積を更新するループを並列化するだけだ。
オーダー減らなくても4倍、8倍、300倍速くなれば、
他のもっと複雑な計算もできるようになって
時間的な制約でできなかった高精度な方法も使えるようになってきたり
数日かかってたような処理が数時間でできるようになってうれしいだろ。
実用に使ってないやつは時間的制約なんてのが無いから分からないだろうが。


489 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 15:50:38.82 ]
>>487
初心者なのになんで〜派とか言ってんの?



490 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:34:29.60 ]
>>489
初心者も細分化されてんだよ

491 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:40:09.72 ]
単に「自分は馬鹿だから並列処理ができない派」ってことだろ。

492 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:21:22.06 ]
そもそも並列化によってオーダーが減る事はあり得ない

にも関わらず並列化の研究が盛んで、かつ有益な結果が出続けてるのは、
>>488 の言うように同じオーダーでも係数の違いに意味がある処理もあるからだ

493 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 05:57:44.86 ]
確かに、アルゴリズムの工夫で計算量のオーダーが2次元から1次元になったとしても
計算速度が100倍、1000倍になるとは限らないからな

並列化で処理速度が100倍、1000倍になるほうが嬉しいことのほうが多いんじゃないか?



494 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:17:35.72 ]
専用ハード使って100倍ならスーパーコンピューターで1兆倍でもやればって話なわけで
現状のマルチコアCPUもGPUも10倍すらいかないよ

495 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 12:38:45.86 ]
数倍になれば大成功だと思うが

5日かかってた解析が1日で終わる
5日かかってたレンダリングが1日で終わる
5日かかってた・・・

496 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 13:14:57.71 ]
今時マルチコアが普通なんだし、並列化しないと1個しか使われなくてもったいないよ。
HD動画をリアルタイムに処理するとかだとぜんぜん違う。


497 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 14:36:18.82 ]
ちょっと関係ないが、映画のVFXは、一フレームの処理が
1時間程度以下が要求されるそうな。
フレームひたすら多いからね。
まああの世界はふつうのマルチコアPCでやってるとは思えんが。

498 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:22:21.65 ]
画像処理というか数値計算みたいなものだけだと
ほとんどはコア数に線形に速くできるだろ。
最近は4コアか8コアだから4倍か8倍くらいにはできるものが多いのに
それをやっていないと、いくらいいアルゴリズムを使っていても
大損していると思うわ。

GPUはフィルタ処理なら数百倍は速くなるぞ。
複雑な処理は異常に書きにくい上にあまり速くできないが。

499 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 12:43:32.45 ]
GPU使ったり並列処理使ったり
linuxでもwinでもMacでもポータブルに実装する方法ってないですか?
Boost.threadは並列処理のポータブルなラッパー?
GPUでも同じ感じのあるといいのだけど



500 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 13:04:52.64 ]
OpenCLとか

501 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 15:23:26.79 ]
Javaの失敗を見て分かるとおり、そんなの不可能。
プログラマなら常識のはずだけど。

Write once, debug everywhere!!が鉄則。

502 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 15:42:59.72 ]
write once, debug you

503 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:12:51.51 ]
OpenCVのGPU使う方法ってポータブルなんだろうか

504 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 13:38:10.70 ]
>>503
CUDA Toolkit が使える環境なら、ポータブルかと。
opencv.willowgarage.com/wiki/OpenCV_GPU
opencv.willowgarage.com/wiki/OpenCV%20GPU%20FAQ
OpenCL はサポートしてない。DirectComputing もたぶんサポートしていない。

505 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 17:16:38.72 ]
昔見限ったImageMagickを入れてみたが相変わらずXCFも作れないのな
PSD期待したがopacityなんかすぐ実装出来るだろうに

506 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:53:21.65 ]
一度見限ったらもうそいつには期待しない
二度とチャンスは与えない
そうやって生きていきましょう

507 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:32:18.66 ]
XCFもPSDもライセンス絡みの問題があるだけだろ

508 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:26:25.18 ]
libpngで例外落ちする画像があって、Gimpでは読み込めるから問題ないんだろうけど
読み込む度に落ちるタイミングが違う
そこでpng_read_endをする直前にSleep(5000)といれてみたら
落ちずに待機して止まってる様子で5秒たつと例外が発生する
そしてこのSleepの直前にprintf("end\n")と入れてみたら5秒もせずに例外落ちする
なにこれ

509 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:35:09.56 ]
libpng のソースを落として問題の画像でデバッグしてみれば、
「なにこれ」の疑問が解消されるかも知れない



510 名前:508 mailto:sage [2012/02/12(日) 01:35:05.59 ]
最新版ダウンロードしてやったら出来た

511 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 06:40:52.44 ]
ポータブルでいうならOpenCLだろう
AMDとnVidia両方のGPUでいけるし、CPUもいける


512 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 06:44:40.49 ]
しかし、これからのお薦めはなんと言ってもDirectComputeだろうな。

513 名前:508 mailto:sage [2012/02/13(月) 06:51:50.42 ]
プログラム側が対応するというよりはハード側が現行のプログラムを並列処理するようになる流れだと思う
その流れでしか普及しない

514 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 07:14:26.83 ]
DirectComputeって、HLSLを使わなきゃいけないし
Macで使えないからないな

515 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:10:00.21 ]
Macで使えないってどんだけメリットなんだよ。最強じゃん。

516 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 10:48:49.63 ]
いまのMacはソースコードからコンパできるでしょ
がまんなさい

517 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 10:52:48.98 ]
今時はコンパって言うのかw

518 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 10:57:34.38 ]
コンパwwww

勉強させてもらったわ

519 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 11:39:19.78 ]
結局、画像処理を並列化するには何使うのがいいんだ?



520 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 12:01:32.06 ]
画像処理にも色々あるでしょ
得て増えてガール

521 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 12:13:01.79 ]
とりあえずはFPGA並べて試作だな

522 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 13:50:26.65 ]
前の会社の時はFPGAで処理させて、
ってことをたくらんでたけど結局やらなかったなぁ…。
ハードの知識ないし、詳しい人たちはひたすら忙しかったし…。


523 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 17:23:47.52 ]
その手の謎の挙動はメモリ関係だな。

524 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 17:24:06.03 ]
うわ誤爆

525 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:52:46.37 ]
>>515
Macで使えない=他の大抵のOSで使えない
だから、やっぱ採用しにくいわな。

526 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:58:06.27 ]
DirectComputeがそれに当てはまるわけだが。
しかし、OSの採用比率で言うと、圧倒的な割合なわけだ。

それを採用しにくいとかマカーのステマだろうな。

527 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 23:01:54.67 ]
最近はスマホの影響でOpenGLとかもそれなりに流行ってるし、
Windowsだけやるのはお気楽だけど、あちこちでコードを使いまわす事考えたら、
ちょっと考えちゃう。

528 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:59:58.59 ]
OpenCLが一番汎用性高そうだね
OpenCVはCUDAぽいけど

529 名前:508 mailto:sage [2012/02/16(木) 01:15:21.62 ]
OpenCLがマルチコアCPUでも動くなら普及するんだがな



530 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 05:32:17.83 ]
OpenMPとCUDAの複合

531 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 07:46:03.36 ]
OpenCLはCUDAほどパフォーマンスが出ないから
せっかくそこまでやるならCUDAってことになるのでは


532 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 16:40:08.99 ]
>>529
OpnCLはマルチコアCPUでも動く。しかもIntelでもAMDでもおk

533 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 17:39:06.95 ]
>>392
dag_vector: ランダムアクセス可能な圧縮配列
tp://research.preferred.jp/2011/06/dag_vector/

こんなのあるのね

534 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 23:32:10.37 ]
DTAMの論文読んだけど、なんだかよくわからん。
読んだ人いますか?

KinectFusionは分かった気にはなった。

535 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 00:48:25.40 ]
>>534
読んだには読んだけど、解説出来るかは箇所による

536 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 01:49:08.58 ]
ああいうのは論文通りに安定して動かないことがほとんどだから微妙だね
PTAMもすげー不安定だったし

537 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 00:33:26.88 ]
画像処理について勉強中のものです。
質問があるのですが、
Harris-affine領域を抽出するのに
R=detM-k(traceM)^2=λ_1λ_2-k(λ_1+λ_2)^2
を求めてRの値が大きければコーナーと判定するのはいいのですが、そのあとの
求められた点に対して、周囲の画素の輝度勾配を計算し、注目画素を中心とす
る楕円領域を求める。
この箇所がよくわかりません。
具体的にどのようにして楕円領域を求めるのでしょうか?

538 名前:508 mailto:sage [2012/04/01(日) 09:48:18.11 ]
Harris-affineって初めて聞いたし画像処理も素人だが
英語のwiki見て適当に答えるなら
楕円領域ってのは繰り返しパターン検出法だろ
ある点に注目した時の周囲の特徴点で算出された計算値が
隣接する点を中心にした場合と同じである場合は同じパターンの繰り返しということになって
その中間地点が境界領域ということになる
それをXYの両方向で特定すると楕円形になる

539 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 01:09:12.02 ]
>>538
ぜんぜん違う

>>537
とりあえず藤吉先生のSIFT解説文献読め



540 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 06:03:24.11 ]
>>539
アフィン変換不変の詳しい解説はないだろ


541 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 06:13:19.08 ]
>>539
藤吉先生の"一般物体認識のための局所特徴量(SIFTとHOG)"というのを読んでみましたが、
Harris-affine領域の記述はなかったのですが・・・
主曲率のところで固有値が出てくる似たような式がでてきましたが、
楕円領域の求め方はわからなかったです。


542 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 01:25:55.01 ]
固有値の根の逆比が楕円領域の2軸でしょ
そもそもハリスとかDoGの特徴点検出がどうやってるかわかってんの?

543 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 21:31:46.56 ]
ハリスは
(Ix)^2 IxIy
[ ] Ix,Iyはx,y方向の1階微分
IyIx (Iy)^2
それぞれをガウス平滑化したものをMとすると
R=detM-k(traceM)^2=λ_1λ_2-k(λ_1+λ_2)^2
で求める

DoGは
異なるσ(kσ,k^2σ,...)の平滑化画像の差分をとった元をDoG画像とし、
DoG画像3枚1組で注目点のまわり26近傍をみて極値であれば特徴点候補とする(ダウンサンプリングし繰り返すのは省略)

こんな感じだと思うのですが、DOGは実装したことがあるのですが、
ハリスはしたことがないので固有値がどのような値をとるのかがよくわかりません。

固有値の根のといのはルートのことでしょうか?
たとえば固有値がλ1、λ2(λ1>λ2)とすると
長軸が1/父ノ2、短軸が1/父ノ1
となるということでしょうか?
また楕円の傾きはどのように求めるのでしょうか?

544 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 23:45:44.68 ]
固有値に対応する固有ベクトルが軸の方向

545 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 01:55:51.75 ]
固有値と楕円の関係は主軸変換とかでググれば分かると思う

ところで横からだけど
これって勾配を計算する範囲がアフィン変換に不変ではないと思うけど
楕円領域のほうが大きいから問題になりにくいということ?


546 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 22:27:48.65 ]
楕円領域を実際にアフィン変換して円に正規化するんだよ
そんで勾配と特徴量計算する

547 名前:543 mailto:sage [2012/04/06(金) 22:57:17.57 ]
ありがとうございました!

548 名前:508 mailto:sage [2012/04/06(金) 23:30:15.39 ]
一番正確な領域分割アルゴリズムって何?

549 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 01:48:36.39 ]
>>546
楕円用の固有値と固有ベクトルを求めるための行列を計算する範囲のことだよ
楕円領域を計算する前だからその範囲はアフィン変換に強いわけではないでしょうと




550 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 11:49:27.88 ]
そういうことか。確かにそれはかなり影響ある。
実際Harris-Affineの検出力は他と比べてかなり低いよ。

551 名前:デフォルトの名無しさん [2012/04/12(木) 21:25:52.13 ]
画像関連、全くの初心者なのですが質問させてください。
たまにテレビで、背景(壁)が真っ赤や真っ青にしてある画像処理用のスタジオが写ってますが、
あれで映像の背景部分と人間部分をデジタル的に分けてるんでしょうか?
その様な技術を一般的になんていうんですが?

似たようなことをして物体の形状をカメラで調べられるのを作りたいと思ってます。
最終的には背景(壁)の適した表面処理等も調べてみたいです。

先輩方、よろしくお願いいたします。m(_ _)m

552 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 21:58:40.27 ]
クロマキー

553 名前:デフォルトの名無しさん [2012/04/12(木) 22:51:32.55 ]
>>552
ありがとうございます。m(_ _)m
「クロマキー」というんですね。色々と調べてみます。
小学生の時に聞き覚えがあります。それはクロマティか。

背景にはクロマティ用の「布」を使うようですね。
私の場合、工場の生産ラインで長期間使いたいので、「布」は保守性に難かな。
クロマティ用の塗料が販売してるみたいなので問い合わせてみます。

あと被写体の色が様々で、青い背景だと、青い被写体を識別するのは難しいですよね。
背景に設置する板を、対象物に応じて取り換えるしかないのかな。
複数の異なる色のLEDで、対象物に応じて手動で発光する色を切り替えることも考えられますが、コストの面で難が出るだろうな。
何か良い方法思い浮かぶ方がいましたら、何でも書いてくれると嬉しいです。m(_ _)m

554 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:17:06.65 ]
背景だけを撮った映像(A)と人物+背景を撮った映像(B)を作り、
BからAを減算して人物や屋台だけを抽出して、別の背景と合成する
というのを高校の文化祭でやった

3階の教室から模擬店で賑わっている庭をビデオカメラで撮って、
人物と屋台を宇宙空間や水中の映像と合成した
映像Aは前日に同じ場所から同じ角度で撮っておいた静止画一枚だけ

所詮は高校生がやることなんでとても拙く、
壁や地面に落ちた影もいっしょに抽出されてしまってたし、
切り抜き自体も綺麗にはいかなかったが、それはそれで面白かった

555 名前:デフォルトの名無しさん [2012/04/12(木) 23:25:42.99 ]
>>554
なるほど楽しそうですね。
クロマティを教えてもらった私ですが、その方法も考えてみます。
それでうまくいけば、背景に特別なものを用意する必要がないですね。
背景で、機械が動いていたり、人が横切ったり、人の影が変わったりと色々難が出そうですが、それも試してみます。

556 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:52:00.48 ]
LEDのパネルがクロマキーに優れてると思うよ。と書こうとしたら既に検討してたか。
光の屈折やレンズ内の反射で物体が小さく映ると思うから1画素程度膨張させるのいいね。
あと、エッジを見るようにすると色は気にしなくてもなんとかなる


557 名前:デフォルトの名無しさん [2012/04/13(金) 08:03:35.38 ]
>>556
おはようございます。
ありがとうございます。LEDパネルを購入してみます。
実験レベルでは、安価な白色のLEDパネルに、フィルム?を貼ればいいでしょうか。
なるほど、強い光がしみだしてくるんですね。確認してみます。

>あと、エッジを見るようにすると色は気にしなくてもなんとかなる

これは、色判定と同時に、エッジ検出も同時うということでしょうか。

558 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:50:50.49 ]
HALCONのスレが無いので、本スレで質問致します。
sobel_amp(), edges_image()等で抽出したエッジから領域を
生成する方法で悩んでます。
sobel_amp(), edges_image()で得たエッジのみ白く
その他は真っ黒な画像をthreshold(),hysteresis_threshold()しても
エッジで囲まれた面を抽出できません。

大変、恐縮ですが何か、コツなどを教えて頂けないでしょうか。
宜しく御願い致します。


559 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:42:10.43 ]
>>558
サポートに聞けよw



560 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:56:19.17 ]
>>557
エッジというのは554の言ってることをやる手段のことね。

背景画像と今の画像を引き算して移動物体を見つける。この引き算の仕方にも流行りがあって最近はエッジ画像でやるのが流行りなんだよ。

背景画像を使う事が廃れてきてはいるけどね。

561 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:15:56.51 ]
面白いと思ってわざと間違えを引っ張ってるんだろうが
つまんねえからそのクロマティっての
死ね

562 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:45:34.11 ]
些末なところに突っ込むなよ
どうでも良いだろ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<137KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef