Alfresco Image Recognition with AI Services を使って Alfresco に保存した画像に自動でタグ付けを行う方法
AWS もしくは IBM Cloud の準備
Watson の画像認識サービスを使うことにします。IBM Cloud のアカウントが必要になります。
ライトアカウントというクレジットカード登録なしのアカウントが登録できます。。
Visual Recognition-dxのリソースを追加して使えるようにします。
APIキーとエンドポイントを確認します。
Alfresco Image Recognition with AI Services のビルド
Mavenが入ってなかったので、 PackageManagement で 3.6.0 を入れました(これは本筋と外れるので省略。Windowsユーザはパッケージマネージャを使うと良いです)
「Alfresco Image Recognition with AI Services 」のソースコードをGitHubリポジトリからクローンします。
./run.sh をたたく(git-bashで叩いたのでbatではなくshのほう)ライブラリインストールにめっちゃ時間がかかりました。ビルドできたら
imgRecognition-platform-jar/target/imgRecognition-platform-jar-1.2-20190116.amp
を取り出します。
AMPのインストール
AMPのインストールについてはこちらを参考にします。古いドキュメントだと少し違いますね。
このインストール手順どおりの作業を docker 上で行うように、既存の Alfresco の docker-comopse.yaml を改造します。
いちおう単独で動かしておいて、どこのパスに amp を入れればよいか見ておきます。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
b808bafeef79 alfresco/alfresco-activemq:5.15.6 "/bin/sh -c './init.…" 4 hours ago Up 3 hours 0.0.0.0:5672->5672/
tcp, 0.0.0.0:8161->8161/tcp, 0.0.0.0:61613->61613/tcp, 0.0.0.0:61616->61616/tcp docker-compose_activemq_1
069928fbd8f6 postgres:10.1 "docker-entrypoint.s…" 4 hours ago Up 3 hours 0.0.0.0:5432->5432/
tcp docker-compose_postgres_1
657c7af798ce alfresco/alfresco-share:6.1.0-RC3 "/usr/local/tomcat/s…" 4 hours ago Up 3 hours 8000/tcp, 0.0.0.0:8
080->8080/tcp docker-compose_share_1
bd116bf43f75 alfresco/alfresco-search-services:1.3.0-RC2 "/bin/sh -c '$DIST_D…" 4 hours ago Up 3 hours 0.0.0.0:8083->8983/
tcp docker-compose_solr6_1
6e84dd427d73 alfresco/alfresco-content-repository-community:6.1.2-ga "catalina.sh run -se…" 4 hours ago Up 3 hours 0.0.0.0:8082->8080/
tcp docker-compose_alfresco_1
$ docker exec -it 657c7af798ce //bin/bash
[root@6e84dd427d73 tomcat]# ls
alf_data alfresco-mmt bin conf include LICENSE native-jni-lib README.md RUNNING.txt temp work
alfresco.log amps BUILDING.txt CONTRIBUTING.md lib logs NOTICE RELEASE-NOTES shared webapps
ということで、 /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar
があることがわかったので Dockerfile 内でこのjarを使ってインストールすることを試みます。
AMP を入れた状態の Alfresco の Dockerfile を作成
Dockerfile はこんな感じになりました。
FROM alfresco/alfresco-content-repository-community:6.1.2-ga
RUN echo "aws.accessKey=hoge" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "aws.secretKey=fuga" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "aws.maxNumberOfLabels=5" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "aws.confidentLevel=90.0F" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "bluemix.version=2018-03-19" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "bluemix.apikey=cT0mZAGP4DHiT7ez9M2tDw3ASE2egl_5IdZV1222-h3W" >> /usr/local/tomcat/shared/classes/alfresco-global.properties && \
echo "bluemix.confidentLevel=0.55" >> /usr/local/tomcat/shared/classes/alfresco-global.properties
COPY imgRecognition-platform-jar-1.2-20190116.amp /usr/local/tomcat/amps/
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install \
/usr/local/tomcat/amps/imgRecognition-platform-jar-1.2-20190116.amp \
/usr/local/tomcat/webapps/alfresco -nobackup -force
これを動かす……と、なぜかうまくいきませんでした。Share は動くのですが、ログインするとすごく待たされた後でタイムアウトになります。リポジトリにつなごうとしてタイムアウトで落ちてしまっているようです。リポジトリのコンテナ内での呼び方は alfresco なので、これで呼ぶように設定されているハズなんですが……
……調べてみたところ、これはどうも、Docker のメモリが少ないせいだったようです。ホストの Docker マシンそのものの利用メモリを増やすことで問題なく起動して、連携できるようになりました。
Alfresco で画像タグ付けを行うルールを作成してテスト
フォルダを作成し、処理したことが分かるようにfromというフォルダにしました。ルールを追加します。
条件に「MIMEタイプ」を「JPEG Image」にします。
実行するアクションで「画像認識タグ付け」というルールができてると思いますのでこれを選択、さらにアクションの追加(+ボタン)で「移動」を選び、移動先を「to」というフォルダに指定しました。
こんな感じになりました。
さっそく from フォルダに画像ファイルを入れてみます。アドベンチャーワールドにいるジャイアントパンダ 結浜ちゃんの画像(http://www.aws-s.com/attractions/detail?id=att077 )を入れてみました。
結果はこんな感じ。
見事、画像にタグ付けできました!
Author And Source
この問題について(Alfresco Image Recognition with AI Services を使って Alfresco に保存した画像に自動でタグ付けを行う方法), 我々は、より多くの情報をここで見つけました https://qiita.com/sixpetals/items/d47356cacbb36c92536e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .