Help us understand the problem. What is going on with this article?

Alfresco Image Recognition with AI Services を使って Alfresco に保存した画像に自動でタグ付けを行う方法

More than 1 year has passed since last update.

AWS もしくは IBM Cloud の準備

Watson の画像認識サービスを使うことにします。IBM Cloud のアカウントが必要になります。

ライトアカウントというクレジットカード登録なしのアカウントが登録できます。。

Visual Recognition-dxのリソースを追加して使えるようにします。

SnapCrab_NoName_2019-3-19_19-54-46_No-00.png

APIキーとエンドポイントを確認します。

SnapCrab_NoName_2019-3-19_19-55-3_No-00.png

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」というフォルダに指定しました。

こんな感じになりました。

SnapCrab_NoName_2019-4-4_12-49-12_No-00.png

さっそく from フォルダに画像ファイルを入れてみます。アドベンチャーワールドにいるジャイアントパンダ 結浜ちゃんの画像(http://www.aws-s.com/attractions/detail?id=att077 )を入れてみました。

結果はこんな感じ。

SnapCrab_NoName_2019-4-4_12-46-14_No-00.png

見事、画像にタグ付けできました!

e-mind
Web共通基盤のIntra-mart上で動くアプリケーション開発案件から自作のオープンソース勤怠管理システム「MosP」の開発・運営も行っている企業です!
https://e-mind.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした