JDimproved / JDim

2ch browser for linux
https://jdimproved.github.io/JDim/
GNU General Public License v2.0
44 stars 11 forks source link

画像のハッシュ値を計算して類似する画像をあぼ〜んする #1388

Open ma8ma opened 2 months ago

ma8ma commented 2 months ago

画像のハッシュ値を計算して類似する画像をあぼ〜んする

背景や動機

ここ数ヶ月、掲示板にグロテスクな画像のURLが繰り返し書き込まれています。 スレッドの話題と無関係で望まぬ暴力・残虐なイメージは精神衛生上良くないため対策を考えています。

現状のJDimでは画像URLを右クリックして非表示にすることはできますが、一度表示しないとグロであるか判別できません。 さらに、同じ画像でもURLを変えて書き込まれているためURLのあぼ〜んでは対応が困難となっています。

同じ画像を繰り返し貼り付ける特徴があるため、画像の特徴をハッシュ値として計算してNG登録し、 その後、登録したハッシュ値と比較を行い判定基準を超えた類似画像をあぼ〜んする機能を提案します。

解決方法

以下の機能を基本システムとして実装します。

ハッシュ値の比較は高速ですが設定が増え過ぎると一覧の項目が長くなり確認しにくくなるため 最後にマッチした日時を記録して使われていないハッシュ値が分かるようにすることで設定削除の参考にします。

最近では画像を加工してハッシュ値やパターンがマッチしないように対策されているため 加工された画像に対応するには判断基準(しきい値)の拡大が必要になっています。 また、加工された画像をハッシュ値にして比較するとマッチしない可能性が高くなります。 そこで私が調べられた範囲で無加工のグロ画像のハッシュ値をデフォルト設定に追加したいと思います。

代替案

上記の基本システムに加えていくつかアイデアがあります。

追加の情報

荒らし対策の機能としてはアルゴリズムを非公開にしてNGの回避を困難にするのが望ましいと思いますがJDimはソースコードの公開が必要です。 画像のハッシュ値を計算するアルゴリズムは秘匿できませんが ユーザーが目にするGUIなどからアルゴリズムの情報を除くなどして分かりにくくしたいと思います。

ma8ma commented 1 month ago

基本システムをmasterにマージしました。 #1396 OPコメントに記載したいくつかのアイデアとオンラインマニュアルの追加を行っていきたいと思います。

ma8ma commented 5 days ago

https://github.com/JDimproved/JDim/pull/1409 https://github.com/JDimproved/JDim/pull/1410

オンラインマニュアルにNG 画像ハッシュの設定についてまとめたページを追加しました。 https://jdimproved.github.io/JDim/imghash/ 合わせて、設定ダイアログにオンラインマニュアルのページを開くリンクボタンを追加しました。